Jeff Dean & Noam Shazeer · Google 首席科学家 & Google DeepMind Gemini 技术联合负责人

Jeff Dean 与 Noam Shazeer:在谷歌的 25 年,从 PageRank 到 AGI

2025-02-12 · Dwarkesh Patel · 2h15m · 原文链接

→ 在 AI 访谈库中阅读(可切换中英、记录进度)
Google 首席科学家 Jeff Dean 与 Noam Shazeer 回顾从 PageRank、MapReduce 到 Transformer、Gemini 的 25 年,并展望 Pathways 与巨型 MoE 模型。

Jeff Dean 与 Noam Shazeer——在谷歌的 25 年:从 PageRank 到 AGI

Gemini 的两位联合负责人谈谷歌通往 AGI 之路

Dwarkesh Patel 2025 年 2 月 12 日本周我请到了两位有史以来最重要的技术专家——放在任何领域都是如此。

Jeff Dean 是 Google 的首席科学家(Chief Scientist)。在公司的 25 年里,他参与构建了现代计算领域里几乎最具变革性的那些系统:从 MapReduce、BigTable、TensorFlow、AlphaChip,一直到 Gemini。

Noam Shazeer 发明或共同发明了现代大语言模型所使用的所有主要架构与技术:从 Transformer 本身,到专家混合模型(Mixture of Experts,MoE),到 Mesh TensorFlow,再到 Gemini 以及许多其他成果。我们聊了他们在 Google 的 25 年,从 PageRank 到 MapReduce,到 Transformer,到 MoE,到 AlphaChip——也许很快就到 ASI(超级人工智能)。我最喜欢的部分是 Jeff 对 Pathways 的愿景——这是 Google 的宏大计划,要让硬件设计与算法设计形成相互强化的循环,并超越自回归范式。这最终让我们畅想:整个 Google 公司都跑在一个巨大的 MoE 模型之上。而 Noam 则对每个尖锐问题都直接接招:世界 GDP 很快增长 100 倍;让一百万个自动化研究员在 Google 数据中心里跑起来;活着见到公元 3000 年。可在 YouTube 观看;在 Apple Podcasts 或 Spotify 收听。

Scale 与 Meta、Google DeepMind、OpenAI 等主要 AI 实验室合作。通过 Scale 的 Data Foundry,实验室可以获得高质量数据来支撑后训练(post-training),包括高级推理能力。如果你是 AI 研究员或工程师,可以访问 scale.com/dwarkesh,了解 Scale 的 Data Foundry 及其研究实验室 SEAL 如何帮助你规模化地突破当前前沿。好奇 Jane Street 是怎么培训新交易员的吗?他们用的是 Figgie——一款节奏飞快的纸牌游戏,模拟了市场和交易中最刺激的部分。它如此受欢迎,以至于 Jane Street 每年都会举办办公室间的 Figgie 锦标赛。你可以在应用商店下载,或到 figgie.com 在桌面端游玩。

Meter 想要从根本上改进我们习以为常的数字世界。他们正在开发一个端到端自动化网络管理的基础模型。为此,他们刚刚宣布与 Microsoft 达成长期合作,获得数万块 GPU,并且正在招募一支世界级的 AI 研究团队。想了解更多,请访问 meter.com/dwarkesh。如需赞助未来的节目,请访问 dwarkeshpatel.com/p/advertise。

0:13:56 - Jeff 的本科毕业论文:并行反向传播 0:27:28 - AI 实现了 Google 的初始使命 0:49:10 - 自动化芯片设计与智能爆炸 1:02:38 - 已经在做跨数据中心训练 1:12:41 - 快速起飞与超级对齐 1:57:59 - 蒸馏缺失了什么今天我有幸与 Jeff Dean 和 Noam Shazeer 对谈。Jeff 是 Google 的首席科学家,在公司的 25 年里,他参与构建了现代计算领域里几乎最具变革性的那些系统:从 MapReduce、BigTable、TensorFlow、AlphaChip——这份清单真的列不完——到如今的 Gemini。而 Noam 是对当前这场 AI 革命贡献最大的单个个人。他是现代大语言模型所使用的所有主要架构与技术的发明者或共同发明者:从 Transformer 本身,到专家混合模型(Mixture of Experts),到 Mesh TensorFlow,再到许多其他成果。他们俩是 Google DeepMind 的 Gemini 项目三位联合负责人中的两位。太棒了,非常感谢你们来上节目。好,第一个问题。你们两位都在 Google 待了 25 年,或者接近 25 年。在公司早期的某个阶段,你们大概是了解一切是如何运转的。这种状态是从什么时候开始不复存在的?你们觉得有一个明确的时间点吗?我入职的时候,大概是 2000 年底,公司有个制度:每个人都会分到一位导师。我什么都不懂,就什么都问我的导师,而我的导师什么都知道。结果我的导师就是 Jeff。并不是 Google 的每个人都无所不知,只是 Jeff 无所不知——因为基本上所有东西都是他写的。你太客气了。我觉得随着公司成长,你会经历几个阶段。我加入的时候,公司大概是 25 个人、26 个人,差不多这样。所以你最终能记住每个人的名字,即使公司在扩张,你也能跟得上所有新加入的人。到了某个时候,你记不住公司里所有人的名字了,但你还认识所有做软件工程的人。然后你又记不住软件工程团队里所有人的名字了,但至少还知道大家都在做哪些项目。再往后,公司大到某个程度,你会收到一封邮件说「Project Platypus 将于周五上线」,你心想:「Project Platypus 是什么鬼?」

通常这是个非常好的惊喜。你会想:「哇,Project Platypus!我完全不知道我们在做这个。」

但我认为,即使只是在很宏观的层面、即使你不了解每一个细节,掌握公司里正在发生的事情也是好的。而且在公司各处认识很多人也很有用,这样你可以去找人了解更多细节,或者搞清楚该找谁谈。只要你有一张长期积累起来的良好人际网络,通过一层中转,你通常就能在公司里找到对的人。我其实是 1999 年在一场招聘会上看到 Google 的。我当时以为它已经是一家巨头公司了,加入没什么意义,因为我认识的每个人都在用 Google。我想那是因为我当时是 Berkeley 的研究生。我好像从研究生项目里退学过好几次。结果发现它其实并没有那么大。结果是我 1999 年没有申请,而是在 2000 年一时兴起给他们投了份简历,因为我想着它是我最喜欢的搜索引擎,而且找工作总该多投几家。后来发现那里真的很有意思,看起来是一群聪明人在做好东西。他们墙上有一张非常漂亮的蜡笔手绘图,记录每天的搜索查询量,一直有人在维护。那曲线看起来非常指数化。我心想:「这帮人会非常成功,而且看起来他们有很多好问题可以做。」于是我就想:「好吧,也许我去那儿干一阵子,攒够钱之后就可以想研究 AI 研究多久就研究多久。」

是啊是啊。某种意义上你确实做到了,对吧?对,完全按计划实现了。对,那大概是 2000 年。我记得读研的时候,当时我的一个朋友告诉我,他 2000 年的新年愿望是活着见到公元 3000 年,而他打算通过发明 AI 来实现这一点。我当时想:「哦,这听起来是个好主意。」

我当时没有意识到可以去一家大公司做这件事。但我想:「嘿,好多人似乎在创业公司赚了大钱。也许我也去赚点钱,然后就有足够的生活费,可以长期做 AI 研究了。」但事实证明,Google 其实是做 AI 的绝佳之地。我喜欢 Google 的一点是,我们的雄心从来都是那种需要相当先进的 AI 才能实现的东西。因为「整合全球信息,使人人皆可访问并从中受益」这句话里,其实蕴含着非常宽泛的使命。这家公司不是打算只做一件小事然后一直守着它。而且你能看到,我们最初做的事情就在那个方向上,但沿着那个方向还可以做得多得多。过去二三十年的摩尔定律,如何改变了你们在设计新系统、判断哪些项目可行时必须考虑的因素?现在还有哪些限制?有哪些事情是你们现在能做、以前显然做不了的?我觉得在过去二十年里,这一点其实变化很大。从二十年前到十年前,那段时间很美好,因为你只要等着,大概 18 个月之后就能拿到快得多的硬件,什么都不用做。而最近这些年,我感觉通用 CPU 机器的扩展性没那么好了:制程工艺的改进从每两年一代变成了三年一代,多核处理器等方面的架构改进也不再像 20 年前到 10 年前那样给你带来同等幅度的提升。但与此同时,我们看到了更多专用计算设备,比如机器学习加速器、TPU,以及近来非常面向机器学习的 GPU。这让我们能够在现代那类想要运行的计算上获得非常高的性能和很好的效率——这类计算不同于跑 Microsoft Office 之类的那种弯弯绕绕的一大堆 C++ 代码。感觉是算法在跟着硬件走。基本上,现状是算术运算已经非常非常便宜,而数据搬运相对来说贵得多。深度学习的整个腾飞大致就是因为这一点。你可以用矩阵乘法来构建它——矩阵乘法是 N 立方次运算,却基本只需要 N 平方字节的数据通信。嗯,我要说,转向围绕这一点设计的硬件是一个重要转折。因为在那之前,我们的 CPU 和 GPU 并不特别适合深度学习。然后我们开始在 Google 造 TPU,它其实就是低精度线性代数机器。一旦你有了这种东西,你就会想去充分利用它。这似乎归根结底就是识别机会成本。Larry Page 好像总爱说一句话:「我们第二大的成本是税,最大的成本是机会成本。」如果他没说过,那我这些年就一直在错误地引用他了。但基本意思就是:你手里有什么机会正在被错过?在这个例子里,就是你有一整块芯片面积,却只在上面放了很少的算术单元。把它填满算术单元!你可以让完成的算术运算量提高几个数量级。那接下来还有什么要跟着变?好吧,算法、数据流以及其他一切。而且,顺便说一句,算术运算可以用非常低的精度,那你就能塞进更多的乘法器单元。

Noam,我想接着你刚才说的「算法一直在跟着硬件走」往下问。假设一个反事实的世界:内存成本的下降幅度超过算术运算,或者说把你们看到的这个动态反过来。好,那就是数据流动极其便宜,而算术运算不便宜。那你就会看到大量对超大内存的查找操作。对,那可能更像 20 年前的 AI,只是方向相反。我说不好。我是 2012 年加入 Google Brain 的。我离开了 Google 几年,有一次碰巧回去和我妻子吃午饭,我们恰好坐在了 Jeff 和早期 Google Brain 团队旁边。我心想:「哇,这是一群聪明人。」

我记得我说了句:「你们应该考虑一下深度神经网络。我们在那方面进展相当不错。」

「听起来很有意思。」好,于是我就跳回来了……

……加入 Jeff 那边,那是 2012 年左右。我似乎每隔 12 年加入一次 Google:我分别在 2000 年、2012 年和 2024 年(重新)加入 Google。在设计未来版本的 TPU 时,为了与你们对算法的思考相结合,你们在权衡哪些取舍?我认为一个总体趋势是,我们在量化(quantization)方面越来越强,也就是模型的精度可以大幅降低。我们从 TPUv1 开始时,甚至都不太确定能不能用 8 位整数来量化模型做推理服务。但我们当时有一些早期证据,看起来似乎可行。于是我们就说:「太好了,整个芯片就围绕这个来造。」

后来随着时间推移,你会看到人们在训练中也能使用低得多的精度。而且推理的精度也一路下降,现在人们在用 INT4 或 FP4。要是 20 年前你对一个搞超级计算的浮点专家说「我们要用 FP4」,他们会说:「什么?疯了吧。我们的浮点数得是 64 位。」

