目录
一、ChatGPT简介
ChatGPT本质是一个对话模型,它可以回答日常问题、挑战不正确的前提,甚至会拒绝不适当的请求,在去除偏见和安全性上不同于以往的语言模型。ChatGPT从闲聊、回答日常问题,到文本改写、诗歌小说生成、视频脚本生成,以及编写和调试代码均展示了其令人惊叹的能力。在OpenAI公布博文和试用接口后,ChatGPT很快以令人惊叹的对话能力“引爆”网络,本文主要从技术角度,梳理ChatGPT背后涉及的技术工作LLM,来阐述其如此强大的原因;同时思考其对我们目前的实际工作和方法论的改变,包括可复用和可借鉴之处。ChatGPT其关键能力来自三个方面:强大的基座大模型能力(InstructGPT),高质量的真实数据(干净且丰富),强化学习算法(PPO算法)。
为何三段式的训练方法就可以让ChatGPT如此强大?其实,以上的训练过程蕴含了上文我们提到的关键点,而这些关键点正是ChatGPT成功的原因:
强大的基座模型能力(InstructGPT);大参数语言模型(GPT3.5);高质量的真实数据(精标的多轮对话数据和比较排序数据);性能稳定的强化学习算法(PPO算法)
二、InstructGPT及其相关工作
我们需要注意的是,ChatGPT的成功,是在前期大量工作基础上实现的,非凭空产生的“惊雷”。ChatGPT是InstructGPT的兄弟模型(sibling model),后者经过训练以遵循Prompt中的指令,提供详细的响应。InstructGPT是OpenAI在2022年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的一大优势:
1)寻找高质量标注者:寻找在识别和回应敏感提示的能力筛选测试中,表现良好的labeler;
2)使用集外标注者保证泛化性:即用未经历以上1)步骤的更广大群体的标注者对训练数据进行验证,保证训练数据与更广泛群体的偏好一致。
GPT3只是个语言模型,它被用来预测下一个单词,丝毫没有考虑用户想要的答案;当使用代表用户喜好的三类人工标注为微调数据后,1.3B参数的InstructGPT在多场景下的效果超越175B的GPT3。
InstructGPT当中提到很关键的一点, 当我们要解决的安全和对齐问题是复杂和主观,而它的好坏无法完全被自动指标衡量的时候,此时需要用人类的偏好来作为奖励信号来微调我们的模型。
三、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甚至通用智能体的方向。
四、与ChatGPT同类型其他工作
其实近两年,利用LLM+RL以及对强化学习和NLP训练的研究,各大巨头在这个领域做了非常多扎实的工作,而这些成果和ChatGPT一样都有可圈可点之处。这里以OpenAI的WebGPT和Meta的Cicero为例。
WebGPT是2021年底OpenAI的工作,其核心思想是使用GPT3模型强大的生成能力,学习人类使用搜索引擎的一系列行为,通过训练奖励模型来预测人类的偏好,使WebGPT可以自己搜索网页来回答开放域的问题,而产生的答案尽可能满足人类的喜好。Cicero是Meta AI 2022年底发布的可以以人类水平玩文字策略游戏的AI系统, 其同样可以与人类互动,可以使用战略推理和自然语言与人类在游戏玩法中进行互动和竞争。Cicero的核心是由一个对话引擎和一个战略推理引擎共同驱动的,而战略推理引擎集中使用了RL,对话引擎与GPT3类似。
关于ChatGPT(GPT3.5)的发展summary,附上一个非常好的资料推荐,并附上其梳理的流程:
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.yaofu.notion.site/How-does-GPT-Obtain-its-Ability-Tracing-Emergent-Abilities-of-Language-Models-to-their-Sources-b9a57ac0fcf74f30a1ab9e3e36fa1dc1能力OpenAI模型训练方法OpenAI APIOpenAI论文近似的开源模型语言生成+ 世界知识+ 上下文学习GPT-3初始版本大部分的能力已经存在于模型中,尽管表面上看起来很弱。语言建模DavinciGPT3论文Meta OPT+ 遵循人类的指令+ 泛化到没有见过的任务Instruct-GPT初始版本指令微调Davinci-Instruct-BetaInstruct-GPT论文T0论文Google FLAN论文+ 代码理解+ 代码生成Codex初始版本在代码上进行训练Code-Cushman-001Codex论文Salesforce CodeGenGPT3.5系列++ 代码理解++ 代码生成++ 复杂推理 / 思维链+ 长距离的依赖 (很可能)现在的CodexGPT3.5系列中最强大的模型在代码+文本上进行训练在指令上进行微调Code-Davinci-002(目前免费的版本 = 2022年12月)Codex论文++ 遵循人类指令- 上下文学习- 推理能力++ 零样本生成有监督的Instruct-GPT通过牺牲上下文学习换取零样本生成的能力监督学习版的指令微调Text-Davinci-002InsructGPT论文 有监督部分T0论文Google FLAN论文+ 遵循人类价值观+ 包含更多细节的生成+ 上下文学习+ 零样本生成经过RLHF训练的Instruct-GPT和002模型相比,和人类更加对齐,并且更少的性能损失强化学习版的指令微调Text-Davinci-003InsructGPT论文 从人类反馈中学习Deepmind SparrowAI2 RL4LMs++ 遵循人类价值观++ 包含更多细节的生成++ 拒绝知识范围外的问题++ 建模对话历史的能力-- 上下文学习ChatGPT通过牺牲上下文学习的能力换取建模对话历史的能力使用对话数据进行强化学习指令微调Deepmind SparrowAI2 RL4LMs
五、ChatGPT落地与思考
ChatGPT对于文字模态的AIGC应用具有重要意义,可以依附于对话形态的产品和载体大有空间,包括但不限于内容创作、客服机器人、虚拟人、机器翻译、游戏、社交、教育、家庭陪护等领域,或许都将是 ChatGPT 能快速落地的方向。其中有些方向会涉及到交互的全面改革,比如机器翻译不再是传统的文本输入->实时翻译,而是随时以助手问答的形式出现,甚至给出一个大概笼统的中文意思,让机器给出对应英文,包括对于我们目前所做的写作产品,可能也会涉及创作模式的改变和革新。 有些方向会全面提升产品质量,比如已存在的客服机器人、虚拟人等。NLP与CV相结合:ChatGPT作为文字形态的基础模型,自然可以与其他多模态结合;比如最近同为火热的Stable Diffusion模型,利用ChatGPT生成较佳的Prompt,对于AIGC内容和日趋火热的艺术创作,提供强大的文字形态的动力。另一个讨论较多的方向,是ChatGPT对于搜索引擎的代替性;ChatGPT可以作为搜索引擎的有效补充,但至于是否能代替搜索引擎(不少人关注的地方),抛开推理成本不谈,目前只从效果上来说为时尚早。 对于网络有答案的query,抽取就完全能满足,百度最近就有这样的功能。网络上没有明确答案,即使检索了相关材料(ChatGPT应该还没有这样的功能),也没人能保证生成结果的可信度,目前可能还不太成熟。ChatGPT本身的升级:与WebGPT的结合,对信息进行实时更新,并且对于事实真假进行判断;很明显可以看到,现在的ChatGPT没有实时更新和事实判断能力,而如果结合WebGPT的自动搜索能力,让ChatGPT学会自己去海量知识库中探索和学习,将会极大提升使用方向,我们预测这可能会是GPT-4的一项能力。 还有其他更多方向,包括ChatGPT与最近数理逻辑工作的结合等。
六、LLM(large language model)的发展与趋势
通过海量数据训练得到的超大参数模型蕴含了海量知识,以GPT3(175B)开端,再到LaMDA(137B)、Gopher(280B)、FLAN-T5(540B)等,业界对于LLM的探索和应用,以及如何挖掘其学到的知识,引导它们适配不同子任务达到最先进结果(state-of-the-art result,sota),一直是近两年一项极具价值及热门的工作。对于LLM的探索,从起初探索贴近预训练任务的方式构造下游任务,包括各类Prompt Engineering方式,减少微调数据量;再到用非梯度更新的方式,使大模型无需微调情况下,拥有小样本、零样本解决问题的能力,包括上下文学习(In-context learning)、上下文学习的矫正(Calibration)等;利用LLM解决更难的数理推理问题,通过一系列逻辑链(CoT,chain of thought ),深入挖掘大模型的知识和推理能力;进一步,更加看重行动驱动(Action-driven)、意图驱动与大模型的结合,使大模型从意图出发对齐人类需求;以上探索,力求在数量繁多的自然语言任务中达到初步的“质变”效果,尝试通向真正的AGI。
LLM的引入会使行业内公司划分出不同层级(此处很同意谢剑的观点):
ChatGPT 印证了模型大一统的可行性,这在未来五年会对 NLP 从业者带来怎样的冲击?142 赞同 · 9 评论回答Level1:LLM基础设施公司;类比为一个拥有比较强通用能力的人;Level1的公司会比较少,可能只有1-2家(比如 OpenAI、Google)
Level2:基于LLM结合场景进行商业化应用的公司(以应用为主,没有全体微调) ;类比通用能力的人去一些场景打工挣钱;Level2的公司侧重于基于LLM做出较多应用,包括从头创新做应用、已有的业务场景中升级功能。
Level3:基于LLM+领域场景数据,微调形成具备更强领域能力和一定门槛的产品,通过商业化和数据积累,持续形成业务数据-模型闭环;类比一个领域专家。Level3的公司有很强的专业性和数据积累,比如类似专项面向写作的Jasper.AI等。
七、机遇与调整并存的LLM
LLM的出现使得机遇与挑战并存,机遇在于技术革新势必会带来新赛道的机遇,挑战在于革新也会使越来越多old school方式被抛弃,跟不上节奏落伍的风险将会加大。
1)从技术演进角度来说,LLM可能使NLP形成“大一统”之势。如果说BERT让大部分中间任务基本消亡,NLP传统技艺逐渐被替代,那么LLM则会让很多NLP子领域不再具备独立研究价值,它们均会被纳入LLM技术体系;这对于相关长期从事某些子领域的研究者和从业者是一件可怕的事,累积了一定时间的子领域专家经验/技巧trick,一夜即被“暴力”的LLM击败,对相关业务和从业者挑战巨大;但另一个角度来说,当NLP整体能力到达一定阶段时,“大一统”是必然结果,之前划分较多子领域是因为没有强能力模型而需要分而治之,积极利用LLM拓展自身业务的可能性是机遇所在。
2)从LLM应用角度来说,LLM-as-a-Service 会越来越普遍,OpenAI 提供的 LLMaaS 服务已经具备较高的速度,并开始逐步探索行之有效的盈利模式,这也是下游产品的机遇。截止2021年7月,全球有300多个app在使用GPT3技术,结合gpt3demo网站的数据,其收录了158个基于GPT-3的应用;LLM使得业界能力下限提升,行业门槛下降,业务优势会聚焦在垂直领域的数据积累资源。但LLMaaS的盈利模式并不成熟,尚待检验,合理的模式应该需要涉及用户分层,而非全量用户的铺展,这些均增添了较多不确定性,此为应用层面的挑战。
3)从推理成本来说,配合LLM的模型压缩、前向加速等手段均可以降低推理成本,虽然下游产品推理的服务成本尚高,但其实作为百亿模型,完成大量高智能任务具备初步可行性,此为机遇;但在降本增效的大环境下,真正将LLM投入生产的挑战性极大,对于LLM短期在生产环境下最实际的用途主要聚焦在线下,主要围绕数据扩增、减少标注成本和数据生产。
4) 从训练投入成本来说,作为最限制LLM发展的因素,它也在不断进步,除去本身模硬件升级、模型蒸馏、加速训练技术之外,LLM的稀疏化也会持续发展,SparseGPT应该是其中有代表性的工作之一,此为机遇;当然这样的进步相比高额的投入并不够,所以在第三节中提到的对于LLM的投入,是和相关组织的技术战略相关的。在LM基建层面,目标成为何Level的公司,会影响相关的投入,但LLM绝对是具备高战略价值的投入。
5) 从国内产研角度来说,这一点其实是比较让人忧虑的;因为LLM过于高昂的成本和苛刻的使用条件,这两年国内对于LLM的研究成果较少(累积参数的大模型有,但实际有影响的成果不多),与国外差距在增大。表1可以看到,GPT3后已经更新了5~6代,而国内甚至还没有真正意义上可以匹敌GPT3的基建模型,甚至60亿~130亿的 InstructGPT能力已经超过国内大部分的所谓大模型(当然OpenAI领先太多,其也超出Google的一般大模型)。
当LLM逐渐成为垄断能力,当OpenAI、Google、DeepMind逐渐闭源时,基建模型又会成为“卡脖子”的能力,ChatGPT只是这一阶段的开始。 所以笔者认为对于LLM的态度,仅从个人来说,国内大厂战略上务必重视它,积极应对挑战,不用过分悲观,寻求并抓住LLM带来的机遇;基于以上方法利用好可用的LLM,可控成本下优化自身业务,同时紧跟业界研究方向,“借好”LLM带来的新东风。
最后附上相关大语言模型进化表:
模型参数量训练数据量方法和结论文献GPT30.1B~175B约500B tokensTransformer DecoderLanguage Models are Few-Shot LearnersLaMDA137B1.56T wordsTransformer Decoder三大目标:质量、安全和根基性(事实正确性)。质量分为合理性、特异性和趣味性;主要根据以上评测指标来约束生成,将生成和排序融合到一起,同时增加了两个任务来融入知识(输入对话上下文,输出知识查询语句;输入知识查询语句,输出生成的最终结果)LaMDA: Language Models for Dialog ApplicationsWebGPT760M、13B、175BDemonstraions: 6209Comprisons:21548其核心思想是使用GPT3模型强大的生成能力,学习人类使用搜索引擎的一系列行为,通过训练奖励模型来预测人类的偏好,使WebGPT可以自己搜索网页来回答开放域的问题,而产生的答案尽可能满足人类的喜好。WebGPT: Browser-assisted question-answering with human feedbackFLAN-T5540B1800个任务任务的指令 与数据进行拼接。统一的输入输出格式(4种类型),引入chain-of-thought,大幅提高任务数量,大幅提高模型体积;Scaling Instruction-Finetuned Language ModelsSparrow(Chinchilla)70B/核心为从人类反馈中学习,创造更安全的对话助手。Improving alignment of dialogue agents via targeted human judgementsGopher44M~ 280B10.5TB堆参数的大模型Scaling Language Models: Methods, Analysis & Insights from Training GopherRETRO(Retrieval Transformer)172M~7.5B/以 Gopher为基础改进语言模型架构,降低了训练资源成本,并检索增强。在只使用4%的参数量的基础上,RETRO模型获得了与Gopher和 Jurassic-1 模型相当的性能,在大多数测试集上表现优异。Improving language models by retrieving from trillions of tokensPaLM8B、62B、540B780B tokens 包括网页、书籍、维基百科、代码、社交对话Transformer DecoderPaLM: Scaling Language Modeling with PathwaysInstructGPT1.3B、6B、175B微调数据1w+,Reward Model 4w+,PPO无标注数据4w+GPT3.5 Finetune+RLHF指令微调Training language models to follow instructions with human feedbackChatGPT/推测和InstructGPT差不多GPT3.5 (codex基础上)Finetune+RLHF+解决对齐问题/
申明:本文参考了较多网络资料,属于资料整合类,如有侵权请联系作者添加引用或者删除。