ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!(2)

简介: ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!

四、text-davinci-003 和 ChatGPT,基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF) 的威力


在当前阶段(2022 年 12 月), text-davinci-002、text-davinci-003 和 ChatGPT之间几乎没有严格的统计上的比较,主要是因为

  • text-davinci-003 和 ChatGPT 在撰写本文时才发布不到一个月。
  • ChatGPT 不能通过 OpenAI API 被调用,所以想要在标准基准上测试它很麻烦。


所以在这些模型之间的比较更多是基于研究社区的集体经验 (统计上不是很严格)。不过,我们相信初步的描述性比较仍然可以揭示模型的机制。

我们首先注意到以下 text-davinci-002,text-davinci-003 和 ChatGPT 之间的比较:

  • 所有三个模型都经过指令微调
  • text-davinci-002 是一个经过监督学习指令微调 (supervised instruction tuning) 的模型
  • text-davinci-003 和 ChatGPT基于人类反馈的强化学习的指令微调 (Instruction tuning with Reinforcement Learning from Human Feedback RLHF)。这是它们之间最显着的区别。


这意味着大多数新模型的行为都是 RLHF 的产物

那么让我们看看 RLHF 触发的能力:

  • 翔实的回应: text-davinci-003 的生成通常比 text-davinci-002长[29] 。ChatGPT 的回应则更加冗长,以至于用户必须明确要求“用一句话回答我”,才能得到更加简洁的回答。这是 RLHF 的直接产物。
  • 公正的回应:ChatGPT 通常对涉及多个实体利益的事件(例如政治事件)给出非常平衡的回答。这也是RLHF的产物。
  • 拒绝不当问题:这是内容过滤器和由 RLHF 触发的模型自身能力的结合,过滤器过滤掉一部分,然后模型再拒绝一部分。
  • 拒绝其知识范围之外的问题:例如,拒绝在2021 年 6 月之后发生的新事件(因为它没在这之后的数据上训练过)。这是 RLHF 最神奇的部分,因为它使模型能够隐式地区分哪些问题在其知识范围内,哪些问题不在其知识范围内。


有两件事情值得注意:


  • 所有的能力都是模型本来就有的, 而不是通过RLHF 注入的。RLHF 的作用是触发 / 解锁突现能力。这个论点主要来自于数据量大小的比较:因为与预训练的数据量相比,RLHF 占用的计算量 / 数据量要少得多。
  • 模型知道它不知道什么不是通过编写规则来实现的, 而是通过RLHF解锁的。这是一个非常令人惊讶的发现,因为 RLHF 的最初目标是让模型生成复合人类期望的回答,这更多是让模型生成安全的句子,而不是让模型知道它不知道的内容。


幕后发生的事情可能是:

  • ChatGPT: 通过牺牲上下文学习的能力换取建模对话历史的能力。这是一个基于经验的观测结果,因为 ChatGPT 似乎不像 text-davinci-003 那样受到上下文演示的强烈影响。
  • text-davinci-003:恢复了 text-davinci-002 所牺牲的上下文学习能力[30] 提高零样本的能力[31] 。 根据instructGPT[32] 的论文,这是来自于强化学习调整阶段混入了语言建模的目标(而不是 RLHF 本身)。


五、总结当前阶段 GPT-3.5 的进化历程


到目前为止,我们已经仔细检查了沿着进化树出现的所有能力,下表总结了演化路径:


表格中引用见[33]