甚至更低,有些人把模型量化到 2 比特或 1 比特,我觉得这个趋势肯定会——

对,就是一个 0 或 1。然后你给一组比特配一个符号位之类的。这必须是软硬件协同设计(co-design)的事。因为如果算法设计者没有意识到低精度可以带来大幅提升的性能和吞吐量,那算法设计者当然会说:「我当然不想要低精度,那会引入风险。」而且还添麻烦。然后你去问芯片设计师:「你想造什么?」他们会去问今天写算法的人,后者会说:「不,我不喜欢量化,太烦人了。」所以你其实需要看到全局,然后想明白:「哦,等等,通过量化,我们可以把吞吐量与成本之比提高很多。」

然后你就会说:是的,量化是烦人,但你的模型会快三倍,所以你得忍着。在你们的职业生涯中,你们在不同时期做过的一些东西,与我们现在实际用于生成式 AI 的东西有着惊人的相似。Jeff,1990 年你的本科毕业论文就是关于反向传播的。而 2007 年——这是我在为这期节目做准备时才意识到的——2007 年你们训练了一个两万亿 token 的 N-gram 语言模型。给我讲讲你们开发那个模型的过程吧。当时你脑子里有现在这种图景吗?你们当时觉得自己在做什么?先从本科论文说起。我是在大四上的一门并行计算课的其中一节里接触到神经网络的。我需要写一篇论文才能毕业,一篇荣誉学位论文。于是我去找教授说:「哦,围绕神经网络做点什么应该会很有意思。」

于是他和我决定,我在 1990 年实现几种并行化神经网络反向传播训练的方法。我在论文里给它们起了些滑稽的名字,比如「模式划分」(pattern partitioning)之类的。但实际上,我是在一台 32 处理器的 Hypercube 机器上实现了模型并行和数据并行。其中一种方法是,把所有样本分成不同批次,每个 CPU 都有一份模型的副本。另一种方法是,把一批样本以流水线的方式送往持有模型不同部分的处理器。我对两者做了对比分析,很有意思。我当时对这个抽象非常兴奋,因为感觉神经网络就是正确的抽象。它们能解决当时其他任何方法都解决不了的小型玩具问题。天真的我以为,32 个处理器就能训练出非常了不起的神经网络。但事实证明,我们还需要大约一百万倍的算力,它们才真正开始在实际问题上起作用。到了 2008 年底、2009、2010 年那个时间段,多亏摩尔定律,我们开始有了足够的算力,真正让神经网络在实际事务中发挥作用。那差不多就是我重新回来研究神经网络的时候。首先,与学术界的其他产物不同,那篇论文其实只有四页,拿来就能读。是四页正文,外加 30 页 C 代码。但它就是一份制作精良的作品。给我讲讲 2007 年那篇论文是怎么来的。哦对,那个啊。我们 Google 当时有一个机器翻译研究团队,由 Franz Och 领导,他大概比那早一年加入 Google,团队里还有一批其他人。每年他们都会参加 DARPA 的一项竞赛,把几种不同的语言翻译成英语,我记得是中译英和阿拉伯语译英。

Google 团队提交了参赛作品。比赛的规则是:周一给你 500 个句子,周五必须提交答案。我看到了结果,我们以相当大的优势赢了比赛——用 BLEU 分数衡量,这是一种翻译质量指标。于是我联系了这个夺冠团队的负责人 Franz。我说:「这太棒了,我们什么时候上线?」他说:「哦,这个没法上线。它其实很不实用,翻译一个句子要 12 个小时。」我说:「嗯,那确实挺久的。我们怎么解决?」

原来他们显然没有为高吞吐量做设计。它翻译每一个词的时候,都要在一个大语言模型上做 10 万次磁盘寻道——那个模型是他们在语料上统计出来的,我不太会说那叫「训练」。显然,做 10 万次磁盘寻道快不起来。但我说:「好,那我们来深入研究一下。」于是我跟他们一起花了大约两三个月,设计了一种 N-gram 数据的内存内压缩表示。我们用的——N-gram 基本上就是统计每个 N 词序列在一个大语料库中出现的频率。在这个例子里,我们有 2 万亿个词。当时大多数 N-gram 模型用的是二元组(two-gram)或三元组(three-gram),但我们决定用五元组(five-gram)。也就是统计每个五词序列在——基本上是我们当时能处理的尽可能多的网页数据里——出现的频率。然后你有一个数据结构,可以告诉你:「好,『I really like this restaurant』这个短语在全网出现了 17 次」之类的。于是我构建了一个数据结构,让你可以把这些全部存进 200 台机器的内存里,然后提供一个批量 API,你可以说:「这一轮为了翻译这个词,我需要查这 10 万个东西」,我们就并行地把结果全部返回给你。这让我们从一晚上翻译一个句子,变成基本上 100 毫秒左右就能完成。网上有一个「Jeff Dean 段子」列表,就像 Chuck Norris 段子那样。比如「对 Jeff Dean 来说,NP 等于 no problemo(没问题)」。其中有一条很好笑,因为现在听你讲完,还真有点像真的。那条是:「光速原本是每小时 35 英里,直到 Jeff Dean 决定花一个周末优化它。」从 12 小时到 100 毫秒,我算了一下这个数量级。这些段子都很给我贴金,也挺好笑的。它们算是我同事们一个玩脱了的愚人节玩笑。显然,事后看来,「仅仅通过考察词与词之间的关系,就能构建出整个互联网的潜在表示」这个想法就是——对,这就是大语言模型,这就是 Gemini。在当时,那只是一个翻译方面的点子,还是说你们已经把它看作一种新范式的开端?我想,我们为翻译构建了那套系统之后,大语言模型的推理服务就开始被用于其他事情了,比如自动补全……你开始打字,它会建议哪些补全是合理的。所以那肯定是语言模型在 Google 众多用途的开端。Noam 在 Google 还做过不少其他东西,比如使用语言模型的拼写纠错系统。那大概是 2000、2001 年,我记得整个系统都在一台机器的内存里。对,我记得是一台机器。他 2001 年做的那个拼写纠错系统太惊艳了。他把演示链接发给了全公司。我当时就试了各种支离破碎的拼写,把每个几个词的查询都拿来折腾,比如「scrumbled uggs Bundict」——

——本来应该是「scrambled eggs benedict」(班尼迪克炒蛋),它每次都精准命中。是啊,我想那就是语言建模。但在当时,你们开发这些系统的时候,有没有那种感觉——「看,把这些东西做得越来越复杂,别只看五个词,看 100 个词、1000 个词,那个潜在表示就是智能」?这个洞见基本上是什么时候出现的?其实没有。我不觉得我当时想过,N-gram 模型将会——

——对:「成为」人工智能。我记得那时候很多人对贝叶斯网络很兴奋,那玩意儿看起来令人激动。看到那些早期的神经语言模型时,我确实感受到其中的魔力——「好家伙,这东西在做一件极其酷的事」。而且它在我看来就是世界上最好的问题:其一,它的表述非常非常简单:给我下一个词的概率分布。其二,训练数据几乎是无限的。有整个网络的文本,你有数万亿条无监督数据的训练样本。它的美妙之处在于你手里就有正确答案:你可以在除了当前词之外的所有内容上训练,然后试着预测当前词。这是一种惊人的能力——仅仅通过对世界的观察来学习。而且它是「AI 完全」(AI complete)的。如果你能把这件事做到极致,那你几乎什么都能做。科学史上有一个有趣的讨论:重大想法究竟是「飘在空气中」、带有某种必然性,还是从某个意想不到的切线方向被硬拽出来的。就这个例子而言,我们现在把它讲得这么顺理成章,是否意味着——它到底有多必然……

确实感觉它是飘在空气中的。当时肯定有一些,比如神经图灵机(neural Turing machine),一堆围绕注意力的想法,比如在神经网络里可以用键值存储来聚焦某些内容。我觉得从某种意义上说它确实在空气中,但从另一种意义上说,总得有某个团队真正去把它做出来。我喜欢把很多想法看作「部分飘在空气中」:当你试图解决一个新问题时,你会斜着眼睛打量几个不同的、也许彼此独立的研究想法,从中汲取一些灵感;然后总有某个环节还没解决,你得想办法把它解决掉。把已有事物的某种变形和一些新东西组合起来,就催生了某个此前不存在的新突破或新研究成果。有没有一些让你们印象深刻的关键时刻:你正在审视某个研究领域,想出了这个点子,然后有那种「我靠,居然真的成了」的感觉?我记得的一件事发生在 Brain 团队的早期。我们当时的重心是「看看能不能搭一套基础设施,让我们能训练非常非常大的神经网络」。那时候我们数据中心里没有 GPU,只有 CPU。但我们知道怎么让一大堆 CPU 协同工作。于是我们造了一个系统,通过模型并行和数据并行,让我们能训练相当大的神经网络。我们有一个在 1000 万张随机选取的 YouTube 视频帧上做无监督学习的系统。它是一种空间局部化的表示,通过尝试从高层表示重建原始输入,自下而上地构建无监督表示。我们让它跑了起来,在 2000 台计算机、16000 个核上训练。过了一段时间,那个模型真的在最高层构建出了一种表示:有一个神经元会被猫的图像激活。从没有人告诉它什么是猫,但它在训练数据里见过足够多的猫正面头像,以至于那个神经元会对猫亮起,而对其他东西基本不亮。类似地,还有别的神经元对应人脸、行人的背影等等。这挺酷的,因为它是从无监督学习原理出发,构建出这些非常高层的表示。之后我们在有监督的 ImageNet 两万类挑战上取得了非常好的成绩,把当时的最优水平相对提升了 60%,在那个年代相当不错。那个神经网络大概比之前训练过的网络大 50 倍,而且取得了好结果。所以这件事等于告诉我:「嘿,扩大神经网络的规模——我本来就觉得是个好主意,现在看来确实是,那我们就该继续往这个方向推。」

这些例子说明了这些 AI 系统如何契合你刚才提到的那一点:Google 从根本上是一家组织信息的公司。在这个语境下,AI 就是在信息之间、概念之间寻找关联,帮助更快地把想法送到你面前,更快地把你想要的信息送到你面前。而现在,以当前的 AI 模型来看——你显然可以在 Google 搜索里用 BERT,可以问各种问题。它们仍然擅长信息检索,但更根本的是,它们能替你写完整个代码库,做真正的工作,这已经超出了单纯的信息检索。那你们怎么看这个问题?如果你们在构建 AGI,Google 还是一家信息检索公司吗?AGI 能做信息检索,但它还能做许多其他事情。我认为我们是一家「组织全球信息」的公司,这比信息检索更宽泛。也许可以说:「组织信息,并根据你给的一些指引创造新的信息」。

「你能帮我给兽医写封信谈谈我的狗吗?它有这些症状。」它就会起草出来。或者「你能读入这段视频,每隔几分钟生成一段视频内容摘要吗?」

