罗马是怎么建成的:Towards ChatGPT and Beyond

format,png

作者 | 欧泽彬

整理 | NewBeeNLP

https://zhuanlan.zhihu.com/p/607637180

大家好,这里是 NewBeeNLP。ChatGPT 以其强大的推理能力和丰富知识搅动了最近几个月的 AI 社群。

作为跟进和反思,本文简单捋一下最近一两年促成 ChatGPT 的 NLP 研究变化,力求解读出表象背后的逻辑,并提供一些未来发展方向的预测。本文以主线梳理和抛砖引玉的观点为主,不会对基础知识做太多铺垫,欢迎各位批评指教!

罗马是怎么建成的

ChatGPT 反映的是近几年来 NLP 领域的逐步的积累变化:将语言作为模型的统一接口从 solution engineering 转向 task engineering,以及 scaling law 的不断实践。值得注意的是,ChatGPT 以及其前身 InstructGPT 在算法创新上也跨出了很有意思的两小步。

语言成为通用的模型接口

NLP 社区对预训练的使用经历了几次范式变化

  1. 以预训练的词向量和 ELMo 为代表的输入特征增强

  2. 以 BERT 和 BART 为代表的预训练初始化 + 端到端 finetuning

  3. 以 GPT2/3 为代表的 prompting

在 1 和 2 的范式下,我们需要为每一个具体任务设计一个特定的 predictor 来给出相应的目标结构:标签、标签序列、图、自然语言序列。Predictor 没法复用,我们不能用解决分类的 predictor 去解决问答任务,而由于标签集不同,不同分类任务的 predictor 也无法复用。

第 3 个范式以 salesforce 的 The Natural Language Decathlon: Multitask Learning as Question Answering 为起点,到 GPT2 和最近的 ChatGPT 为顶峰。我们意识到诸如分类、序列标注、阅读理解、翻译、摘要、信息抽取等 NLP 任务可以统一为自然语言生成的形式。语言作为统一的模型输入或者输出的接口,模糊了任务之间的边界,使得所有任务都可以用单一的自然语言生成的 predictor 解决。因而我们可以训练一个通用模型来利用不同任务之间共享的知识,同时期待它在没见过的任务上面有不错的泛化性能(跨任务泛化),这在几年之前几乎是不可想象的事。

把语言作为模型输入/输出接口还有更加深远的意义。和只能表达属于/不属于的离散标签相比,语言内在的语义关系可以为模型提供更加丰富的监督信息。由此 OpenAI 的 CLIP 通过大规模的图像和语言描述的匹配训练出性能优越的图像分类模型。语言也是 human-friendly 的人机接口,我们可以将抽象的自然语言描述作为输入,让模型去生成诸如图像、音乐等具象输出。前阵子很火的 DALL·E、Stable Diffusion 等文生图应用就是很好的例子。

然而语言的灵活性和非结构性使得它不太适合做机器的接口:我们需要对输出的解码过程做一定的硬限制,或者设定特定的替代序列,才能从输出中解析出标签、标签序列、图等离散结构。比如 FLAN 便把所有的分类选项拼接在 prompt 中:I am happy today. Is the expression positive? OPTIONS: -yes -no,模型下一个词预测出 yes 对应正标签,no 则对应负标签。更进一步,如何确保生成的标签序列、图等离散结构的正确性(符合定义,满足限制)也是一个开放的研究问题。

从 Solution Engineering 到 Task Engineering

过去的几年深度学习的发展似乎印证了一条恒定的经验规律(Sutton 的 the Bitter Lesson):任何对最优解的手工设计带来的效果最后都会被优化、搜索算法碾压掉。

先是 feature engineering 和 pipeline 系统被端到端训练的神经网络碾压掉,再是任务相关的 model engineering 被 finetune 过后的预训练模型碾压掉,最近则是 prompt engineering 被 instruction finetuning 碾压掉

Prompt engineering 解决的是怎么样通过修改诸如 GPT2 等大模型的输入前缀(prefix)来让模型生成我们想要的回复。在细致地考察 prompt 里面 demonstration example 的顺序、任务的表述形式的作用,尝试端到端训练 prompting token 的参数,以及研究怎么哄骗模型(let’s think step by step)或者使用 chain-of-thought prompting 来诱导模型做出类似推理的输出后,近期的研究逐渐收敛到 instruction finetuning:与其费劲力气去调整黑盒的内部运行机制来获得我们想要的行为,为什么不直接通过训练将预期行为注入模型中呢?

