从语言模型到ChatGPT,大模型调教全攻略

news2024/10/1 5:31:34

00f4fb73c53e2155c2821ec1558a8f70.png

文|python

前言

你是否想过,为什么ChatGPT能够如此火爆呢?我认为这主要是因为ChatGPT提供了好玩、有用的对话式交互功能,能够为用户提供帮助,而不仅仅是依靠“大”模型的魅力。毕竟,GPT-3在2020年就已经推出了,拥有175B的参数规模,但除了最初的热度之外,它并没有引起社会太多的关注。

那么,究竟是什么让ChatGPT能够生成相对客观且富有信息量的回答呢?研究者们基于预训练好的大规模语言模型,采用了多种调教手段,主要包括指令调整和基于人类反馈的对齐调整。这些调整手段的运用,使得ChatGPT的交互表现更为出色。本文基于人民大学团队一篇的综述论文,给大家简要介绍一下大模型的调教攻略。

论文地址:
https://arxiv.org/pdf/2303.18223.pdf

相关推送:

训练ChatGPT的必备资源:语料、模型和代码库完全指南

高效又稳定的ChatGPT大模型训练技巧总结,让训练事半功倍!

指令调整

指令调整(Instruction Tuning)将多种任务转化成自然语言表述的形式,再通过seq2seq的监督学习+多任务学习的方式调整大规模语言模型的参数。经验表明,指令调整可以让大模型更好地执行指令,并提高跨任务与跨语言的泛化能力,并且可以缓解大模型输出重复内容以及补全输入而非完成任务的问题。

3c233130a96219ed80484750e07f920e.png

上图展示了指令精调的数据样例,通常包括一个任务描述,一组可选的展示样例,以及一组输入输出。模型在训练时,利用输出内容,进行监督学习训练。

指令调整的数据主要有两个来源。一为上图左侧,根据现有的数据集进行改写构建。其中,主要涉及通过众包平台构建不同的任务描述,有些工作用启发式模板构建数据,还有工作提出通过颠倒输入输出的方式扩充数据。

第二个来源为上图右侧,基于人类需求构建指令调整数据。InstructGPT提出利用人类在OpenAI API中输入的数据作为任务描述,以提高指令的多样性,更好满足真实需求。过程中涉及收集用户query,让标注者再计一些query,让标注者写出query的回复作为训练目标。GPT-4还额外构建高风险query来让模型学习“拒绝回复”。第二类数据在后面的对齐调整中也用到了。

在指令调整过程中,任务的数量和多样性对跨任务泛化能力很重要。多样性可以体现在长度、结构、创造性等多个方面。而每个任务所需的样本无需过多。

引入展示样本可以提高模型表现,降低模型对指令表述过度的敏感其他的prompt内容会带来负面影响。在展示样本中,包含类似代数运算等思维链(Chain of Thought)的内容可以有效提升模型多步推理能力,对其他任务也有好处。

指令调整中需要注意任务间的样本数量均衡问题,不能简单地按照任务数据集规模合并。增加高质量数据集的采样比例可以提升表现。不过,一般单一数据集样本量会设置一个上限,一般在几千到几万的范围。

OPT-IML提出在指令调整中引入部分预训练样本作为正则,来提高稳定性;GLM-130B 和 Galactica 在语言模型训练过程中引入了少许指令调整数据。

对齐调整

语言模型预训练预指令调整主要是提高模型建模语言,完成特定任务的能力。然而,对于ChatGPT这类“对话产品”而言,还需要通过对齐调整(Alignment Tuning)来让模型同人类的价值观对齐,从而生成“更令人满意”的回复内容。

对齐调整的主要动机是,有害的、误导的和有偏见的表述会严重影响人们主观的评价。即使这种调整客观上会损害大模型的能力,但可以极大地提升用户体验。大体上有三个需要调整的方向:

1.有帮助的:模型生成的内容应当是简介有执行力的,能够提供额外的信息并展现出模型的敏感、审慎和洞察力。2.忠诚的:模型不应该捏造事实,并且适当地时候表达不确定性。3.无害的:模型避免生成冒犯的、歧视性的内容,并且拒绝一些恶意请求。

用于对齐调整的标注数据有多种形式,例如排序若干候选;成对比较;回答既定的问题以从多个角度评价等。GPT-4还利用了基于自身的零监督分类器。

而在标注者质量筛选方面,除了母语、学历、标注平台(如AMT)上等级之外,研究者还利用标注者之间的内在一致性、标注者与研究者的标注一致性等信息来对标注者做筛选。