我认为我们的多模态能力表明,这不只是文本的事。它是要在信息存在的所有不同模态中理解世界——既包括面向人类的模态,也包括非面向人类的,比如自动驾驶汽车上奇奇怪怪的激光雷达传感器,或者基因组信息、健康信息。然后,你如何从中提取信息并将其转化为对人们有用的洞见,并利用这些洞见帮助他们做各种想做的事情?有时候是「我想跟聊天机器人聊天解闷」。有时候是「我想要这个非常复杂的问题的答案,而且没有任何单一来源可以直接检索到」。你需要从 100 个网页里抽取信息,弄清楚是怎么回事,然后生成一份有组织、经过综合的数据整理。再就是处理多模态的东西或编程相关的问题。我觉得这些模型的能力令人非常兴奋,而且它们进步很快,所以我很期待接下来的发展。我也很期待接下来的发展。我认为组织信息显然是一个万亿美元级的机会,但万亿美元已经不酷了。酷的是千万亿美元(quadrillion dollars)。当然,重点不是堆出一大堆钱,而是为世界创造价值。当这些系统真的能替你去做事——写你的代码,或者解决你自己根本解决不了的问题——能创造的价值要多得多。要规模化地做到这一点,我们在提升这些模型能力的过程中,必须非常非常灵活、动态。是的,我对很多基础研究问题都很兴奋,这些问题的由来是:你看到某个东西如果尝试这种方法、或者大致朝这个方向走,可能会得到大幅改进。也许行得通,也许行不通。但我也认为,先看看我们能为最终用户实现什么,再从那里反推、实际构建出能做到那些事的系统,这同样有价值。举个例子:组织信息,这应该意味着世界上任何信息都应该能被任何人使用,无论他说什么语言。这方面我们做了一些,但离完整的愿景还差得远——「无论你说的是几千种语言中的哪一种,我们都能把任何内容提供给你、让你用得上。任何视频都可以用任何语言观看。」我觉得那会非常了不起。我们还没完全到那一步,但这绝对是我看得到的、应该可以实现的前景。说到你们可能尝试的不同架构,我知道你们现在在做的一件事是更长的上下文。想想 Google 搜索,它的「上下文」里装着整个互联网的索引,但那是一种非常浅的搜索。而语言模型目前上下文有限,但它们真的能思考。上下文内学习(in-context learning)就像黑魔法,它真的能思考它看到的东西。你们怎么看把 Google 搜索这样的东西和上下文内学习这样的东西融合起来会是什么样?好,我先来试着答一下,因为这个问题我思考过一阵子。这些模型有一个现象:它们相当不错,但确实会产生幻觉,有时有事实性问题。部分原因是你在比如几十万亿个 token 上训练,然后把这一切搅拌进你那几百亿、上千亿个参数里。但这一切都有点糊,因为你把所有这些 token 都搅在一起了。模型对那些数据有一个还算清晰的认识,但有时会犯糊涂,比如把某件事的日期说错。而上下文窗口里的信息、也就是模型输入里的信息,是非常清晰锐利的,因为 Transformer 里有这个非常好用的注意力机制。模型可以去关注具体内容,它知道自己正在处理的确切文本、确切的视频帧或音频等等。现在我们的模型可以处理数百万 token 的上下文,已经相当多了。那相当于几百页的 PDF,或者 50 篇研究论文,或者几个小时的视频、几十个小时的音频,或者这些东西的某种组合,挺酷的。但如果模型能关注(attend to)数万亿个 token,那就太好了。它能不能关注整个互联网,为你找到对的内容?能不能关注你所有的个人信息?我很想要一个能访问我所有邮件、所有文档、所有照片的模型。当我让它做某件事时,它可以在我授权的情况下利用这些信息,帮我解决我想让它做的事。但这将是一个巨大的计算挑战,因为朴素的注意力算法是平方复杂度的。用相当多的硬件,你勉强能让它在数百万 token 上跑起来,但朴素地把它推到数万亿 token 是毫无希望的。所以,我们需要一大批有趣的算法近似手段,去逼近你真正想要的东西:让模型能够在概念上关注多得多的 token——数万亿个 token。也许我们可以把整个 Google 代码库放进每个 Google 开发者的上下文里,把全世界的源代码放进任何开源开发者的上下文里。那会很惊人。那会不可思议。模型参数的美妙之处在于,它们在记忆事实方面的内存效率相当高。大概每个模型参数能记住一条事实这个量级。而如果你在上下文里放一个 token,每一层都有一大堆键(key)和值(value)。每个 token 可能要占一千字节、甚至一兆字节的内存。你拿一个词,把它膨胀成 10 千字节之类的。对。围绕这个问题其实正有大量创新:第一,怎么把这个开销降到最低?第二,哪些词需要放在那里?有没有更好的方式去访问其中的部分信息?

Jeff 看起来就是解决这个问题的合适人选。好,从 SRAM 一路到全球数据中心层面,我们的存储层级结构长什么样?我想接着你刚提到的东西再多聊聊:Google 是一家有大量代码、大量样例的公司。就单说这一个用例,想想它意味着什么——你们有 Google 的单一代码仓库(monorepo)。也许你们攻克了长上下文问题,可以把整个仓库放进上下文里,或者在它上面做微调。为什么这件事还没做成?想想 Google 拥有专有访问权的代码量吧,哪怕只是在内部用来让你们的开发者更高效、更多产。先说清楚,我们其实已经在 Gemini 模型上用我们的内部代码库做过进一步训练,供内部开发者使用了。但这与「关注全部代码」不同,因为那种方式是把代码库搅进一堆参数里。而放在上下文里能让事情更清晰。即便是那个内部进一步训练过的模型,也已经极其有用。我记得 Sundar 说过,我们如今提交进代码库的字符中,有 25% 是由我们基于 AI 的编程模型在人工监督下生成的。基于你们所看到的即将到来的能力,你们如何想象未来一两年里自己的日常工作?在 Google 当一名研究员会是什么样?比如你有了一个新想法。一年后你与这些模型交互的方式会是什么样子?嗯,我预计到时这些模型会好得多,希望我们能高产得多得多。对,除了研究场景之外,在任何看到这些模型被使用的地方,我认为它们都能让软件开发者更高效,因为它们可以接收一个高层级的规格说明,或者一句话描述你想做什么,然后给出一个相当靠谱的初稿。从研究的角度看,也许你可以说:「我很想让你探索一下与这篇论文类似的想法,但也许我们试试把它做成卷积的之类。」

如果你能这样做,让系统自动生成一批实验代码,然后你看一眼说:「嗯,看起来不错,跑吧。」这似乎是一个很美好的努力方向。未来一两年里在这方面取得大量进展,看起来是有可能的。这事似乎被低估了(under-hyped),因为你可以真的拥有数百万名额外员工,而且你可以立即检查他们的产出,员工之间也可以互相检查产出,毕竟它们是即时输出 token 的。抱歉,我不是有意要给它降温。我觉得这超级令人兴奋。我只是不喜欢炒作还没做成的事。我确实想把这个想法再往深里玩一玩,因为如果你有了某种类似自主软件工程师的东西,那可是件大事——尤其是站在一个「我想构建那个系统」的研究者的角度。好,那我们就顺着这个想法来。作为在职业生涯中开发过变革性系统的人:与其亲手去写今天版本的 MapReduce 或 TensorFlow 之类的东西,不如直接说:「我想要的分布式 AI 库长这样,给我写出来。」

你们觉得自己能高产 10 倍?还是 100 倍?我印象挺深的一件事,好像是在 Reddit 上看到的:我们有一个新的实验性编程模型,在编程、数学等方面强了很多。有个外部用户试了试,基本上就是提示它说:「我想让你实现一个不依赖任何外部库的 SQL 处理数据库系统,请用 C 语言写。」

据那个人说,它干得相当不错。它生成了一个 SQL 解析器、一个分词器、一个查询规划系统,还有某种磁盘上的数据存储格式,而且真的能处理简单查询。从那样一段大概一段话长的提示,得到哪怕只是一个初版,对软件开发者来说似乎都是巨大的生产力提升。我想最终可能还会出现另一类系统,它们不再试图在一次半交互式的「40 秒内回复」里完成任务,而是可能自己跑上 10 分钟,也可能在 5 分钟后打断你说:「我已经做了很多,但现在需要一些输入。你在乎处理视频吗,还是只要图片就行?」如果有大量这类后台活动在进行,看起来你会需要管理工作流的方法。能多谈谈这个吗?如果你真的可以随时启动数百万名员工、数十万名员工,他们打字快得惊人,而且——这几乎就像从 20 世纪 30 年代的纸票交易一下子跳到现在的 Jane Street。你需要某种界面来追踪正在发生的这一切:让 AI 们融入这个大的单一代码仓库并发挥各自所长,让人类掌握进展。简单说,三年后 Jeff 或 Noam 的日常工作是什么样的?可能和我们现在的情况差不多,因为并行化本来就已经是我们的一个主要课题了。我们有非常非常多才华横溢的机器学习研究员,我们希望他们全都协同工作,一起构建 AI。所以实际上,人与人之间的并行化,可能和机器与机器之间的并行化差不多。我认为这肯定有利于那些需要大量探索的事情,比如「搞出下一个突破」。在机器学习领域,如果你有一个绝妙的、你确信一定能成的想法——那么在你确实很聪明的前提下,它有 2% 的概率能成。这些事大多会失败,但如果你尝试 100 个、1000 个、100 万个想法,你就可能撞上某个惊人的东西。我们有的是算力。现在的顶级实验室,算力大概是训练 Transformer 所需算力的一百万倍。对,这其实是个很有意思的想法。假设当今世界这个圈子里有一万名左右的 AI 研究员在寻求突破——

大概不止。上周 NeurIPS 就有一万五千人。不不,把数量级搞对是好事。假设这个群体每年做出一个 Transformer 量级突破的概率是 10%。现在假设这个群体扩大一千倍,某种意义上,这就是对更好架构、更好技术的并行搜索。但机器学习研究真的是那样的吗?如果你能把所有这些实验都跑一遍……