于是从去年上半年的 FLAN、Natural Instructions 和 InstructGPT,到去年年底的 Flan-PaLM、Supernatural Instructions 和 ChatGPT,通过设计多样的任务相关的 prompt 和目标输出对预训练模型进行 instruct finetuning,我们看到预训练语言模型的 prompting 设计变得更加友好,产生的输出也变得惊艳。

对于优化模型行为这个目标,task engineering 的优先级往往是比 solution engineering 更高的 -- 我们要相信优化、搜索算法的力量

以 language modeling 为目标在不同语料上进行训练时,表面上看模型是在学习同一个任务在不同 domain 上的分布,但实际上模型是在学习由language modeling + 数据构成的不同训练任务。

比如在带注释的 code 上训练时,模型需要学到如何生成可执行的代码;在多语语料上训练时,模型需要将不同语言映射到同一个语义空间上。在 code base 上训练的 GPT 以及 PaLM 的 chain-of-thought 的能力很有可能就是来自于代码注释中对任务的拆解。

language modeling 语料的不同混合方式隐式地决定了语言模型所具备的“能力”,而 instruction finetuning 则是直接将我们想要的“能力”注入到模型黑盒中

你永远可以相信 Scaling Law

2017 年百度的Deep Learning Scaling is Predictable, Empirically 首次指出的 power law scaling rule 在接下来的几年被不断地验证:模型量级每提升一个数量级,模型的效果便会提升一个点。

在探究某个问题是否可解时,scaling 的优先级是要高于任何手工 engineering 的。最近几年模型的发展可以认为是 scaling law 的一次又一次胜利:BERT 的 scaling 带来的是 finetuning 后下游任务性能的稳定提升;GPT 系列的 scaling 带来了 emergent capability 的出现;CLIP 的 scaling 带来的是强大的跨领域泛化能力;DALL·E2 的 scaling 带来的是令人惊艳的图像合成效果。

Scaling law 不仅对参数量、训练数据、计算量有效,对跨任务训练(如 Flan-PaLM)的任务数量也是有效的 -- 更多的训练任务能带来更强的跨任务泛化。似乎随着任务数量和每个任务的数据量的增加,像 Flan-PaLM 和 InstructGPT 一样 instruction finetuning 过后的预训练语言模型能够逐渐逼近 AGI 这个圣杯。

一个很有趣的现象是 scaling law 加持下的预训练模型对 CV 带来的冲击远不及 NLP 那么剧烈。一个直觉理解是以语言是一个巨大的离散组合空间:给定词表 V,句长为 L 的可能句子有爆炸性的 |V|^L 之多。仅靠共现(是否一起出现在同一句子)这一微弱的结构来限制模型的自由度并不能阻止模型在这么大的离散空间里面过拟合。因此大多数自然语言任务往往处于数据紧缺的状态,预训练模型对过拟合风险的降低反映为巨大的性能提升。

与此对立的是,图像虽然是一个连续的空间,但是它光滑性(continuous)以及平移不变(translation equivariant)等优秀结构使得模型自由度受到很大的限制,模型便不太容易过拟合。考虑到大部分 CV 的数据集量级之大,标准的 CV 任务并没有太多过拟合的困扰,预训练模型带来的冲击便没有那么明显。

在 scaling law 的冲击下,单任务刷榜的研究变得越来越难做。NLP 社区慢慢转向发现并解决 scaling 不能解决的问题:已被解决的数据集逐步被抛弃,更加困难的 challenging dataset 纷至沓来。然而从老生常谈的 cross domain generalization,到最近的 common sense knowledge、shortcut rules、out-of-distribution generalization、combinational generalization、reasoning,不断狂飙的 scaling law 似乎在慢慢地把这些问题逐个击破。

宇宙的尽头是 scaling 吗?笔者不敢遑论,但 Will we run out of data? An analysis of the limits of scaling datasets in Machine Learning 的估算似乎预言了 scaling 的尽头:到 2026 年左右,高质量的 NLP 数据将会用光而低质量 NLP 数据则会在 2030 到 2050 年用光。

ChatGPT 的两小步

在以上大趋势下,与 Flan-PaLM 和 Supernatural Instructions 相比,ChatGPT/InstructGPT 走出了以下两小步:

  1. ChatGPT 的 instruction finetuning 收集了大量对话场景下出现的 prompt,而不是针对现有标准任务手工改造的 prompt

  2. 选择了 RLHF 去构建主要的监督信号,而不是简单的 supervised finetuning

