导读
本文为 Google Research 与 Google DeepMind 首席科学家、Gemini 项目联合负责人 Jeff Dean 于 2026 年 2 月 10 日在普林斯顿大学计算机科学杰出学者讲座上的演讲实录。在这场精彩的分享中,Jeff Dean 带领观众回顾了深度学习和人工智能在过去十几年间的核心技术演进脉络,并深度剖析了塑造现代大型 AI 模型的关键要素。
演讲不仅系统总结了从早期的神经网络、分布式训练、词向量模型,到改变游戏规则的 Transformer 架构、稀疏模型(MoE)、模型蒸馏(Distillation)以及强化学习(RL)等算法突破;还深入探讨了支撑这些庞大计算需求的底层基础设施——包括从 TPU v1 到最新代际(如 Ironwood)的硬件进化,以及 Pathways 系统如何应对规模化训练中棘手的静默数据损坏(SDC)等工程挑战。此外,Jeff 还详细介绍了 Gemini 大模型的演进历程、多模态能力及其在国际数学奥林匹克竞赛(IMO)和实际开发中的惊艳表现。
在演讲的最后部分,Jeff Dean 展望了 AI 的未来趋势。他强调了人类与庞大 AI 智能体(Agents)团队协同工作的愿景,提出了将上下文窗口扩展至万亿 Token 的混合检索架构构想,并探讨了 AI 在芯片设计、科学发现、教育和医疗等领域的深远社会影响。无论你是 AI 领域的研究者、工程师,还是对科技趋势感兴趣的探索者,这篇实录都将为你提供极其宝贵的第一手洞察。
第一章:开场与引言
主持人(Kai): 下午好。虽然还没到 4:30,但既然讲演厅已经坐满了,我就直接开始做介绍,好为大家节省点时间。非常荣幸能向大家介绍 Jeff Dean,他是 Google Research 和 Google DeepMind 的首席科学家,也是 Gemini 项目的联合负责人。
我想说的是,在 Jeff 开启他在 Google 那段著名的职业生涯之前,我实际上在 90 年代就认识他了。当时 Jeff 还在 DEC WRL(数字设备公司西部研究实验室)工作。所以我可以证实,他绝对不是一夜成名的,Jeff 已经默默地卓越了非常长的时间。Jeff 的个人简历大家可能已经在宣传海报上读过了,读起来简直就像是一部现代计算机科学的导览指南——从大规模信息检索、操作系统、分布式系统、编译器,如果这些还不够的话,他的“第二职业”还包括 AI 机器学习硬件加速器、视觉模型、底层软件开发(我现在绝不会去升级 Chrome,笑),以及模型蒸馏(distillation)、神经网络架构搜索、大型语言多模态模型,甚至应用范围扩展到了芯片设计、医疗保健、翻译等等。
关于 Jeff,我最喜欢的一个细节是,他在本科阶段的毕业论文就是关于神经网络的。我认为这意味着两件事:首先,他在神经网络变得酷炫之前就已经在研究它了;其次,这让他拥有了一种极其罕见的特权,能够骄傲地说:“在 Google 让神经网络流行起来之前,我就已经喜欢上它了。”好吧,也许 Google 流行起来也是 Jeff 自己一手促成的。如果你想知道拥有良好的研究品味需要什么条件,显然答案就是:要想成为 Jeff,你得趁早开始。一路走来,Jeff 获得了 ACM 计算奖、IEEE 冯·诺依曼奖章,他也是 ACM 会士、美国国家工程院院士以及美国艺术与科学院院士。今天我们非常幸运能请他来为我们做这场杰出学者讲座。请大家和我一起欢迎 Jeff。(掌声)
Jeff Dean: 谢谢。(掌声)非常感谢你的盛情介绍并邀请我来。我这次是碰巧在镇上,Kai 跟我说:“嘿,你想顺便过来做个演讲吗?”所以我很高兴能来到这里。我要和大家谈谈 AI 领域正在发生的事情。我不知道大家有没有注意到,但这几天 AI 确实是个大热门。在 Google,我们有很多人在研究这个领域,所以我今天展示的不仅仅是我个人的工作,而是 Google 以及其他地方许许多多研究人员的共同成果。
这里有几个可能对你们来说并不意外的观察结果。机器学习和 AI 已经彻底改变了我们对计算机潜力的期望。如果你回想 10 到 15 年前,计算机的视觉能力并不好,它们无法很好地理解语音,更不用说理解自然语言了。而现在,我们拥有了能够让计算机以更加自然的方式与人类互动的工具,因为它们能够理解人类所理解且习惯的交流模态。在此过程中,规模的不断扩大——包括更多的计算资源、更庞大的数据量以及更大规模的模型——在过去的 13 到 14 年里几乎是不间断地带来了更好的结果。这一趋势一直保持着,甚至在今天似乎依然有效。
除了规模的扩展,算法和模型架构(model architecture)的改进也带来了巨大的提升。这两者是乘数效应的组合,对吧?如果你能拥有更大的规模,同时还能拥有更好的模型架构,使其在每次浮点运算中学习到更多信息,那么这两者结合起来,就不再是单纯从规模上获得 20 倍的提升,而是规模的 20 倍加上算法的 50 倍,最终你得到的是比不久前强大 1000 倍的系统。此外,我们想要运行的计算类型以及运行这些计算的硬件也在发生戏剧性的变化。
第二章:AI 的早期探索与起步
Jeff Dean: 我先分享四个或许不算令人惊讶的观察。首先,神经网络和梯度下降(gradient descent)。它们似乎是我们构建真正智能的计算机系统时的关键基石。而且它们并不是什么新想法,它们是在 70 年代和 80 年代发明的。实际上,在 80 年代末和 90 年代初,人们对它们充满了热情。我第一次接触它们是在一门入门课程上,当时教授大致是这样向我介绍神经网络的:我们对现实生活中的神经元行为进行了非常好的抽象——你有许多输入,你进行一些处理,然后决定是否激活,以及以多大的强度激活;而且你会把这些东西连接起来。然后,反向传播(back propagation)是一种非常棒的算法,它能让你调整这些连接边缘上的权重,使得模型的行为更符合你的预期。你给它提供大量的例子,反向传播就能让模型学会你想要的行为。
所以,作为一名 1990 年的本科生,看到这些我感到超级兴奋,我说:“哇,这看起来是一个非常好的抽象。它感觉是一个可训练的东西,几乎可以学习任何事物。”在那个时候,我们并没有使用非常大的神经网络,因为那时的计算机性能实在弱得可怜。但我说:“哦,也许如果我们使用系里的并行计算机,我们可以训练大得多的神经网络。那太棒了。也许我们只需要使用 32 台计算机而不是一台,我们就能训练出令人印象深刻的神经网络。那会很棒的。”于是我就这么干了。我问那位在课上介绍神经网络的教授 Vipin Kumar,我是否能跟着他做本科毕业论文。他答应了。所以我尝试了两种并行训练神经网络的方法。一种是我们现在所说的模型并行(model parallel)和数据并行(data parallel)训练,不过当时我把它们叫做“模式分区”(pattern partitioned)和“流水线”(pipelined)方法。这些加速曲线很有意思,但它们很快就遇到了瓶颈,因为我做了一件蠢事:在增加处理器数量的同时,我并没有把模型变得越来越大,我只是让一个固定大小的模型变得越来越难并行化。但我把它记在心里了,心想:“哦,那是一个有趣的抽象,似乎是我应该关注的东西。”不过随后在接下来的 25 年里,我就把它抛诸脑后了。
好。现在我要带大家走马观花地看一看过去 15 年里机器学习(ML)领域的一系列进展,正是这些进步结合在一起,造就了今天最复杂的模型。今天的模型是如何产生的?正是通过我将要描述的这些进步。
我在 Google 重新开始研究神经网络的契机是,有一次在我们的微型厨房里,我碰到了斯坦福大学的教授吴恩达(Andrew Ng)。我问他:“哦,你在这里做什么?”他说:“我还不确定呢,因为我一周前刚入职。但我在斯坦福的学生正在做一些有趣的事情,比如训练用于语音和视觉的神经网络。”我说:“哦,那太酷了。我们应该训练非常庞大的神经网络。我们之所以应该这么做,是因为我们现在实际上拥有非常多的计算机。”所以我提议:“哦,我们为什么不尝试训练非常非常大的神经网络呢?”
于是我们构建了一个软件系统,它允许我们表达神经网络及其连通性,并在许多台计算机上进行模型并行和数据并行的训练。这让我们能够训练比当时我们能找到的任何人在谈论的最大的神经网络还要大 50 到 100 倍的模型。我们采用了一种方法,拥有非常多异步的模型副本,这些副本获取模型当前参数的更新,在本地的数据批次上疯狂运算,计算出梯度,然后将其发送给一组分布式的参数服务器(parameter servers)以更新模型的参数。因为它是异步的,所以从数学上讲这绝对是不严谨的,因为在此期间,从其他副本给出梯度更新到参数服务器的这段时间里,模型的参数已经发生了位移。但它似乎行得通,所以尽管它在理论上有瑕疵,我们还是挺高兴的。
我们最初训练的东西之一,是一个完全无监督学习(unsupervised learning)的超大模型,输入是 1000 万帧随机的 YouTube 视频画面。有趣的是,我们采用了一种局部连接的计算机视觉神经网络,并使用了一种重构损失(reconstruction loss)。我们试图在模型的最高层提取神经元的高级表征,然后尝试重建作为输入给出的像素。因为那个瓶颈层迫使模型学习比原始像素更高级的抽象概念。我们最终发现,在这个模型的最高层,一些神经元已经学会了对图像中是否有猫脸变得敏感;有些学会了对人脸敏感;还有些对人的轮廓敏感。这一切都是在没有被告知这些图像包含任何此类对象的情况下完成的。所以,看到你能从纯粹无监督的目标中学习到这些高级抽象和表征,是一件非常奇妙的事情。
我们接着可以利用这种无监督训练的初始化参数,然后使用有监督的方法进行训练,来尝试做计算机视觉图像分类。遗憾的是,我们当时使用了包含 22,000 个类别的 ImageNet 版本,这是一个比大家最熟悉的 1,000 个类别版本交易(使用)要少得多的数据集。但通过使用无监督模型初始化,然后在该数据集的训练集上进行有监督学习,我们在 ImageNet 22k 上的最优表现(state-of-the-art)获得了 70% 的相对提升,这是一个非常大的相对提升。所以我们对此感到满意,并且看到了“规模”确实起到了关键作用。
我们还开始开展一系列将神经网络用于语言任务的工作。我们发现的一件事是,即使是相对简单的模型,你将单词或短语表示为向量——这样你就拥有了一个漂亮的一千维或五百维的词特征表示(embedding vector),并且模型结构相对较浅(事实上,我们只使用了词向量,然后利用这个词向量去尝试预测附近的词),这种方法就很有效果。我们发现,如果你将这种方法应用于大量文本并使用这个训练目标,你最终会发现高维空间中距离相近的单词往往是相关的单词。比如“猫”(cat)、“美洲狮”(puma)和“老虎”(tiger)在高维空间中的距离都很近。而且方向也是有意义的——为了改变带有性别属性的词汇的性别(无论你从哪个词开始,比如国王与王后,男人与女人),你只要朝着相同的方向移动即可。
一两年后,我的三位同事 Ilya Sutskever、Oriol Vinyals 和 Quoc Le 利用 LSTM 这种神经编码器(neural encoder),实现了一个序列的编码器和另一个序列的解码器。当你通过运行编码器来初始化 LSTM 的状态时,这最终捕获了输入序列中出现的信息,并使得模型随后能利用这个初始状态很好地预测目标序列。这项技术的典型用例就是语言翻译,假设你有一堆意思相同的英法句子对,输入句子是英语,所以你在训练时尝试解码出法语补充句,并对每一个词元(token)或每一个词获取有监督的学习目标;而当你尝试翻译一个新句子时,你只需使用编码器编码 LSTM 的状态,然后从该状态解码以生成翻译后的法语句子。
第三章:硬件与系统的演进:TPU与分布式训练
Jeff Dean: 随着我们看到神经网络在计算机视觉、语音识别和语言问题上取得越来越多的成功,在兴奋的同时,我们也有点担心要如何实际部署这些强大得多的模型。这就是我们开始建立自己的张量处理单元(TPU)芯片研发计划的起因。当时我做了一个粗略的估算,我说,好吧,我们有一个质量极高的语音识别模型,它将语音识别的错误率减半,这是一个巨大的进步。通过训练一个非常庞大且极其复杂的模型架构(比如一个 8 层的全连接神经网络),仅仅利用大量数据进行训练,我们在项目启动后短短六个月内取得的成就,相当于过去 20 年语音研究的成果。但那个粗略的计算表明,如果我们想把这个模型部署到一个拥有 10 亿用户、每人每天对着这个模型说 3 分钟话的场景中,我们需要将 Google 现有的计算机数量翻一番。这对于推出更好的语音识别系统来说,显然是站不住脚的。
这使我们确信,探索用于神经网络推理(inference)以及后来的神经网络训练的专用计算设备,将是一条卓有成效的道路。这种自我驱动促使我们带着坚定的信念去推进这件事,并组建了一个芯片设计团队来构建这些芯片。两年后,第一块芯片问世了,硬件项目往往就是这样,需要一点时间,但我们最终推出了 TPU v1 芯片。它利用了神经网络的两个非常好的特性:首先,降低精度是完全没问题的,尤其是对于推理任务而言。你完全可以使用 7 到 8 位的精度,而不是像大多数人在考虑浮点计算时想的 16 位、32 位或 64 位。其次,我们探索的几乎所有模型,都是由少数特定类型的线性代数运算的不同组合构成的,比如矩阵乘法(matrix multiplies)是它们的核心,然后是某些类型的点积、归一化和缩放。如果你审视当今大多数机器学习算法,就会发现只需对这类运算进行不同的重新排列,这就意味着你可以构建一个加速器,它具备极高性能的低精度线性代数运算能力,并能广泛适用于各种神经网络。而且它的效率要高得多,因为它只需要做这些事情,不需要做其他任何事情。
它不需要运行 Microsoft Word、Chrome 浏览器或其他任何东西。因此,TPU v1 最终被证明比同期的 CPU 和 GPU 快 15 到 30 倍,且能效比高出 30 到 80 倍。它现在也是 ISCA(国际计算机架构大会)50 年历史上被引用次数最多的论文。随后我们将芯片设计团队的注意力转向了训练问题,因为我们觉得在模型训练上实现比在 CPU 和 GPU 上更大规模的扩展将非常重要。所以这在很长一段时间内都是我们的重点。
现在我们已经生产了许多代 TPU,它们本质上就是机器学习超级计算机,对吧?与 TPU v1 不同,它不再是单块芯片,而是由定制的高速互连(custom high-speed interconnect)连接起来的海量芯片。这让我们能够将模型训练分布在这些芯片上,并在这个定制的互连网络中传输激活值、参数更新和梯度更新。
TPU v4 引入了一项非常奇特的技术,我们为这些加速器机架配备了光学互连(optical interconnect)。一个机架有 64 个加速器,我们可以制造一种假象,让这 64 个加速器的机架看起来就在另一个 64 个加速器机架的旁边,尽管它们在数据中心的地板上相隔了 100 米。如果那个机架发生故障,我们可以换上另一个机架,并让在网络拓扑上看起来,新换上的机架就在这台旁边。随着规模越来越大,你会遇到各种硬件故障。所以你希望能够像这样对它们进行重新配置。
因此我们看到了硬件性能的持续扩展。如果你看左栏的 TPU v4,每块芯片的峰值算力约为 275 TFLOPS。最大 Pod(集群)规模是 4096 块芯片,而现在我们的 Pod 规模大约翻了一番,且拥有大得多的 HBM 内存容量、高得多的内存带宽,以及每块芯片更高的浮点运算能力。如果你比较每个 Pod 的峰值性能(即我们在定制互连下拥有的最大网络配置),以 TPU v2 Pod 作为 1 倍基准,最新的一代(其实是 v6,但现在我们已经停止用数字命名了,遗憾的是这让它们变得更难记住),名为 Ironwood 的第六代 TPU 的单 Pod 性能大约是 TPU v2 的 3600 倍。而且它的能源效率也高得多,性能功耗比(flops per watt)大约提升了 30 倍,而这才是你在能源成本方面最终关心的。
在过去 15 年里发生的另一件事是,开源工具真正使得整个社区能够使用相同的抽象组件和软件库进行构建,社区也可以致力于改进这些工具。所以基于我们在 2011 到 2014 年间使用内部软件库跨多台计算机并行计算、训练大模型并进行推理的初步经验,我们开发了一套名为 TensorFlow 的软件。最近几年,Meta 公司的各位同仁和其他地方的研究者推出了 PyTorch,而 Google 的另一群人则推出了一种更具函数式编程风格的计算范式,叫做 JAX。所有这些都是非常棒的系统,在我们的 Gemini 训练中,我们一直使用 JAX,它的表现非常出色。
第四章:算法与模型架构的关键突破
Jeff Dean: 然后在 2017 年,我的一些同事致力于提出一种比当时在语言模型领域堪称最优的循环 LSTM 更好的架构。他们的观察是,在 LSTM 中,你有一个状态向量代表当前的状态,当你一次推进一步(一个词元)时,你会更新那个状态;有一种复杂的机制去更新状态,然后你进入下一个词,再次更新状态。所以当你处理比如一个 100 个词的句子时,你需要更新状态 100 次。这存在两个问题。一个是这是一个顺序的(sequential)过程,每遇到一个词你都必须等待状态更新完成,在你能继续为下一个词更新状态之前,存在对该状态准备就绪的顺序依赖。因此它非常难以并行化,这在现代硬件上是不利的。另一个问题是,你试图把你经历过的所有内容强制塞进一个单一的向量中——你想把你经历过的事物中可能想要记住的所有东西放在一个单一向量里,而不是仅仅保存你经历过的所有向量,然后在语言建模过程中当你需要的时候再去察看它们。
所以 Transformer 模型的核心观察是:让我们保存所有这些向量(或者这些向量的某种特征表示),然后以一种带有可学习的注意力机制(attention mechanism)的方式去关注它们。他们能够证明,与 1 层、2 层或 4 层的 LSTM 相比,在使用 Transformer 时,测试损失(Y 轴)显著下降,无论你看哪个模型规模都是如此。所以,计算量减少了 10 到 100 倍,模型体积缩小了 10 倍,使用 Transformer 给出的质量大致与使用大得多、计算成本高得多的 LSTM 相当。
在 2018 年,我认为人们真正开始认真对待这个问题(尽管我觉得在 Word2Vec 的工作中,我们已经在做类似的事情了),但在 2018 年,大家真的在关注:你如何利用自监督数据(self-supervised data)在规模化上做语言建模?核心洞察就是:世界上有海量的文本。因此,在这些文本上进行自监督学习,可以为你提供几乎无限量的、你知道正确答案的训练数据,对吧?就像你有一段文本,然后你隐藏下一个词,试图猜测它。如果你猜对了,你就得到一个正反馈(类似于 1);如果你猜错了,这会给你一个非常清晰的误差信号,你可以将这个信号传播回去以改进模型,这样在同样的场景下下次它就会猜得更好。这确实是让这些聊天模型和语言模型获得如此惊人能力的主要原因之一。(笑)我这周专门为这个演讲创建了一个定制的例子。
通常人们会使用两种类型的训练目标。一种叫做自回归(autoregressive),你可以看到前缀,也就是左边所有的内容,然后试图预测下一个词。比如“Princeton blank(普林斯顿 ___)”,这个词有点难预测,可能是普林斯顿新泽西(Princeton New Jersey),也可能是普林斯顿大学(Princeton University)。“Princeton University blank(普林斯顿大学 ___)”,这个同样很难预测。“is cold in the blank(在 ___ 里很冷)”,这个相对好预测一点。这就是自回归。而“填空(fill in the blank)”则是另一种训练目标,你可以看到两侧的内容,但你隐藏了其中一些词,并试图强迫模型猜测出你隐藏的那些缺失单词。你同样可以获得非常精密、非常清晰的误差信号,用来训练模型。你可以直接在海量文本上使用这两种训练目标的任何一种。填空目标往往被用来构建能很好地表示一段文本的表征,但你不能真把它用在聊天机器人上,因为你没有右边的内容。所以你不得不主要使用自回归模型来处理对话应用,但填空模型也有一些很好的用途。
到了 2021 年,我的另一批同事将 Transformer 应用到了计算机视觉领域。在那个时候,最先进的技术是使用各种卷积(convolutional)模型,它们具有这种局部的感受野(receptive fields),在图像中的不同位置累积和共享参数。而现在,你可以直接将基于 Transformer 的模型应用到相同的问题上。他们发现,如果你看达到特定准确率水平所需的 TPU 核心天数(TPU core days),与当时相当优秀的 ResNet-152 模型相比,视觉 Transformer 所需的 TPU 核心天数低得多,且准确率更高。另一个好处是,你可以隐约看到注意力机制在关注什么。这给你提供了一点模型可解释性:为了做出比如“中间那个是一架飞机”的分类预测,它到底在关注什么?
我们(包括我自己在内)投入大量研究的另一个领域是稀疏模型(sparse models)。在一个稠密模型(dense model)中,你有一堆参数,在每次推理或每个词元的处理中,你都要激活整个模型来为那个示例做出预测。这似乎有点……这不是我们大脑的工作方式,对吧?我们大脑的各个不同部分擅长不同类型的事情。我们会激活正确的部分。比如当我在担心垃圾车倒向我的汽车时,我大脑的某些部分是活跃的,而思考莎士比亚诗歌的那部分大脑则并不活跃。所以稀疏模型的核心理念是,我们希望模型的不同部分擅长不同种类的事情。然后能够自动学习——不仅学习这些专家模块(experts)的参数,还要学习路由机制(routing mechanism),以确定对于不同的输入该激活模型的哪些部分。这赋予了模型大得多的容量(capacity),但依然保持着相对较低的推理成本,因为你只激活了模型中很小一部分参数。
重要的是,在相同的准确率下,它能减少 8 倍的训练算力消耗。这是选项 A。或者,你可以选择投入等量的训练算力,然后获得一个强大得多的模型,对吧?相同计算量下的能力大幅提升。这是图中的选项 B。通常这些情况你会在这两者之间取个折中。但这已经是让我们的模型随着时间的推移变得越来越好的一个非常重要的工具——将稀疏性引入其中。在这个大方向上,我和同事们做了大量的工作,研究路由应该如何完成、你应该激活多少个专家等等各种方面。
我们一直致力于的另一件事,是构建用于分布式机器学习计算的抽象。Pathways 是我们很早以前就开始开发的一个系统,它真正希望能把底层的这堆加速器抽象掉,给研究人员一种错觉:你面对的只是一台连接着数万块芯片的超级计算机,你基本上只需专注于表达你试图运行的机器学习计算。而在底层,Pathways 会做大量工作来管理如何在这些芯片之间进行你所表达的 ML 计算。比如,在其中一个 Pod 内,它会使用定制的 TPU 互连网络;当跨越同一数据中心建筑内的 Pod 边界时,它会使用数据中心网络;当跨越同一数据中心园区的不同建筑时,它会使用紫色(长距离)网络链路;而当你可能需要跨越广泛分布的城域范围时,它会使用广域网(WAN)链路。当我们实际上把 JAX 架设在 Pathways 之上时,这意味着我们可以从一台主机上的单个 Python 进程来驱动整个训练过程。这个 Python 进程会说:“太棒了,我可以访问这几万个 TPU 芯片并运行这个计算。”而 Pathways 会在底层默默处理系统各个部件发生故障时的情况,以及换用新硬件的问题。
当你在越来越大的规模下运行时,往往会发生另一件事,遗憾的是,并不是所有的芯片、机器、网卡或电缆都能按设计运行。这是一个非常可悲但又非常真实的世界状态。特别是,有些硬件并不会以那种你能立刻检测出来并替换掉的方式失效,它们有时会非确定性地(non-deterministically)、静默地产生错误结果。有时这还与当时的机架温度等动态条件有关。当你在这些硬件上运行独立的计算任务时,这已经是一个巨大的挑战;但当你试图让所有这些芯片作为一个统一编排的机器学习训练计算(一切都是同步的)来运行时,这就更糟糕了,因为这会迅速传播错误的结果。打个比方,如果其中一个硬件将你梯度指数位翻转了一个比特,突然之间你传播的梯度就不再是 0.2,而是 10 的 20 次方,这绝对会让你抓狂。
所以我们在训练过程中,会监控各种关于模型健康状况的指标。特别是,你可以监控模型每一层的梯度范数(norm of the gradient),看看有没有出现异常的峰值。比如这就是一个由这种“静默数据损坏”(Silent Data Corruption, SDC)引起的异常峰值。然而,并非所有的峰值都必定是由机器问题引起的。看这个峰值,这里没有 SDC,这仅仅是因为某一批次的训练样本包含了一些导致梯度极其巨大的特征。而你很难将这两种情况区分开来。
我们解决这个问题的方法之一,是引入自动触发的确定性重放(deterministic replay)。如果我们看到梯度的异常峰值,我们将有效地重新运行那一步或最后几步的计算,看看是否能得到相同的答案。如果我们得到相同的答案,我们就会得出结论:嗯,这可能没问题,这可能是数据引起的,而不是硬件错误。但如果是硬件错误引发了这个问题,希望我们在重新运行它的时候,能够得到一个不同的答案。但也可能存在这样的情况:我们没有看到梯度峰值,但实际上静默数据损坏正在发生,只是它没有导致梯度出现非常大的峰值。这种情况下该错误对模型是良性的,尽管我们并没有检测到它。可以说各种各样的情况都会发生,非常有趣(无奈)。
Pathways 系统正是我们透明地处理这些问题的方法的一部分。比如,假设这些蓝色的 Pod 或 Pod 切片目前正在运行我们的同步训练任务。我们有这 7 个蓝色的模块。我们有一个灰色的热备用节点(hot spare),然后我们还有另一个热备用节点正被用来运行 SDC 检测器(SDC checker)。也就是说,我们拥有一个持续运行的任务,哪怕是在闲置芯片上运行,以便在实际使用它们之前努力剔除掉存在缺陷的硬件。某台有缺陷的机器引发了静默数据损坏,SDC 检测器识别出了这个问题,因为我们进行了重放,并发现两次运行的结果不匹配。于是我们能精确定位是哪个 Pod 和哪些芯片出了问题。我们将那部分硬件踢出集群,并透明地使用热备用节点替换掉它,使训练过程欢快地继续进行。然后把有问题的硬件发送给我们的维修团队,希望他们能更详细地弄清楚到底发生了什么。
在 2022 年,让模型在推理(inference)阶段“思考”更长时间成为了一种新趋势。特别是人们观察到,如果你提示(prompt)模型在一个例题上展示出更多的工作过程,然后再让它去解决类似的问题……你看,如果你只是直接问答案(“模型请给我答案”),它会搞错。在这个例子里,你用一个例题去提示它,你说“答案是 9”。然后你抛出你真正关心的问题,模型会模仿这种行为,直接说答案是 50,结果它把这道题做错了。但如果你给模型一个完整推导的示例,那么模型就会倾向于以类似的方式,一步步通过实际的解题过程,从而更有可能给出正确的答案,对吧?这就像是你四年级数学老师告诉你的那样:“把步骤写出来。”很高兴看到机器学习模型也是这么运作的。从某种角度来看,这实际上是在推理时赋予了模型更多的计算量去思考,对吧?因为它需要生成的每一个词元,都意味着在模型里完整传递了一次。因此,你可以把生成答案的长度,视为用于得出该答案所分配计算量的某种比例表征。你可以看到,当模型达到一定规模时,当你允许它使用“思维链”(Chain of Thought, CoT)时(你用思维链提示词去鼓励它),GSM8K 测试集的解决率获得了非常巨大的提升。请记住,这就是我刚才说的那种八年级数学题(实际上,像“约翰有 5 只兔子,他又得到了 2 只”这种题,可能算不上八年级,更像五年级甚至二年级的题)。不管怎样,这些问题其实都很简单,但在 2022 年,这类问题准确率的飙升还是让我们非常兴奋的。请记住这一点。
我们致力于研究的另一件事是模型蒸馏(Distillation)。在此过程中,你可以利用一个强大的“教师(teacher)”模型,去指导一个更小、更经济的“学生(student)”模型,通过从大型模型能够做出的更复杂的预测中进行学习。特别是在你进行语言建模时——比如“演奏一曲 ____ 协奏曲(perform the concerto for ____)”,真实的答案在这里是小提琴(violin)。这就是你的训练方法通常用来提供监督学习信号的词。但如果你已经有了一个非常优秀的模型,这个教师模型能给你的是一个关于可能出现的下一个词的“概率分布”。所以它可能是小提琴(violin),可能是钢琴(piano),也可能是小号(trumpet),但它几乎肯定不可能是飞机(airplane),对吧?除非有了什么我不知道的新型协奏曲。这在模型的最顶层提供了一个极其丰富的梯度信号,比单纯的“你有没有猜中‘小提琴’”要包含多得多的信息。而后者正是未经蒸馏的损失函数所能提供的一切。这就使得你能够将极大型模型的大量能力,迁移到一个小得多的模型中,并且可能只需要少得多的数据。
在论文最初的实验中,我们研究了一个语音识别问题。我们有一个基准线:使用 100% 的训练集,在训练帧准确率为 63.4%,测试帧准确率为 58.9%。如果你直接把使用训练数据的比例降到 3% 来训练这个基准模型,模型会发生过拟合——你的训练帧准确率高达 67%,但测试帧准确率会暴跌至 44.5%。然而,如果你在蒸馏过程中使用这些“软目标(soft targets)”,即使仅仅使用 3% 的训练数据,你也能获得相当不错的训练帧准确率(实际上甚至好于在 100% 训练数据上训练的基准模型),并且你的测试帧准确率几乎和使用 100% 数据训练的完整模型一样好。所以,这是一种非常关键的技术,它有效地使你能够将任何体量的模型转变成另一体量的模型,通常是把大模型变成小模型。例如,我们在 Gemini 中就是使用这种方法,从 Pro 规模(pro scale)模型蒸馏出一个性能几乎和 Pro 规模模型一样好的 Flash 规模(flash scale)模型。
在过去四五年里,强化学习(Reinforcement Learning, RL)在激发模型展现出我们期望的特性方面变得越来越重要。给定一个预训练模型——你只是让它接触了大量的文本训练数据——这个模型具备了一系列能力,但你通常想要引导一下这些能力。比如,你希望引导模型在回应中表现出你想要的行为。你可能喜欢某种回应的风格,你可能倾向于针对特定类型的问题有特定长度的回应,你还希望模型内嵌安全属性(例如,不要参与这些类型的话题,或者在这种场景下不能说这类的话)。你还想通过向模型展示如何处理更复杂的问题来增强它的能力。当你使用强化学习时,核心问题之一就是:奖励信号(reward signal)从哪里来?但这确实在很多领域极大提升了模型的能力。奖励信号事实上可以来自很多不同的地方。其中之一是你可以使用人类反馈(Human Feedback)。对于这类问题,你更喜欢回答 A 还是 B?让人类来评估并给出奖励。这就是非常有效的做法。即使只有相对较少的样本,这种人类反馈也能相当显著地改变模型的行为。
你也可以使用机器反馈强化学习(RL from Machine Feedback),即反馈来自另一个模型。这个模型通常被称为“奖励模型(reward model)”。你可以向奖励模型输入提示词说:“请评估对于问题 Q,你更倾向于回答 A 还是回答 B。”然后你让你的基础模型生成两个回答,再去问奖励模型:“你觉得哪个更好?”这就给了你一个奖励信号。你还可以在可验证的领域(比如数学或编程)进行强化学习。例如,你可以生成可以通过定理证明器(theorem prover)检查的证明或解答,并在模型为您试图解决的问题生成了正确的证明时,给予正向奖励。在编程领域,你可以生成代码,现在你有了判断代码是否能编译的奖励机制。代码编译成功并能通过单元测试吗?你可以获得更多的奖励。这些方法在数学和编程领域确实有很大帮助,在邻近领域(比如更复杂的推理和规划)中也非常有益。我认为,在不可验证的领域中,如何提高强化学习的有效性,以及你从哪里获取有意义的奖励信号?这是一个很好的开放性研究问题,它非常开放且适合孕育大量酷炫的方法。
2023 年,我的一些同事提出了一种非常棒的加快推理速度的方法——投机解码(Speculative Decoding)。自回归解码的问题之一是,注意力机制在“预填充(prefilling)”阶段需要获取状态。假设你有一个 1000 个词元的输入,这部分完全可以并行处理。但现在,如果你想开始生成回复,你得先生成第一个词元,然后等你生成完这第一个词元后,你才能读取该词元,然后生成下一个词元。因为你需要前一个词元的注意力状态才能生成下一个。所以这又是一个循序渐进的过程,有点像我们在 LSTM 中遇到的问题——你必须经过一个串行的解码阶段。投机解码是一种极好的方法,你只需要改变解码算法,完全不用重新训练你的模型,不需要改变模型架构,也不需要微调。同时,算法保证你能得到绝对相同的输出分布(output distribution)。
它的核心洞见是:使用极大型 Transformer 模型进行解码是内存受限(memory bound)的。也就是说,硬件本可以执行远远多得多的浮点运算,却被卡在需要将模型的所有权重转移到乘法单元(MX)中才能进行单个词元解码这一步上。第二个洞察是:某些词元比其他词元容易预测得多。“你能告诉我 7 的平方根是多少吗?”“当然,7 的平方根是 ___”。这个最后的词元对模型来说预测难度极高。但其他许多词元模型却能非常轻易地预测出来。比如在问号之后,它很可能一口气预测出四五个词元,并能把它们猜对(特别是前几个)。因此,这里的想法是:引入一个快速的起草模型(drafter model)。你不需要动用大模型那极其复杂的结构,只需用小模型快速生成(比方说)接下来的 8 个词元,然后让目标大模型并行地检查这 8 个词元。这实际上等于把你的批量大小(batch size)从 1 提升到了 8。如果你平均每次能接受这 8 个词元中的 4.5 个,那么你就极大地提升了你的计算效率。
这里有一个演示其工作原理的动画。如果只使用庞大且缓慢的大模型进行解码(看上面),你一次只能解码一个词元。但如果你在底层配备一个小型的起草模型,它一次起草比如 4 个词元的序列,然后由大模型进行校验。好的,我们再看一次。现在看底下,起草模型不断生成黄色的词元候选,然后上面的大模型根据它自身的概率分布,接收验证通过的那部分词元前缀。在提升这些模型的推理效率方面,这确实起到了很大的帮助。好的,正是许许多多的这些技术组合在一起,才真正让现代模型运转良好:包括推理算法、训练算法、模型架构、软件抽象和底层硬件的大量创新。
第五章:Gemini的诞生与多模态愿景
Jeff Dean: 好的,现在我们聊聊 Gemini。实际上,Gemini 的起源是这样的:当时在 Google 内部,有多个不同的团队都在研发语言模型和构建各种类型的多模态模型。我就说,这太愚蠢了,我们为什么不大家聚在一起呢?与其分散我们的算力和思想,不如大家一起合作,去构建一个统一的、包含多模态能力的模型,并在一个更具凝聚力的项目下投入海量的计算资源。这就是 Gemini 项目的起源。我们在 2023 年 2 月启动了这个项目,团队汇集了 Google DeepMind、Google Research 以及 Google 其他部门的众多合作者。我们的目标非常明确:训练世界上最好的多模态模型,并将它们应用在所有能发挥价值的地方。在此期间,我们已经发布了多个不同迭代版本的 Gemini——第一代、1.5、2代、2.5代,以及最近的第 3 代。我们希望模型从一开始就是原生多模态(multimodal from the start)的。特别是我们认为,它必须能够原生地处理语言、音频、图像和视频,以及其他非人类维度的模态——比如在最近的 Gemini 版本中,我们加入了一些少量激光雷达(LiDAR)数据或机器人控制数据,因为你至少需要让模型了解到这些类型数据的存在。在早期的 Gemini 版本中,我们配备了图像解码器和文本解码器;而最近,我们加入了音频解码器和视频解码器。这样我们就拥有了一个统一的模型,它可以处理由以上任何一种模态混合而成的输入序列的推理。例如,你可以给它一张图片和一段描述该图片(或你希望模型关注的重点)的文本,或许还有一段视频和一些音频,你同样可以以交错的形式让模型输出任何这些模态。
正如我所说,我们基本上建立在许多上述突破的基础之上。我们使用 TPU,我们采用跨数据中心的模型并行和数据并行训练。我们具备对静默数据损坏(STC)错误的快速自动化检测,我们使用 Pathways、使用 JAX、使用词的分布式表征(类似于 Word2Vec 或 Seq2Seq 的工作方式)。我们使用 Transformers,我们的模型通常是稀疏模型。我们进行从大模型到小模型的蒸馏,应用思维链解码及更高级的推理变体,投机解码也是不可或缺的。我们使用 SFT(监督微调)和各种类型的 RL(强化学习),以及一大堆我没时间细说的其他技术。
我们长期致力的另一项工作是将上下文长度(context length)拉得很长,因为我们认为存在于模型上下文窗口中的信息极其有用。你看,在训练阶段,你可能是把数以万亿计的文本语料搅拌在了一起,压缩成数千亿个参数,这种知识是有点模糊混沌的。但在模型的上下文窗口里,你给它的输入信息则是极其清晰的,因为你没有把它跟其他东西混在一起。这就好比模型说:“我看到了你给我的这 900 页文本,我能在解码时查看它的各个部分,进行总结、组合,并提取其中的小片段。”因此,将上下文窗口扩展到极其庞大的长度一直是我们在攻克的难题,且我们认为这非常重要。
从最早的版本起,我们在每一代 Gemini 发布中都力求保持的一个标准是:我们拥有不同规模的模型梯队。其中 Pro 规模(pro scale)模型代表最高质量;而 Flash 规模(flash scale)模型则尽可能地在能力上逼近 Pro 规模模型。最关键的是,我们还希望新的 Flash 规模模型能在性能上超越上一代的 Pro 规模模型,对吧?我们目前已经在三到四代产品中维持住了这一节奏,对此我们非常满意。因为这意味着,最高端、对于许多场景而言可能更慢且更昂贵的模型能力,在六个月后,会因为其能力下放到了 Flash 规模模型中而突然变得人人皆可负担。例如,我们在今年 3 月份发布了 Gemini 2.5 Pro,并取得了非常好的效果。我们也在解决数学问题方面投入了大量精力,并且在去年 7 月,我们参加了国际数学奥林匹克竞赛(IMO),6 道题目做对了 5 道,达到了金牌的分数线。我们对此非常高兴。相比前一年参赛时,当时我们使用了一个组合得更复杂、专门针对数学特化的模型(结合了 Lean 语言和定理证明器等工具,而且针对几何问题等还要调用不同的模型)。而今年,我们仅仅使用了一个“开箱即用”的 Gemini Pro 规模模型,分配了更高的推理“思考时间”预算,就来应对这些挑战。所以我们非常高兴能够凭借一个我们在用户端提供的、通用的基础模型,就能解决这些问题并在 IMO 中斩获金牌。为了让大家直观感受我们在数学能力上走得有多远,大家可以回想一下前面提到的“Fred 有五只兔子,他又得到了两只”。好吧,这其实是一道 IMO 考题。你可以看到我们做对的这五道题的解答。这是其中一道题,这也是我们模型输出的内容。你可以看到这是一种相当复杂的数学风格写作、证明的格式排版等等。它确立了一个上界,引入了引理,构建了下界,并证明了对于问题介绍中出现的所有 Bonso 函数都有 f(n) <= 4n。这就远远超出了 GSM8K 的水平。虽然还没达到研究级数学的水平,但你可以看到这两年间进步的斜率有多大。
然后我们的 Gemini 3 模型在今年 11 月发布,我们在诸多基准测试的结果上都非常满意。同时,如果你去看在野外(in the wild)评估这些模型的平台——你可以在这个叫做 Ella Marina(实为 Chatbot Arena)的平台上看到匿名模型的响应。人们会看两个匿名模型针对特定提示生成的回答,比如:“请帮我解决这道数学题”、“帮我写一个法式洋葱汤的菜谱”或者“我去看眼科医生……”。人类评审会打分判定是回答 A 好还是 B 好。通过海量的配对评估,你能得出不同模型的相对实力,也就是 ELO 分数,就像国际象棋积分一样。
我们一直在致力的另一件事是 Search(搜索)和 AI 模式。我们希望模型能够实际上生成用户将要看到的 UI 界面。我不知道这个演示能不能行得通,我连上 Wi-Fi 了吗?可能没连上,这可不太妙。好吧,让我开个热点。这大概比登录普林斯顿的访客网络要容易得多,不是吗?稍等一下。好的,让我们等一下网络。快点,哦,连上了。太棒了!谢谢你,T-Mobile。(笑)好的。在这个演示里,用户输入了一段像大学教科书里讲生物学内容的文本,然后他们对 Gemini 说:“给我展示一下这个东西是如何运作的。”模型根据内容生成了一个互动的可视化界面,你可以拖动滑块来控制可视化效果,从而直观感受你正在学习的主题。这相当赞。你能看出来这在教育场景下会是多么有用。
再看另一个例子。这对夫妇手里有一堆用英语和韩语手写的家庭食谱。由于有自动字幕,我把播放速度调慢到了 0.25 倍。他们把这些纸质食谱拍下来,要求 Gemini 把这些食谱用英语和韩语进行转录和翻译。如果有人会韩语可能可以帮忙验证一下英语翻译准不准。好,现在他们说:“请用这些食谱为我创建一个双语网站。”然后就生成出来了。我们还添加了一些自动生成的配图。这是一个完全由模型自动生成的网站。我认为它的意义在于,这种极其复杂的模型能够让许多原本没有软件编写技能的人,通过软件的形式得到他们想要的东西。所以我想,未来世界里诞生的软件将比现在多得多。虽然这只是个可爱的小例子,但关注这些模型能做的事,感受它们在编程和解决问题层面的复杂性,还是很有价值的。
关于用于生成图像和视频的生成式模型,它们的进步也非常迅速。我们最初发布了一个叫做 Nanobanana 的模型版本,后来我们制作了一个计算成本更高、但质量好得多的版本,叫做 Nanobanana Pro。举几个你能用它做什么的例子。你可以输入一张建筑蓝图,然后说:“请根据蓝图制作一张逼真的 3D 效果图。”你可以想象在架构可视化中这是多么有用。你还可以说:“请在这张原始的 Transformer 架构图上,为图中不同部分发生的关键过程加上标注。”如果你在读一篇研究论文,拥有这样的一张可视化图解会非常有用。
你实际上还可以看到模型在像素空间(pixel space)中的推理思考。看这个球和斜坡的输入图像。“请告诉我球会落入哪个桶里?通过生成图像进行逐步求解(step-by-step)。”你现在实际上可以看到模型会生成一系列它推理过程的图像。开始运作:第一步,球滚到这;第二步,球滚上 3 号板;第三步,球滚向 5 号板;第四步,它掉进 B 桶。你可以看到你自己在解决这个问题时,脑海里大概也会产生类似的预期画面。而模型能够做到这一点,并且真实地将其渲染出来。你还能给莱特兄弟的飞机标注上各种数据,我猜重 605 磅吧。真有意思,我以前都没意识到它这么重。
当我们最初发布 Nanobanana Pro 的时候,我在推特上发了张图展示它的能力。结果很多人感到非常伤心。(笑)有人说:“为什么没有冥王星(Pluto)?”于是我说:“好吧好吧,我自己也是在九大行星时代长大的孩子。”所以我发指令:“在这个输入图片 219 的基础上加上冥王星,并加上一句幽默的注释。”模型决定加上这句引用:“前行星,被降级为矮行星身份,至今仍对此耿耿于怀。”网友回复:“完美,我们的青春回来了。”(笑)
第六章:大型AI项目的组织与未来展望
Jeff Dean: 我想简要谈谈我们是如何组织像 Gemini 这样庞大的项目的。这是一个规模巨大的团队。我现在发表论文,上面会有超过一千名合著者。我们的技术报告非常长,哪怕只是把作者名字列出来都要占去好多页篇幅。(笑)我们总是试图在作者名单的前几个字里拼出什么搞笑的词来。当你有这么多人要试图协同做一件事时,你需要一些架构体系。所以我们有总负责人,我们有项目管理和产品管理人员,他们不仅帮助我们维持组织运转,也帮助我们从产品角度评估:下一代模型应该具备什么能力?
然后我们有许多不同的子领域,它们对于让 Gemini 良好运转至关重要。一个是模型开发(包括预训练、后训练和强化学习等)。我们还有一个可以在我们的 Pixel 手机端侧运行的 Gemini 版本,它有着不同特性的训练数据和所需的能力。在能力方面,我们有一系列非常重视的特定领域:如安全性、视觉、音频、代码、Agents(智能体)和国际化。此外还有核心基础领域,例如:我们应该用什么数据来训练?在给定新模型训练的词元(Token)预算下,我们如何获取最高质量的数据?我们如何知道自己在各个能力维度上做得好不好?基础设施建设方面:我们如何让训练过程顺利进行?如何让服务(serving)基础设施运转良好?代码库该如何管理?最后,还有一些更长期的前瞻性研究,这些研究旨在为 Gemini N+2 或 Gemini N+3 提供好主意,并在正确的时间节点注入其中。我们的团队成员遍布全球各地。三分之一的人在湾区,三分之一在伦敦,还有三分之一在其他许多地方(比如纽约、巴黎、波士顿、苏黎世、班加罗尔等)。时差问题超级烦人,但我们也没什么好办法。不过,加州西海岸和欧洲伦敦之间的黄金时间,一天大概有三个小时对大家都不算太糟糕。这确实意味着你必须拥有高效的异步工作方式。因此我们有成百上千的大小讨论组、聊天室以及 Google Chat 空间。我自己就加入了 200 个这样的讨论群。
我们有一种被称为“征求意见稿(Request for Comment, RFC)”的内部文档机制,它有点像技术报告,是一种获取反馈的半正式方式。用来了解其他人在做什么,或者记下某个想法。这些文档复杂程度不一:有的是早期想法“我正在思考这个,需要大家评论”;有的是“我已经穷尽了某个思路的十种变体,我们应该把哪一种放进下一个 Gemini 版本里”。它们是按顺序编号的,我刚看了下,现在已经有超过 5000 份了。所以内部有大量的 RFC,从简单的一页纸到堪比论文或技术报告的都有。然后是排行榜(leaderboards)和统一基线(common baselines),这使我们能够基于数据做出关于如何改进模型的决策。所以我们会有很多轮实验:你会先进行大量的小规模实验,只把看起来有前途的想法推进到中大规模实验中。每隔一段时间,我们会将证明在大规模下成功的实验纳入新的候选基线版本,然后不断重复这个过程。看起来这套流程运转得很不错。
抱歉我有点超时了,谈谈对未来的前瞻性想法吧。我认为一个至关重要的领域是:人类和 AI 智能体(Agents)将如何协同完成工作?目前的普遍情况是,一个人坐在那儿通过对话界面跟 AI 进行互动;但在未来,情况似乎会演变成人类协调几十甚至上百个 AI 智能体,让它们代替自己执行任务。在这个过程中,人类给出的可能只是弱指令(weekly specified)。我们该如何提供合适的人机交互(HCI)范式来管理这样一支由 50 个虚拟助手组成的团队?这些智能体自己之间又该如何合作来完成任务?这将赋予我们怎样的能力?我觉得这些都是极具吸引力的方向。
我觉得 100 万 Token 的上下文是非常有用的,它可以容纳一千页文本或者几小时的视频。但如果它能够处理 1 万亿(a trillion)Token 的上下文,那就更厉害了。所以,将基于庞大语料库的“基于学习的检索算法”与轻量级模型结合的混合系统,可能大有可为。轻量模型可以用来快速评估“我检索出的这 3 万份文档与我正试图完成的任务相关度有多高”,然后挑出那最重要的 100 份塞进上下文窗口。也许从计算机系统层面引入预计算(precomputation)可以让这一切变得高效且快速。这种“个性化”的 Gemini 系统将有极大的用武之地——试想一下,如果系统能够基于我的邮件记录、照片库等个人资产随时提供参考(当然需要我的授权),那我会爱死它的。网络搜索、多模态搜索和检索(比如搜索所有的 YouTube 视频),以及代码编程智能体(比如为 Google 每一位开发者配备一个关注了整个 Google 代码库的智能体)。
然后,在未来,我认为推理阶段的效率(inference efficiency)将是重中之重。这些模型的训练成本极其高昂,你需要用到无数的芯片。但未来会有越来越多的推理任务被触发,会有越来越多的智能体以极度复杂的方式调用模型,并与其他同在进行推理的智能体互动。因此,专门针对推理来定制硬件设计将变得无比重要。而且我坚信,通过模型和算法层面的改良来实现高效率的推理非常关键。这些推理任务如果是低延迟的,那是巨大的加分项——模型在 100 毫秒内给你回应和 5 秒才给出回应,用户的体验是天壤之别的。并且我相信,应用 AI 来自动化芯片设计,将是我们获得更高效推理硬件的途径之一。关于这一点我自己有个完整的讲座,但核心思路就是尽可能地利用机器学习和强化学习(RL)来辅助设计。
我还剩两张幻灯片。过去几年我参与的另一项工作是,我们集结了一群合著者,共同探讨 AI 对社会各个非计算机科学领域的影响。我们想正反两面地客观审视这些潜在的影响。我们确定了我们认为受 AI 影响最剧烈的七大领域:就业、教育、医疗保健、虚假信息(misinformation)、媒体与娱乐、政府治理与国家安全、以及科学发现(AI for science)。然后我们去访谈了这些领域的众多领域专家,试图找出那些能在其中一两个领域提供真知灼见的人。我们将与专家交流的心得连同我们自己的思考写成了一篇很长的 arxiv 论文。由于没什么人读过那么长的版本,我们在 CACM (Communications of the ACM) 期刊上发表了一个较短的版本,其中一位合著者 Dave Patterson 还在《经济学人》(The Economist)上写了一篇很棒的单页评论文章。所有这些内容都发布在 shapingai.com 这个网站上。我觉得这是一篇极具启发的文章,它提供了一些关于 AI 在就业和技术转型之外会有何深远影响的真知灼见。作为个例,这也是我唯一一篇拥有自己专属网站的论文。(笑)
总结一下,我认为像 Gemini 这样的 AI 模型,以及基于它们所构建的产品,正越来越成为我们日常试图完成任务时不可或缺且强大的工具。更深入的研究和创新将继续推动这一趋势。它将在刚才我提到的那些塑造 AI 的各个领域——如医疗保健、教育、科学等——产生巨大的影响力。它潜藏着将深奥的专业知识(因为这些模型在某些领域极度专业)传播给全世界许多人的可能,这是一项极具震撼力的能力。如果妥善发展的话,我认为在这个由 AI 辅助的未来,前景将无比光明。
谢谢大家!(掌声)
第七章:问答环节
提问者 1: 对 AI,您最大的担忧是什么?
Jeff Dean: 我最大的担忧?我认为大家在 AI 系统的安全性等方面有着各种各样的看法。但我倾向于认为这些担忧有些被过度夸大了。我觉得通过仔细的工程设计限制 AI 系统能做什么,我们将能够安全部署这些系统,尽管它们能力非凡。在近期内我真正感到担忧的是“虚假信息(misinformation)”。因为现在我们已经能够制造出极度逼真的视频和音频内容,即便是极其专业的辨别者在有充分时间分析的情况下也很难区分真伪。这确实是我担心的一个领域。同时,我们应该如何应对 AI 在过去原本做不到的领域中展现出强大能力所带来的冲击?如何确保人们为这些职业和社会转型做好准备,学会使用这些新工具,并通过使用这些工具变得更高效更有生产力——而不是突然间发现人类无法完成工作,因为该领域已经被彻底自动化了。这同样需要我们持续关注。
提问者 2(Joey): 我是计算机科学专业的大四学生 Joey。我的问题是关于“幻觉(hallucinations)”,特别是在执行长任务逻辑时,既然我们的工作流和上下文窗口越来越长。我们知道,即使过去的模型声称有 100 万的上下文窗口,但在逼近 100 万上下文窗口极限时,除了简单地给语言模型加上搜索之外,模型的保留率和回复质量都会下降。对于这些更加关键的应用,Gemini 正在优先考虑哪些除了检索之外的方法来减少幻觉呢?
Jeff Dean: 我认为一个核心技术就是:与其只生成一个答案,不如通过生成多个可能的回答路径(rollouts),然后让模型自己去评估这些路线,判断它认为哪一个可能更正确。这本质上也是在调用更多的推理时间计算量,或者说是采用思维链(Chain of Thought)风格的推导模式。这些方法不仅能够确实有效降低产生幻觉的几率,更重要的是它构成了我们在解决国际数学奥林匹克竞赛(IMO)问题时所采用的核心策略基础——在解答那六道严苛的问题时,你绝对承担不起幻觉的后果。因此它是一个非常可靠的工具。但这又引出了推理效率(inference efficiency)的问题——因为如果你想要为每一道题生成 16 个解题路线,然后再逐一审视它们、决定抛弃哪些并保留最有可能正确的深层路线,你需要极大的算力。
提问者 3: 很好奇您对从研究视角正在兴起并进行研发的“世界模型(world models)”相比大型语言模型(LLMs)有何看法?
Jeff Dean: 世界模型本质上就是检验你是否从某种“物理学”规则等角度,真正理解了多种模态以及世界究竟是如何运作的。我认为我们很多 Gemini 模型实际上在扮演世界模型时表现相当出色。如果你看看之前发布的 Genie 3,它们就是建立在 Gemini 模型的基础之上的,能让你通过纯文本指令创建一个非常精致的“虚拟世界”,然后在该世界中操控互动——比如你可以向左移、向右移、跳跃、向前或向后。而且模型始终维持着与它所构建世界相符合的“一致性”(consistency)。如果你向左转,然后再转回来,原来在那儿的东西依然还在。
所以这是一件很重要的事情。我们目前正与我们在 Waymo 的同事合作,因为这使他们能够在虚拟仿真(simulation)中创建长尾(longtail)训练案例。你甚至可以对它下令:“请构建一个场景:一头大象突然出现在马路中央。”这使你能够设计几十个在现实世界中很难真正发生、但对安全极为重要的边缘测试用例。你可以借此观察无人车将如何应对,模型甚至能够“合成出”这种场景下汽车真正会接收到的激光雷达(LiDAR)数据。从而帮助汽车获得更好的安全性能。
主持人(Kai): 也许还可以再回答一个问题。Jeff 你的压力来了(笑)。
提问者 4: 最后一个问题关于研究方向。我很好奇,如果我们只有极少数甚至是零散的 TPU 资源(比如没有那一千个 TPU),您认为我们应该朝什么研究方向发力?因为我们今天讨论的很多方向都是需要海量数据和算力的。您认为我们怎样才能推动 AI 的进步?
Jeff Dean: 我想说的是,即便是在大厂,我们平时在研究中探索的许多想法也都是从极小规模的实验开始的。所以在这个层面,我认为极其有效的一点就是:你可以尝试去验证许多截然不同的思路。也许你并没有用一千块加速器在训练,但只要你能在小规模上证明这个想法“站得住脚”(this idea has legs)。例如连续学习(continual learning)里的各种问题、截然不同的模型架构等,我认为在小规模下是完全可以出成果的。
我们内部特别常做的一件事,就是我们会训练极小(extremely small)、超小(extra small)以及小(small)等不同规模的版本,然后观察这些版本在扩展时的“性能提升曲线”。这种曲线的“斜率(slope)”,往往比该模型跟当前基准模型绝对的最优指标对比更加说明问题。打个比方,即使它一开始绝对值低于基准线,但只要它增长的斜率看起来很好,这就是个极具潜力的好想法;反之,哪怕它在最小规模上超过了基准线,但随着规模稍微扩大,性能立刻跳水掉到基准线以下,这反而变得没什么意思。
所以我认为,无法获取大规模算力的研究人员能够发挥巨大作用的地方在于:集中精力寻找那些“非常与众不同且有趣”的创新方案。不要过分执念于得到超越当前最优(State-of-the-art,SOTA)的指标结果。而且我认为我们作为整个科学社区也应当达成这样的共识——“这个想法非常新颖独特,虽然还没达到超越 SOTA 的数据,但它在小规模下的展现极具启发性”。无论是作为会议审稿人还是什么其他身份,我们更应当称赞这样的研究精神;而不是过度追捧那种通过稍微调一下某个不起眼的参数,从而在 SOTA 上刷出一点点增量提升却其实缺乏实质性创新的水文。
主持人(Kai): 好的。谢谢大家。(掌声)
Jeff Dean: 谢谢。
术语表
| 原文 | 中文/译法说明 |
|---|---|
| Andrew Ng | 吴恩达(Andrew Ng,音频错写为 Andrew Ing) |
| autoregressive | 自回归 |
| back propagation | 反向传播 |
| CACM (Communications of the ACM) | CACM 期刊(音频错写为 Kacum) |
| Chain of Thought (CoT) | 思维链 |
| data parallel | 数据并行 |
| dense model | 稠密模型 |
| Distillation | 模型蒸馏(Distillation) / 软目标 (soft targets) |
| embedding vector | 词特征表示 / 词向量 |
| flash scale | Flash 规模(Gemini模型量级) |
| flops per watt | 性能功耗比 / 每瓦浮点运算次数 |
| gradient descent | 梯度下降 |
| Ilya Sutskever | 伊利亚·苏茨克维(音频错写为 Ilia Sutzgver) |
| IMO | 国际数学奥林匹克竞赛(International Mathematical Olympiad) |
| Ironwood | 第六代 TPU (Ironwood) |
| LMSYS Chatbot Arena | Chatbot Arena(大模型竞技场,音频错写为 Ella Marina) |
| memory bound | 内存受限 |
| misinformation | 虚假信息 |
| model architecture | 模型架构 |
| model parallel | 模型并行 |
| Nanobanana | Nanobanana(视频中用于生成图像/视频的模型代号) |
| Oriol Vinyals | 奥里奥尔·维尼亚尔斯(音频错写为 Oral Vignyals) |
| parameter servers | 参数服务器 |
| Pathways | Pathways(Google 提出的分布式机器学习系统) |
| pro scale | Pro 规模(Gemini模型量级) |
| Quoc Le | 郭乐(音频错写为 Quaclay) |
| reconstruction loss | 重构损失 |
| Request for Comment (RFC) | 征求意见稿 |
| RL / RLHF | 强化学习 / 人类反馈强化学习 |
| routing mechanism | 路由机制 |
| Seq2Seq | Seq2Seq (序列到序列模型) |
| Silent Data Corruption (SDC) | 静默数据损坏 |
| sparse models | 稀疏模型 / MoE |
| Speculative Decoding | 投机解码 |
| state-of-the-art (SOTA) | 最优表现 / 最先进技术 |
| Waymo | Waymo(自动驾驶公司,音频错写为 Whimo) |
| Word2Vec | Word2Vec |