一脉相通!聊聊 ChatGPT 发展路线

format,png

作者 | 上衫翔二 

整理 | NewBeeNLP

大家好,这里是 NewBeeNLP。

首页最近被chatGPT刷屏,但翔二博主左看右看发现很多想法似乎都是一脉相通的,于是连夜从存档中找了一些文章尝试理一理它的理论路线。

  • 具身智能综述和应用(Embodied AI)[1]

  • 多模态中的指令控制[2]

同时想到今年在智源人工智能前沿报告(2021-2022年度)[3]中其实就有说道:

“未来三年,基于虚拟世界、实时时空环境训练的具身模型会取得较大的发展,如自动驾驶、机器人、游戏中数字人等······未来五到十年,超大规模预训练模型(信息模型)和具身模型将会结合,成为‘数字超人’,在知识能力以及跟环境的互动程度上,将比以往的人类都要强······具身模型和机器人也将结合,在物理世界出现能力比人类还要强的无人系统,即‘具身超人’。乐观估计,在未来三十年,数字超人和具身超人可能会结合,最终诞生超级人工智能。”

测了测chatGPT的性能后,好像这一切来的稍快了一点?

博主个人理解,它以更为embodied AI形式的指令作为输入,以训练/微调大规模的信息模型,并基于强化学习与真实世界做持续交互,已经很接近此处所提到的“数字超人”了。
25c9310ea4e151389b155d5141c2b1d7.png

关于chatGPT的基础介绍和使用本文不做过多介绍,可以参考各种报道文和知乎等等,此处推荐几份解读。

  • 视频讲解chatGPT[4]

  • 张俊林大佬的理解

本篇博文先简要整理一下跟chatGPT相关Instruction Tuning的几篇论文。

FLAN

  • paper:Finetuned Language Models Are Zero-Shot Learners

  • link:https://arxiv.org/pdf/2109.01652.pdf

  • code:https://github.com/google-research/flan

首先是ICLR22的FLAN模型,这篇文章明确提出 Instruction Tuning(指令微调)的技术,它的本质目的是想将 NLP 任务转换为自然语言指令,再将其投入模型进行训练,通过给模型提供指令和选项的方式,使其能够提升Zero-Shot任务的性能表现。

Motivation在于大规模的语言模型如GPT-3可以非常好地学习few-shot,但它在zero-shot上却不那么成功。

例如, GPT-3在阅读理解、问题回答和自然语言推理等任务上的表现很一般,作者认为一个潜在的原因是,如果没有少量示例的zero-shot条件下,模型很难在与训练前数据格式(主要是prompts)维持一致。

既然如此,那么为什么不直接用自然语言指令做输入呢?如下图所示,不管是commonsense reasoning任务还是machine translation任务,都可以变为instruct的形式,然后利用大模型进行学习。

在这种方式下,而当一个unseen task进入时,通过理解其自然语言语义可以轻松实现zero-shot的扩展,如natural language inference任务。7524e10a40ff4f3016a3d66eb5eebc62.png

Instruction-tuning、Fine-tuning、Prompt-Tuning的区别在哪?

  • Fine-tuning:先在大规模语料上进行预训练,然后再在某个下游任务上进行微调,如BERT、T5;

  • Prompt-tuning:先选择某个通用的大规模预训练模型,然后为具体的任务生成一个prompt模板以适应大模型进行微调,如GPT-3;

  • Instruction-tuning:仍然在预训练语言模型的基础上,先在多个已知任务上进行微调(通过自然语言的形式),然后再推理某个新任务上进行zero-shot。48585cd838db9ce0b0f9b0fd6dcb7654.png

具体来说,作者提出的Finetuned LAnguage Net(FLAN)模型将62个NLP task分为12 cluster,同一个cluster内是相同的任务类型,如下图所示。ae03313a4632f02b5a4c9ed3cd1b0ba6.png

对于每个task,将为其手动构建10个独特template,作为以自然语言描述该任务的instructions。为了增加多样性,对于每个数据集,还包括最多三个“turned the task around”的模板(例如,对于情感分类,要求其生成电影评论的模板)。所有数据集的混合将用于后续预训练语言模型做instruction tuning,其中每个数据集的template都是随机选取的。

如下图所示,Premise、Hypothesis、Options会被填充到不同的template中作为训练数据。6dccb855d75faec66985f47763f7eb84.png