第一点决定了它能够流畅地去和人做交互,加上上述大趋势成为了决定 ChatGPT 性能的根本原因。

第二点则提供了比 supervised finetuning 更加优秀的构建监督信号的方案,笔者认为也是很亮眼的创新。在标准 RL 的视角下,language model 可以认为是一个根据前面生成的词(state)来选择下一个词(action)的 agent,每一句话对应一个 decision trajectory。在这个视角下 supervised finetuning 便等价于 imitation learning 中的 behavioral cloning,目标是最大化语料中 expert action 的 log likelihood。由于语料中有限的 decision trajectory 只能覆盖一小部分输出空间(所有可能句子 |V|^L 的一小部分)、且其分布和模型采样的 trajectory 分布不一致,behavioral cloning 需要极大的数据量才能保证较好的效果。与之相对应的,假如我们知道每一条 trajectory 的 reward,那我们就可以通过 on-policy 的 RL 去规避以上问题:我们可以采样大量的、符合模型分布的 trajectory。RLHF 通过直接标注数据去估计这个 reward function,完成标准 RL 训练的闭环。总的来说 RLHF 是一个比较 promising 的构造监督信号的方案,应该会很快地下沉到各大标准任务中。

抛砖引玉的预测

结合上述趋势的总结,这里抛砖引玉提几个未来趋势的预测。

从 Easy Scaling Law 到 Smart Scaling Law

和 CV 热火朝天地大搞 backbone 模型不同,NLP 近几年基本就是清一色的标准 Transformer,模型的设计、训练在最近几年还是属于比较停滞的状态,除了屈指可数的几个浪花之外基本以标准 Transformer 结构为主。怎么样通过设计更好的模型、训练方式来达到更快的训练速度以及更陡峭的 scaling law 是一个很容易想到的方向,也是在算力禁运的背景下必要的发力方向。

需要 scale 的是整个模型还是部分模块?语言作为表达信息和知识的载体,其语料数据同时包含了语言知识和百科知识(参考 语言模型理解语言吗[1] 的极简语言学 review)。相比于百科知识量级的快速增长,语言知识的量级其实是相对稳定的。这也意味着真正需要 scaling 的是存储常识和规律的模块 -- 我们可以用一个相对较小的模型去存储语言知识。Retrieval augmentation 提供了一个思路,但怎么自动区分语言知识和百科知识则是一个难点。

Scaling law 一定就是 power law 吗?最近的 Beyond neural scaling laws: beating power law scaling via data pruning 暗示通过良好的数据筛选,我们或许能达到 linear scaling law

从小科学到大科学

垂直任务作为相对独立的研究领域的时代可能要慢慢过去了,它们会慢慢变成通用模型的某一评测指标。将最新 SoTA 搬运到垂直任务、做垂直任务的 cross domain、low resource setting 等常用的灌法已经慢慢行不通了,NLP 社区对好工作的期待也慢慢从解一个细分问题演变到解一类通用问题。

严谨、可靠的实验研究的门槛也在慢慢变高:以往只需在某个任务的标准数据集上报告单个模型的结果,现在则需在大量任务、大量数据集上报告不同量级模型的结果。AI 似乎从只需要一两张卡便可以快速迭代的小科学时代,进入了需要大量资源、人力投入的大科学时代。

一个良好的社区需要巨头们积极参与开源,降低进入的门槛,否则最后可能会演变成巨头们群魔乱舞,台下观众只能吃瓜叫好的局面。最近几年 NLP 社区里由预训练模型带来的模型结构的同质化便是一个不好的兆头。

通用模型的通用化和特化

特化模型某个维度的“能力”往往以其他维度“能力”的降低为代价。在同一模型量级下,模型能分配的“技能点”似乎是有限的:

  1. 在分类任务中,对头部类别样本的降采样虽然能带来平均性能更高的分类器,但相应的每个类别的准确率也会比较平庸。

  2. 在对 GPT3 进行 instruction finetuning 的时候,即使联合原始language modeling 目标一起训练,在改善 prompt engineering 的友好程度的情况下也会降低模型在某些任务的性能(所谓 alignment tax)。