这是个好问题,因为我不确定大家是不是没有那么去做。我们确实一直有大量好想法冒出来。似乎每个人都想把自己的实验放到最大规模去跑,但我觉得那是个「人性问题」。先有一个千分之一规模的问题,在上面筛选 10 万个想法,再把看起来有希望的放大规模,这样做非常有帮助。那么,有一件事世界可能没有认真对待:人们知道,造一个大 100 倍的模型是指数级更难的——那是 100 倍的算力,对吧?所以人们担心从 Gemini 2 到 3 之类的跨越是个指数级更难的问题。但也许人们没有意识到另一个趋势:Gemini 3 会提出各种不同的架构想法,逐一尝试,看看哪些有效,你不断取得算法上的进步,使得训练下一代模型越来越容易。这个反馈回路你能推多远?我认为人们应该意识到的一点是,这些模型代际之间的提升,往往部分来自硬件和更大的规模,但同样重要、甚至可能更重要的驱动力,是重大的算法改进,以及模型架构、训练数据配比等方面的重大变化——这些真正提升了模型在每一 flop 算力下的效果。我觉得认识到这一点很重要。然后,如果我们有了对想法的自动化探索,我们就能筛选多得多的想法,并把它们纳入下一代模型的实际生产训练中。那会非常有帮助,因为这基本上就是我们现在靠大量出色的机器学习研究员在做的事:审视大量想法,筛出那些在小规模上表现好的,看它们在中等规模上是否依然好,把它们带进更大规模的实验,最终确定往最终的模型配方里加入一大批有趣的新东西。如果我们能让机器学习研究员只是轻轻地为一个更自动化的搜索过程掌舵,而不是亲手照看一大堆实验,从而把这件事加速 100 倍,那将非常非常好。唯一快不起来的是最大规模上的实验。你最终还是在做那些 N=1 的实验。说白了,你就是把一屋子聪明人叫来,让他们盯着那个东西,弄清楚为什么这个有效、那个无效。对那种情况,更多的硬件是个好办法。还有更好的硬件。那么,朴素地看,一边是软件、算法侧的改进,未来的 AI 可以推动;另一边是你们正在做的东西。我让你来介绍吧。但如果进入这样一种局面:仅从软件层面出发,你就能在几周、几个月内造出越来越好的芯片,而更强的 AI 想必能把这件事做得更好——那这个反馈回路怎么会不演变成:Gemini 3 花两年,然后 Gemini 4——或者说同等级别的跃升——只要六个月,第五级只要三个月,然后一个月?由于硬件侧和算法侧的这些软件驱动的改进,你会比朴素预期快得多地抵达超人类智能。我最近对「如何大幅加速芯片设计流程」这件事非常兴奋。就像我们前面聊到的,目前设计一块芯片,从「我们该造一块芯片」到把东西交给 TSMC,大概需要 18 个月,然后 TSMC 要花四个月流片,之后你拿回芯片,把它们部署进数据中心。所以这是个相当漫长的周期,而其中的流片时间如今只占很小一部分。但如果你能让流片成为主要部分——也就是说,不再是 150 个人花 12 到 18 个月设计芯片,而是缩减到几个人,配合一个高度自动化的搜索流程,探索芯片的整个设计空间,并针对系统在高层面试图探索的各种选择,从芯片设计流程的各个环节获得反馈——那么我认为你也许能获得多得多的探索,更快地设计出你真正想交给晶圆厂的东西。那会很棒,因为你可以压缩流片时间,也可以通过以正确的方式设计硬件来压缩部署时间,让你拿回芯片后直接插进某个系统就能用。而这将带来更多的专用化,并缩短硬件设计的时间跨度,这样你就不必对「什么样的机器学习算法会有意思」看得那么远。你只需要看六到九个月之后应该是什么样,而不是两年、两年半之后。那会挺酷的。不过我确实觉得,如果流片时间处在你改进的内循环里,你会……

不幸的是,最先进的制程节点耗时越来越长,因为它们的金属层比以前的旧节点更多。所以往往要花三到五个月不等。好吧,但训练一次本来也要那么久,对吧?所以你或许可以两件事同时做。好,所以看来快不过三到五个月。但那个想法是——而且,对,你还在快速地开发新的算法思路。那部分可以推进得很快,可以在现有芯片上跑,探索大量很酷的想法。那么,这不就是一种……我觉得人们普遍预期会出现一条 S 型曲线。当然,这不是板上钉钉的事。但仅就可能性而言:在接近人类智能的尾端,能力急速爆发,以越来越快的速度变得越来越聪明——这有可能吗?嗯。我喜欢这样来看。现在我们的模型已经可以接一个相当复杂的问题,在模型内部把它拆解成一系列步骤,把各步骤的解拼起来,并且常常能给出你所问的整个问题的解。但它不是特别可靠,而且它擅长把事情拆成五到十步,而不是 100 到 1000 步。所以,如果能从「对一个十步长的问题,80% 的时候给出完美答案」,进步到「对一个 100 到 1000 步子问题长度的任务,90% 的时候给出完美答案」,那将是这些模型能力的惊人提升。我们还没到那一步,但我认为那是我们志在达成的目标。这个不需要新硬件——不过有的话我们也照单全收。近期一大改进方向是推理时计算(inference time compute),即在推理阶段投入更多算力。我喜欢这样描述它:即便是一个巨型语言模型,即便每个 token 要做一万亿次运算——这比现在大多数人做的都多——每次运算的成本大约是 10 的负 18 次方美元。也就是说一美元能买到一百万个 token。对比一个相对便宜的消遣:你出门买本纸质书来读,那是一美元一万个 token。跟语言模型对话比读平装书便宜大约 100 倍。所以这里有巨大的余量:好,既然我们比读平装书便宜 100 倍、比找客服便宜 1 万倍、比雇软件工程师或咨询医生律师便宜 100 万倍甚至更多——那我们能不能把这东西做得更贵一点但更聪明?加上算力,让它更聪明?我认为我们在不远的将来会看到的很大一部分起飞,就是这种形式的。过去我们大量挖掘和改进了预训练,还有后训练,这些还会继续进步。但利用推理时的「更用力思考」,将会是一场爆发。对。推理时的一个方面是,我觉得你希望系统能主动探索一批不同的潜在解法。也许它自己去做一些搜索,取回一些信息,消化这些信息,然后想明白:哦,现在我很想进一步了解这个东西。于是它迭代地探索如何最好地解决你交给它的高层问题。而且我认为,有一个旋钮,转上去就能让模型用更多推理时算力给你更好的答案——我们现在似乎已经有一批技术大致能做到这一点。旋钮拧得越高,算力开销越大,但答案也越好。有这样一个权衡挺好的,因为有时候你就是想使劲思考,因为那是个超级重要的问题。而有时候,你大概不想花巨量算力去计算「一加一等于几」。也许系统——

——可不该决定去发明什么新的集合论公理!

——应该决定用一个计算器工具,而不是一个超大的语言模型。有意思。那么在推理时计算上有没有什么障碍?比如说,有没有办法让推理时算力线性扩展?还是说这基本上是个已解决的问题——我们知道怎么砸 100 倍、1000 倍的算力,并获得相应更好的结果?我们此刻正在琢磨这些算法。所以我相信,随着远超一万名的研究者在攻关这个问题——其中很多在 Google——我们会看到越来越好的解法。我们在自己的实验工作中确实看到了一些例子:投入更多推理时算力,答案就更好;投入 10 倍,就能比投入 x 量级算力得到更好的答案。这看起来有用而且重要。但我们想要的是,当你投入 10 倍时,答案质量的提升比我们今天得到的还要大。这就涉及设计新算法、尝试新方法,弄清楚怎样把那 10 倍(而不是 1 倍)花在刀刃上。它看起来更像搜索,还是更像沿着线性方向走更长时间?我非常喜欢 Rich Sutton 写的那篇《苦涩的教训》(The Bitter Lesson)。它实际上就是一页纸的好文章,精髓是:你可以尝试很多方法,但极其有效的技术只有两种——学习和搜索。你可以在算法上或算力上应用并扩展它们,然后你往往会得到比其他任何方法都好的结果,而且它们能应用于相当广泛的各类问题。搜索必然是「花更多推理时间」这个方案的一部分。也许你探索几种不同的解题路径,那条不行,但这条更好,那我就沿着它再多探索一点。这会如何改变你们对未来数据中心规划之类的考虑?这类搜索哪些可以异步进行?必须在线还是可以离线?这会如何改变你需要多大的园区之类的考量?一个总体趋势很清楚:推理时计算——你有一个基本训练完的模型,你想在它上面做推理——将成为一个不断增长且重要的计算类别。也许你会想让硬件更多地围绕它做专用化。实际上,第一代 TPU 就是为推理专门设计的,并不是真正为训练设计的。后来的几代 TPU 则更多围绕训练来设计,同时也兼顾推理。但很可能,当你真的想在推理时大幅加大算力投入时,更加专用化的方案会非常合理。这是否意味着可以容纳更多异步训练?或者说,不同的数据中心之间不需要互相通信,你可以让它们各自去跑一堆……

我喜欢这样想:你要做的推理是否对延迟敏感?是有用户在那儿等着,还是一个后台任务?也许我有一些推理任务要跑在一整批数据上,但不是为某个特定用户服务的,只是我想对它做推理、提取一些信息。可能有一大类东西我们现在还没有多少,但你已经能在我们大约一周前刚发布的 Deep Research 工具里看到苗头。你可以给它一个相当复杂的高层任务,比如:「嘿,你能去研究一下可再生能源的历史,以及风能、太阳能和其他技术的成本变化趋势,做成表格,给我一份完整的八页报告吗?」它会拿回来一份八页的报告,参考文献里有 50 条。相当了不起。但你不会守在那儿等一秒钟出结果。它要花一两分钟去完成。我认为这类计算会占相当大的比重,而这类东西会带来一些 UI 层面的问题。好,如果一个用户后台挂着 20 个这样的异步任务,也许每个都需要再向用户要点信息,比如:「我找到了你去 Berlin 的航班,但没有直飞的。你能接受非直飞吗?」当它需要多一点信息、然后你又想把它放回后台继续去订 Berlin 的酒店之类的时候,这个流程怎么走?我觉得这会非常有意思,推理会很有用。推理会很有用。而且推理还有一种训练里没有的计算效率问题。一般来说,Transformer 在训练时可以把序列长度当作批次来用,但推理时基本不行,因为你是一次生成一个 token。所以我们可能会为了推理效率而设计不同的硬件和推理算法。对,一个算法改进的好例子是草稿模型(drafter model)的使用。你有一个非常小的语言模型,解码时一次一个 token 地跑,它预测四个 token。然后你把这些交给大模型说:「好,这是小模型想出来的四个 token,你检查一下同意哪几个。」

如果你同意前三个,那就直接前进。这样你基本上就在大模型里做了一次四个 token 宽度的并行计算,而不是一个 token 宽度的计算。这些就是人们在研究的提升推理效率的思路,从而摆脱单 token 解码的瓶颈。对,本质上大模型被用作验证器。

(听不清)生成加验证,你都可以做。对。「你好,最近怎么样?」我觉得没问题,直接跳过去。那么,一个热议话题是:就把电力送进单个园区而言,我们已经快把核电站的能力用光了。我们必须把两吉瓦、五吉瓦集中在一个地方吗?还是可以更分散、同时仍然能训练一个模型?推理扩展(inference scaling)这个新范式是否让不同的考量变得可行?你们现在怎么看多数据中心训练?我们已经在做了。我们支持多数据中心训练。我记得在 Gemini 1.5 的技术报告里,我们提到用了多个都会区,在每个地方各放一部分算力进行训练。数据中心之间是延迟相当高但带宽很高的连接,效果很好。训练这件事挺有意思,因为对大模型来说,训练过程的每一步通常至少要几秒钟。所以 50 毫秒的距离延迟没那么要紧。只要你能在一步训练的时间内,把模型的所有参数在不同数据中心之间同步好,并把所有梯度累积起来,那就没什么问题。此外我们还有一批相关工作,甚至可以追溯到 Brain 团队早期——那时我们用的是 CPU 机器,它们真的很慢。为了扩展规模,我们需要做异步训练:模型的每个副本各自做一些本地计算,把梯度更新发送到一个中心化系统,然后异步地应用这些更新。与此同时,模型的另一个副本也在做同样的事情。这会让你的模型参数有点上下抖动,也让人们对理论保证感到不安,但在实践中它似乎确实有效。从异步换到同步真是太愉快了,因为你的实验现在可以复现了,而不是结果取决于同一台机器上有没有跑网页爬虫。所以,能在 TPU pod 上跑,我开心多了。我可爱异步了。它能让你的规模扩展得多得多。用这两台 iPhone 加一台 Xbox 之类的。对,那如果我们能给你既异步又可复现的结果呢?一种做法是,你实际上把操作序列记录下来,比如哪次梯度更新发生在什么时候、用的是哪一批数据。你不一定要把实际的梯度更新记进日志之类的,但你可以回放那份操作日志,从而获得可重复性。那样我想你就满意了。有可能。至少你能调试当时发生了什么,但你不一定能比较两次训练。因为,好,我改了一个超参数,但同时我还有一个——