00c8e1fb952e7b43a026a0f9b710a1c6.png

基于人类反馈的强化学习算法(RLHF)利用标注数据,基于强化学习PPO(Proximal Policy Optimization),调整大模型。上图显示了RLHF进行对齐调整的过程,具体包含三个步骤:

第一步是基于人类标注数据做有监督精调。这一步和指令调整差不多,不过用的数据都是人类标注的,内容也更自由一些,比如开放式问答,闲聊,头脑风暴,改写等。这一步并非必须,可以认为是针对强化学习的冷启动问题的预热。

第二步是基于人类反馈训练一个奖励模型(Reward Model)。比如InstructGPT中基于标注数据训练了一个排序模型。奖励模型将在第三部强化学习中提供反馈信号。奖励模型一般是一个较小的大语言模型,例如InstructGPT基于175B参数的GPT-3做调整,奖励模型采用6B的GPT3;GopherCite基于280B参数的Gopher做调整,奖励模型采用7B的Gopher。

第三步是强化学习优化的过程。待优化的大语言模型的动作域(action space)是预测词表,状态为当前生成的内容,并将奖励模型的反馈信号通过PPO算法传给大语言模型做优化。对了避免强化学习跑偏,InstructGPT还采用了优化后的模型与原模型生成内容的KL距离作为正则项。

结束语

虽然从头训练一个大模型可能对绝大多数研究者而言是一种奢望,但在现有的开源资料基础之上,对特定的任务或领域进行调教个人专属的大模型并非遥不可及。因此,小伙伴们是否想参考本文内容,亲自尝试调教自家的大模型呢?

bcc47cf08c8046c15dc7013fcf251cb5.png卖萌屋作者:python

北大毕业的NLP博士。日常写点论文,码点知乎,刷点leetcode。主要关注问答、对话、信息抽取、预训练、智能法律等方向。力扣国服第一python选手(经常掉下来)。知乎 ID 是 Erutan Lai, leetcode/力扣 ID 是 pku_erutan,欢迎没事常来逛逛。

作品推荐

  1. 恕我直言,你的实验结论可能严重依赖随机数种子!

  2. AllenAI 发布万能问答系统 MACAW!各类题型样样精通,性能大幅超越 GPT-3!

  3. 吐血整理:论文写作中注意这些细节,能显著提升成稿质量

  4. 恕我直言,你的模型可能并没看懂 prompt 在说啥

9f552ac2e05cf992d9c1a91dc194f2e5.jpeg后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

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

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

相关文章

Python OpenCV 3.x 示例:1~5

原文:OpenCV 3.x with Python By Example 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候,你最…

文章改写神器-文章生成器免费版

文章伪原创工具 您是否在写文章时感到烦恼,因为您必须为每个不同的平台创建不同的版本?或者您是否感到沮丧,因为您的文章没有通过Google搜索引擎优化SEO? 如果您回答了“Yes”对于上述问题,那么“文章伪原创工具”就…

国家数据局来了,数据市场“黑暗丛林”时代将终结丨数字价值观察室·直播...

【《数字价值观察室》是钛媒体与ITValue联合推出的一档有关企业数字化的深度视频访谈栏目,脱胎于已连续举办十余届的全球数字价值峰会。栏目内容将聚焦产业人士最为关注的数字化问题,邀请行业专家、企业家等作为“观察员”现场论道,探寻数字经…

基于多源数据集成的城市地下管廊运维与智慧管控研究

1、引言 1833年,市政管线综合管廊在巴黎城市地下建成至今,经过百年来的探索、研究、改良和实践,法国、英国、德国、俄罗斯、日本、美国等发达国家的管廊规划建设与安全运维体系已经日臻完善,截止目前,国外已建成各类管…

Python3 OpenCV4 计算机视觉学习手册:6~11

原文:Learning OpenCV 4 Computer Vision with Python 3 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线的时候&a…

Python自动化测试 环境搭建 Selenium、WebDriver下载、安装、配置、基本使用详解

基本于Python语言 和 Selenium框架,使用PyCharm 开发环境,详细介绍自动化测试环境的搭建 以及 基本的使用方法。 一、安装Python环境 Python环境目前已被大部分主流操作系统所支持,比如在Linux、Mac、Unix等系统上就自带了Python环境&#xf…

春秋云境:CVE-2022-28525 (文件上传漏洞)

目录 一、题目 1.登录 2.burp抓包改包 3.蚁剑获取flag 一、题目 ED01CMSv20180505存在任意文件上传漏洞 英语不够 翻译来凑: 点击其他页面会Not Found 找不到: 先登录看看吧: 试试万能密码:admin:123 发现错误…