我们可以得出结论:


  • 语言生成能力 + 基础世界知识 + 上下文学习都是来自于预训练(davinci
  • 存储大量知识的能力来自 1750 亿的参数量。
  • 遵循指令和泛化到新任务的能力来自于扩大指令学习中指令的数量(Davinci-instruct-beta)
  • 执行复杂推理的能力很可能来自于代码训练(code-davinci-002
  • 生成中立、客观的能力、安全和翔实的答案来自与人类的对齐。具体来说:
  • 如果是监督学习版,得到的模型是text-davinci-002
  • 如果是强化学习版 (RLHF) ,得到的模型是text-davinci-003
  • 无论是有监督还是 RLHF ,模型在很多任务的性能都无法超过 code-davinci-002 ,这种因为对齐而造成性能衰退的现象叫做对齐税。
  • 对话能力也来自于 RLHF(ChatGPT),具体来说它牺牲了上下文学习的能力,来换取:
  • 建模对话历史
  • 增加对话信息量
  • 拒绝模型知识范围之外的问题


六、GPT-3.5 目前不能做什么


虽然GPT-3.5是自然语言处理研究中的重要一步,但它并没有完全包含许多研究人员(包括 AI2)设想的所有理想属性。以下是GPT-3.5不具备的某些重要属性:

  • 实时改写模型的信念:当模型表达对某事的信念时,如果该信念是错误的,我们可能很难纠正它:
  • 我最近遇到的一个例子是:ChatGPT 坚持认为 3599 是一个质数,尽管它承认 3599 = 59 * 61。另外,请参阅Reddit上关于游得最快的海洋哺乳动物[34] 的例子。
  • 然而,模型信念的强度似乎存在不同的层次。一个例子是即使我告诉它达斯·维达(星球大战电影中的人物)赢得了2020年大选,模型依旧会认为美国现任总统是拜登。但是如果我将选举年份改为 2024 年,它就会认为总统是达斯·维达是 2026 年的总统。
  • 形式推理:GPT-3.5系列不能在数学或一阶逻辑等形式严格的系统中进行推理:
  • 在自然语言处理的文献中, “推理” 一词的定义很多时候不太明确。但如果我们从模糊性的角度来看,例如一些问题 (a) 非常模棱两可,没有推理;(b) 有点儿逻辑在里面,但有些地方也可以模糊;(c) 非常严谨,不能有任何歧义。那么,
  • 模型可以很好地进行 (b) 类的带模糊性的推理,例子有:
  • 生成如何做豆腐脑的方法。做豆腐脑的时候,中间很多步骤模糊一点是可以接受的,比如到底是做咸的还是做甜的。只要整体步骤大致正确,做出来的豆腐脑儿就能吃。
  • 数学定理的证明思路。证明思路是用语言表达的非正式的逐步解法,其中每一步的严格推导可以不用太具体。证明思路经常被用到数学教学:只要老师给一个大致正确的整体步骤,学生就可以大概明白。然后老师把具体的证明细节作为作业布置给学生,答案略。
  • GPT-3.5 不能进行类型 (c) 的推理(推理不能容忍歧义)。
  • 一个例子是严格的数学证明,要求中间步骤中不能跳,不能模糊,不能错。
  • 但这种严格推理到底是应该让语言模型做还是让符号系统做还有待讨论。一个例子是,与其努力让 GPT 做三位数加法,不如直接调 Python。


  • 从互联网进行检索:GPT-3.5 系列(暂时)不能直接搜索互联网
  • 但是有一篇 WebGPT [35] 论文发表于2021年12月,里面就让 GPT 调用了搜索引擎。所以检索的能力已经在 OpenAI 内部进行了测试。
  • 这里需要区分的一点是,GPT-3.5 的两个重要但不同的能力是 知识推理。一般来说,如果我们能够 将知识部分卸载到外部的检索系统,让语言模型只专注于推理,这就很不错了。 因为:
  • 模型的内部知识总是在某个时间被切断。模型始终需要最新的知识来回答最新的问题。
  • 回想一下,我们已经讨论过 1750 亿的参数大量用于存储知识。如果我们可以将知识卸载到模型之外,那么模型参数可能会大大减少,最终它甚至可以在手机上运行(疯狂的想法,但 ChatGPT 已经足够科幻了,谁知道未来会怎样呢).

七、结论


在这篇博文中,我们仔细检查了GPT-3.5系列的能力范围,并追溯了它们所有突现能力的来源。初代GPT-3模型通过预训练获得生成能力、世界知识和in-context learning。然后通过instruction tuning的模型分支获得了遵循指令和能泛化到没有见过的任务的能力。经过代码训练的分支模型则获得了代码理解的能力,作为代码训练的副产品,模型同时潜在地获得了复杂推理的能力。结合这两个分支,code-davinci-002似乎是具有所有强大能力的最强GPT-3.5模型。接下来通过有监督的instruction tuning和 RLHF通过牺牲模型能力换取与人类对齐,即对齐税。RLHF 使模型能够生成更翔实和公正的答案,同时拒绝其知识范围之外的问题。

我们希望这篇文章能够帮助提供一个清晰的GPT评估图,并引发一些关于语言模型、instruction tuning和code tuning的讨论。最重要的是, 我们希望这篇文章可以作为在开源社区内复现GPT-3.5的路线图。

“因为山就在那里。”——乔治·马洛里,珠穆朗玛峰探险先驱


常见问题


  • 这篇文章中的这些说法更像是假设 (hypothesis) 还是结论 (conclusion)?
  • 复杂推理的能力来自于代码训练是我们倾向于相信的假设 (hypothesis)
  • 对没有见过的任务泛化能力来自大规模指令学习 是至少 4 篇论文的结论 (conclusion)
  • GPT-3.5来自于其他大型基础模型,而不是1750亿参数的GPT-3是有根据的猜测 (educated guess)。
  • 所有这些能力都已经存在了,通过instruction tuning,无论是有监督学习或强化学习的方式来解锁而不是注入这些能力 是一个比较强的假设 (strong assumption)。主要是因为instruction tuning数据量比预训练数据量少了几个数量级。
  • 结论 (conclusion) = 许多证据支持这些说法的正确性;假设 (hypothesis) = 有正面证据但不够有力;有根据的猜测 (educated guess) = 没有确凿的证据,但某些因素会指向这个方向
  • 为什么其他模型(如 OPT 和 BLOOM)没有那么强大?
  • OPT大概是因为训练过程太不稳定
  • BLOOM的情况则未知。如果您有更多意见,请与我联系


附录 - 中英术语对照表



注释:


[1]  很多能力小模型没有,只有当模型大到一定的量级之后才会出现。这样的能力称为突现能力 Emergent Abilities

[2]  GPT-3 是 OpenAI 在 2020 年发布的模型,之后它经过了多次版本迭代。现在最新的版本的能力已经远超初代的 GPT-3,被命名为 GPT-3.5

[3]  从 2022 年的标准看来,参数量超过 100B 才叫大模型,所以 BERT/ BART/ GPT-2/ T5 都是小模型

[4]  https://crfm.stanford.edu/helm/v1.0/?group=knowledge

[5]  Xie et. al. 2021. An Explanation of In-context Learning as Implicit Bayesian Inference

Min et. al. 2022. Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?

一个很有趣的但是还在审稿中的工作: https://arxiv.org/abs/2211.15661

[6]  Brown. et. al. 2020. Language Models are Few-Shot Learners

[7]  Chen et. al. 2021. Evaluating Large Language Models Trained on Code

[8]  Ouyang et. al. 2022. Training language models to follow instructions with human feedback

[9]  Instruction tuning 有两个版本,一个是 supervised tuning,另一个是 reinforcement learning from human feedback (RLHF). ChatGPT 就是通过 RLHF 得来的

[10]  https://beta.openai.com/docs/model-index-for-researchers

[11]  Suzgun et. al. 2022. Challenging BIG-Bench tasks and whether chain-of-thought can solve them

Chung et. al. 2022. Scaling Instruction-Finetuned Language Models

Fu et. al. 2022. Complexity-based Prompting for Multi-Step Reasoning

Madaan et. al. 2022. Language Models of Code are Few-Shot Commonsense Learners  

[12]  Ouyang et. al. 2022. Training language models to follow instructions with human feedback

[13]  Suzgun et. al. 2022. Challenging BIG-Bench tasks and whether chain-of-thought can solve them

Chung et. al. 2022. Scaling Instruction-Finetuned Language Models

Fu et. al. 2022. Complexity-based Prompting for Multi-Step Reasoning

Madaan et. al. 2022. Language Models of Code are Few-Shot Commonsense Learners

[14] 参见附录中的图8 https://arxiv.org/pdf/2201.11903v1.pdf

[15] https://yaofu.notion.site/A-Closer-Look-at-Large-Language-Models-Emergent-Abilities-493876b55df5479d80686f68a1abd72f

[16] Sanh. et. al. Oct 2021. Multitask Prompted Training Enables Zero-Shot Task Generalization

[17] Wei et. al. Sep 2021. Finetuned Language Models Are Zero-Shot Learners

[18] Chung et. al. Oct 2022. Scaling Instruction-Finetuned Language Models

[19] 第一个版本(https://arxiv.org/pdf/2201.11903v1.pdf) 报告了davinci在GSM8K上的准确率 12.4

v.s. 第五个版本 (https://arxiv.org/pdf/2201.11903v5.pdf) 报告了 code-davinci-002 准确率为 63.1

[20] Chowdhery et. al. Apr. 2022. PaLM: Scaling Language Modeling with Pathways

[21] Chen et. al. Jul 2021. Evaluating Large Language Models Trained on Code

[22] Brown. et. al. May 2020. Language Models are Few-Shot Learners

[23] Liang et. al. Nov 2022. Holistic Evaluation of Language Models

[24] Fu et. al. Oct 2022. Complexity-based Prompting for Multi-Step Reasoning.

https://openreview.net/forum?id=yf1icZHC-l9

[25] https://twitter.com/peterjliu/status/1603098202856722432?s=46&t=Gw2wumo4l8kIRaGzXDXyRw

[26] https://beta.openai.com/docs/model-index-for-researchers

[27] Press et. al. 2022. Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation

[28] Ouyang et. al. 2022. Training language models to follow instructions with human feedback

[29] https://help.openai.com/en/articles/6779149-how-do-text-davinci-002-and-text-davinci-003-differ

[30] 见https://arxiv.org/pdf/2210.11416.pdf的附录D

[31] https://help.openai.com/en/articles/6779149-how-do-text-davinci-002-and-text-davinci-003-differ

https://scale.com/blog/gpt-3-davinci-003-comparison

[32] https://arxiv.org/abs/2203.02155

[33] Brown et. al. May 2020. Language Models are Few-Shot Learners.

Zhang et. al. 2022. OPT: Open Pre-trained Transformer Language Models

Sanh. et. al. Oct 2021. Multitask Prompted Training Enables Zero-Shot Task Generalization

Ouyang et. al. Mar 2022. Training language models to follow instructions with human feedback

Wei. et. al. Sep 2021. Finetuned Language Models Are Zero-Shot Learners

Chung. et. al. Oct 2022. Scaling Instruction-Finetuned Language Models

https://github.com/salesforce/CodeGen

Chen et. al. Jul 2021. Evaluating Large Language Models Trained on Code

https://www.deepmind.com/blog/building-safer-dialogue-agents

Stiennon et. al. Sep. 2020. Learning to summarize from human feedback

https://github.com/allenai/RL4LMs

[34] https://www.reddit.com/r/ChatGPT/comments/zd7l8t/nice/

[35] https://openai.com/blog/webgpt/

相关文章
|
2月前
|
机器学习/深度学习 数据采集 存储
4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒
4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒
|
4月前
|
存储 自然语言处理 搜索推荐
ChatGPT 文本Embedding融合Qdrant向量数据库:构建智能问答系统的技术探索
向量数据库结合ChatGPT带来了什么 1. **语义搜索:** 使用向量数据库进行语义搜索,可以更准确地找到与查询相关的信息。ChatGPT可以理解用户的自然语言查询,而向量数据库可以根据语义相似性返回匹配的向量数据。 2. **智能推荐:** 结合ChatGPT的智能理解和向量数据库的相似性搜索,可以实现更智能的推荐系统。系统可以根据用户的历史行为和语境,向用户推荐相似的向量数据,如文章、产品或其他内容。 3. **自然语言处理与向量表示结合:** ChatGPT可以将自然语言转换为向量表示,这样就可以在向量数据库中进行更高效的查询。这种集成使得自然语言处理和向量数据库可以相互补充等
364 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【极客技术】ColossalChat用完整RLHF技术克隆ChatGPT的开源解决方案
【极客技术】ColossalChat用完整RLHF技术克隆ChatGPT的开源解决方案
37 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
技术小白能看懂的ChatGPT原理介绍
网上有关 ChatGPT 的原理介绍文章一大堆,要么是从 NLP 的历史开始讲起,要么是上数 GPT 3 代,内容都相对冗长和复杂。其实 ChatGPT 的原理并不难理解,我将以最通俗易懂的方式为技术小白解读,帮助大家更好地了解这一技术
503 1
技术小白能看懂的ChatGPT原理介绍
|
4月前
|
机器学习/深度学习 自然语言处理
ChatGPT技术基石之Transformer技术的简介(简单易懂)
ChatGPT技术基石之Transformer技术的简介(简单易懂)
49 0
|
4月前
|
人工智能 自然语言处理 算法
技术角度告诉你ChatGPT是什么?和一些深度思考
技术角度告诉你ChatGPT是什么?和一些深度思考
|
5月前
|
机器学习/深度学习 自然语言处理 机器人
ChatGPT发展与技术基础
ChatGPT发展与技术基础
136 1
|
5月前
|
人工智能 新能源 大数据
王坚院士谈ChatGPT:计算是对人工智能最关键的技术
王坚院士谈ChatGPT:计算是对人工智能最关键的技术
63 0
王坚院士谈ChatGPT:计算是对人工智能最关键的技术
|
5月前
|
人工智能
技术下午茶:初识ChatGPT,触碰未来(4)
技术下午茶:初识ChatGPT,触碰未来
62 1
技术下午茶:初识ChatGPT,触碰未来(4)
|
5月前
|
机器学习/深度学习 自然语言处理 搜索推荐
技术下午茶:初识ChatGPT,触碰未来(3)
技术下午茶:初识ChatGPT,触碰未来
51 0
技术下午茶:初识ChatGPT,触碰未来(3)