——捣乱的网页爬虫,而且当时还有一大堆人在同时看超级碗直播。让我们从 CPU 上的异步训练转向完全同步训练的原因是,我们有了这些超快的 TPU 硬件芯片和 pod,一个 pod 内芯片之间的带宽高得惊人。再往上扩展,我们有非常好的数据中心网络,甚至跨都会区的网络,使我们最大规模的训练能扩展到多个都会区里的许许多多 pod。这些我们都可以完全同步地做。正如 Noam 所说,只要跨都会区的梯度累积和参数通信相对于单步时间足够快,你就稳了,根本不用在意。但我认为随着规模继续扩大,可能会有一股推力,让我们的系统比现在多一点异步性,因为我们有能力把它做通。我们的机器学习研究员们一直很高兴我们能把同步训练推到这么远,因为那是更容易理解的思维模型:跟你较劲的只有你的算法本身,而不是异步性和算法一起跟你缠斗。规模越大,跟你较劲的东西就越多。这就是扩展的问题:你并不总能知道跟你较劲的到底是什么。是你在某个地方把量化推得有点过头了?还是你的数据有问题?也许是你那台「对抗性机器」MUQQ17 在把你所有梯度的指数第七位都置位了之类的。对。而所有这些问题都只是让模型稍微变差一点,所以你甚至不知道这事正在发生。这其实是神经网络的一个小麻烦:它们对噪声的容忍度太高了。你可以在很多方面把东西配置错,它们就是能想办法绕过去,或者学着适应。你的代码里可能有 bug。大多数时候什么影响都没有。有些时候它会让你的模型变差。有些时候它会让你的模型变好。然后你就发现了新东西——因为你以前从来没有在大规模上试过这个 bug,你没那个预算。实际操作中,调试或破解这类问题是什么样的?你手里这些东西,有的在让模型变好,有的在让它变坏。明天上班的时候,你怎么找出最关键的影响因素?在小规模上,你做大量实验。研究中有一部分是:好,我想独立地发明这些改进或突破。这种情况下你需要一个简洁漂亮、可以随手 fork 和魔改的代码库,外加一些基线。我的梦想是:早上醒来想出一个点子,一天之内把它糙快猛地实现出来,跑几个实验,一天内拿到初步结果。比如:好,这个看起来有希望,这些有效,这些无效。在小规模上,只要你维护好一个漂亮的实验代码库就行。也许一个实验跑一小时或两小时,而不是两周。那太棒了。所以研究有这么一部分,然后还有一定量的规模化。之后还有集成的部分:你要把所有改进叠加在一起,看它们在大规模上是否有效,看它们放在一起是否协同有效。对,它们如何相互作用?对,你以为它们也许是相互独立的,但实际上,改进视频数据输入的处理方式,和更新模型参数的方式之间,可能存在某种诡异的相互作用。也许这种相互作用对视频数据比对其他东西更明显。各种你可能预料不到的相互作用都会发生。所以你要跑这样的实验:把一批东西组合起来,然后定期确认所有你认为好的东西放在一起也依然是好的。如果不是,就去搞明白它们为什么合不来。两个问题。第一,东西叠加在一起效果不佳的情况有多常见?是罕见的事,还是经常发生?嗯,我觉得大多数东西你压根不会去尝试叠加,因为初始实验效果就不怎么样,或者相对基线的结果不那么有希望。然后你会把那些(有希望的)东西拿出来,先各自单独地放大规模试。然后你会说:「哦,这几个看起来真的很有希望。」于是你把它们纳入一个准备打包推进的组合里,和其他看起来有希望的东西合到一起。接着你跑实验,然后发现:「哦,它们其实没那么好用。我们来调试一下为什么。」

而且这里存在取舍,因为你想让你的集成系统尽可能保持干净,因为复杂度——

——对,代码库层面和算法层面都是。复杂度有害,复杂度让东西变慢,引入更多风险。但与此同时你又想让它尽可能好。当然,每个研究员都希望自己的发明能被纳入其中。所以这里面确实有挑战,但我们一直合作得相当好。好,那回到那个整体动态——「你不断找到越来越好的算法改进,模型随时间越来越好」,哪怕把硬件那部分剔除掉。世界是否应该更多地思考这个问题?你们是否也该更多地思考?有一种世界:AI 是一个花二十年时间慢慢变好的东西,你可以不断打磨。如果你搞砸了什么,修掉就是,没什么大不了,对吧?它也就比你上一个发布的版本好那么一点。还有另一种世界:存在这个巨大的反馈回路,这意味着 Gemini 4 和 Gemini 5 之间的那两年会是人类历史上最重要的两年。因为借助这个反馈回路,你从一个相当不错的机器学习研究员水平直接跃升到超人类智能。在你认为第二种世界有可能的前提下,这会如何改变你们对待越来越高的智能水平的方式?我已经不打扫车库了,因为我在等机器人。所以在「我们将看到什么」这个问题上,我大概更偏向第二阵营:大量的加速。嗯,我认为理解正在发生什么、趋势是什么,是极其重要的。我认为现在的趋势是,模型一代比一代明显更好。在接下来的几代里,我大概看不到这个势头放缓。这意味着,比如两三代之后的模型将能够……回到刚才那个例子:从「把一个简单任务拆成 10 个子块并在 80% 的情况下做对」,进化到「能把一个非常高层的任务拆成 100 或 1000 块并在 90% 的情况下做对」。那是模型能力上非常非常大的一级台阶。所以我认为,让人们理解这个领域的进展正在发生什么很重要。然后这些模型会被应用到许多不同的领域。我认为非常重要的是确保我们作为一个社会,从这些模型改善事物的能力中获得最大收益。我对教育、医疗这类领域超级兴奋——让所有人都能获得信息。但我们也意识到,它们可能被用于制造虚假信息,可能被用于对计算机系统的自动化入侵。我们希望尽可能多地部署防护措施和缓解手段,并尽可能理解模型的能力。我认为 Google 整体上对该如何处理这件事有很好的思路。我们的「负责任的 AI 原则」(Responsible AI principles)实际上是一个相当好的框架,用来思考在不同场景和环境中提供越来越强的 AI 系统的取舍,同时确保我们在安全性上做对事情——确保它们是安全的、不说有毒的内容等等。我觉得让我在意的一点是,如果把镜头拉远、审视人类历史上的这段时期:如果我们所处的世界是——你把 Gemini 3 的后训练做砸了,它可能会传播些虚假信息——但你随后修好了后训练。那是个糟糕的错误,但是个可修复的错误,对吧?而如果存在那种反馈回路的动态——这是有可能的——那么「引爆这场智能爆炸的那个东西本身是错位的(misaligned)、并不是在写你以为它在写的代码、而是在为别的目标做优化」这个错误——

——而在这个持续几年、也许更短的极速过程的另一端,你会得到接近 Jeff Dean 级别或更高、Noam Shazeer 级别或更高的东西。然后你有数百万个 Jeff Dean 级别程序员的副本,然后——总之,那似乎是一个更难挽回的错误。随着这些系统确实变得更强大,你必须越来越小心。我想说的一点是,两端都有极端的观点。一端是:「天哪,这些系统将在所有事情上远超人类,我们会被碾压。」另一端是:「这些系统会很了不起,我们完全不用担心。」

