正文
2 月 25 日,谷歌 DeepMind 首席科学家 Jack Rae 接受访谈,就谷歌思维模型的发展进行深入讨论。
Jack Rae 指出,
推理模型是
AI
发展的新范式
,
推理模型并非追求即时响应,而是通过增加推理时的思考时间来提升答案质量,这导致了一种新的 Scaling Law,
“慢思考”模式是提升
AI
性能的有效途径。
Jack Rae 认为长语境对于推理至关重要 ,“延长上下文、加速运算、降低成本”这一循环过程将持续推进。
Jack Rae 表示,无限语境可能存在一个模糊的边界。用户真正需要的或许不是无限的输入长度,而是模型能够有效地处理和利用长语境信息,并在合理的时间内给出高质量的答案。此外,他还指出,推理模型是构建强大 AI Agent 的核心驱动力。
Logan:
在今天的节目中,我们邀请到了 Google DeepMind 的首席科学家 Jack Rae,他也是 Gemini 推理项目的主要负责人之一。欢迎你,Jack。
Logan:
Jack,你能否快速介绍一下,推理模型在最基本的层面上究竟是什么?
Jack:
如果我们先考虑预训练模型,它可能已经吸收了大量关于世界的有用知识。而推理模型的关键直觉在于,它会尝试将这些知识组合应用于可能新颖或前所未见的特定场景。它会尝试超越已知信息进行泛化。
推理过程实际上就是对已知信息的整合,并可能在逻辑上遵循一系列陈述。
也许它还会进一步探究问题本身,或者更深入地探究自身的知识体系。正是这种组合过程,使得模型能够在全新的场景中实现真正的泛化,而这正是我们所定义的推理。
Logan:
对于不熟悉我们在推理领域工作的朋友们,你能否简要概述一下我们在过去两个月里发布了哪些成果,以及我们目前的进展?
Jack:
当然。我们有一个推理模型,名为 Gemini Flash Thinking。它目前已经发布,你可以在 AI Studio 上免费使用。这款模型速度非常快,而且功能强大。它在速度和能力之间实现了很好的权衡。目前,它的工作原理主要是,我们对其进行了训练,使其在回答问题时能够生成大量的中间思考步骤。如果你在 AI Studio 上用自然语言提出一个复杂的问题,你可以查看、检查和阅读模型在回答问题时生成的这些中间思考过程。这些思考步骤有助于模型处理问题,收集中间细节,搜索或推理各种不同的方法(如果问题很困难),并最终帮助模型找到更正确或更合理的解决方案。这就是我们一月份发布的模型。实际上,我们一直都在快速迭代。我们在去年 12 月份也发布了一个版本。所以,Gemini Flash Thinking 就像是 V2 版本,目前仍处于实验阶段,因为我们还在不断迭代并收集反馈。这就是我们目前的进展。
Logan:
你能再简要概括一下,这些模型实际上是用来做什么的吗?
Jack:
我认为,
对于许多不需要模型立即响应且对延迟不敏感的用例来说,推理模型都非常适用。
例如,在编码应用中,如果你希望模型编写一段重要的、有一定难度的代码,比如构建一个 React 组件,并且你已经详细说明了你的需求,那么模型可能需要首先深入思考它需要导入哪些库,以及如何构建这个组件。实际上,你需要的是这样一种模型:它能够在真正开始编写第一行代码之前,就先规划和思考任务的各个方面。这只是推理模型应用的一个例子。另一个例子可能是,你有一份可能非常复杂的财务文件,可能有数百页,包含图表和文本。你需要提取的信息并非仅存在于单一位置,无法通过简单的查找完成,而是需要汇总多处信息。在这种情况下,你可能也需要一个模型,它能够首先思考可以从哪些地方查询信息,然后收集这些信息,并利用一些思考 token——即一些文本——来整合信息,最终得出解决方案。因此,这两种情况都属于复杂任务。你愿意为了换取模型在给出答案前进行思考而接受一定的延迟。你对答案的质量有更高的期望。我认为以上这些都是人们需要推理模型的典型应用场景。
Logan:
我很喜欢你说的这些。关于这一点,我想快速追问两个问题。第一,如果大家还没看过那张图表,我记得它应该在 GDM 网站的推理/思考版块。图表显示,许多指标都呈线性上升趋势,这让我感到非常兴奋。稍后我想深入探讨一下这张图表。但在我们深入了解模型性能提升的进展之前,我想先问一下,如果我只是一个日常的大语言模型用户,比如通过常用的聊天应用程序、Gemini 应用程序或其它外部界面来使用大语言模型,那么,对于像我这样的普通用户,或者说不是开发者的用户而言,模型具备推理能力究竟能带来什么?
Jack:
我认为,最重要的提升是能力增强。过去,我们会训练一组预先设定好的、不同规模的预训练模型,它们会使用不同的计算量来响应你的问题。规模较大的模型会消耗更多计算资源,但也意味着模型可能更复杂,更理解你的问题意图,从而给出更好的答案。现在,我们有了一种新的方案,可以利用现有模型,无需扩大模型规模,而是花费更多推理时间进行计算。本质上,通过增加思考时间,模型能够尝试完成原本超出其能力范围的任务,避免在没有充分思考的情况下仓促给出答案。因此,对于普通用户而言,我认为在许多对延迟不敏感的场景中,当你寻求更高确定性的答案,或者希望体验更强大的未来模型时,这种特性就显得非常直观且实用,你也愿意为此等待模型进行更深入的思考。
Logan:
我不知道是否只有我一个人有这种感觉,我很想知道其他人或听众的想法。但我发现,仅仅让模型思考更长时间就能获得更好答案,这非常不符合直觉。你可能会认为模型有一个基本能力水平,能够解决一定难度的问题,在少数情况下,深入思考可能会帮助以不同方式解决问题。但通常情况下,用同样的智力水平重新审视自己的工作,为何能带来更好的结果呢?所以我很想知道,是否存在一些潜在的原则或机制,使得更多思考或花费更多 tokens 进行推理与模型给出更好答案之间存在关联?我很想知道,你是否了解更多相关背景。
Jack:
我认为,实际上这非常直观,即使对于人类而言,我们在回应之前也会花更多时间思考。我们有所谓的“快思考和慢思考”的概念。我们可能会有一些直觉的初步反应。也许这些初步反应很大程度上受到语言模型强烈先验知识的引导,即答案应该是什么。但是,一旦我们真正开始详细阐述要说的逻辑过程或进行更深入的思考,就可能会发现错误。我们会发现最初提出的一些条件,然后意识到其中一些实际上没有意义,需要重新评估。因此,我们可以进行批判,可以进行修改。我们还可以探索多种方法来尝试解决问题,即使我们不太确定如何准确解决,我们会尝试多种不同的方法。
很多情况都发生在模型进行更长时间思考时。反过来,这通常会使其更准确。
Logan:
关于我们在推理模型方面取得的进展。我们在 12 月发布首个 2.0flash 版本后不久,就发布了第一个推理模型,并分享了一系列进展。评估指标非常出色。紧接着在 1 月 21 日,我们又推出了第二个版本的思考模型。与此同时,世界现在对推理模型以及能够思考并在推理时计算、测试时计算的模型感到非常兴奋。从您的角度来看,是什么促成了如此快速的创新步伐?是数据效率的大幅提升吗?还是算法取得了大量突破,亦或是计算资源变得充裕了?那么,究竟是什么在驱动这种能力在如此短时间内实现疯狂的提升呢?
Jack:
我们现在看到的确实是
一个新的范式。我们发现了多种途径可以在推理时间上投入更多计算资源,就像在响应过程中,模型正在输出思考
Token
。这导致了一种新的
Scaling Law
,
即如果我们不断增加在 X 轴上的推理算力投入,并采用对数刻度,X 轴为对数刻度,Y 轴为我们关心的指标,比如数学或编码任务。我们观察到一种对数线性关系,性能呈线性增长,而推理时间算力则呈指数增长。尽管这些推理时间算力的范围完全在我们可用的算力领域之内,因为我们一直在扩展高性能计算集群,以服务于大语言模型。我们具备这种能力,并且一直在投资以获取更多高性能算力用于预训练。现在,我们可以将这些算力重新用于另一种计算范式,这就像一道闪电击中我们一样,因为这在很短时间内发生,而且我们确实看到了令人印象深刻的能力提升,与过去几年相比,这是肯定的。我认为这是一个值得关注的现象。
Logan:
作为一个快速的跟进,您最初的职业生涯是做预训练相关的工作。您能回顾一下您从预训练到今天所做的工作吗?
Jack:
过去五年或六年,
预训练工作实际上主要集中在扩展算力上,
包括扩展训练规模,以及在预训练大语言模型时所使用的数据量和每秒浮点运算次数。这也有一个非常符合经验规律的现象。大语言模型的可压缩性、负对数似然与训练所用的算力之间存在幂律关系。在过去的五六年里,这一直是改进 AI 语言模型的指导方向。
现在我们有了一个新的方向。
所以,我觉得这也许是我思考 AI 如何进步的方式。AI 的进步往往伴随着新发现的、但又符合经验规律的现象。我们通常需要做的就是遵循这些现象,以提高整体能力。
Logan:
也许这是一个有点奇怪的后续问题。您认为,如果我们回到大约一年半以前,甚至不是六年,考虑到那时 GPT-3 时代早期模型的能力水平,我们是否能够做到今天我们正在做的事情?或者说,是否需要一个循序渐进的过程,基础模型必须变得足够强大,推理能力才能真正开始发挥作用?因为最终,模型正在进行某种内在反省,或者无论如何定义模型在思考时如何看待Token才更合适。我们是否需要所有其他基础模型的进步才能实现今天的成果?
Jack:
我认为这是一个非常好的问题。现在看来很明显,拥有一个非常强大的基础模型,几乎使这项发现变得异常容易。你有一个更强大的模型,它实际上已经在互联网上阅读了大量的自我批评或推理的例子。因此,它已经对如何使用这些工具,以及工具箱的概念有了一定的理解。当我们用强化学习训练它时,我认为这些工具又重新显现出来,并且模型非常擅长详细地推理事情,捕捉错误等等。因此,拥有一个强大的基础模型,使得发现这种方法变得非常具有吸引力。我不知道如果我们使用一个较弱的模型会怎么样,也许这些能力也可能出现。我认为这是一个很好的问题。我认为要建立起这样一套系统会更加脆弱,以至于所有组件都能协同工作并启动。但是,是的,我猜想人们肯定会尝试这样做,因为大家都喜欢使用尽可能小的模型。而且我猜想人们会尝试探索这种想法。
Logan:
我还有一个话题外的问题。模型是否有可能花费大量时间进行推理,但实际上对改进结果没有任何帮助?就像他们只是在说一些随机的东西,或者自言自语,或者制定一个最终没有成功的计划,就像人类有时也会做的那样。我们是否看到过这种情况发生?或者,如果发生这种情况,这是否属于评估数据集的问题?
Jack:
你肯定可以找到很多关于思考模型的有趣例子,尤其是在处理比较棘手的数学问题时。一开始可能存在一个简单而优雅的解决方案,但模型可能一开始就走错了方向,然后花费大量时间思考,结果却陷入了最初的错误想法中,无法摆脱。是的,我认为我们已经看到过这样的情况。我们一直在努力训练模型,使其变得更好。我猜这有点像模型版本的怯场。模型似乎执着于某个特定的想法,然后就卡在这个想法里,无法跳出来,说出真正有用的东西。但是,这种情况确实会发生,我们也在不断改进模型。所以,这种情况可能会偶尔发生,但频率不高。
Logan:
Jack,您和我们都多次提到过这一点。您之前是正式从事预训练相关的工作。我想我对您在 DeepMind 的一些经历有所了解,您能否重点介绍一下,在今天您和 Nome 共同领导 Gemini 的推理工作之前,您主要从事哪些方面的工作?
Jack:
我在 2014 年加入了位于伦敦的 DeepMind,当时正值谷歌收购 DeepMind 不久后。从一开始,我就专注于内存系统的研究。那时,DeepMind 的主要精力都集中在用于游戏的强化学习上,尤其是 Atari 游戏。因此我在强化学习领域做了很多关于内存方面的工作。一些 Atari 游戏需要相当大的内存,比如《Montezuma'sRevenge》这类游戏,玩家需要在迷宫中探索,可能需要记住捡拾的物品或去过的地点。但在某个时候,我个人对更贴近真实世界的任务产生了浓厚的兴趣,希望借此评估内存系统。语言建模恰好是其中之一,它尤其吸引我,因为语言建模需要使用内存,而且使用方式多种多样。不仅仅是简单地回忆过去提到的具名实体等事实性信息,还可能需要关联关键细节,有时还需要积累信息。我感觉语言建模就像是一个需要 AGI 才能完全解决的任务,同时也以多种不同的方式运用了内存。因此,我当时主要关注的是,用现在的术语来说,可以称之为用于语言建模的长上下文。后来,当 GPT-2 模型发布后,它让我意识到,我一直专注于扩展语言模型的上下文长度,但对扩展数据算力的关注还不够。因此,我们转移了研究重点,并在 DeepMind 伦敦启动了一项大规模的语言建模工作。我们在那个方向上进展迅速,并且成为首个在谷歌跨多个TPU Pod训练大语言模型的团队,我们在 2020 年实现了这一目标。我在大规模语言模型扩展方面获得了许多乐趣。我想在主要从事语言模型研究工作八年后,我在去年决定完全转变研究方向,转而研究思考。因此,我更多地回到了强化学习领域,并与来自 Google DeepMind 的一组杰出的后训练和推理研究人员合作,当然也包括与 Nome 合作,他一直是我非常仰慕的语言建模领域的明星研究员。我读过他所有的论文。所以,他是一位非常棒的合作伙伴。是的,这一切都发生在最近五六个月内。因此,从某些方面来看,这仍然是一个相当新的转变。
Logan:
我从中体会到的一点是,当前的创新实际上在很大程度上是建立在先前的创新之上的。也许我理解有误,Jack,您需要帮我确认一下,但所有这些创新似乎都是在先前创新的基础上迭代发展的。我之前没有将这些联系起来,但现在感觉,就像我们之前讨论的,优秀的预训练和后训练模型可能是实现推理能力的前提。长上下文似乎也是如此。模型需要能够对非常长的输出和输入进行推理。您是否认为,
如果我们没有长输出或长输入,我们今天就无法利用推理模型实现现在的成果?
Jack:
我认为这些能力扩展带来的倍增效应真的很酷。显然,
在竞相扩展
Gemini
的上下文长度时,我们并没有预见到这会成为一个应用方向。
但关键在于,如果你不断构建这些能力,它们往往会产生巨大的附加值。所有你已知的功能用途固然有用,但那些我们未曾预料到的用途,往往最令人惊喜。所以我完全认同,我们能够提供快速思考能力,不仅支持超长上下文,还能以超长输出来呈现结果,这非常酷,而且长上下文的创新是解锁这一能力的关键所在。
Logan:
是的,趁着今天采访你的机会,我必须向你请教一个问题。我们已经见证了 100 万 token 上下文,以及 200 万 token 上下文。很久以前我们就提到过,从理论研究角度来看,1000 万 token 上下文是有可能实现的。作为长期从事上下文研究的开发者之一,我认为开发者们会持续要求扩展上下文长度。我们该如何持续扩展上下文呢?你认为我们现有的方法是否还能支持我们扩展到 1000 万甚至更长的上下文?如果要将上下文窗口扩展到 100 万到 200 万 token 以上,是否需要技术突破或另辟蹊径?
Jack:
通常,当我们取得新发现,并找到提高效率和降低成本的方法时,成本降低就会随之而来。对于长上下文而言,我们不仅延长了上下文长度,还经常找到加速和降低成本的途径。
我认为
“延长上下文、加速运算、降低成本”这一循环过程将持续推进。
目前,许多有待探索的研究方向都展现出推动这一进程的潜力。我也认为“无限上下文”的概念很有意思。感觉在某种程度上,无限上下文的定义以及何时能称之为“无限”将变得模糊。但我认为很多人确实希望感受到,他们可以持续输入任意数量的历史记录和数据,而模型能够真正理解所有内容,关联所有信息,并能非常出色地加以应用。我认为,这就是人们理想中的“无限上下文”。这感觉是有可能实现的。我真的不认为这实际上需要研究上的突破。我不认为这是科幻小说般的幻想,我认为我们已经具备大部分要素,剩下的只是工程实现了。这只是我的猜测。
Logan:
让我们来谈谈关于模型思考能力的开发者用例。我认为我们已经看到了很多,我个人已经看到了很多围绕编码的激动人心的应用。开发者们正在探索各种各样新奇的用例。你提到了财务分析的用例,我认为它非常有前景,并且能够创造巨大的价值。实际上,在深入探讨这些用例之前,我想先了解一下,从研究角度来看,你们的研究目标是如何设定的?例如,你们是否认为“我们需要通过评估指标来衡量模型的能力,因此我们设计了许多优秀的学术评估方法”?或者,你们构建推理模型的目的是“为了让推理模型擅长我们预期的特定用例,因为市场反馈表明这些用例具有商业价值”?从研究方法论的角度来看,你们是如何做的?
Jack:
研究方向的选择,以及评估指标的选取,实际上都非常微妙。你可能会想当然地认为,将所有你关心的事物和能力的评估指标都集中起来,会更有利。但实际情况往往是,这样做细粒度的信号反而会被掩盖,关键算法的开发也会变得更加困难。因此,我们通常会专注于非常具体的基准,这在外界看来可能有些奇怪。这并非因为我们真的认为这些基准本身是衡量模型能力的绝对指标,而是我们认为,这些基准有助于我们理清思路,从而更好地进行算法的开发和改进工作。
然而,我们仍然会进行更广泛的评估,以此来要求自己,确保在各个方面都能取得进步。因此,我认为我们的工作方式是将这种“内部循环”和“外部循环”结合起来。“内部循环”侧重于小范围的评估,而“外部循环”则更贴近开发者实际的应用场景。我们始终致力于不断改进评估方法。我们不断创新,并持续扩充评估指标,这几乎与算法开发本身同等重要,因为只有能够有效衡量,才能获得有意义的反馈信号。以上就是我对“内部循环”和“外部循环”的理解。目前,我认为我们在算法上取得了一些非常重要的突破,我们希望能借此全面提升 Gemini 模型的通用推理能力。我们希望模型在任何领域都能有效运用思考能力,并切实提升性能。
因此,我们不断寻找思考能力尚未充分发挥作用的领域,并对自身保持高标准要求。我认为,目前的闪电思考在代码生成方面已经表现出色,但我们仍有更高的目标。因为我们身处一个快速发展的竞争环境中。因此,
代码生成领域是我们关注的重点,我们需要投入额外的精力,确保推理能力能够充分提升代码在各种应用场景下的性能。
这是我目前重点思考的问题之一。
Logan:
因此,你我一直在努力推动 Gemini 最新版本,希望为“Gemini 思考模型”启用工具功能。目前,我们已经启用了代码执行功能,并正积极探索将搜索功能也整合为工具。但一直让我有些困惑的是,为什么模型在思考过程中不能使用工具?人类在验证工作成果时,会自然而然地使用各种工具,例如计算器、文字处理器和互联网等等。你认为,对于这些推理模型而言,未来在多大程度上应该仅仅依赖于自身的“思考”和原始 token?而不是在思考过程中配备一套工具,从而产出更优质的结果?