ChatGPT技术解构

文章摘要: 使用有监督学习方式,基于GPT3.5微调训练一个初始模型;训练数据约为2w~3w量级根据InstructGPT的训练数据量级估算,参照P33 Table6),由标注师分别扮演用户和聊天机器人,产生人工精标的多轮对话数据;值得注意的是,在人类扮演聊天机器人时,会得到机器生成的一些建议来帮助人类撰写自己的回复,以此提高撰写标注效率。以上精标的训练数据虽然数据量不大,但质量和多样性非常高,且来自真实世界数据,这是很关键的一点。

ChatGPT的训练主要分为三个步骤,如图所示:

Step1:

使用有监督学习方式,基于GPT3.5微调训练一个初始模型;训练数据约为2w~3w量级(根据InstructGPT的训练数据量级估算,参照https://arxiv.org/pdf/2203.02155.pdf P33 Table6),由标注师分别扮演用户和聊天机器人,产生人工精标的多轮对话数据;值得注意的是,在人类扮演聊天机器人时,会得到机器生成的一些建议来帮助人类撰写自己的回复,以此提高撰写标注效率。

以上精标的训练数据虽然数据量不大,但质量和多样性非常高,且来自真实世界数据,这是很关键的一点。经过第一步,微调过的GPT3.5初步具备了理解人类Prompt所包含意图的能力,可以根据不同意图给出高质量的回答。

Step2:

收集相同上文下,根据回复质量进行排序的数据:即随机抽取一大批Prompt,使用第一阶段微调模型,产生多个不同回答,之后标注人员对结果排序,形成  组训练数据对,使用pairwise loss来训练Reward Model,从而可以预测出标注者更喜欢哪个输出。这种比较学习可以给出相对精确的reward值。

这一步使得ChatGPT从命令驱动转向了意图驱动。训练数据不需过多,维持在万量级即可,因为它不需要穷尽所有的问题,只是要告诉模型人类的喜好,强化模型意图驱动的能力。

Step3:

使用PPO来微调第一阶段的模型。核心思想是随机抽取新的Prompt,用第二阶段的Reward Model给产生的回答打分,这个分数即回答的整体reward;进而将此reward回传,由此产生的策略梯度可以更新PPO模型参数;整个过程迭代数次直到模型收敛。

以上三个步合称为文献中提到的 RLHF(Reinforcement Learning from Human Feedback) 技术。

相关技术

InstructGPT

ChatGPT是InstructGPT的兄弟模型(sibling model),后者经过训练以遵循Prompt中的指令,提供详细的响应。InstructGPT是OpenAI在今年3月在Training language models to follow instructions with human feedback中提出的模型,整体流程和以上的ChatGPT流程基本相同,除了在数据收集和基座模型(GPT3 vs GPT 3.5),以及第三步初始化PPO模型时略有不同。

在InstuctGPT的工作中,与ChatGPT类似,给定Instruction,需要人工写回答。首先训练一个InstructGPT的早期版本,使用完全人工标注的数据,数据分为3类:Instruction+Answer,Instruction+多个examples和用户在使用API过程中提出的需求。从第二类数据的标注,推测ChatGPT可能用检索来提供多个In Context Learning的示例,供人工标注。剩余步骤与以上ChatGPT相同。

尤其需要重视但往往容易被忽视的,即OpenAI对于数据质量和数据泛化性的把控,这也是OpenAI的一大优势:

1)寻找高质量标注者:寻找在识别和回应敏感提示的能力筛选测试中,表现良好的labeler;

2)使用集外标注者保证泛化性:即用未经历以上1)步骤的更广大群体的标注者对训练数据进行验证,保证训练数据与更广泛群体的偏好一致。

在完成以上工作后,我们可以来看看InstuctGPT与GPT3的区别,通过下图可以明显看出:

GPT3的回答简短,回复过于通用毫无亮点;而InstructGPT“侃侃而谈”,解释自由主义为何愚蠢,显然模型学到了对于此类问题人们更想要的长篇大论的回答。

GPT3只是个语言模型,它被用来预测下一个单词,丝毫没有考虑用户想要的答案;当使用代表用户喜好的三类人工标注为微调数据后,1.3B参数的InstructGPT在多场景下的效果超越175B的GPT3: 

InstuctGPT的工作具有开创性,它挖掘了GPT3学到的海量数据中的知识和能力,但这些仅通过快速的In-context的方式较难获得;可以说,InstuctGPT找到了一种面向主观任务来解锁GPT3强大语言能力的方式。

PPO

PPO(Proximal Policy Optimization) 一种新型的Policy Gradient算法(Policy Gradient是一种强化学习算法,通过优化智能体的行为策略来解决在环境中实现目标的问题)。我们只需了解普通的Policy Gradient算法对步长十分敏感,但是又难以选择合适的步长,在训练过程中新旧策略的的变化差异如果过大则不利于学习。

而PPO提出了新的目标函数可以在多个训练步骤实现小批量的更新,解决了Policy Gradient算法中步长难以确定的问题。由于其实现简单、性能稳定、能同时处理离散/连续动作空间问题、利于大规模训练等优势,近年来收到广泛的关注,同时也成为OpenAI默认强化学习算法。

GPT与强化学习