我觉得我在中间某个位置。我参与合著过一篇叫《塑造 AI》(Shaping AI)的论文。你知道,那两种极端观点常常把我们的角色看成放任自流——AI 爱怎么发展就怎么发展。而我认为有一个很有力的论点:我们要做的是去塑造和引导 AI 在世界上的部署方式,使它在我们想要抓住并从中受益的领域——教育、我提到的那些领域、医疗——发挥最大的益处。同时尽我们所能——也许通过政策手段,也许通过技术措施和防护栏——把它从「计算机将接管一切、拥有不受限制的行动控制权」那个方向上引开。所以我认为那是一个工程问题:你如何设计出安全的系统?我觉得这有点像我们在旧式软件开发中做过的事情的现代版。比如你看飞机软件的开发,在「如何为一项风险相当高的任务严谨地开发安全可靠的系统」这方面,它有相当好的记录。那里的困难在于,737 可没有那种反馈回路——你把它和一堆算力关进一个箱子里两年,出来的就是第 1000 版。我认为好消息是,分析文本似乎比生成文本更容易。所以我相信,语言模型分析语言模型输出、找出其中有问题或危险内容的能力,实际上会成为许多此类控制问题的解决方案。我们肯定在做这方面的工作。Google 现在有一批杰出的人在做这个。我认为它会越来越重要,既是从「为人们做好事」的角度,也是从商业角度——很多时候,你能部署什么,是受「保证安全」这条约束限制的。因此,在这方面做到非常非常好就变得极其重要。对,显然,我知道你们认真对待这里的潜在收益与代价,而且这真的很了不起。我知道你们因此获得了赞誉,但还不够。你们已经推出了那么多不同的应用,用这些模型去改善你们刚才谈到的各个领域。不过我还是觉得……再说一次,如果存在某种反馈回路过程的可能性,在它的另一端,你会得到一个和 Noam Shazeer 一样强、和 Jeff Dean 一样强的模型。如果有一个邪恶版的你在外面乱跑,而且假设有一百万个,我觉得那真的非常非常糟。那可能比其他任何风险都糟得多——也许仅次于核战争之类。想想看,一百万个邪恶的 Jeff Dean。但是,在你们认为「某个快速反馈回路过程可能产出这种结果」的前提下,你们的计划是什么?好,我们有了 Gemini 3 或 Gemini 4,我们认为它在帮我们更好地训练未来版本,它在替我们写一大堆训练代码。从这个节点起,我们基本只是过目一下、做做校验。甚至你们提到的那些检查模型输出的验证器,最终也会由你们造出来的 AI 来训练,或者说其中大量代码会由这些 AI 来写。在让 Gemini 4 帮我们做 AI 研究之前,你们希望先确凿地知道什么?我们真的要确保——在让它替我们写 AI 代码之前,我们要先对它跑哪个测试?我想,让系统去探索算法研究的想法,看起来仍然是一件有人类掌舵的事。它在探索这个空间,然后会得到一批结果,而我们来做决定:我们要不要把这个特定的学习算法或系统改动并入核心代码库?所以我认为你可以放入这类防护措施,让我们既能获得「系统在人类监督下改进或自我改进」的好处,又不必让系统完全放飞地自我改进、没有任何「有人在看它在干什么」的概念,对吧?这就是我所说的那种工程防护:你要审视你所部署系统的特性,不部署那些按某些标准和方式衡量是有害的系统,并且你要理解它的能力是什么、它在某些情境下可能做什么。所以,你知道,我认为这绝不是个容易的问题,但我确实认为让这些系统变得安全是可能的。对。我认为我们也会大量使用这些系统来检查它们自己、检查其他系统。即使对人类而言,识别一个东西也比生成它更容易。我想说的一点是,如果你通过 API 或人们交互的用户界面来开放模型的能力,那么你就拥有了一定程度的控制力,可以了解它是如何被使用的,并对它能做的事情设置一些边界。我认为这是工具箱里的手段之一:如何确保它将要做的事,符合你心里设定的某套标准、是可接受的。对。我认为目标是赋能于人,而且在大多数情况下,我们应该尽量让人们用这些系统去做合理的事,尽可能少地封闭空间。但没错,如果你让某人拿走你的东西,创造出一百万个邪恶的软件工程师,那可谈不上赋能于人——因为他们会用一百万个邪恶的软件工程师去伤害别人。好,我们来聊几个更有趣的话题,轻松一点。过去 25 年里,最快乐的时光是什么时候?你们最怀念哪段时期?我想是在 Google 的头四五年,那时我是为数不多做搜索、抓取和索引系统的人之一,我们的流量增长得飞快。我们在努力扩大索引规模,并让它每分钟更新一次,而不是每个月一次——要是出了岔子就是两个月一次。看着我们系统使用量的增长,真的让我个人非常满足。造出一个每天被 20 亿人使用的东西,是相当不可思议的。但我也要说,同样令人兴奋的是如今和 Gemini 团队的人一起工作。过去一年半里,我们在这些模型能力上取得的进展真的很有意思。大家都非常投入,对我们正在做的事情非常兴奋。我认为模型在相当复杂的任务上越来越强。如果你把这些模型的能力展示给 20 年前用电脑的人看,他们不会相信。甚至五年前的人可能都不会信。这挺让人满足的。我想我们会看到这些模型的使用量和对世界的影响出现类似的增长。对,我同意。早期超级好玩。一部分原因就是认识每个人、那种社交氛围,以及你正在构建一个数百万人在用的东西。今天也一样。我们有那一整片很棒的微型茶水间(micro kitchen)区域,很多人聚在那里。我喜欢线下当面工作,和一群很棒的人一起,构建帮助数百万到数十亿人的东西。还有什么能更好?哦,我们俩坐的那栋楼里就有一个微型茶水间区域。那栋楼新改名叫 Gradient Canopy。它以前叫 Charleston East,我们觉得需要一个更带劲的名字,因为里面有一大批机器学习研究员,大量 AI 研究在那里进行。我们布置了一个微型茶水间区域——通常那就是一台意式咖啡机加一堆零食,但这一间特别宽敞。于是我们在里面摆了大概 50 张办公桌,大家就在那儿待着。有点吵,因为总有人在磨豆子、煮意式浓缩,但你也能得到大量面对面碰撞出的想法和连接,比如:「哦,我试过那个。你有没有想过在你的想法里试试这个?」或者:「哦,我们下周要上线这个东西,压测情况怎么样?」那里发生着大量的反馈。然后,对不在那个茶水间的人,我们有 Gemini 聊天室。我们的团队遍布全球,和 Gemini 相关的聊天室我大概加了 120 个。在某个非常聚焦的话题里,我们有七个人在做这件事,London 的同事们正在分享令人兴奋的结果。你早上醒来,就能看到那里在发生什么;或者是一大群专注于数据的人,那里面各种问题层出不穷。就是很好玩。你们做过的一些决策让我觉得了不起的地方在于:你们预判到了某种对算力的需求水平,而在当时那并不明显、也没有证据。TPU 是一个著名的例子,或者说第一代 TPU 就是个例子。你们在大概 2013 年或更早时有过的那种思考——如果今天你也这样想一遍,做个估算:我们将拥有这些作为我们各项服务骨干的模型,我们要为它们持续做推理,还要训练未来版本。想想到 2030 年,为了支撑所有这些用例我们需要多少算力——费米估算会把你带到哪儿?嗯,我认为你会需要大量推理算力。算力是这些强大模型最粗略、最高层面的视角。因为如果提升模型质量的技术之一是扩大推理算力的使用,那么现在的一次「生成一些 token」的请求,会突然变成计算强度高 50 倍、100 倍或 1000 倍的东西,尽管产出的输出量相同。而且你还会看到这些服务的使用量巨幅扩张,因为世界上还不是每个人都发现了这些基于聊天的对话式界面——你可以让它们做各种惊人的事情。今天世界上大概有 10% 的电脑用户发现了这一点,或者 20%。当这个比例推向 100%、而且人们的使用变得更重度时,那又是一到两个数量级的扩张。所以这边给你两个数量级,那边再来两个数量级。模型可能还会更大,那又是一到两个数量级。你需要的推理算力非常多。所以对你在乎的模型,你需要极其高效的推理硬件。按 flops 算,2030 年全球推理总量是多少?我认为「更多」永远更好。你可以这么想:到那时,人们会决定把世界 GDP 的多大一部分花在 AI 上?然后,AI 系统长什么样?嗯,也许是某种个人助理式的东西,装在你的眼镜里,能看到你周围的一切,能访问你所有的数字信息和全世界的数字信息。也许就像你是 Joe Biden,耳朵里有个内阁耳机,能实时就任何事情给你建议、替你解决问题、给你有用的提示。或者你可以跟它说话,它会分析它在你周围看到的任何东西,看有没有对你有用的潜在影响。所以我可以想象:好,假设它是你的个人助理或你的私人内阁之类,而且每当你在算力上多花一倍的钱,这东西就聪明 5 到 10 个智商点。那么,你是愿意每天花 10 美元要一个助理,还是每天花 20 美元要一个更聪明的助理?而且它不只是生活助理,还是让你把工作干得更好的助理——因为它能把你从一个 10 倍工程师变成 100 倍、甚至 1000 万倍工程师。好,那我们从第一性原理来算,对吧?人们会愿意把世界 GDP 的某个比例花在这上面。而世界 GDP 几乎肯定会大幅、大幅上涨,比今天高两个数量级——因为我们有了所有这些人工工程师在改进各种事情。到那时我们大概已经解决了无限能源和碳排放问题。所以我们应该能有海量能源,应该能有数百万到数十亿的机器人替我们建数据中心。我想想,太阳的功率是多少来着,10 的 26 次方瓦特左右?我猜,用于 AI 帮助每个人的算力,将是天文数字。我补充一点。我不确定我完全同意,但沿这个方向做思想实验相当有意思。而且即使只走到半路,那也肯定是非常多的算力。这也是为什么,拥有一个尽可能便宜的硬件平台来使用这些模型、把它们应用到 Noam 描述的那些问题上,是超级重要的——这样你才能以某种形式让每个人都用得上,把获取这些能力的成本压到尽可能低。而且我认为这是可以实现的,通过专注于硬件与模型协同设计这类事情,我们应该能把这些东西做得比今天高效得多得多。考虑到你们预期的这种需求增长,Google 未来几年的数据中心建设计划够激进吗?我不会评论我们未来的资本开支,因为我们的 CEO 和 CFO 大概不希望我这么做。但我可以说,你可以看看我们过去几年的资本支出,就能看出我们肯定在这个领域投资,因为我们认为它重要。我们在继续构建新颖有趣、有创新性的硬件,我们认为它真的能帮助我们在把这些系统部署给越来越多的人方面占据优势——既包括训练它们,也包括如何让人们能用它们做推理。我常听你谈到的一件事是持续学习(continual learning):让一个模型随时间不断改进,而不必从头再来。这有什么根本性障碍吗?因为理论上,你应该可以一直对一个模型做微调。在你看来那个未来是什么样的?对,这个问题我想得越来越多。我一直是稀疏模型的忠实拥趸,因为我认为你希望模型的不同部分擅长不同的事情。我们有 Gemini 1.5 Pro 模型,还有其他模型,它们是专家混合(mixture-of-experts)风格的模型:对某个 token,模型的一部分被激活,另一部分完全不激活——因为系统判断这是个数学向的东西,这部分擅长数学,那部分擅长理解猫的图片。这让你能拥有一个能力强得多、但推理时依然相当高效的模型:它容量非常大,但你每次只激活其中一小部分。但我认为当前的问题——嗯,我们今天做法的一个局限是,它仍然是非常规整的结构:每个专家的大小都一样,路径很快就合并回去。它们不会分出许多不同的分支——比如处理数学的分支就不与处理猫图片的那种分支合并回去。我觉得这些东西大概应该有一种更有机的结构。我还希望模型的各个部件可以在一定程度上被独立开发。比如现在,我们有这样一个问题:我们要训练一个模型,于是做一大堆准备工作,敲定我们能想出的最棒的算法和最棒的数据配比。但那里总有取舍,比如我们很想加入更多多语言数据,但那可能以减少代码数据为代价,于是模型的代码能力变弱、多语言能力变强,或者反过来。我觉得如果能这样就太好了:让一小组关心某个语言子集的人自己去创建非常好的训练数据,训练出模型的一个模块化部件,然后我们把它接到一个更大的模型上,提升它在比如东南亚语言、或者推理 Haskell 代码之类方面的能力。那样你还能获得一个很好的软件工程收益:相比我们今天的做法,你把问题做了一定程度的分解。我们现在是一大群人一起干活,但随后是一个庞大单体式的流程,开始对这个模型做预训练。如果能做到那样,Google 内部可以有 100 个团队。世界各地的人都可以为他们关心的语言、或他们关心的特定问题努力,所有人共同改进这个模型。那就是持续学习的一种形式。那会太美好了。你可以直接把模型粘在一起,或者把模型的部件拆出来塞进其他……

升级这一块,而不用把整个东西扔掉……

……或者你直接接上一根消防水管,把这个模型里的所有信息抽出来,灌进另一个模型。当然,这里也有一个对立的诉求,就是科学层面的:好,我们仍处在快速进步的阶段,所以如果你想做受控实验——「我想把这个东西和那个东西对比」,因为那能帮我们弄清楚该造什么——出于这个考虑,通常最好从零开始,这样你可以在实操层面把一次完整训练和另一次完整训练相比较,帮助我们想清楚未来该造什么。这没那么让人兴奋,但确实能带来快速进步。对,我觉得也许有办法通过一个带版本管理的模块化体系,获得其中大部分好处。我有一个冻结版本的模型,然后我换上某个特定模块的不同变体,我想比较它的性能,或者再多训练它一点。然后我把它和基线比较——现在这个东西装的是负责 Haskell 解析的那个模块的第 N' 版。实际上,那可能会带来更快的研究进展,对吧?你有某个系统,你对它做了一个改进。如果这个改进动作相对于从零训练整个系统来说相对便宜,那它其实能让研究便宜得多、快得多。对,而且我认为在人与人之间也更容易并行化。好,那我们把它想清楚,接下来就干这个。所以,这个被如此随意抛出来的想法,相比今天的做法,实际上会是一次巨大的范式转变。如果你认为事情正朝这个方向发展,这是一个非常有意思的预测……你就有这么一个「大团块」,各种东西在里面来回流水线式地传递——而如果你想改进某个部分,你几乎可以做一种外科手术式的切口。对,或者让模型生长,在这里再添一小块。是的,我在 Pathways 里勾画这个愿景已经有一段时间了……

……而且我们一直在为它构建基础设施。Pathways 这个系统能支持的很多东西,就是这种弯弯绕绕的、奇形怪状的模型,各部分可以异步更新。我们正在用 Pathways 训练我们的 Gemini 模型,但它的一些能力我们还没用上。也许我们应该用上。这太有意思了,我不想丢掉这条线,但请给我一点时间。有过一些时刻,比如 TPU pod 的架构设计。我不知道是谁做的,但他们干得相当漂亮。底层软件栈和硬件栈:你有规整漂亮的高性能硬件,有那些出色的环面(torus)拓扑互连,然后有恰到好处的底层集合通信原语——all-reduce 等等,我猜那些来自超级计算领域,但事实证明,它恰好就是构建分布式深度学习的正确底座。好,那有几个问题。第一,假设 Noam 又搞出一个突破,现在我们有了更好的架构。你们会不会就把每个「隔间」蒸馏进这个更好的架构?它就是这样随时间不断改进的吗?我确实认为蒸馏(distillation)是一个非常有用的工具,因为它让你能把一个当前架构形态的模型转换成另一种形态。你通常用它把一个能力很强但庞大笨重的模型,蒸馏成一个更小的模型——也许你想用非常好、非常快的低延迟推理特性来提供服务。但我认为你也可以把这看作发生在模块层面的事。也许会有一个持续的过程:每个模块有几种不同的自我表示。它有一个非常大的版本,还有一个小得多的版本,大的在持续不断地向小的蒸馏。然后小版本一旦蒸馏完成,你就把大的删掉,再添上一大块参数容量,开始用更多数据训练它,让它学会蒸馏出的小版本不知道的所有东西,然后不断重复这个过程。如果这种过程在你的模块化模型里的一千个不同地方在后台运行着,看起来应该会运转得不错。这也可以是一种做推理扩展的方式,比如由路由器来决定你要用多大的那个。对,你可以有多个版本。哦,这是道简单的数学题,那我把它路由到那个特别小的数学蒸馏件上。哦,这道真的很难,那就……