因此对于通用模型提供商来说,怎么分配有限的“技能点”使得模型足够通用便成为重点迭代方向。所谓技能点的分配涉及找到具体的“能力”(比如推理、常识、长距离共指消解、多语言)并设计易于廉价 scaling 的训练任务(pretext task 或者 language modeling 加特定的语料),而这又涉及到怎么样定量化衡量某个任务跟预期的“能力”的相关关系(比如借助 representation similarity)。在这个问题上的长期积累加上完善的大模型训练的 infrastructure 便构成了 OpenAI 的重要竞争壁垒。再此基础上,良好的商业模式又取决于是否能提供廉价&易用&低精度损耗的特化方案,包括但不限于finetuning,adapter 以及 prompting。

Should we engineer the solution?

机器学习的基本原理决定了为了用 data-driven 的方式去解一个问题,我们必须先知道最后的解大概长什么样。零先验或者弱先验会带来 no free lunch 定律的诅咒。但是如前所述,对 solution 的任何多余 engineering 似乎都是在走弯路。

然而对于某些问题我们已经有很好的解法了:数学运算、程序执行、字符串匹配、first order logic reasoning。我们也可以明确穷举一些知识:语言里所有 functional word 和标点符号、所有数字、英语词性变化的规则和特例。我们真的需要让模型再去重新学一遍吗?怎么样在利用 scaling law 的情况下充分利用我们所有已知的知识、最优解?

AGI 真的能靠弱先验的 scaling 解决吗?为了拟合一个计算乘法的函数,列表穷举的方法虽然能在可见数据分布内达到比较好的性能,但是它并不能保证数据分布变化后输出正确的结果。基于这个类比,在可见数据分布内“有用”的 AGI 或许可以靠弱先验的 scaling 解决;但是享受一定理论保证的 AGI 似乎需要基于对智能的理解去设计解的形态。

一起交流

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

format,png

本文参考资料

[1]

语言模型理解语言吗: https://zhuanlan.zhihu.com/p/114496896

edd97ab0930554dbdddcd9e8d6f054c1.gif

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

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

相关文章

ChitGPT使用感受,直接给我整无语了!

废话不多说,直接上图。 大家可以利用相当的问题提问ChatGPT,对比一下结果,心中就已有答案。 思考: 如果一个产品,连回答都捉摸不定且回答有误,或者连基本的常识都识别不出来,那收费使用是否过…

chatgpt赋能python:Python声音检测:如何用Python实现声音检测

Python声音检测:如何用Python实现声音检测 声音检测是近年来越来越受到关注的技术,它可以应用在很多场合,如语音识别、安防监控等。Python作为一种强大的编程语言,也可以实现声音检测功能。本文将介绍Python声音检测的原理、实现…

文心一言和讯飞星火全面对比测试:(一)语言理解能力

目录 01 前言 02 测试内容设计 03 复杂语义测试 04 文章的情绪识别 05 文章的摘要总结 06 文章要素提取 07 总结 01 前言 文心一言和讯飞星火是目前国内开展正式公测的两个大语言模型。很多公司都号称发布了自己的产品,但是一直没有开展大规模的公开测试…

文心一言 vs GPT-4 —— 全面横向比较

文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨,OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日,3月16日下午百度发布大语言模型——文心一言。发布会上&#…

基于大模型GPT,如何提炼出优质的Prompt

基于大模型实现优质Prompt开发 1. 引言1.1 大规模预训练模型 2. Prompt开发2.1 Prompt基本定义:2.2 为什么优质Prompt才能生成优质的内容2.3 如何定义优质的Prompt 3. Prompt优化技巧3.1 迭代法3.1.1 创作评估3.1.2 基础创作3.1.3 多轮次交互 3.2 Trick法3.2.1 戴高…

《花雕学AI》WeTab+ChatGPT:让浏览器变成你的智能助手

引言: 浏览器是我们日常使用的最重要的工具之一,它可以帮助我们获取信息、娱乐、学习、工作等。但是,传统的浏览器往往不能满足我们的个性化需求,也不能给我们提供智能化的服务。那么,有没有一种浏览器可以让我们的体…

当ChatGPT遇见stable-diffusion,你不敢相信的创意艺术之旅!

前言 欢迎来到一场创意的旅程,这里将聚焦于 ChatGPT 和 stable-diffusion 这两个令人激动的技术。在这篇文章中,我们将会探索这两种技术如何结合使用,为艺术创作带来全新的可能性。我们将探讨如何利用 ChatGPT 生成富有想象力的创意&#xf…

曲阜师大精心保存首台103计算机

