LLMs 用强化学习进行微调 RLHF: Fine-tuning with reinforcement learning

让我们把一切都整合在一起,看看您将如何在强化学习过程中使用奖励模型来更新LLM的权重,并生成与人对齐的模型。请记住,您希望从已经在您感兴趣的任务上表现良好的模型开始。您将努力使指导发现您的LLM对齐。首先,您将从提示数据集中传递一个提示。在这种情况下,“A dog is…”,传递给指导LLM,然后生成一个完成,这种情况下是"… a furry animal."一只毛茸茸的动物。接下来,您将将此完成和原始提示一起发送给奖励模型,作为提示完成对。奖励模型基于其训练的人类反馈评估对,然后返回一个奖励值。较高的值,如此处显示的0.24,表示更加对齐的响应。较不对齐的响应将获得较低的值,例如-0.53。然后,您将将这个提示完成对的奖励值传递给强化学习算法,以更新LLM的权重,并使其生成更加对齐、奖励更高的响应。
在这里插入图片描述

我们将称这个中间版本的模型为RL更新的LLM。这一系列步骤组成了RLHF过程的单次迭代。
在这里插入图片描述

这些迭代将继续进行一定数量的回合,类似于其他类型的微调。在这里,您可以看到RL更新的LLM生成的完成获得了更高的奖励分数,表明权重的更新导致了更加对齐的完成。
在这里插入图片描述

如果这个过程运行良好,您将看到在每次迭代后奖励得到改善,
在这里插入图片描述

因为模型生成的文本越来越符合人类的偏好。
在这里插入图片描述

您将继续进行这个迭代过程,直到您的模型根据某些评估标准对齐。例如,达到您定义的有用性的阈值。您还可以定义一个最大步数,例如20,000,作为停止标准。在这一点上,让我们将经过微调的模型称为与人对齐的LLM。
在这里插入图片描述

我们尚未讨论的一个细节是强化学习算法的确切性质。
在这里插入图片描述

这是一个算法,它接受奖励模型的输出,并使用它来随着时间的推移更新LLM模型的权重,以增加奖励分数。有几种不同的算法可以用于RLHF过程的这一部分。一个常见的选择是近端策略优化Proximal Policy Optimization,简称PPO。
在这里插入图片描述

PPO是一个相当复杂的算法,您不必熟悉所有细节就能使用它。然而,这可能是一个难以实现的算法,如果您在使其工作时遇到问题,更详细地了解其内部工作原理可能有助于您进行故障排除。为了更详细地解释PPO算法的工作原理,我邀请了我的AWS同事Ek为您提供有关技术细节的更深入了解。下一个视频是可选的,您可以随意跳过它,转到奖励作弊视频。您不需要这里的信息来完成测验或本周的实验。但是,我鼓励您查看这些详细信息,因为RLHF在确保LLM在部署中以安全和对齐的方式行为方面变得越来越重要。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/sAKto/rlhf-fine-tuning-with-reinforcement-learning

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGLES:3D立方体纹理贴图

效果展示 一.概述 前几篇博文讲解了OpenGLES绘制多种3D图形,并赋予丰富的色彩,但是在这些3D图形绘制过程中,有一点还没有涉及,就是纹理贴图。 今天这篇博文我会用如下六张图片对立方体进行纹理贴图,实现六个面都是贴…

英语——分享篇——每日100词——601-700

disastrous——adj.灾难性的,完全失败的——disast(e)r灾难(熟词)ous藕丝(拼音)——灾难性的地震后大家只能吃藕丝 disorder——n.骚乱,混乱;vt.使失调——dis的士(谐音)order命令(熟词)——的士司机命令我稳住那场骚乱 distract——vt.转移…

C++ - 布隆过滤器

前言 之前介绍了 位图,位图在判断某一个 数是否存在,或者在计算某个数是否出现 一次 或者 两次这些问题之上有着非常高效的实现复杂度,它的时间复杂度 可以达到 O(1),因为都是逻辑判断和 ,常数…

论文学习:RT-DETR

RT-DETR 摘要 DETR取得显著性能,但高成本计算使其无法发挥无NMS的优势,无法实际应用。本文分析了NMS对准确性和速度的负面影响,并建立端到端的速度基准。第一个实时端到端检测器,高效处理多尺度特征,并提出IoU-aware…

【云备份】

文章目录 [toc] 1 :peach:云备份的认识:peach:1.1 :apple:功能了解:apple:1.2 :apple:实现目标:apple:1.3 :apple:服务端程序负责功能:apple:1.4 :apple:服务端功能模块划分:apple:1.5 :apple:客户端程序负责功能:apple:1.6 :apple:客户端功能模块划分:apple: 2 :peach:环境搭建…

mac电脑任务管理器 Things3 for Mac中文