然后基于LaMDA-PT模型进行微调。LaMDA-PT是一个包含137B参数的自回归语言模型,这个模型在web文档(包括代码)、对话数据和维基百科上进行了预训练,同时有大约10%的数据是非英语数据。然后FLAN混合了所有构造的数据集在128核的TPUv3上微调60个小时。

RLHF:Fine-Tuning Language Models from Human Preferences

  • paper:Fine-Tuning Language Models from Human Preferences

  • link:https://arxiv.org/abs/1909.08593

  • code:https://github.com/openai/lm-human-preferences

在介绍instructGPT和chatGPT前,还有两份比较重要的前置工作,即Reinforcement Learning from Human Feedback (RLHF),如何从用户的明确需要中学习。

这份工作是将大模型往人类偏好进行结合的一次尝试,其使用强化学习PPO而不是监督学习来微调语言模型GPT-2。

为了弄清人类偏好,首先需要从预训练好的GPT-2 开始,并通过询问人工标注者四个生成样本中哪个样本最好来收集数据集。

基于收集的数据集,尝试基于强化学习微调GPT,简要模型结构如下图,其需要训练两个模块一个是GPT模型(policy),一个是奖励模型(reward model),其中奖励模型用于模拟人类对四个样本的打分以代表其选择偏好。5c998ddd011375b0c7f78a59efddcf6b.png

整体的训练过程是:

  • 从数据集中采样context x,并使用policy网络得到4种句子,即(x、y0、y1、y2、y3),其中y的下标表示让人类的优先级排序。

  • 训练policy网络。从人类标注数据中进行训练,其中r是奖励模型的分数,该loss尝试让人类更喜欢的句子得分更高,从而来微调policy生成更符合人类偏好的句子。

92ff748f9e150144b41fdab12417dfa2.png

  • 训练奖励模型, 其中为了分布变化太远,会额外添加一个带有期望KL惩罚。

a2c15d1ba70f6d3b1c6b619a8fbd9b34.png

  • 在online模式中,可以继续收集额外的样本,并定期重新训练奖励模型r。

这篇论文的主要启发在于,人类偏好的约束、使用PPO的训练方法可以使模型在online的过程中持续学习。

RLHF:Learning to Summarize with Human Feedback

  • paper:Fine-Tuning Language Models from Human Preferences

  • link:https://arxiv.org/abs/1909.08593

  • code:https://github.com/openai/lm-human-preferences

随后的这份工作会更为贴近instructGPT和chatGPT,其提出主要按照人类偏好的summarization场景中。

其模型框架架构如下图所示,和instructGPT类似,主要分为三步:先收集人类在成对摘要上偏好的数据集,然后通过监督学习训练一个奖励模型(RM)来预测人类偏好的摘要。最后,利用奖励模型RM给出的分数去微调生成摘要的大模型,以上模型都基于GPT-3进行微调。c610fec4b7ae1f770360a479e99ad1c0.png

  • Collect human feedback 。来自reddit.com的300万篇不同主题的文章以及由原海报撰写的文章摘要,然后由人工标注摘要的顺序。

  • Train reward model 。奖励函数预测摘要之间谁更好,因此利用成对损失函数进行监督训练即可。

68627b48ab27689bc5072ac74968767a.pngTrain policy with PPO 。和前一篇文章一样,利用奖励模型得到一种偏好策略以产生更高质量的摘要结果。

65c7306394098ff0f980a09b95f0bab1.png

其中KL惩罚由两个作用,一是阻止模型崩溃为单一模式。其次,它确保了模型不会因为太追求学习偏好而偏离原本的摘要模型太远。

这份工作虽然局限于摘要,但在训练框架是为后续的instructGPT打下了基础,即人工标注+强化学习。

instructGPT

  • paper:Training language models to follow instructions with human feedback

  • link:https://arxiv.org/abs/2203.02155

instructGPT从模型结构上与上一篇文章几乎一摸一样,但它通向了更为宽广的领域。通过收集带有更多人类instruct的自然语言文本句子,使其可以完成各种nlp任务,正式进化为一个全能模型。

94e18597ecb8eaca7737db71a434d3dd.png

实现上仍然分为三个步骤,

  • 监督学习 。收集人工编写的期望模型如何输出的数据集,并使用其来训练GPT3。

  • 奖励模型 。收集人工标注的模型多个输出之间的排序数据集。并训练一个奖励模型,以预测用户更喜欢哪个模型输出。

bbbffe532a6477ca1902800e90750bef.png

  • 微调GPT3 。使用这个奖励模型作为奖励函数,以PPO的方式,微调监督学习得到的GPT3。

