从语言模型到ChatGPT,大模型训练全攻略

article/2024/9/20 14:41:48

00f4fb73c53e2155c2821ec1558a8f70.png

文|python

前言

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

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

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

各个大模型的研究测试传送门

阿里通义千问传送门:

https://tongyi.aliyun.com/chat

百度文心一言传送门:

https://yiyan.baidu.com/

ChatGPT传送门(免墙,可直接注册测试):

https://wowchat.cn

GPT-4传送门(免墙,可直接注册测试):

https://gpt4test.com

相关推送:

训练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://chatgpt.dhexx.cn/article/PvpLnOqv.shtml

相关文章

ChatGPT:优化对话的语言模型

OpenAI 已经训练了一个名为 ChatGPT 的模型,它以对话方式进行交互。对话格式使 ChatGPT 可以回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。 今天主要测试了ChatGPT. C# 实现冒泡排序, using System;namespace BubbleSortExample {cl…

关于最近爆火的chatGPT大型语言模型人工智能介绍

1 chatGPT 简介 ChatGPT,一个由OpenAI训练的大型语言模型。被设计为能够理解和回答各种自然语言的问题,包括常见的知识性问题、技术问题、常见的语言问题以及其他各种主题。 chatGPT使用了大规模的神经网络,从海量的文本语料库中学习语言知识…

一文带你了解爆火的Chat GPT

* 导读 OpenAI近期发布聊天机器人模型ChatGPT,迅速出圈全网。它以对话方式进行交互。以更贴近人的对话方式与使用者互动,可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求。高质量的回答、上瘾式的交互体验,圈内外都纷纷惊呼。 为…

midjourney ai与ChatGPT结合使用,大大提升返回结果准确率

最近在试用midjourney ai绘图,结合ChatGPT给到更多的特征来说明 如果只是单纯的提问,可能返回杂乱的图片. 提问时要把相关特征,风格,物件都要说清楚,ai才能识别得到,放几张体验照: 生成结束后将会出现两…

万字追溯ChatGPT各项能力的起源

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年1月份热门报告合集 ChatGPT团队背景研究报告 ChatGPT的发展历程、原理、技术架构及未来方向 ChatGPT使用总结:150个ChatGPT提示此模板 ChatGPT数据集之谜 …

刚刚,我们和ChatGPT聊了聊边缘计算

ChatGPT是由美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。上线仅仅两个月,ChatGPT的活跃用户就突破一亿,掀起了新一轮人工智能浪潮。作为一款优秀智能聊天机器人模型,ChatGPT在很多事情上都有着独特的见解。今天&#x…

ChatGPT:如何使用正在改变一切的 AI 聊天机器人

转载自ChatGPT: How to use the AI tool thats changing everything | Digital Trends DownLoad 个人中心 ChatGPT 继续通过AI 生成的内容让互联网眼花缭乱,从一个新颖的聊天机器人转变为一项推动下一个创新时代的技术。不过,并不是每个人都参与其中&…

最新开源版ChatGPT搭建源码 含电脑端手机端+小程序端+详细安装部署教程

分享一个最新开源版ChatGPT搭建源码,源码全开源可二开,含电脑端手机端小程序端,对接流量主功能,含详细安装部署教程,支持用户套餐赚取收益等模式设置。 系统功能介绍:系统支持无限SAAS多开,可以…

如何使用MidJourney和ChatGPT制作动画短片?

Ammaar Reshi 当我制作这部使用生成式人工智能制作的蝙蝠侠动画短片时——我不知道它会在不到一周的时间内获得 700 万次观看。 想学!给我们讲解下是整体的制作流程吧!! opus Ammaar Reshi 我不是电影制作人,也从未写过剧本。我只…

人人都能懂的ChatGPT解读

