结语 | 本版块应邀百度著名词汇文档项目演算法技师冉昱、薛晨,用专精视线带你循序渐进了解ChatGPT控制技术马萨省。它经历了甚么体能训练过程?获得成功关键控制技术是甚么?将怎样助推行业的革新?开发人员怎样先进经验ChatGPT路子和控制技术,投入到日常生活工作中?期许责任编辑能给你捷伊意念。
当的允诺。在上周发布昌明和试玩USB后,ChatGPT很快以绝妙的谈话潜能“点燃”互联网。
1)ChatGPT的控制技术背景
ChatGPT目前未放出学术论文历史文献,仅放出了介绍昌明和试玩API。从昌明中提供的控制技术点和左图来看,它与去年底发布的InstructGPT 中心思想一致。其关键潜能来自四个方面:强悍的底座大数学模型潜能(InstructGPT),高效率的真实世界数据(整洁且丰富),加强自学(PPO演算法)。以上ChatGPT获得成功的四个基本要素,具体将在该文第2部分详尽展开。
2)ChatGPT的主要特点
让使用者第一印象最真切的是它有强悍的词汇认知和聚合系统。其谈话潜能、文档聚合潜能、对不同词汇论述的认知均很出众。它以谈话为媒介,能提问各种各样的日常生活问题,对于数轮谈话历史的梦境潜能和字数增强。其次,与GPT3等大数学模型相比,ChatGPT提问更全面,能多维度多方位进行提问和阐释,相较过往的大数学模型,科学知识被“发掘”得更充分。它能降低了人类文明自学生产成本和节省成本生产成本,能满足人类文明大部分日常生活需求,比如加速为人类文明重写确定目标的文本、图文并茂完成使命和聚合短篇小说、加速功能定位标识符的bug等。
值得一提的是的事,它具有安全机制和除去仇恨潜能。下
对于未知事物的“拒绝”:
当然ChatGPT并非十全十美,其缺点也比较明显。首先,其简单的逻辑问题错误依旧明显存在,发挥不够稳定(但总体比GPT3好很多)。特别在有谈话历史时,它容易因被使用者误导而动摇。
其次,ChatGPT有时会给出看似合理、但并不正确或甚至荒谬的答案。部分答案需要自行甄别才能判断正误,特别当本身使用者处于未知状态来咨询数学模型时,更加无法判断真伪。ChatGPT使得生产者能用较低生产成本增加错误信息,而这一固有缺点已经造成了一些实际影响。编程问答网站 StackOverflow 宣布暂时禁止使用者发布来自 ChatGPT
此外,它抵抗不安全的prompt潜能较差,还存在过分猜测使用者意图的问题。这主要体现在当使用者提问意图不明。它通常过度使用一些常见的短语和句
ChatGPT的工作原理1)ChatGPT的体能训练过程
ChatGPT体能训练过程很清晰,主要分为四个步骤,示意如图所示:
第一步,使用有监督自学方式,基于GPT3.5微调体能训练一个初始数学模型,体能训练数据约为2w~3w量级(此处为推测量级,我们根据兄弟数学模型InstructGPT的体能训练数据量级估算)。由标注师分别扮演使用者和聊天机器人,产
以上精标的体能训练数据虽然数据量不大,但质量和多样性非常高,且来自真实世界数据,这是很关键的一点。
:即随机抽取一大批Prompt,使用第一阶段微调数学模型,产生多个不同提问:
,之后标注人员对k个结果排序,形成
组体能训练数据对。之后使用pairwise loss来体能训练奖励数学模型,能预测出标注者更喜欢哪个输出。“从比较中”自学能给出相对精确的奖励值。
这一步使得ChatGPT从命令驱动转向了意图驱动。关于这一点,李宏毅老师的原话称,“它会不断引导GPT说人类文明要他说的”。另外,体能训练数据不需过多,维持在万量级即可。因为它不需要穷尽所有的问题,只要告诉数学模型人类文明的喜好,加强数学模型意图驱动的潜能就行。
第三步,使用PPO加强自学策略来微调第一阶段的数学模型。这里的中心思想是随机抽取捷伊Prompt,用第二阶段的Reward Model给产生的提问打分。这个分数即提问的整体reward,进而将此reward回传,由此产生的策略梯度能更新PPO数学模型参数。整个过程迭代数次直到数学模型收敛。
加强自学演算法2017年OpenAI提出的一种新型的加强自学策略优化的演算法即可。它提出了捷伊目标函数,能在多个体能训练步骤实现小批量的更新,其实现简单、易于认知、性能稳定、能同时处理离散/连续动作空间问题、利于大规模体能训练。
以上四个步骤即ChatGPT的体能训练过程,合称为历史文献中提到的RLHF控制技术。
2)ChatGPT为何获得成功?
为何三段式的体能训练方法就能让ChatGPT如此强悍?其实,以上的体能训练过程蕴含了上文我们提到的关键点,而这些关键点正是ChatGPT获得成功的原因:
强悍的底座数学模型潜能(InstructGPT)大参数词汇数学模型(GPT3.5)高效率的真实世界数据(精标的数轮谈话数据和比较排序数据)性能稳定的加强自学演算法(PPO演算法)我们需要注意的是,chatGPT的获得成功,是在前期大量工作基础上实现的,非凭空产生的“惊雷”。下面我们将针对性阐释:
InstructGPTChatGPT是InstructGPT的兄弟数学模型(sibling model),后者经过体能训练以遵循Prompt中的指令,从而提供详尽的响应。InstructGPT是OpenAI在今年3月在历史文献 Training language models to follow instructions with human feedback 中提出的工作。其整体流程和以上的ChatGPT流程基本相同,但是在数据收集、底座数学模型(GPT3 vs GPT 3.5)以及第三步初始化PPO数学模型时略有不同。
此篇能视为RLHF 1.0的收官之作。一方面,从官网来看,这篇文章之后暂时没有发布RLHF的新研究,另一方面这篇文章也佐证了Instruction Tuning的有效性。
InstuctGPT的工作与ChatGPT类似:给定Instruction且需要人工写提问。首先工作人员体能训练了一个InstructGPT的早期版本,使用完全人工标注的数据,分3类:Instruction+Answer、Instruction+多个examples 和使用者在使用API过程中提出的需求。从第二类数据的标注,推测ChatGPT可能用检索来提供多个In Context Learning的示例,供人工标注。剩余步骤与以上ChatGPT相同。
尤其需要重视但往往容易被忽视的是,OpenAI对于数据质量和数据泛化性的把控。这也是OpenAI的一大优势:寻找高效率标注者——寻找在识别和回应敏感提示的潜能筛选测试中,表现良好的labeler;使用集外标注者保证泛化性——即用未经历以上1)步骤的更广大群体的标注者对体能训练数据进行验证,保证体能训练数据与更广泛群体的偏好一致。
在完成以上工作后,我们可以来看看InstuctGPT与GPT3的区别:
人们更想要的长篇大论的提问。
GPT3只是个词汇数学模型,它被用来预测下一个单词,丝毫没有考虑使用者想要的答案;当使用代表使用者喜好的三类人工标注为微调数据后,1.3B参数的InstructGPT在多场景下的效果超越175B的GPT3:
InstuctGPT的工作也很有开创性:它在“解锁”(unlock)和发掘GPT3学到的海量数据中的科学知识和潜能,但这些仅通过加速的In-context的方式较难获得。InstuctGPT找到了一种面向主观任务来发掘GPT3强悍词汇潜能的方式。
OpenAI昌明中有这样一段原话:当我们要解决的安全和对齐问题是复杂和主观,它的好坏无法完全被自动指标衡量的时候,此时需要用人类文明的偏好来作为奖励信号来微调我们的数学模型。
InstuctGPT的前序工作:GPT与加强自学的结合其实在2019年GPT2出世后,OpenAI就有尝试结合GPT-2和加强自学。NeurIPS 2020的 Learning to Summarize with Human Feedback 工作中写道,OpenAI在摘要聚合时,利用了从人类文明反馈中的加强自学来训练。能从这篇工作的整体流程图中,看出三步走的中心思想:收集反馈数据 -> 体能训练奖励数学模型 -> PPO加强自学。
RLHF第一阶段是针对多个候选摘要人工排序(这里就体现出OpenAI的钞潜能,按标注时间计费,标注过快的会被开除);第二阶段是体能训练排序数学模型(依旧使用GPT数学模型);第三阶段是利用PPO演算法自学Policy(在摘要任务上微调过的GPT)。
该文数学模型能产生比10倍更大数学模型容量更好的摘要效果。但该文也同样指出,数学模型的获得成功部分归功于增大了奖励数学模型的规模。但这需要很大量级的计算资源——体能训练6.7B的加强自学数学模型需要320 GPU-days的生产成本。
2020年初的OpenAI的Fine-Tuning GPT-2 from Human Preferences可看出,它同样首先利用预体能训练数学模型来体能训练reward数学模型,进而使用PPO策略进行加强自学。整体步骤初见ChatGPT的雏形!
而RLHF(reinforcement learning from human feedback )的思想,是在2017年6月的OpenAI Deep Reinforcement Learning from Human Preferences工作提出的。其中心思想是利用人类文明的反馈判断最接近视频行为目标的片段;通过体能训练来找到最能解释人类文明判断的奖励函数,然后使用RL来自学怎样实现这个目标。
能说,ChatGPT是站在InstructGPT以及以上理论的肩膀上完成的一项出众的工作,它们将LLM(large language model)/PTM(pretrain language model)与RL(reinforcement learning)出众结合证明这条方向可行。当然,这也是未来还将持续发展的NLP甚至通用智能体的方向。
PPOPPO(Proximal Policy Optimization) 一种新型的Policy Gradient演算法(Policy Gradient是一种加强自学演算法,通过优化智能体的行为策略来解决在环境中实现目标的问题)。我们只需了解普通的Policy Gradient演算法对步长十分敏感,但是又难以选择合适的步长。在体能训练过程中新旧策略的的变化差异如果过大则不利于自学。
而PPO提出了捷伊目标函数能在多个体能训练步骤实现小批量的更新,解决了Policy Gradient演算法中步长难以确定的问题。由于其实现简单、性能稳定、能同时处理离散/连续动作空间问题、利于大规模体能训练等优势,近年来受到广泛关注,成为OpenAI默认加强自学演算法。
WebGPT和CICERO近两年,利用LLM+RL以及对加强自学和NLP体能训练的研究,各大巨头在这个领域做了非常多扎实的工作,而这些成果和ChatGPT一样都有可圈可点之处。这里以OpenAI的WebGPT和Meta的Cicero为例。
WebGPT是2021年底OpenAI的工作。其中心思想是使用GPT3数学模型强悍的聚合潜能,自学人类文明使用搜索引擎的一系列行为,通过体能训练奖励数学模型来预测人类文明的偏好,使WebGPT能自己搜索网页来提问开放域的问题,而产生的答案尽可能满足人类文明的喜好。
Cicero是Meta AI上个月发布的能以人类文明水平玩文本策略游戏的AI系统,。其同样能与人类文明互动,能使用战略推理和自然词汇与人类文明在游戏玩法中进行互动和竞争。Cicero的核心是由一个谈话引擎和一个战略推理引擎共同驱动的,而战略推理引擎集中使用了RL,谈话引擎与GPT3类似。
Meta原blog中写道:The technology behind CICERO could one day lead to more intelligent assistants in the physical and virtual worlds.
而以上也是我们未来力求突破的方向和愿景:一个真正多方位的智能的文本助手。
ChatGPT应用和思考1)ChatGPT应用
ChatGPT对于文本模态的AIGC应用具有重要意义它能依附于谈话形态的产品和媒介大有空间,包括但不限于内容创作、客服机器人、虚拟人、机器翻译、游戏、社交、教育、家庭陪护等领域。这些或许都将是 ChatGPT 能加速落地的方向。
其中有些方向会涉及到交互的全面改革,比如机器翻译不再是传统的文档输入->实时翻译,而是随时以助手问答的形式出现。甚至给出一个大概笼统的中文意思,让机器给出对应英文。目前我们目前所做的写作产品,可能也会涉及创作模式的改变和革新。
有些方向会全面提升产品质量,比如已存在的客服机器人、虚拟人等。
ChatGPT作为文本形态的基础数学模型,自然能与其他多模态结合比如最近同为火热的Stable Diffusion数学模型,利用ChatGPT聚合较佳的Prompt,对于AIGC内容和日趋火热的艺术创作,提供强悍的文本形态的动力。
ChatGPT对于搜索引擎的代替性:ChatGPT能作为搜索引擎的有效补充但至于是否能代替搜索引擎(不少人关注的地方),抛开推理生产成本不谈,目前只从效果上来说为时尚早。
对于互联网有答案的query,抽取就完全能满足,现友商最近就有这样的功能。互联网上没有明确答案,即使检索了相关材料(ChatGPT应该还没有这样的功能),也没人能保证聚合结果的可信度。
ChatGPT本身的升级与WebGPT的结合对信息进行实时更新,并且对于事实真假进行判断。现在的ChatGPT没有实时更新和事实判断潜能,而这如果结合WebGPT的自动搜索潜能,让ChatGPT学会自己去海量科学知识库中探索和自学,预测可能会是GPT-4的一项潜能。
还有其他更多方向,包括ChatGPT与最近数理逻辑工作的结合。此处受个人思维所限,无法一一列举。
2)关于ChatGPT的思考
参考上文所述,以及参阅近2年OpenAI GPT词汇数学模型相关的文章,RLHF的方法效果显著,ChatGPT获得成功的核心也在于基于LLM(Large language model)的RLHF(Reinforcement Learning from Human Feedback)。能说,RLHF是一个很有希望且有趣的方向;加强自学在即将发布的GPT-4中大概率扮演这关键角色。
结合对于ChatGPT的看法,我们从演算法和行业更新角度做出了阐释:
首先,对于ChatGPT的规模目前没有更多信息支撑,所以无法明确如此智能的ChatGPT是在何规模下达成的。
最早的175B的GPT-3代号是Davinci,其他大小的数学模型有不同的代号。然而自此之后的代号几乎是一片迷雾,不仅没有任何学术论文,官方的介绍性博客也没有。OpenAI称Davinci-text-002/003是GPT-3.5,而它们均为InstrucGPT类型的数学模型,ChatGPT是基于其中一个微调数学模型得到,由此推测ChatGPT可能是千亿数学模型。
其次,ChatGPT不完全算突破式的创新,是OpenAI一步一步扎实工作积累得到的几乎理所当然的结果,属于这两年业界发展的成果汇总。
大家一般没有机会接触千亿数学模型(之前有较少开源的千亿数学模型,GPT-3也是收费的),不了解现在千亿数学模型的潜能边界,对全量微调这个级别的数学模型也无从估计。以Bert和T5为代表的早期Transformer,和现在的大数学模型已不是一个量级。事实上11月28日OpenAI上新了text-davinci-003,但几乎没有引起国内任何讨论。如果ChatGPT(11-30发布)不是免费试玩,或许也不会引起这么大的反响。
同一时期的工作还有Deepmind的Sparrow和Google的LaMDA,效果与ChatGPT应该不相上下。同样以上提到的WebGPT和Cicero也在国内没有太大的水花。这两年LLM发展已经到了这个层级,或许因为生产成本或者工程化难度的问题,某种层面上在国内被忽视了。而此次ChatGPT正好找到了好的“曝光点”,一炮而红。
所以,一方面我们要理性看待ChatGPT的成果,但另一方面ChatGPT的出现,会将我们的认识和国外先进思想拉到一条线上,我们应该思考怎样利用这些令人激动的最新成果,而其中关键是怎样找到适合我们入口的方式。
第三,数据处理不是简单的标注,优秀的数据也是一种极大的优势。除去控制技术上的考量,OpenAI很少开源数据,显然他们在数据上也下了大功夫,体能训练语料质量和开源的C4或The Pile不能同日而语。
当然,我们目前核心使用的开源千亿数学模型,有很多待发掘的潜能。由于其在微调任务中缺乏聚合式的谈话和问答,某些表现不如ChatGPT也在预料之中。但是对于很多任务来说,配合In-context Learning,这个差距会被进一步缩小。
3)怎样先进经验和使用ChatGPT
对于ChatGPT的先进经验和使用,大致能归类以下四个方向:
直接使用层面此层面为复用API中效果极佳的部分,直接使用的优势是能加速实现多粒度多层级功能需求。在很多需求难以定义清晰、数据难以获得的情况下,复用并包装这样的功能一本万利。
当然其缺点也很明显。直接调用生产成本是极高的,根据GPT3.5(Davinci)的生产成本推测:1k tokens≈700 words为0.02美元。换算后,一篇2k字的文章直接调用需要0.4人民币。若保守按照日活1w使用者、人均10篇文章计算,则每日调用生产成本为:10000*10*0.4=40000元。虽生产成本过于高昂,但实现时间最少。
另外,根据Musk Twitter上与OpenAI工作人员的谈话,也能看到每次聊天过程需要几美分的生产成本,所以ChatGPT直接调用生产成本极高。
此层面中心思想是利用OpenAIUSB,按照不同需求聚合高效率数据,克服现有数据难获得的瓶颈;进而利用现有开源大数学模型进行数据扩增,这是目前比较切实,实现时间较少,是在时间生产成本和效果上折中的方式。
思想先进经验首先,组内目前有初步尝试参考RLHF的方法,如对多候选进行标注、利用得到的标注结果重新微调聚合数学模型、或者增加排序阶段加入RL自学。其次,我们也尝试一些高效调参的方法微调现有大数学模型。但此条受限于资源尚需评估和确认。
总的来说,将重写从最初的seq2seq,拓展到GPT+Instruction Tuning路径。
实现时间:(1)< (2) < (3)
资源生产成本:(1)> (3) > (2)
交互升级将写作整体打造为ChatBot的形式,此中心思想见另一篇关于谈话系统报告中的介绍,涉及到交互层面的革新。但ChatGPT的出现和核心控制技术让形式升级成为可能。随着广度自学和多智能体系统的发展,未来会有多种、多样、多功能的X-Bot出现。
作者:冉昱 | 薛晨
出处:https://mp.weixin.qq.com/s/QA8ZOtCDP1X2EKzpZCY0RA