2c1bcd3eb28184c02294bc12c9472e64.png

KL惩罚仍然是为了对减轻奖励模型的过度优化。此外还会将训练前的梯度混合到PPO梯度中,以维持模型在更多通用NLP任务上的性能。

更多细节可以见开头的讲解视频[5]

chatGPT

目前只知道chatGPT基于instructGPT进行训练,但具体细节没有更多的披露,但是从以上几份工作中,可以窥见一些技术路线。

如chatGPT可以轻轻松松根据人类的语言完成从对话、写诗、编故事、写代码等等等等等各种任务,大概率就是基于FLAN模型这种迁移任务的方式,从而能够满足各位用户老爷们的奇怪需要。而instructGPT则应该是chatGPT用于训练的主要架构,包括数据集构建、模型框架和训练目标等等。

最后想再放一次这张图,博主也需要再好好悟一悟。
6674a3a27fa5e8bac11cada997833b1d.png

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

format,png

本文参考资料

[1]

具身智能综述和应用(Embodied AI): https://blog.csdn.net/qq_39388410/article/details/128264098

[2]

多模态中的指令控制: https://blog.csdn.net/qq_39388410/article/details/128249922

[3]

智源人工智能前沿报告(2021-2022年度): http://lib.ia.ac.cn:8003/ContentDelivery/20220120/智源人工智能前沿报告(BAAI AI Frontiers)_71DC14922FAFCFBF907D4844BF892292.pdf

[4]

视频讲解chatGPT: https://www.bilibili.com/video/BV1BG4y137SH/

[5]

讲解视频: https://www.bilibili.com/video/BV1BG4y137SH/

2228036ed79ec6708fc142995e0f4d23.gif

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

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

相关文章

下载微信公众号中的视频

转:https://www.zhihu.com/question/29576861 火狐浏览器: step 1 火狐浏览器 step 2 选择红色框 step 3 点击播放音频/视频,音频/视频文件就会生成出来,找到【type】里面的【media】,双击media文件,选择…

如何下载微信公众号里面的视频?

在微信公众号里面有时候会有一些不错的视频,我们想要下载下来保存到自己本地,这时该怎么样来操作呢?下面我们就一起来看看怎么样下载微信公众号里的视频文件吧! ​1. 首先,我们进入到公众号里面找到要下载的视频,点击…

微信公众号文章下载的方法