有个问题:至少从公开研究看,在专家混合类模型里,往往很难解读每个专家在干什么。如果你有这样一个系统,你怎么保证那种对我们可见、可理解的模块化?其实,过去我发现专家们相对容易理解。我是说,第一篇 Mixture of Experts 论文里,你直接看那些专家就行。

「我不懂啊,我不过是 Mixture of Experts 的发明人而已。」

对,你就能看到:好,这个专家——我们当时搞了一千、两千个专家——好,这个专家接收的是指代圆柱形物体的词。倒不是说你在运行时需要那种人类理解才能让这东西转起来,因为你有某种学习出来的路由器在看每个样本。我想说的一点是,关于模型可解释性、它们内部在干什么,已经有一大批工作。专家层面的可解释性是那个更大领域的一个子问题。我很喜欢我以前的实习生 Chris Olah 和其他人在 Anthropic 做的一些工作:他们训练了一个非常稀疏的自编码器,能够推断出大语言模型中某个特定神经元具有什么特征,比如他们发现了一个「金门大桥神经元」,当你谈论金门大桥时它就会激活。我认为你可以在专家层面做这件事,也可以在各种不同层面做,并得到相当可解释的结果。不过是否一定需要这个,还不太清楚。如果模型就是干活很棒,我们不一定在乎 Gemini 模型里每个神经元在干什么,只要整个系统的总体输出和特性是好的。这正是深度学习的美妙之处之一:你不需要理解或手工设计每一个特征。天哪,这里面有太多有趣的推论了,我可以一直追问下去——不多问我会后悔的,所以我继续。一个推论是:目前,如果你有一个几百亿或上千亿参数的模型,你可以用几块 GPU 提供服务。而在这种系统里,任何一个查询可能只经过总参数的一小部分,但你需要把整个模型加载进内存——那么 Google 投资的这种特定基础设施,也就是以几百、几千块为一个 pod 存在的 TPU,就会价值连城,对吧?对任何现有的专家混合模型来说,你都需要把整个模型放进内存。我觉得关于 Mixture of Experts 有一种流传的误解:好处是你甚至不用碰模型里那些(未激活的)权重。如果某个专家没被用到,并不意味着你不需要读取那块内存,因为说真的,为了高效,你是在非常大的批次大小(batch size)下提供服务的。对,一批相互独立的请求。所以并不是说,在这一步,你要么在看这个专家、要么不在看这个专家。因为如果是那样的话,当你确实要用某个专家时,你就是在以批次大小为 1 来跑它,那效率低得离谱。你有现代硬件,运算强度(operational intensity)动辄几百。所以实际发生的不是那样,而是:你在看所有的专家,只不过每个专家只需要处理这批数据中的一小部分。对,但每个专家那里过的批次还是更小的。而为了获得比较合理的负载均衡,当前模型通常的做法之一是让所有专家的计算成本大致相同,然后让大致相同大小的批次流过它们,以便把推理时的超大批次推进下去、保持良好效率。但我认为未来你可能常常会想要计算成本相差 100 倍、1000 倍的专家。或者某些情况下路径要走很多层,另一些情况下只走一层、甚至一个跳跃连接(skip connection)。在那种情况下,我认为你仍然会想要非常大的批次,但你会想在推理时让数据略微异步地流过模型——这比训练时要容易一些。这正是 Pathways 当初设计要支持的东西之一。你有这些组件,组件的成本可以各不相同,你可以说:对这个特定样本,我想走模型的这个子集;对那个样本,我想走那个子集——然后让系统去编排这一切。这也意味着,得是具备一定规模和成熟度的公司才能……现在,任何人都能训练一个足够小的模型。但如果最终事实证明这是训练未来模型的最佳方式,那你就需要一家基本上能用一个数据中心来服务单个所谓「大团块」或模型的公司。所以从这个角度看,这也会是一次有趣的范式变化。你肯定至少需要足够的 HBM(高带宽内存)来装下你的整个模型。所以取决于你模型的大小,那很可能就是你最少需要的 HBM 量。这也意味着你不一定要把整个模型的占用扩张到一个数据中心那么大。你可能希望它比那小一点。然后,对某个被大量使用的特定专家,可以有很多份复制的副本,这样负载均衡会更好。这个专家被用得很多,因为我们收到大量数学问题;而那个是塔希提舞(Tahitian dance)专家,极少被调用。那个专家,也许你甚至把它换页到 DRAM 里,而不是放在 HBM 里。但你希望系统根据负载特征自己把这一切弄明白。对。那么,语言模型,显然是输入语言、输出语言。当然它也是多模态的。但 Pathways 的博客文章谈到了那么多不同的用例,它们并不明显属于这种经过同一个模型的自回归性质。你们能不能想象,基本上整个 Google 公司——产品就是:Google 搜索走这个模型,Google Images 走这个模型,Gmail 也走它?就好像整个服务器就是这一个巨大的、专用化的专家混合模型?你已经开始看到一些苗头了:Google 内部大量使用 Gemini 模型的场景并不一定做了微调,只是针对某个产品某个功能里的特定用例给它下指令。所以,我肯定看到底层模型的能力会在越来越多的服务之间被更多地共享。我确实认为那是一个非常有意思的方向,毫无疑问。对,我觉得听众们可能没意识到这个关于 AI 走向的预测有多有意思。这就像 2018 年把 Noam 请上播客,然后他说:「嗯,我觉得语言模型会成气候。」

如果事情真往这个方向走,这实在是有趣极了。对,而且我认为你可能会看到那会是一个大的基础模型。然后你可能想要它的定制版本,为不同场景加装不同的模块,这些模块也许有访问限制。也许我们有一个 Google 内部版,供 Google 员工使用,我们在内部数据上训练了一些模块,不允许任何外人使用那些模块,但我们自己可以用。也许对其他公司,你加装对那家公司场景有用的其他模块,然后通过我们的云 API 提供服务。让这种系统可行的瓶颈是什么?是系统工程?还是机器学习?这和我们当前的 Gemini 开发是相当不同的运作方式。所以我想我们会探索这些领域,并取得一些进展。但我们需要真正看到证据,证明这是正确的路、有很多好处。其中一些好处可能是质量的提升,一些可能不那么容易具体度量,比如「大量模块可以并行开发」这种能力。但那仍然是相当令人兴奋的改进,因为我认为那能让我们在许多不同领域上更快地提升模型能力。甚至数据控制的模块化那部分也非常酷,因为那样你就可以有一块只为我训练的模型部件,它知道我所有的私人数据。对,一个属于你的个人模块会很有用。另一件事可能是:某些数据可以在某些场景用,而在其他场景不能用。也许我们有一些 YouTube 数据,只能在 YouTube 的产品界面里使用,而不能用在其他场景。那么,我们可以有一个专为那个特定用途、在那些数据上训练的模块。我们得需要一百万个自动化研究员来发明所有这些东西。对,嗯,这东西本身——你把「大团块」造出来,它就会告诉你怎么把「大团块」做得更好。