再往前回溯,其实在2019年GPT2出世后,OpenAI就有尝试结合GPT-2和强化学习。在NIPS2020的Learning to Summarize with Human Feedback中,OpenAI对于摘要生成任务,利用了人类反馈对强化学习模型进行训练。可以从这篇工作的整体流程图中,看出三步走的核心思想: 收集反馈数据 -> 训练奖励模型 -> PPO强化学习。

RLHF第一阶段,针对多个候选摘要,人工排序(这里就体现出OpenAI的钞能力,按标注时间计费,标注过快的会被开除);第二阶段,训练排序模型(依旧使用GPT模型);第三阶段,利用PPO算法学习Policy(在摘要任务上微调过的GPT)。

文中模型可以产生比10倍大模型容量更好的摘要效果。但文中也同样指出,模型的成功部分归功于增大了Reward Model的规模,而这需要很大量级的计算资源,训练6.7B的强化学习模型需要320 GPU-days的成本。

另一篇2020年初的工作,是OpenAI的Fine-Tuning GPT-2 from Human Preferences。同样首先利用预训练模型,训练Reward模型;进而使用PPO策略进行强化学习,整体步骤初见ChatGPT的雏形。

而RLHF的思想,是在更早的2017年6月的OpenAI Deep Reinforcement Learning from Human Preferences提出,核心思想是利用人类的反馈,判断最接近视频行为目标的片段,通过训练来找到最能解释人类判断的奖励函数,然后使用RL来学习如何实现这个目标。

可以说,ChatGPT是站在InstructGPT以及以上理论的肩膀上完成的一项出色的工作,它们将LLM (large language model) / PTM (pretrain language model) 与 RL (reinforcement learning) 出色结合,证明这个方向可行。

WebGPT和CICERO

WebGPT是2021年底OpenAI的工作,其核心思想是使用GPT3模型强大的生成能力,学习人类使用搜索引擎的一系列行为,通过训练奖励模型来预测人类的偏好,使WebGPT可以自己搜索网页来回答开放域的问题,而产生的答案尽可能满足人类的喜好。

Cicero是Meta AI上个月发布的可以以人类水平玩文字策略游戏的AI系统, 其同样可以与人类互动,可以使用战略推理和自然语言与人类在游戏玩法中进行互动和竞争。Cicero的核心是由一个对话引擎和一个战略推理引擎共同驱动的,而战略推理引擎集中使用了RL,对话引擎与GPT3类似。

应用难点

对于ChatGPT的规模,目前没有更多信息支撑,所以无法明确如此智能的ChatGPT是在何规模下达成的。 最早的175B的GPT-3代号是Davinci,其他大小的模型有不同的代号。然而自此之后的代号几乎是一片迷雾,不仅没有任何论文,官方的介绍性博客也没有。OpenAI称Davinci-text-002/003是GPT-3.5,而它们均为InstrucGPT类型的模型,ChatGPT是基于其中一个微调模型得到,固由此推测ChatGPT可能是千亿模型。

大家一般没有机会接触千亿模型(Bloom之前没有开源的千亿模型,GPT-3也是收费的),不了解现在千亿模型的能力边界,对全量微调这个级别的模型也无从估计。ChatGPT的推断成本是比较高的。根据GPT3.5(Davinci)的成本推测:

1k tokens≈700 words为0.02美元,则换算后,一篇2k字的文章,直接调用需要0.4人民币,若保守按照日活1w用户,人均10篇文章计算,则每日调用成本为:10000x10x0.4=40000元。

和以前的模型比较,以BERT和T5为代表的早期Transformer和现在的大模型已不是一个量级。事实上11月28日OpenAI上新了text-davinci-003几乎没有引起国内的任何讨论,如果ChatGPT(11.30发布)不是免费试用,或许也不会引起这么大的反响。

同一时期的工作还有Deepmind的Sparrow和Google的LaMDA,效果与ChatGPT应该不相上下。同样以上提到的WebGPT和Cicero也在国内没有太大的水花。这两年LLM发展已经到了这个层级,或许因为成本或者工程化难度的问题,某种层面上在国内被忽视了。而此次ChatGPT正好找到了好的“曝光点”,一炮而红。

从OpenAI的成功可以看出,优秀的数据是一种极大的优势——除去技术上的考量,OpenAI很少开源数据,显然他们在数据上也下了大功夫,训练语料质量和开源的C4或The Pile不能同日而语;对于我们目前核心使用的扩增模型,Bloom作为千亿模型有很多待挖掘的能力。Bloom的微调任务中缺乏生成式的对话和问答,某些表现不如ChatGPT也在预料之中(实际上在Bloom的测试中,唯一与InstructGPT有重合的任务,是Bloom表现更好)。但是对于很多任务来说,配合In-context Learning,这个差距会被进一步缩小。

所以,我们应该思考如何利用这些令人激动的最新成果,而其中关键是如何找到适合我们入口的方式。比如使用ChatGPT,按不同需求生成高质量小样本数据,克服现有数据难获得的瓶颈;进而利用现有Bloom(GPT3模型)进行数据扩增。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/263254.html<

(0)
运维的头像运维
上一篇2025-05-04 11:47
下一篇 2025-05-04 11:49

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注