2023年3月26日,徐祖哲和计算机学会CCF记录计算机历史工作组吴树民、央视编导李争等一同赴曲阜师范大学访问,记录该校精心保留的全国唯一的第一个计算机型号——103电子管计算机,受到学校热情接待。26日下午徐祖哲为网络空间安全学院的同学们做…

HIFIVE音加加×筷子科技,内容创作如何再加“筷”一点

自媒体发展到今天,已经走向了一个便捷时代。无论是图片、视频还是文字创作都变得相对更简单。在AI的帮助下,视频剪辑实现了自动配乐、配音以及配素材,海报美图制作也能依靠AI一键实现。 对于本身就已经有相关基础的创作者来说,AI…

AIGC革命:拐点降临的内容产业,如何赢得时代先机?

最近,AI领域的新东西真是应接不暇。上周,我参加了上海AIGC大会。会议现场真是人山人海,Mixlab的小伙伴们在三楼做了个分会场。我们一边动手一边分享观点,并结识了不少有趣的朋友。受Shadow邀请,我也从产品经理的视角做…

再过几年,你可能就不用上班了 | 笔记侠AI峰会精编

内容来源:2023年6月10日,笔记侠举办的“AI新视野,增长新势能”新商业千人大会。注:未经讲者审阅。转载自笔记侠微信公众号(ID:Notesman) 笔记君说:6月10日,笔记侠在广州举…

大三生变身AI顾问入职Prada 抢饭碗的AI造出新饭碗

“ChatGPT让我有点焦虑,我长大了还能找到工作吗?”这是一名小学生透过视频表达的担忧,她有点懊恼,“GPT简直无所不能,会画画、编程、写论文、创作音乐......而我们还在学加减乘除。”这段视频让网友直呼,AI…

詹姆斯·卡梅隆自曝:新终结者电影剧本ChatGPT写 结局,AI自己定

现在打开豆瓣,1984年10月上映的那部「终结者」评分依然在8分以上。 而后,终结者系列的电影不断上新,直到2019年,还在有同款ip的电影上映。 当然,终结者系列只有前两部是由詹姆斯卡梅隆执导的。 现在,随着…

詹姆斯·卡梅隆自曝:新终结者电影剧本由ChatGPT写!

来源:新智元 现在打开豆瓣,1984年10月上映的那部「终结者」评分依然在8分以上。 而后,终结者系列的电影不断上新,直到2019年,还在有同款ip的电影上映。 当然,终结者系列只有前两部是由詹姆斯卡梅隆执导的。…

【周末闲谈】AI作图,你真的了解它吗?

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 系列目录前言AI绘画🤖🤖🤖工作…

【Spring源码】Spring事务原理

目录 1、什么是事务 2、Spring事务基本概念 2.1、基础配置 2.1.1、Spring事务的基础配置 2.1.2、Spring事务的传播特性 2.1.3、Spring事务的隔离级别 2.2、基本原理 3、事务嵌套 3.1、PROPAGATION_REQUIRED 3.2、PROPAGATION_REQUIRES_NEW 3.3、PROPAGATION_SUPPORTS…

实操、软肋、拒绝焦虑… …关于ChatGPT的22个观点

(本文阅读时间:6分钟) ChatGPT,是“狼来了”的时代吗,传播人如何驾驭它? 面对疑惑与挑战,美通社在上海成功举办主题活动“ChatGPT赋能公关营销”。来自喜利得、Convertlab、媒体KOL与…

如何用Python玩转ChatGPT?看这篇就够了

ChatGPT 月活过亿,作为 OpenAI 开发的一种大型自然语言处理模型,ChatGPT 可以根据用户输入生成相应的文本回复,还会关联上下文,非常智能。作为一名 Python 爱好者,我们可以通过调用 OpenAI API 来实现与 ChatGPT 的交互…

使用python调用ChatGPT API 简单示例

如果你已经获得了OpenAI的API密钥,并且想要使用Python发起ChatGPT对话,你可以使用OpenAI的Python SDK来实现。下面是一个简单的示例代码: 首先,你需要确保已安装OpenAI的Python SDK。你可以使用pip来安装: pip insta…

超实用,ChatGPT投喂长篇大论的小技巧

文 / 高扬(微信公众号:量子论) ”量子论“公众号运营有一段时间了,主要分享的是ChatGPT方面的内容。我给大家展示下这个号的粉丝分布,你会发现一些规律: 他们主要集中在广东、上海、北京、浙江。 广东又集中…