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图形绘制过程中,有一点还没有涉及,就是纹理贴图。 今天这篇博文我会用如下六张图片对立方体进行纹理贴图,实现六个面都是贴…

Springboot中的@Import注解~

Import注解是Spring框架中的注解之一,用于导入其他配置类或者组件 Import注解的作用有以下几点: 导入其他配置类:可以使用Import注解导入其他的配置类,将其加入到当前配置类中,从而可以共享配置信息 导入其他组件&am…

开箱即用轻量级雪花算法id生成器Java工具类

开箱即用轻量级雪花算法id生成器Java工具类 1.1 背景1.2 雪花算法id生成器Java工具类 1.1 背景 在 Java后端研发过程中,对于分布式微服务来说,一般需要分布式 id生成. 这里分享一个非常好用且大多数情况下都可用的开箱即用轻量级雪花算法id生成器Java工…

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

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

C++ - 布隆过滤器

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

Web前端-Vue2+Vue3基础入门到实战项目-Day2(指令补充, computed计算属性, watch侦听器, 水果购物车)

Web前端-Vue2Vue3基础入门到实战项目-Day2 指令补充指令修饰符v-bind 对样式控制的增强控制class案例 - 京东秒杀tab导航高亮控制style案例 - 控制进度条 v-model 应用于其他表单元素 computed计算属性基本使用computed计算属性 vs methods方法计算属性完整写法案例 - 成绩 wat…

论文学习: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的主要特点和功能: 待办事项:以“待办事项”为基本组成部分,每一则待办事项都是迈向大成就的一小步。用…

scala入门

视频 scala学习配套视频 资料目录 网盘地址:https://pan.baidu.com/s/1vJzjHhaC1NCcAGry6SLIpg&pwd1706 文档资料下载 第一章Scala的相关概述 第二章变量 第三章运算符 第四章循环 第五章方法 第七章继承、抽象类、匿名类 第八章特质 第九章包、样例…

Redis-双写一致性

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

Docker镜像管理

Docker 基本管理 Docker 概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、…

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 bean定义Spring Bean 的作用域

Spring bean定义 目录 Spring bean定义 Spring配置元数据 Spring Bean 的作用域 singleton作用域: 原型作用域: 示例: 形成应用程序的骨干是由Spring IoC容器所管理的对象称为bean。bean被实例化,组装,并通过Sprin…

运行pytorch时出现version `CXXABI_1.3.9‘ not found

发现问题:运行bert预测代码时出现如下错误 /envs/py38/lib/python3.8/site-packages/transformers/utils/import_utils.py", line 1184, in _get_module RuntimeError: Failed to import transformers.onnx.config because of the following error (look up …

华为OD机试真题【不含 101 的数】

1、题目描述 【不含 101 的数】 【题目描述】 小明在学习二进制时,发现了一类不含 101的数,也就是: 将数字用二进制表示,不能出现 101 。 现在给定一个整数区间 [l,r] ,请问这个区间包含了多少个不含 101 的数&#…

互联网金融理财知识点简单总结

互联网金融理财知识点总结 互联网金融理财是指通过互联网平台进行资产管理和投资的一种金融方式。它结合了金融、科技和互联网,为投资者提供了更多选择和便捷性。本文将介绍互联网金融理财的关键知识点,包括理财基础、投资产品、风险管理和未来趋势等方…

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

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