上下文学习是监督学习吗?
- 坦白讲,我不确定。
- 相似之处在于,上下文学习也需要像训练数据一样的示例
- 不同之处在于,上下文学习的泛化行为并不同于监督学习,这使得之前的泛化理论(例如 Rademancher Complexity 或 Neural Tangent Kernel)均不适用。
上下文学习真的比监督学习效果要好吗?
- 答案还未知。
- 大多数提示词和精调的对比都只比了 提示词 + 大模型 vs 精调 + 小模型,但公平的对比应该是 提示词 + 大模型 vs 精调 + 大模型,且对比时的基座模型应该一样。所以在最初的思维链文章中,如果 Wei 等人要说明提示词好于精调,他们应该对比精调后的 PaLM,而不是 GPT3。
- 我的假设是:精调可以提高分布内的性能,但会损害分布外的鲁棒性。提示词在分布转化的场景中表现更好,但在同分布场景下不如精调。
- 如果假设是真的,那么一个值得研究的问题就是如何在不牺牲其上下文学习能力的情况下进行精调
- 注意分布外精调的效果同样会随着模型尺寸变化。比如 Yang 等人在 2022 年的工作中,第四张表就显示,Bart-based 的分布外泛化能力会下降,但 Bart-large 则提升。对于大模型,当测试集的分布和训练集相差不大时,分布内的精调效果也应该会提升。
再回顾一下前文提到的的逻辑:如果精调更好,我们应该努力研究如何进行参数高效的优化;如果提示词更好,我们应该努力去训练更好的大型语言模型。
所以,尽管我们相信大型语言模型有巨大的潜力,仍然没有确凿的证据表明精调和提示词哪种方法更好,因此我们不确定范式是否真的应该转变、或应该转变到什么程度。仔细比较这两种范式,使我们对未来有一个清晰的认识,是非常有意义的。我们将更多讨论留到下一篇文章。
五、 模型应该多大才够?
两个数字:62B 和 175B。
- 模型至少需要 62B,使思维链的效果才能大于标准的提示词方法。
- 模型至少需要 175B(GPT3 的尺寸),思维链的效果才能大于精调小模型(T5 11B)的效果。
62B 这个数字来自于 Chung 等人 2022 年[31] 工作的第五张表:
对于所有小于 62B 的模型,直接用提示词都好于思维链。第一个用思维链更好的模型是 Flan-cont-PaLM 62B 在 BBH 上的结果。540B 的模型使用思维链会在更多任务上得到好的效果,但也不是全部任务都好于精调。另外,理想的尺寸可以小于 540B,在 Suzgun 等人 2022 年[32]的工作中,作者展示了 175B 的 InstructGPT 和 175B 的 Codex 使用思维链都好于直接用提示词。综合以上结果,我们得到了 63B 和 175B 两个数字。所以,如果想要参与这场游戏,首先要有一个大于平均尺寸的模型。
不过,还有其他大型模型在思维链下的表现差了很多,甚至不能学到思维链,比如 OPT、BLOOM 和 GPT-3 的第一个版本。他们的尺寸都是 175B。这就引出了我们下一个要讨论的问题。
六、 规模是唯一的因素吗?
不是。
规模是一个必要但不充分的因素。有些模型足够大(比如 OPT 和 BLOOM,都是 175B),但并不能做思维链。
有两种模型[33] 可以做思维链:
- GPT3 系列的模型,包括 text-davinci-002 和 code-davinci-002 (Codex)。这是仅有的两个具有强大突现能力并可公开访问的模型。
- 除了以上两个模型,其他 GPT3 模型,包括原来的 GPT3,text-davinci-001,以及其他更小的 GPT-3 模型,都不能做思维链。
- 当说 “能做思维链” 时,我们是指使用思维链方法的效果比直接用提示词、精调 T5-11B 效果更好。
- 另外要注意的是,code-davinci-002 在语言任务上的性能始终优于[34] text-davinci-002。这个观察非常有趣且耐人寻味。这表明基于代码数据训练的语言模型可以胜过根据语言训练的语言模型。目前为止我们还不知道是为什么。
- PaLM 系列模型,包括 PaLM、U-PaLM、Flan-PaLM 和 Minerva。这些模型目前还未开放访问(此处 @谷歌,快开源吧)。
为什么会有突现能力目前还不清楚,但我们找出了一下可能产生突现能力的因素:
- 指令精调:GPT-3 text-davinci-002 就是用指令 + 强化学习[35] 精调的产物。在这之前,text-davinci-001 做思维链的效果并不好。同时 PaLM[36] 在经过指令精调后[37]的效果也有提升。
- 在代码上精调:Codex code-davinci-002 是在代码上进行精调的,它的效果持续好于 text-davinci-002。PaLM 也在代码上进行了调整。从表面上看,代码与语言关系不大,但似乎起了很大作用,我们会在之后的文章进行讨论。
- 用思维链精调:在 text-davinci-002 发布时,谷歌已经发布 PaLM 3 个月了。所以 OpenAI 应该看到了思维链相关的工作。还有一些工作[38] 表明,直接用思维链数据进行精调可以激发模型的思维链能力。
然而,所有这些因素在现阶段都是推测。揭示如何训练才能让模型产生突现能力是非常有意义的,我们将更多讨论留到下一篇文章。
七、总结 Conclusion
在本文中,我们仔细研究了语言模型的突现能力。我们强调了复杂推理、知识推理和分布外鲁棒性的重要性和其中存在的机会。突现能力是非常令人兴奋的,因为它们可以超越比例定律,并在比例曲线中表现出相变。我们详细讨论了研究范式是否会真的从精调转向上下文学习,但我们目前还没有确切答案,因为精调和上下文学习在分布内、分布外场景下的效果仍有待对比。最后,我们讨论了产生突现能力的三个潜在因素:指令精调、代码精调和思维链精调。非常欢迎大家提出建议和讨论。另外我们还提到了两个尚未讨论的有趣问题:
- 我们是否能公平对比精调和上下文学习的效果?
- 我们是如何训练大模型,才能让模型具备突现能力、思维链能力?
对于这两个问题,我们会在之后的文章中进行讨论。
中英对照表
注:
[1] https://www.jasonwei.net/blog/emergencehttps://www.yitay.net/blog/emergence-and-scaling[2] Wei et. al. 2022. Chain of Thought Prompting Elicits Reasoning in Large Language Models [3] https://lingo.csail.mit.edu/blog/arithmetic_gpt3/[4] Wei et. al. 2022. Emergent Abilities of Large Language Models [5] 截止到 2022 年 11 月,仍没有严格的证据表明这些能力存在于小模型 [6] 在 2022 年 11 月,在 text-davinci-002 上评估 GSM8K 测试集需要 $50 [7] Google 不提供对 PaLM 的公共访问;OpenAI 不允许一些国家的研究人员访问 GPT3 和 Codex(截至 2022 年 11 月) [8] GPT-3 的第一个版本(2020 年 5 月)在许多任务上无法胜过精调 T5 [9] Wei et. al. 2022. Emergent Abilities of Large Language Models. [10] Cobbe et. al. 2021. Training Verifiers to Solve Math Word Problems [11] GPT3 一直在持续更新。最新版本 text-davinci-002 现在与 2020 年的原始版本有很大不同。 [12] Wei et. al. 2022. Chain of Thought Prompting Elicits Reasoning in Large Language Models [13] Wang et. al. 2022. Self-Consistency Improves Chain of Thought Reasoning in Language Models [14] Fu et. al. 2022. Complexity-Based Prompting for Multi-step Reasoning [15] 目前还没有能公平对比提示词和微调的工作。但当思维链被提出的时候,尽管他们对于提示和精调的比较可能是不公平的,但它们比精调效果要好。 [16] Chung et. al. 2022. Scaling Instruction-Finetuned Language Models [17] Lewkowycz et. al. 2022. Minerva: Solving Quantitative Reasoning Problems with Language Models [18] Jiang et. al. 2022. Draft, Sketch, and Prove: Guiding Formal Theorem Provers with Informal Proofs [19] Xu et. al. 2021. Fusing Context Into Knowledge Graph for Commonsense Question Answering [20] Khashabi et. al. 2020. UnifiedQA: Crossing Format Boundaries With a Single QA System [21] Yu et. al. 2022. Generate rather than Retrieve: Large Language Models are Strong Context Generators [22] Jung et. al. 2022. Maieutic Prompting: Logically Consistent Reasoning with Recursive Explanations [23] 虽然这些知识可能过时或者不可信,但选择哪种可信知识源超出了本文的讨论范围 [24] Si et. al. 2022. Prompting GPT-3 to be Reliable. [25] Fu et. al. 2022. Complexity-based Prompting for Multi-Step Reasoning [26] Kaplan et. al. 2020. Scaling Laws for Neural Language Models [27] Brown et. al. 2020. anguage Models are Few-Shot Learners. [28] Cobbe et. al. 2021. Training Verifiers to Solve Math Word Problems [29] Li and Liang. 2021. Prefix-Tuning: Optimizing Continuous Prompts for Generation [30] He et. al. 2021. Towards a Unified View of Parameter-Efficient Transfer Learning [31] Chung et. al. 2022. Scaling Instruction-Finetuned Language Models [32] Suzgun et. al. 2022. Challenging BIG-Bench tasks and whether chain-of-thought can solve them [33] 在本文发布的两个月之后,更多的模型被公布,很多新的模型也都可以做思维链,比如 UL2, FlanT5 [34] Suzgun. et. al. 2022. Challenging Big-Bench tasks and whether chain-of-thought can solve them Fu et. al. 2022. Complexity-Based Prompting for Multi-Step Reasoning Madaan et. al. 2022. Language Models of Code are Few-Shot Commonsense Learners [35] Ouyang et. al. 2022. Training language models to follow instructions with human feedback [36] Chowdhery et. al. 2022. PaLM: Scaling Language Modeling with Pathways [37] Chung. et. al. 2022. Scaling Instruction-Finetuned Language Models [38] Chung. et. al. 2022. Scaling Instruction-Finetuned Language Models Huang et. al. 2022. Large Language Models Can Self-Improv