作者 | 张杰,中关村科金技术副总裁 策划 | 刘燕 ChatGPT 发布了两个多月,热度不降反增,不断火爆出圈。是时候,为不懂 AI 技术的同学们白话科普一下了。本文将用浅显且不严谨的语言解惑以下问题:ChatGPT 为什么能火起来…

询问ChatGPT的高质量答案艺术——提示工程指南

目录 前言一、提示工程简介二、提示技巧2-1、生成法律文件2-2、添加提示技巧 三、角色扮演3-1、智能手机产品描述3-2、添加角色扮演 四、标准提示4-1、写一篇有关于新智能手机的评论4-2、添加标准提示、角色提示、种子词提示等等 五、示例很少、或者没有示例5-1、生成一个手机配…

最新版chatgpt4人工智能系统源码 支持电脑手机+小程序

分享一款最新的chatgpt4人工智能系统源码,完美运营版,系统支持电脑版手机版小程序端三合一,含完整代码包和详细的安装部署教程。 系统主要功能一览: 1、可以在电脑端、手机端上使用,还可以通过小程序进行在线交互和对…

【ChatGPT实战案例】ChatGPT快速生成短视频

目录 使用工具 实现方法(任选一种) 使用步骤 方法1示例:ChatGPT百度AIGC 方法2示例:ChatGPT剪映 使用工具 - ChatGPT - 剪映:手机or电脑应用商场下载app - 百度AIGC:度加创作工具-百度官方出品-人人…

【chatgpt】学习开源项目chatgpt-web,搭建自己的chatgpt服务,功能非常丰富有打字效果

目录 前言1,开源的chatgpt项目2,项目可以直接使用docker-compose跑起来3,关于打字模式SSE, octet-stream (打字特效)4,关于内容存储5,总结 前言 本文的原文连接是: https://blog.csd…

chatGPT的体验,是不是真智能?

目录 🏆一、前言 🏆二、安装 🏆三、普通对话 🚩1、chatGPT的ikun性 🚩2、chatGPT的日常对话 🏆四、实用能力 🏆五、代码改正 🏆六、写代码 🏆七、讲解代码 🏆…

chatgpt赋能python:Python手机怎么下载:简易教程

Python手机怎么下载:简易教程 随着移动互联网和智能手机的普及,越来越多的人开始使用手机进行日常工作和娱乐,而Python语言作为一种广泛应用于科学计算、数据分析、Web开发等领域的编程语言,也逐渐受到手机用户的青睐。那么&…

独家 | CodeGPT:具有类ChatGPT功能的VSCode扩展

作者:The PyCoach‍翻译:陈之炎 校对:赵鉴开本文约1300字,建议阅读7分钟 本文为你介绍在VSCode中使用GPT-3的官方OpenAI API。 用Canva制作图片 我并非VSCode的忠实粉丝,但不得不承认,它比我每天使用的代码…

ChatGPT专业应用:生成演讲稿

正文共 1138 字,阅读大约需要 7 分钟 教育工作者、企业家等必备技巧,您将在7分钟后获得以下超能力: 生成演讲稿 Beezy评级 :A级 *经过寻找和一段时间的学习,一部分人能掌握。主要提升效率并增强自身技能。 推荐人 | …

5个 ChatGPT 功能,帮助你提升日常编码效率

ChatGPT 作为最快完成亿活用户的应用,最近真的是火出天际了。今天分享5个 ChatGPT 功能,来提升我们的日常工作以及如何使用它提高代码质量。 ChatGPT 的出现,彻底改变了开发代码的方式。但是目前为止,大多数软件开发人员和数据专业…

让你的ChatGPT更加强大——200+小白用来解锁ChatGPT高级功能的提示(Prompts)——即开即用-开源纯免费-实时更新

让你的ChatGPT更加强大——200小白用来解锁ChatGPT高级功能的提示(Prompts) 使用说明标签筛选关键词搜索展示区复制语言切换常见问题为什么提示词用英文?中文搜索出错输出虚假信息提示词不好用为什么执着于 ChatGPT?最后 参考博客…