大语言模型系列-GPT-3.5(ChatGPT)

文章目录

  • 前言
  • 一、GPT-3.5的创新点
  • 二、GPT-3.5的训练流程
    • SFT数据集
    • RM数据集
    • PPO数据集
  • 三、ChatGPT的诞生
  • 总结


前言

《Training language models to follow instructions with human feedback,2022》

前文提到了GPT-3的缺点,其中最大的问题是:语言模型更大并不能从本质上使它们更好地遵循用户的意图,大型语言模型可能生成不真实、有害或对用户毫无帮助的输出。

GPT-3.5正是基于此问题进行的改进,它通过对人类反馈进行微调,使语言模型与用户在广泛任务中的意图保持一致,专业术语是对齐(Alignment)。

ps:ChatGPT和InstructGPT是一对兄弟模型,是在GPT-4之前发布的预热模型,有时候也被叫做GPT-3.5。ChatGPT和InstructGPT在模型结构,训练方式上都完全一致,即都使用了指示学习(Instruction Learning)和人工反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)来指导模型的训练,它们不同的仅仅是采集数据的方式上有所差异。


一、GPT-3.5的创新点

  1. 指示学习(Instruct Learning)和提示学习(Prompt Learning)

ps:指示学习和提示学习的目的都是去挖掘语言模型本身具备的知识。

  • finetune需要大量数据集,会更新梯度,比较耗时
  • Prompt用于激发语言模型的补全能力,针对某个具体任务的,泛化能力不如指示学习。
  • Instruct用于激发语言模型的理解能力,它通过给出更明显的指令,让模型去做出正确的行动。
    在这里插入图片描述
    在这里插入图片描述
  1. 使用了基于人工反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),使结果对齐。

ps:

  • 强化学习通过奖励(Reward)机制来指导模型训练,奖励机制可以看做传统模型训练机制的损失函数。奖励的计算要比损失函数更灵活和多样(AlphaGO的奖励是对局的胜负),这带来的代价是奖励的计算是不可导的,因此不能直接拿来做反向传播。强化学习的思路是通过对奖励的大量采样来拟合损失函数,从而实现模型的训练。
  • 同样人类反馈也是不可导的,那么我们也可以将人工反馈作为强化学习的奖励,基于人类反馈的强化学习便应运而生。
    在这里插入图片描述

二、GPT-3.5的训练流程

InstructGPT/ChatGPT都是采用了GPT-3的网络结构,通过指示学习构建训练样本来训练一个反应预测内容效果的奖励模型(RM),最后通过这个奖励模型的打分来指导强化学习模型的训练。InstructGPT/ChatGPT的训练流程如下所示:

  1. 收集演示数据并进行监督训练
  2. 收集对比数据,训练奖励模型
  3. 使用PPO针对奖励模型优化策略
    请添加图片描述
    具体一点可以看如下例子:
    在这里插入图片描述
    以上三个步骤采用的数据集是不同的

SFT数据集

SFT数据集是用来训练第1步有监督的模型,即使用采集的新数据,按照GPT-3的训练方式对GPT-3进行微调。因为GPT-3是一个基于提示学习的生成模型,因此SFT数据集也是由提示-答复对组成的样本。SFT数据一部分来自使用OpenAI的PlayGround的用户,另一部分来自OpenAI雇佣的40名标注员(labeler)。并且他们对labeler进行了培训。在这个数据集中,标注员的工作是根据内容自己编写指示,并且要求编写的指示满足下面三点:

简单任务:labeler给出任意一个简单的任务,同时要确保任务的多样性;
Few-shot任务:labeler给出一个指示,以及该指示的多个查询-响应对;
用户相关的:从接口中获取用例,然后让labeler根据这些用例编写指示。

RM数据集

RM数据集用来训练第2步的奖励模型,我们也需要为InstructGPT/ChatGPT的训练设置一个奖励目标,要尽可能全面且真实的对齐我们需要模型生成的内容。很自然的,我们可以通过人工标注的方式来提供这个奖励,通过人工对可以给那些涉及偏见的生成内容更低的分从而鼓励模型不去生成这些人类不喜欢的内容。InstructGPT/ChatGPT的做法是先让模型生成一批候选文本,让后通过labeler根据生成数据的质量对这些生成内容进行排序。

PPO数据集

InstructGPT的PPO数据没有进行标注,它均来自GPT-3的API的用户。即有不同用户提供的不同种类的生成任务,其中占比最高的包括生成任务(45.6%),QA(12.4%),头脑风暴(11.2%),对话(8.4%)等。

三、ChatGPT的诞生

请添加图片描述


总结

ChatGPT的优缺点如下:

优点:

  1. 参数更小,真实性更强
  2. 无害性提升
  3. 编码能力强

缺点:

  1. 会降低模型在通用NLP任务上的效果
  2. 仍可能给出错误结论
  3. 对指示非常敏感
  4. 对简单概念的过分解读
  5. 对有害的指示可能会输出有害的答复

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

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

相关文章

面试经典-5-删除有序数组中的重复项

题目 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#x…

创建vue3 ts项目 tsc.config在vscode下标红

Vue3TypeScriptPinia初始化项目,vscode报错解决办法!_vscode vue3ts 老是提示代码错误-CSDN博客

KNN算法对鸢尾花进行分类:添加网格搜索和交叉验证

优化——添加网格搜索和交叉验证 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection imp…

Claude3发布,将取代ChatGPT4?

目录标题 前言Claude简介Claude 3 的能力高级推理视觉分析代码生成多语言处理 性能比较 前言 一夜之间,全球最强 AI 模型易主。大模型行业再次经历变革。OpenAI 最大的竞争对手 Anthropic 发布了新一代 AI 大模型系列 ——Claude 3。该系列包含三个模型&#xff0c…

