斯坦福大模型推理课免费了,谷歌推理团队创始人主讲

  闻乐发自凹非寺

  量子位 | 公众号 QbitAI

  干货来了!

  如何理解大模型推理能力?现在有来自谷歌 DeepMind 推理负责人Denny Zhou的分享了。

  就是那位和清华姚班马腾宇等人证明了只要思维链足够长,Transformer 就能解决任何问题的 Google Brain 推理团队创建者。

  Denny Zhou 围绕大模型推理过程和方法,在斯坦福大学 CS25 上讲了一堂“LLM 推理”课。

  让我们也来跟着大神学习一下。

  有推理过程的答案会让模型更自信

  首先,什么是大模型推理呢?

  其实就是大语言模型在给出最终答案前的中间思考步骤

  比如问

“artificial intelligence”每个单词的最后一个字母连起来是什么?

  有推理过程的回答会先分别找出“artificial”的最后一个字母是“l”,“intelligence”的最后一个字母是“e”,再把它们拼接成“le”;而没有推理的就直接给出“le”这个结果。

  这种推理过程和人类的思维过程无关,而关键在于生成了大量的中间内容。

  那为什么中间思考步骤很重要呢?

  一个原因是它可以让复杂问题变得可解

  简单来说,对于能用布尔电路解决的问题,假设电路规模是T,哪怕是固定大小的 Transformer 模型,生成O(T)个中间步骤就能搞定。

  但如果跳过中间步骤,直接让模型输出最终答案,要么需要极深的模型层数(增加计算成本),要么根本无法解决。

  Denny Zhou 和马腾宇等人的著作《Chain of Thought Empowers Transformers to Solve Inherently Serial Problems》提到如果给 Transformer 引入思维链,就能大大提高模型推理能力。

  这篇论文说明了只要引入思维链,那么无需扩展模型的规模就能让 Transformer 变得强大到能解决任何问题。

  理论上来说,只要有足够的 CoT 步骤,Transformer 就可以模拟多项式大小电路可以执行的任何计算,从而缩小了 Transformer 与图灵机之间的差距。

  另一方面是中间步骤可以提升答案的准确性和可靠性

  没有推理步骤时,模型可能靠“瞎猜”给出答案。

  例如问:

我有 3 个苹果,爸爸比我多 2 个,一共多少个?”

  直接输出的答案可能是错误的“5 个”;

  但有推理步骤的回答就是“爸爸有3+2=5 个,总共3+5=8 个”),答案更可能正确。

  这是因为推理步骤迫使模型有理有据地推导,尤其是对需要逻辑链条的问题(如数学、因果分析),减少了随机猜测的概率。

  就像做数学题一样,一步步推导可比瞎蒙准确率高多了。

  并且,对于有推理过程的答案会让模型更有信心

  Denny Zhou 还强调预训练模型即使没有经过任何微调,也具备推理能力

  只不过,基于推理的输出通常不会出现在输出分布的优先级部分,因此无法通过贪婪解码(选择概率最高的输出)输出。

  那么我们如何让它输出推理后的答案呢?

  一种方法是提示

  既然模型对于有推理过程的答案更有信心,那么我们可以通过思维链提示或者加上提示词来让模型进行推理。

  比如思维链提示,你可以给它一个带步骤的例子,给它打个样。或者你可以告诉它:让我们一步步想。

  不过,Denny Zhou 和 Xuezhi Wang 在《Chain-of-Thought Reasoning Without Prompting》一文中提出其实不用这些提示,只要改变模型的解码方式,就能让预训练的语言模型展现出推理能力。

  原来模型在生成答案时,通常只用最可能的那个词(贪心解码),但如果看看排在后面的几个可能的词(top-k 替代词),会发现里面藏着一步步推理的路径。

  而且当有这种推理路径时,模型对答案的信心也更高。

  于是他们提出了CoT-decoding方法,就是从这些 top-k 的解码路径中,选出那些有推理过程且模型信心高的路径,这样能让模型在各种推理任务上表现得更好,甚至能接近经过指令微调的模型效果

  不过,另一种方法就是监督微调(SFT)

  监督微调就是用人类写的带步骤的题和答案训练模型,让模型学着生成类似的步骤。

  但这种方法有个问题是泛化性不太好,换个新场景可能就不灵了,而且模型做大了也没用。

  于是,研究人员对监督微调进行了改进,一种是自我改进,让模型自己生成步骤和答案,然后用正确的那些训练自己,有点像学生自己做题纠错。

  另一种是强化学习微调,反复让模型生成答案,多练正确的,少练错误的。这里面,能判断答案对不对的“验证器”很重要。

  现在,强化学习微调已成为了引出推理的最强大的方法。

  并且,Denny Zhou 认为扩展强化学习应该专注于生成长响应,也就是《Chain of Thought Empowers Transformers to Solve Inherently Serial Problems》这篇文章中的观点。

  另外,进一步的重大改进是聚合和检索的方法

  LLM 是概率模型,其解码时追求的是在给定问题下推理和最终答案的联合概率最大,而我们想要的是给定问题下最终答案的概率最大,两者并不一致。

  于是有了以下改进方法:

  • 边缘化和自一致性:生成多个回答,选择出现最频繁的答案。
  • 通用自一致性:让 LLM 自己选择最一致的答案,适用于非唯一答案的问题,比如“哪些国家的人比墨西哥人喝咖啡少”。
  • 检索+推理:结合检索和推理的方法,先回忆相关问题,再解决当前问题。比如计算正方形面积的问题,先回忆两点间距离公式,再计算边长,进而得到面积。

  最后,Denny Zhou 总结了提升 LLM 推理能力的要点

  • 推理比不推理好
  • 强化学习微调比监督微调好
  • 聚合多个答案比单个答案好
  • 检索+推理比仅推理好

  并指出未来的突破方向是解决非唯一可验证答案的任务,以及构建实际应用而非仅解决基准测试问题。

  Denny Zhou 介绍

  Denny Zhou 是中科院博士,2017 年加入 Google 前在微软担任了 11 年的高级研究员。

  他创立并领导了 Google Brain 中的推理团队,Google Brain 现已成为 Google DeepMind 的一部分。

  他的研究目标是通过构建具备推理能力的大型语言模型解决人工通用智能(AGI)问题,核心方向包括思维链、自洽性、任务分解、零样本学习、组合泛化及大语言模型理论等,追求实现完美泛化。

  在 2022 年,他荣获谷歌研究技术影响力奖、2022 年 WSDM 时间考验奖等。

  近年来,他多次受邀在耶鲁大学、哈佛大学、斯坦福大学等多所高校和机构进行主题为语言模型推理的演讲。

  这次 Denny Zhou 在斯坦福大学 CS25 课程上用的课件已附在文末~

  完整版 pdf:https://dennyzhou.github.io/LLM-Reasoning-Stanford-CS-25.pdf

  [1]https://x.com/denny_zhou/status/1948499173986201915

  [2]https://dennyzhou.github.io/

  — 完 —