王春玲:在 MogDB 中实现真正意义上的自治异步事务提交

导语 2023年4月7-8日,由中国DBA联盟(ACDU)和墨天轮社区联合主办的第十二届『数据技术嘉年华』(DTC 2023) 在北京新云南皇冠假日酒店成功举办。云和恩墨本原数据内核研发工程师王春玲在“智能前沿:数据库内核技术”专题论坛上发表了…

Adobe设计师证书

Adobe设计师证书又称为Adobe国际认证证书和Adobe认证证书,Adobe国际认证(英文:Adobe Certified Professional)是Adobe公司CEO签发的权威国际认证体系,旨在为用户提供Adobe软件的专业认证。 Adobe认证包括产品技能认证和职业技能认证多个级别,从初学者到专…

【PWN刷题wp】[BJDCTF 2020]babystack

新手上路~低速慢行~ 目录 前言 1. checksec 2. IDA 反汇编 3. payload编写 4. exp编写 5. pwntools用法 前言 作为pwn新手,尽可能在刷题中,记录、学习一些通用的知识点,因此wp是少不了的。 本题是一道简单的ret2text 1. checksec 没有…

程序员必会的英语单词汇总,学习速度可提高10倍,偷偷超越你身边的大聪明

前言 虽然说英语不好也能学编程,但学习速度却大大减慢,尤其是到后面你要查资料或者上Github等英文网站的时候,浏览器自带的翻译还会出错。 所以我专门花了几天的时间,结合自己这些年来的开发经验,把编程常用的英语单…

【C语言】基础语法3:控制流程结构

上一篇:运算符和表达式 下一篇:函数和递归 ❤️‍🔥前情提要❤️‍🔥   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图(结束换链接)并免费提供给大家学习,希望大…

linux_设置定时器(C语言)-alarm函数-time命令-settimer函数

接上一篇:linux_信号-终端按键信号-硬件异常信号-kill函数-raise函数-abort函数 本次来分享linux的定时器,也就是alarm函数和settimer函数的调用,同时也介绍time的一种用法,开始上菜: 此博主在CSDN发布的文章目录&…

C语言CRC-32 STM32格式校验函数

C语言CRC-32 STM32格式校验函数 CRC-32校验产生4个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。基本的CRC-32校验算法实现,参考: C语言标准CRC-32校验函数 不同厂家通过对输入数…

一文读懂JavaWeb,前后端数据交互原来是这样的

文章目录 一、HTTP是前后端数据交互的载体1. HTTP Request2. HTTP Response 二、数据交互格式 JSON1. JSON对象与JSON字符串2. 不同语言中的JSON对象与JSON字符串互换 三、前端如何发送数据1. 表单发送数据2. JSON对象发送数据3. JSON 字符串方式 四、前端如何接收数据五、后端…

Android开发之桌面小部件Widget的基本用法

咱们有这么一个需求,在桌面添加一个app的小部件,小部件展示app里面的热门数据,点击小部件的刷新按钮实现刷新小部件上面的数据的功能。 咱们先看实现的效果图: 小部件的基本需求实现如上: 说明,先创建一个…

EEG源定位

导读 自从脑电图(EEG)被发现以来,人们希望EEG能提供一个了解大脑的窗口,研究人员一直试图用EEG无创定位大脑中产生头皮电位的神经元活动。20世纪50年代的早期探索使用电场理论从头皮电位分布推断大脑中电流偶极子的位置和方向,引发了大量定量…

网络请求实战-实战websocket聊天程序

目录 WebSocket协议初探 Socket连接的建立过程 聊天室:node.js端 聊天室:web端 小结 WebSocket协议初探 一个基于TCP的通信协议 复用HTTP的握手基于TCP传输协议 101切换协议 WebSocket连接之后,传输的都是二进制数据了 Socket连接的建…

Jmeter前置处理器和后置处理器

1. 后置处理器(Post Processor) 本质上是⼀种对sampler发出请求后接受到的响应数据进⾏处理 (后处理)的⽅法 正则表达式后置处理器 (1)引⽤名称:下⼀个请求要引⽤的参数名称,如填写title,则可…

Transformer的原理及应用分析

上一篇博文重点介绍了Transformer的核心组件MultiHeadAttention多头注意力机制,本篇继续介绍transformer的原理。下图为transformer的结构图,其主要由位置编码、多组编码器和多组解码器。以下将重点介绍三个部分。 1. 位置编码 Positional Encoding Att…