【论文阅读】Natural Adversarial Examples 自然对抗的例子

文章目录 一、文章概览(一)摘要(二)导论(三)相关工作 二、IMAGENET-A 和 IMAGENET-O(一)数据集构造方式(二)数据收集过程 三、模型的故障模式四、实验&#x…

vscode ubuntu c++运行环境配置

官方教程地址:Get Started with C on Linux in Visual Studio Code(Get Started with C on Linux in Visual Studio Code) 1、下载安装vscode Visual Studio Code - Code Editing. Redefined(Visual Studio Code - Code Editing…

气膜建筑是由什么材料制成的?PVDF膜材的革新应用值得期待吗?

随着科技的不断进步和发展,建筑行业也在不断涌现新型的建筑材料。气膜建筑作为其中一种创新的建筑膜材,在体育馆、运动场馆、展览厅等场所得到了广泛的应用。那么,究竟是什么材料构成了气膜建筑呢?轻空间小编将为您详细介绍。 气膜…

Win11系统启动VMware上虚拟机蓝屏解决办法

背景 最近有在做一个项目的过程中需要使用虚拟机,用原来装好的的Vmware14打开虚拟机,直接蓝屏了,尝试了如下几种方法来解决,最好用的就是第二种,直接下载最新版本(在软件管家中直接下载)。 虚拟机 目前常用的虚拟机软…

Docker 中 MySQL 的部署与管理

目录 一、Docker 中部署 MySQL1.1 部署 MySQL1.2 进入容器并创建数据库1.3 Navicat 可视化工具连接 二、可能存在的问题2.1 1130 - Host ‘172.17.0.1‘ is not allowed to connect to this MySQL server 参考资料 一、Docker 中部署 MySQL 1.1 部署 MySQL 首先,从…

Java常见问题

文章目录 引言I Eclipse1.1 编辑tomcat运行环境II JDK2.1 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接2.2 restriction on required library2.3 The type javax.servlet.http.HttpServletRequest cannot be resolved.的解决方法III npm3.1 npm报错:…

[WiFi] 802.11w/802.11k/802.11v/802.11r/802.11u/802.11ai/802.11ah简介

802.11w(PFM) Protected Management Frames,802.11w协议主要基于现有的对数据报文的加密形式,对管理帧进行类似的加密。802.11w需要加密的管理帧包括解关联帧、去认证帧及强壮Action帧。 802.11k(RRM) Radio Resource …

启发式合并学一学

来自题解 CF600E 【Lomsat gelral】: 先简单说一下启发式合并吧 这道题我们可以遍历整棵树,并用一个数组ap(appear)记录每种颜色出现几次 但是每做完一棵子树就需要清空ap,以免对其兄弟造成影响。 而这样做它的祖先时就…

一个简单的微信小程序表单提交样式模板

没什么东西&#xff0c;只是方便自己直接复制使用 .wxml <view class"box"><form bindsubmit"formSubmit"><view class"form-item"><text class"head">姓名&#xff1a;</text><input class"…

python数据类型 -- 集合Set

你好, 我是木木, 目前正在做两件事   1. 沉淀自己的专业知识   2. 探索了解各种副业项目&#xff0c;同时将探索过程进行分享&#xff0c;帮助自己以及更多朋友找到副业, 做好副业 文末有惊喜 在Python中&#xff0c;集合&#xff08;Set&#xff09;是一种无序、不重复元素的…

Java访问者模式源码剖析及使用场景

访问者模式 一、介绍二、报表系统开发三、MyBatis中如何使用访问者模式&#xff1f; 一、介绍 Java 中的访问者(Visitor)模式是一种行为型设计模式,它将数据结构与数据操作分离,使得在不修改数据结构的情况下可以增加新的操作。该模式主要包含以下几个角色: 抽象访问者(Visit…

【Linux】Centos7上安装MySQL5.7

目录 1.下载安装包2. 上传安装包3.将 mysql 解压到/usr/local/4.重命名5.创建mysql用户及用户组6. 进入 mysql 目录修改权限7. 安装依赖库8. 执行安装脚本9. 复制启动脚本到资源目录10. 拷贝 my.cnf&#xff0c;并赋予权限11. 配置环境变量12. 启动 mysqld13. 登录 MySQL&#…

3.13练习题解

1.空调&#xff1a; 这道题目我们不妨直接考虑&#xff08;应该也很容易想到是差分&#xff0c;因为题目中给出的空调的功能已经有提示了&#xff09;&#xff0c;那么我们不妨对问题进行一下转化&#xff1a; 首先将当前温度和目标温度都确定下来&#xff0c;也就是&#xff…

1361:产生数(Produce)

【解题思路】 1、将数字拆分保存在数组中&#xff0c;而后转换每一位。 2、将数字变化规则保存在x、y两个一维数组中&#xff0c;x[i]到y[i]是一种转换规则。 3、从n的初始值开始搜索&#xff0c;对n做数字拆分&#xff0c;将拆分后的各位数字保存在一个数组中。针对数组中的每…

初识进程状态

&#x1f30e;进程状态【上】 文章目录&#xff1a; 进程状态 发现进程的状态 运行队列 进程排队 进程状态的表述       状态在代码中的表示       运行状态       阻塞状态       挂起状态 总结 前言&#xff1a; 为了搞明白正在运行的进程是什么意思…

“批量记录,轻松修改:让收支明细管理更高效!“

在繁忙的现代生活中&#xff0c;管理个人收支明细成为了我们理财的重要一环。晨曦记账本&#xff0c;作为一款功能强大的记账工具&#xff0c;致力于帮助用户轻松记录和管理每一笔收支&#xff0c;让财务更加清晰、有序。 第一步&#xff0c;首先我们要记进入晨曦记账本主页面…