Blob 2.0。或者也许根本没有版本号,就是一个逐步增长的团块。对,这太迷人了。好,Jeff,从大图景上给我讲讲动机:为什么这是个好主意?为什么这是下一个方向?嗯,这种有机的、不是那么精心用数学构造出来的机器学习模型的概念,在我心里已经存在一阵子了。我觉得在神经网络的发展中,人工神经元从生物神经元获得灵感是件好事,也在深度学习领域为我们立下了汗马功劳。我们靠它取得了大量进展。但我觉得,对真实大脑做的其他事情,我们的借鉴也许还不够多。这不是说我们应该原样照搬,因为硅基和湿件(wetware)的特性和长处非常不同。但我确实认为有一点可以汲取更多灵感:拥有不同的专门化部分,就像大脑模型里的不同区域,各自擅长不同的事情。我们在专家混合模型里已经有一点这种味道了,但它仍然非常结构化。我觉得应该是那种更有机的专长生长:当你想要某方面更多的专长时,你就在模型的那个位置增加一些容量,让它在那类事情上多学一点。另外,「让模型的连接结构去适配硬件的连接结构」也是个好想法。我认为,在同一块芯片、同一块 HBM 内的人工神经元之间,你想要极其稠密的连接,因为那开销不大。然后,与邻近神经元之间要少一些连接。比如相隔一块芯片,你应该有一定数量的连接;相隔很多很多块芯片,连接数就应该更少——你通过一个非常受限的、类似瓶颈的通道,把这部分模型学到的最重要的东西发送出去,供模型的其他部分使用。甚至跨多个 TPU pod 时,你希望发送的信息更少,但都是最显著的那类表示。跨都会区时,还要更少。对,我希望这些是有机地涌现出来的。你可以手工指定这些特性,但我觉得你并不确切知道这些连接的正确比例是多少,所以应该让硬件在一定程度上说了算。比如你在这边通信,而这些数据总是很早就到,那你就该多加些连接,这样它会花更长时间、恰好在正确的时间到达。哦,这里还有一个有趣的推论:现在我们把 AI 使用量的增长想成一种横向扩展——比如你会问,Google 会有多少 AI 工程师为它工作?你想的是同时会有多少个 Gemini 3 实例在运行。而如果你有这个——随便你叫它什么——这个「大团块」,它可以有机地决定激活自己的多大部分,那么事情就变成了:如果你想要 10 个工程师的产出,它就激活一种不同的、或者更大的模式。如果你想要 100 个工程师的产出,那不是去调用更多智能体或更多实例,而只是调用不同的子模式。我认为存在一个「你想在这次特定推理上花多少算力」的概念,而这个量在特别容易和特别难的事情之间应该相差一万倍,甚至可能一百万倍。它可能是迭代式的:你先过一遍模型,拿到一些东西,然后决定接下来需要调用模型的其他部分。我要说的另一点是:这听起来部署起来超级复杂,因为它是个古怪的、不断演化的东西,各部件之间的通信方式也许没有高度优化——但你随时可以从它蒸馏。如果你说:「这是我真正在乎的那类任务,让我从这个巨大的有机体里蒸馏出一个我确定可以非常高效地提供服务的东西」——这个蒸馏过程你想什么时候做就什么时候做,一天一次,一小时一次。那看起来会挺好的。外面要是有谁发明了惊艳的蒸馏技术,能把一个巨大团块即时蒸馏到你的手机上,那就太美妙了。你会怎么概括当前蒸馏技术缺失了什么?一件相关的事是,我觉得我们在预训练阶段需要一些有趣的学习技术。我不确定在当前的训练目标下,我们是否从看过的每个 token 里榨取了最大价值。也许对某些 token,我们应该多想一想。当你读到「答案是」的时候,也许模型在训练时应该比读到「这个」的时候多做很多工作。对。一定有办法从同样的数据里获得更多,让它正着学、倒着学。以及从各个方向学。这边藏一些内容,那边藏一些内容,让它从不完整的信息中推断。我觉得视觉模型的人做这个已经有一阵子了。你对图像做扭曲,或者遮住一部分,试着让它从半张图猜出那是只鸟——从图像的右上角或左下角判断那是只鸟。那会让任务变难。我觉得对更偏文本或代码的数据,也存在一种类似做法:你要迫使模型更努力地工作,你会从中得到更有意思的观察。对,搞图像的人当年是标注数据不够,所以才不得不发明了这一整套东西。而且他们发明了——我是说,dropout 就是在图像上发明的,但我们在文本上基本没在用它。这是一种在更大规模的模型里获得更多学习而不过拟合的方法:对全世界的文本数据跑上 100 个 epoch,然后用 dropout。不过那计算上相当昂贵,但这确实意味着我们不会去跑它。即便人们在说「哦不,我们的文本数据快用完了」,我也不太相信,因为我认为我们可以从现存的文本数据里得到能力强得多的模型。要知道,一个人一生也就见过十亿个 token。对,而且他们在很多事情上都相当在行。所以显然,人类的数据效率给「如何」设定了一个下界,或者说上界——算了,也许都不是。对。这里有一种「肯定前件、否定后件」的逻辑游戏。一种看法是:看,LLM 还有那么远的路可走,所以只要它们能追平人类,我们就可以预期样本效率有数量级的提升。另一种看法是:既然差着数量级,也许它们做的事情本质上就不一样。你们的直觉是,要让这些模型达到人类的样本效率,需要什么?对,我认为我们应该考虑稍微改一改训练目标。仅仅根据你已看到的前文预测下一个 token,看起来不像是人的学习方式。我觉得它跟人的学习方式有点关系,但不完全是。一个人可能读完一整章书,然后试着回答书后的问题,那是另一种类型的事。我还认为我们从视觉数据里学到的很少。我们在视频数据上训练了一点,但离「在你能获得的所有视觉输入上训练」这个思路还差得远。所以你有一大堆我们几乎还没开始拿来训练的视觉数据。再者,我认为我们可以从看到的每一点数据中提取多得多的信息。人类样本效率如此之高的原因之一是,他们探索世界、在世界中采取行动并观察结果。你能在很小的婴儿身上看到这一点:他们把东西捡起来再扔掉,由此学会了重力。而当你不是行动的发起者时,这种东西要难学得多。我认为,让一个模型能把「采取行动」作为其学习过程的一部分,会比单纯被动地观察一个巨型数据集好得多。一种模型可以观察、行动、再观察相应结果的机制,看起来相当有用。要知道,人可以从甚至不需要额外输入的思想实验中学到很多。Einstein 从思想实验里学到了一大堆东西;Newton 进了隔离期,被苹果砸了头之类的,然后发明了万有引力。还有数学家们——数学根本不需要额外输入。国际象棋,好,你让它自己跟自己下棋,它就下得好了。那是 DeepMind 做的,而它需要的只是国际象棋的规则。所以其实,即使没有外部数据,也可能有大量的学习可以进行,而且你可以把它精确安排在你在乎的领域。当然,有些学习会需要外部数据,但也许我们可以让这东西自言自语,让自己变得更聪明。那我有个问题。你们在过去一小时里勾画的东西,可能就是 AI 的下一次重大范式转变。这可能是一个价值连城的洞见。Noam,2017 年你们发布了 Transformer 论文,其他公司里成百上千亿美元的市值都建立在它之上,更不用说 Google 这些年发布的所有其他研究了——在这方面你们一直相当慷慨。回过头看,当你想到这些信息的公开帮助了你们的竞争对手时,你是觉得「对,我们还会这么做」,还是会想「唉,我们当时没意识到 Transformer 是多大的事,应该把它锁在家里」?你怎么看这个问题?这是个好问题。因为我想,我们大概确实需要看清这个机会的大小——而这常常体现在其他公司在做什么上。而且这不是一块固定的蛋糕。当前的世界状态,几乎是离「固定蛋糕」最远的状态。我认为我们将看到 GDP、健康、财富以及你能想到的任何东西出现数量级的提升。所以我觉得 Transformer 传播开来,肯定是件好事。呼。谢天谢地 Google 自己也发展得不错。所以如今我们对正在做的事情确实发表得少了一点。这里始终存在一个权衡:我们应该立刻发表我们正在做的东西吗?还是把它放进下一阶段的研究,然后落地到生产环境的 Gemini 模型里、干脆不发表?还是取某个中间点?举个例子,在 Pixel 相机的计算摄影工作里,我们经常做这样的决定:开发有趣的新技术,比如超强的夜视能力(Night Sight)用于低光照场景之类,先把它放进产品,等产品发布之后,再就实现该功能的系统发表一篇真正的研究论文。不同的技术和成果会有不同的处理方式。有些我们认为超级关键的东西,我们可能不发表。有些我们觉得非常有意思、但对改进产品很重要的东西,我们会先把它们放进产品,然后再做决定:这个要不要发表?还是只给一个轻量级的讨论,但也许不给出每一个细节?其他东西,我认为我们会公开发表,努力推动这个领域和社区,因为参与其中是我们所有人受益的方式。我觉得去参加像上周 NeurIPS 那样一万五千人齐聚、分享大量精彩想法的会议非常好。我们一如既往地在那里发表了很多论文,看着这个领域进步,超级令人兴奋。那你怎么解释……显然 Google 很早就在内部拥有了所有这些洞见,包括顶尖的研究人员。现在 Gemini 2 出来了。我们没太多机会聊它,但大家知道它是个非常出色的模型。太好的模型了。就像我们在茶水间里说的那样:「such a good model, such a good model」。它在 LMSYS Chatbot Arena 上排第一。所以现在 Google 登顶了。但你怎么解释:你们提出了所有这些伟大的洞见,可有那么几年,其他竞争对手的模型反而一度更好?我们做语言模型已经很久了。Noam 在 2001 年做拼写纠错的早期工作,翻译方面的工作,2007 年的超大规模语言模型,然后是 seq2seq、word2vec,再到后来的 Transformer,然后是 BERT。还有像内部的 Meena 系统,那实际上是一个基于聊天机器人的系统,旨在和人进行有趣的对话。实际上,早在 ChatGPT 出现之前,我们就有一个 Google 员工可以把玩的内部聊天机器人系统。而且在疫情期间,很多 Google 员工——大家都被封在家里嘛——很喜欢在午餐时间和 Meena 聊天,因为它是个不错的、你懂的,午餐伙伴。我想,我们当时有一点……从搜索的视角看,这些模型幻觉很多,很多时候——或者说有些时候——它们说不对,这意味着它们没有发挥出应有的用处,所以我们想把这一点做得更好。从搜索的角度,理想情况下你要 100% 给出正确答案,事实性要非常高。这些模型离那个标准还差得远。我想我们当时不太确定的是,它们竟然极其有用。哦,而且它们还有各种安全问题,比如可能会说冒犯性的话,我们得在这方面下功夫,把它做到让我们放心发布模型的程度。但我认为我们当时没有充分认识到的是:它们在那些你不会去问搜索引擎的事情上能有多大用处,对吧?比如「帮我给兽医写个便条」,或者「你能把这段文字快速总结一下吗」?我认为这正是我们后来看到人们蜂拥而至的用法——把聊天机器人当作令人惊叹的新能力来用,而不是当作一个纯粹的搜索引擎。所以我认为我们花了时间,最终发布了能力相当强的聊天机器人,并且通过 Gemini 模型不断地大幅改进它们。我觉得这其实不是一条糟糕的路。我们希不希望更早发布聊天机器人?也许吧。但我认为我们现在有一个非常出色的聊天机器人,搭配非常出色、而且一直在进步的 Gemini 模型。这挺酷的。好,最后一个问题。我们聊了你们俩过去 25 年做过的一些事情,涉及那么多不同的领域,对吧?从搜索和索引起步,到分布式系统,到硬件,到 AI 算法。而且说真的,还有一千多项别的,去他们俩任何一位的 Google Scholar 页面看看就知道。诀窍是什么?——不仅是这种职业生涯的长青,几十年持续做出突破,还有跨越如此多不同领域的广度。你们俩,谁先说都行:职业长青和广度的诀窍是什么?我喜欢做的一件事是去了解一个又新又有趣的领域,而最好的办法之一就是保持关注:跟同事交流,关注正在发表的研究论文,观察研究版图的演变。要愿意说:「哦,芯片设计。不知道我们能不能把强化学习用在它的某个环节上。」要能够一头扎进一个新领域,与非常了解另一个领域的人合作,比如医疗 AI 之类。我和临床医生一起做过一些工作,了解真正的问题是什么、AI 能帮上什么忙。它对这件事可能没那么有用,但对那件事会超级有用。获得这些洞见,并且常常与五六位专长和你不同的同事一起工作。这让你们能够集体做成任何一个人单独都做不成的事。然后他们的一些专长会传染给你,你的一些专长也会传染给他们,现在你作为一名工程研究者,工具腰带上就有了一套更大的工具,可以去攻克下一件事。我认为这是「在工作中持续学习」的美妙之处之一。这是我珍视的东西。我真的很享受扎进新事物、看看我们能做出什么。我会说,最重要的大概是谦逊——比如我会说,我是最谦逊的。不过说正经的,就是要认识到:我刚做成的事,和我能做的、或者可以被做到的事相比,根本不算什么。要能在看到更好的东西时立刻放下手里的想法——比如你或者某个人有了更好的主意,你看出也许你正在想的、他们正在想的、或者某个完全不同的东西,可能效果更好。某种意义上,人会有一种冲动去说:「嘿,我刚发明的这东西太棒了,多给我些芯片。」尤其是在资源分配高度自上而下的时候。但我认为我们同样需要激励人们说:「嘿,我正在做的这个东西完全行不通。让我彻底放弃它,去试点别的。」

这一点我觉得 Google Brain 做得挺好。我们当时用的是那种非常自下而上的、类似全民基本收入(UBI)式的芯片分配。对,基本上每人一张「额度券」,你们可以把它们凑到一起用。

Gemini 则主要是自上而下的,这在某种意义上非常好,因为它带来了多得多的协作、大家一起干活。你很少再看到五拨人都在造同一个东西、或者造可以互相替换的东西。但另一方面,它确实会催生一种激励,让人说:「嘿,我做的东西效果好极了。」然后,作为负责人,你听几百个小组汇报,每个都是「所以你应该多给他们些芯片」。而说「嘿,我做的东西其实没那么灵,让我试试别的」的激励就少了。所以我认为,往后我们会保留一定的自上而下,加上一定的自下而上,以便同时激励这两种行为:协作与灵活。我认为这两样都会带来大量创新。我认为把你觉得我们该走的有趣方向讲清楚,也是好事。我有一份内部幻灯片,叫《Go, Jeff, Wacky Ideas》(上吧 Jeff,一些疯点子)。那些更偏产品方向,比如:「嘿,我觉得既然我们现在有了这些能力,我们可以做这 17 件事。」

我觉得这是好事,因为有时人们会为此而兴奋,想跟你一起做其中一件或几件。我认为这是一种很好的方式,可以引导我们该往哪儿走,而不必命令大家「我们必须去这里」。感谢你们抽出时间,聊得非常愉快。太棒了。