Things 3是一款效率软件,可以帮助用户规划一天行程、管理项目,并使使用者按部就班地朝目标迈进。以下是Things 3的主要特点和功能: 待办事项:以“待办事项”为基本组成部分,每一则待办事项都是迈向大成就的一小步。用…

Redis-双写一致性

双写一致性 双写一致性解决方案延迟双删(有脏数据的风险)分布式锁(强一致性,性能比较低)异步通知(保证数据的最终一致性,高并发情况下会出现短暂的不一致情况) 双写一致性 当修改了数…

Go 语言内置类型全解析:从布尔到字符串的全维度探究

目录 一、布尔类型定义基础用法声明与初始化逻辑运算 进阶用法条件语句循环结构函数返回值 常见错误与陷阱 二、整数类型定义基础用法声明与初始化运算符位运算 进阶用法数据溢出类型转换类型推断 特殊整数类型runebyte 常见问题和陷阱 三、浮点数类型定义基础用法声明与初始化…

云原生边缘计算KubeEdge安装配置

1. K8S集群部署,可以参考如下博客 请安装k8s集群,centos安装k8s集群 请安装k8s集群,ubuntu安装k8s集群 2.安装kubEedge 2.1 编辑kube-proxy使用ipvs代理 kubectl edit configmaps kube-proxy -n kube-system #修改kube-proxy#大约在40多行…

通过BeanFactotyPostProcessor动态修改@FeignClient的path

最近项目有个需求,要在启动后,动态修改FeignClient的请求路径,网上找到的基本都是在FeignClient里使用${…},通过配置文件来定义Feign的接口路径,这并不能满足我们的需求 由于某些特殊原因,我们的每个接口…

Spring 体系架构模块和三大核心组件介绍

Spring架构图 模块介绍 1. Spring Core(核心容器):提供了IOC,DI,Bean配置装载创建的核心实现。 spring-core :IOC和DI的基本实现 spring-beans:BeanFactory和Bean的装配管理(BeanFactory) spring-context&#xff1…

【计算机网络】HTTPS协议详解

文章目录 一、HTTPS协议 介绍 1、1 HTTP协议不安全的体现 1、2 什么是 HTTPS协议 二、加密的一些概念 2、1 怎么理解加密 2、2 为什么要加密 2、3 常见的加密方式 2、2、1 对称加密 2、2、2 非对称加密 三、HTTPS协议探究加密过程 3、1 只使用对称加密 3、2 只是用非对称加密 3…

【应用层协议】HTTPS的加密流程

文章目录 1. 认识HTTPS2. 密文3. HTTPS加密流程3.1 对称加密3.2 非对称加密3.3 证书 1. 认识HTTPS HTTPS(超文本传输协议安全)也是一个应用层协议,它是在HTTP协议的基础上引入了一个加密层。 也就是HTTP协议传输文本的方式是明文,…

flink选择slot

flink选择slot 在这个类里修改 package org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl; findMatchingSlot(resourceProfile):找到满足要求的slot(负责从哪个taskmanager中获取slot)对应上图第8,9&…

国庆中秋特辑(八)Spring Boot项目如何使用JPA

目录 一、Spring Boot 项目使用 JPA 的步骤二、Spring Boot 项目使用 JPA 注意事项三、Spring Boot 项目使用 JPA 常用语法 Spring Boot项目如何使用JPA,具体如下 一、Spring Boot 项目使用 JPA 的步骤 添加依赖 在项目的 pom.xml 文件中添加 Spring Boot JPA 和数…

基于SpringBoot的网上超市系统

基于SpringBoot的网上超市系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:用户、管理员 管理员:个人中心、用户管理、商品分类…

Electron.js入门-构建第一个聊天应用程序

什么是electron 电子是一个开源框架,用于使用web技术构建跨平台桌面应用程序;即: HTML、CSS和JavaScript;被集成为节点模块,我们可以为我们的应用程序使用节点的所有功能;组件,如数据库、Api休…

【HUAWEI】VLAN+OSPF+单臂路由

目录 🥮写在前面 🥮3.1、拓扑图 🥮3.2、操作思路 🥮3.3、配置操作 🍣3.3.1、LSW2配置 🍣3.3.2、LSW3配置 🍣3.3.3、R1配置 🍣3.3.4、R2配置 🍣3.3.5、LSW1配置 &#x1f…

力扣 -- 518. 零钱兑换 II(完全背包问题)

解题步骤&#xff1a; 参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:int change(int amount, vector<int>& coins) {int ncoins.size();//多开一行&#xff0c;多开一列vector<vector<int>> dp(n1,vector<int>(amount1…

Python3数据科学包系列(三):数据分析实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 Python3数据科学包系列(三):数据分析实战 一: 数据分析与挖掘认知…