最近下载了一款公众号文章下载器,可借助汉麻微云平台,实现公众号文章批量下载,再一键转发到官网以及官微、头条等自媒体平台。 操作步骤: 1、下载工具,此工具为绿色免安装版,启动即可使用(下载…

专属微信公众号消息推送(java版)

前言:专属女朋友的微信推送消息,简单的写个文档。 gitee地址:消息推送 所用框架及Api springboot搭建应用天行数据Api(彩虹屁、早安语句、天气) 前置条件 申请微信公众号测试号及微信模板配置 申请一个微信公众号…

微信公众号文章怎么加入文件下载

在微信公众号文章中加入附件下载对于运营者来说越来越重要,我经常要帮助学校发布招聘信息,需要在文章中带上报名表,所以也很需要在文章中插入报名表文档。之前都是用百度网盘,但是使用太麻烦了。 有朋友推荐了另外一个方法&#…

如何下载微信公众号视频

1、微信推文复制链接 2、使用谷歌浏览器打开链接(不用谷歌浏览器也可以,不过sefari没有检查,不能下载视频) 3、右键打开检查 4、查找视频资源 5、右键双击 6、下载 即可下载成功。 其实直接将视频全品播放也有下载按钮&…

微信公众号 下载文件 在浏览器打开

a.html 页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>在浏览器打开</title><meta name"renderer" content"webkit"><meta http-equiv"X-UA-Compatib…

手把手教你下载微信公众号里的视频

要达到的效果如题 下面就以这个视频为例子&#xff1a; 看电影听单词 | 第18期-《初恋这首情歌》 一、找到视频的vid 用chrome浏览器打开&#xff0c;按下F12&#xff0c;在element项里找到这段视频对应的src信息&#xff0c;其中有vid这一项。 这一步是很简单的&…

Python下载微信公众号文章和图片保存至本地

思路 获取到微信公众号的文章之后&#xff0c;使用 BeautifulSoup 和正则表达式 解析出文章标题和包含正文的html. 获取到html之后&#xff0c;用正则表达式获取图片下载链接&#xff0c;下载成功后将微信的链接替换成本地图片链接。 运行效果 代码 import requests from r…

微信公众号消息推送教程

微信每日定时推送消息提醒&#xff0c;这样的技术男友谁不爱呢&#xff01; 欢迎专注微信公众号【凯小白学编程】 一、注册一个公众号 不多赘述&#xff0c;一般的程序员都会开一个自己的公众号来玩吧~ 二、启用测试账号 因为公众号模板消息推送是服务号才有的功能&#xff…

uniapp微信公众号h5生成图片下载

背景&#xff1a;最近接到一个需求要在微信公众号h5动态生成海报长按进行下载。在各个浏览器是没问题的。去到微信公众号h5就不行了&#xff0c;百撕不得骑jie。后面发现是微信内置浏览器限制的原因。 需求&#xff1a;根据链接动态生成二维码&#xff0c;再结合背景图等标签生…

下载微信公众号全部文章的方法

如何能将看到的非常葚欢的公号文章一网打尽&#xff1f;有将近十个号是学习个人成长&#xff0c;但是每个号都有几百篇历史文章&#xff0c;目己只能零星的看到就存到有道或印象笔记&#xff0c;但还是差的很远•很想找个方法突似程序之类的将这些文章都保存下来然后排版打印字…

微信公众号使用:查看和下载微信公众号的二维码

作为微信公众号的维护人员来说,不仅要知道微信公众号的基本功能,还要知道微信公平台的法律法规,发布文章的规则等常识。微信公众号申请成功之后,查看并下载微信公众号的二维码是比较常见的需求,而且添加微信公众号的时候不仅是通过搜索添加,也要通过直接扫描二维码识别添…

ChatGPT编程准确率暴降13%!UIUC南大新基准让AI代码现原形了

萧箫 发自 凹非寺量子位 | 公众号 QbitAI 用ChatGPT写代码&#xff0c;已经是不少程序员的常规操作了。 △“至少提速3~5倍” 但你有没有想过&#xff0c;ChatGPT生成的代码&#xff0c;有不少只是“看起来准确”而已&#xff1f; 来自伊利诺伊大学香槟分校和南京大学的一项最新…

奇舞周刊第 487 期 可在控制流中调用!React 新 hook 尝鲜

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 可在控制流中调用&#xff01;React 新 hook 尝鲜 React 在之前的文档中提到了 Suspense for data fetching[1] 的理念&#xff0c;虽然在新的文档中下线了&#xff0c;但还是有相…

本周“AI圈”爆火的GPT神器:AutoGPT,了解一下

AutoGPT到底是什么&#xff1f;它是一个实验性的开源应用程序&#xff0c;展示了GPT-4语言模型的功能。该程序由GPT-4驱动&#xff0c;可以自主实现用户设定的任何目标。 AutoGPT能够根据用户需求&#xff0c;在用户完全不插手的情况下自主执行任务&#xff0c;包括日常的事件分…

360/腾讯/网易有道/CSDN版ChatGPT上线;看!AIGC艺术第一个场景落地北京;AI狂飙的时代,人还有价值吗 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 『周鸿祎演示360版ChatGPT』网友取名红孩儿&#xff0c;全程高能 在2023数字安全与发展高峰论坛上&#xff0c;360创始人周鸿祎带来了…

ChatGPT为什么会颠覆内容创作成本?

前言 随着科技的发展&#xff0c;人工智能&#xff08;AI&#xff09;已经成为一个热门话题&#xff0c;它的出现和发展已经给人们的生活带来了巨大的变化。其中&#xff0c;ChatGPT是一种有前途的AI技术&#xff0c;它可以帮助人们自动生成文本内容&#xff0c;从而降低内容创…

ChatGPT知多少?小白扫盲,通俗易懂

一、ChatGPT到底是什么&#xff1f; ChatGPT是由OpenAI 发布的自然语言模型&#xff0c;它的英文全称是“Chat Generative Pre-trained Transformer”&#xff0c;直译过来就是作为聊天使用的生成式预训练转换器。其中&#xff0c;Chat代表着使用方式&#xff0c;GPT是OpenAI …

ChatGPT 如何让测试变得更好?

基于AI的新型语言系统ChatGPT成为全网热议的话题。它在 2022 年 11 月发布后获得了惊人的关注度。它的用户数在短短五天内就达到了 100 万。因此&#xff0c;这个独特的系统可以为 IT 行业提供一些特殊的东西。 谈到IT行业&#xff0c;软件测试是ChatGPT有望蓬勃发展的核心点之…