内容来自:AI 科技大本营(ID:rgznai100)
整理:王启隆
https://www.dwarkeshpatel.com/p/jeff-dean-and-noam-shazeer
最近由 Dwarkesh Patel 主持的播客节目 Dwarkesh Podcast 发布了一场重磅节目:Jeff Dean 对话 Noam Shazeer。这两位嘉宾都是相当有梗的科技大咖,两位的关系本身也相当深厚。
Jeff Dean,谷歌首席科学家,在他在公司的 25 年里,他基本上参与了现代计算领域最具变革性的系统:从 MapReduce、BigTable、Tensorflow、AlphaChip,到如今的 Gemini 大模型。可以说,在“谷歌”和“Meta”这两家科技巨头的对比中,这位就是对标 AI 教父杨立昆的“真·大神”。
Noam Shazeer,则是当前这场人工智能革命的最主要功臣之一。他是现代大语言模型使用的所有主要架构和技术的发明者或共同发明者:从 Transformer 本身,到 MoE,到 Mesh Tensorflow,以及许多其他技术。
此外,Noam Shazeer 曾离职谷歌,创办了社交软件 Character.AI,让 1600 万美国青少年集体热衷于和 AI 虚拟角色谈恋爱,然后又因为模型阉割导致 1600 万美国青少年“失联”,最后这家公司由老东家谷歌收购,Noam 自己也再次回归了谷歌。
本次对话相当轻松幽默,有不少“师徒叙旧”的场景,以下为全文:
谷歌的有趣灵魂
主持人:第一个问题。两位都在谷歌工作了 25 年,或者接近 25 年。在公司早期的某个时候,你们可能都了解一切是如何运作的。从什么时候开始情况不再是这样了?你们觉得有一个明确的时刻吗?
Noam Shazeer:我加入公司的时候,大概是 2000 年底,他们有这么一个制度,每个人都会得到一位导师。我当时什么都不懂,所以我遇到的每一个问题都得问我的导师,而我的导师似乎什么都懂。
后来发现,只是因为我的导师是 Jeff Dean——原来并不是当时谷歌的每个人都懂一切,只是 Jeff 懂一切,因为基本上谷歌的所有东西都是他写的。
Jeff Dean:你太客气了。我觉得公司发展到一定规模,都会经历这些阶段。
我刚加入公司时,大概也就二三十人吧。那时候大家名字都叫得上来,就算公司不断扩张,新来的人也都能记住。
但慢慢地,人越来越多,你开始记不住所有人的名字了,不过还是都认识搞软件工程的那些人。
再后来,连软件工程团队的人也记不全了,但起码还知道大家都在负责哪些项目。
等到公司再大一些,你可能就会收到邮件,说“鸭嘴兽项目”这周五要启动了,然后你心里就犯嘀咕:“‘鸭嘴兽项目’是啥玩意儿?”
Noam Shazeer:哈哈,通常这还真是个惊喜。你会想,“哇,‘鸭嘴兽项目’!”我都不知道我们还在搞这个项目。
Jeff Dean:但我认为,即使不了解每个细节,也要在非常高的层面上了解公司正在发生的事情,这仍然是件好事。而且最好认识公司里的很多人,这样你就可以找人询问更多细节,或者弄清楚该和谁交谈。通过一层或几层关系,如果你建立了良好的人脉网络,通常就能在公司里找到合适的人。
主持人:顺便问一下,谷歌是如何招募到你们的?
Jeff Dean:实际上,是我主动联系他们的。
主持人:Noam,你是怎么被招募的?
Noam Shazeer:1999 年我在招聘会上看到了谷歌,当时就觉得,哇,这家公司肯定已经很大规模了,现在加入估计也没啥意思,因为我认识的人都在用 Google 搜索了——我猜这可能跟我当时是伯克利的研究生有关——我还从研究生项目里退学过好几次。
不过后来才知道,(在大众的视角里)其实谷歌那时候并没有我想象的那么大。
2000 年,我顺手给他们投了份简历,因为当时觉得谷歌是我最喜欢的搜索引擎,而且也想着多申请几个工作机会。结果去了之后发现,谷歌内部真的挺有意思的,感觉就像一群聪明人在一块儿做有意义的事儿。他们墙上还贴着一张挺好看的蜡笔画,记录每天的搜索量,一直有人在更新维护。那个增长势头看起来真是猛。
我当时就想,“这帮人肯定能成,而且他们好像有很多有意思的问题要解决。”
所以我就想着,“行吧,也许可以先去那儿干一段时间,赚点钱,以后就能有足够的资金去搞自己的人工智能研究了。”
主持人:从某种程度上来说,你确实实现了自己的目标,不是吗?
Noam Shazeer:是啊,完全按计划来的。
主持人:你 1999 年就开始考虑人工智能了?
Noam Shazeer:嗯,差不多 2000 年那会儿吧。我记得读研究生的时候,有个朋友跟我说,他 2000 年的新年愿望是活到 3000 年,而且他打算通过发明人工智能来实现这个目标。我当时就觉得,“哦,这听起来好像挺有意思的。”
我那时候真没想过可以在大公司里搞人工智能。当时的想法是,“好像很多人在创业公司赚了不少钱。也许我可以先去赚点钱,这样以后就有足够的钱生活,然后就能长时间专心研究人工智能了。”不过,后来发现谷歌还真是个搞人工智能研究的好地方。
Jeff Dean:我喜欢谷歌的一点是,我们的目标一直都是需要非常先进的人工智能才能实现的。因为我认为组织世界信息并使其普遍可访问和有用,实际上包含了一个非常广泛的任务。这家公司不是只打算做一件小事就止步于此。而且你也能看到,我们最初所做的事情是在朝着这个方向发展,但实际上你可以朝着这个方向做更多的事情。
一顿饭的蝴蝶效应
主持人:在过去的二三十年里,摩尔定律如何改变了你们在设计新系统、确定哪些项目是可行时必须考虑的因素?现在仍然有哪些限制?现在你们能做哪些以前显然做不到的事情?
Jeff Dean:我认为在过去的几十年里,情况变化很大。二十年前到十年前,情况很棒,因为你只需要等待,大概 18 个月后,你就能得到速度快得多的硬件,而且你什么都不用做。
但最近,我觉得通用 CPU 机器的性能提升没有那么明显了,比如制造工艺的改进现在需要三年,而不是每两年一次。多核处理器的架构改进等,并没有像 20 年到 10 年前那样给你带来同样的提升。但我也认为,我们看到了更多专门的计算设备,比如机器学习加速器,TPU,以及最近更多面向机器学习的 GPU,这些设备使得我们实际上可以从更现代的计算类型中获得非常高的性能和良好的效率,这与试图运行 Microsoft Office 或其他类似软件的复杂 C++ 代码不同。
Noam Shazeer:感觉算法似乎是在追随硬件的发展。基本上,现在的情况是,算术运算非常非常便宜,而移动数据相对来说要昂贵得多。深度学习的兴起大致就是因为这个原因。你可以用矩阵乘法来构建它,这基本上是 N 立方的运算量和 N 平方字节的数据通信量。
Jeff Dean:转向以硬件为导向是很重要的转变,因为在此之前,我们拥有的 CPU 和 GPU 并不特别适合深度学习。然后我们开始在谷歌内部构建 TPU,它实际上只是降低精度的线性代数机器,一旦你有了它,你就会想充分利用它。
Noam Shazeer:这似乎都是关于识别机会成本。比如,Larry Page 过去总是说:“我们的第二大成本是税收,而最大的成本是机会成本。”如果他没说过这话,那我就多年来一直误引他的话了。
但基本上是说,你错失了什么机会?在这种情况下,我想机会就是你拥有所有这些芯片面积,但你只在上面放置了非常少量的算术单元。把芯片填满算术单元吧!你可以完成数量级更大的算术运算。
现在,还需要改变什么?好吧,算法、数据流以及其他所有东西都需要改变。
Jeff Dean:而且,顺便说一句,算术运算的精度可以非常低,这样你就可以塞进更多的乘法器单元。
主持人:Noam,我想继续你刚才说的话题,即算法一直在追随硬件的发展。如果你设想一个反事实的世界,假设内存成本下降的速度超过了算术运算,或者只是反转你看到的这种动态。
Noam Shazeer:好的,数据流动极其廉价,而算术运算则不然。
主持人:那么今天的人工智能会是什么样子?
Jeff Dean:你会看到更多对超大内存的查找操作。
Noam Shazeer:是的,它可能更像 20 年前的人工智能,但方向相反。我不确定。我是在 2012 年加入 Google Brain 团队的。我当时已经离开了谷歌几年,有一次回去和妻子共进午餐,我们碰巧坐在 Jeff 和早期的 Google Brain 团队旁边。我想,“哇,那是一群聪明人。”
Jeff Dean:我记得我当时好像跟你说,“你应该考虑一下深度神经网络。我们在那个方向取得了一些不错的进展。”
Noam Shazeer:我想的是“听起来很有趣。”
Jeff Dean:然后我就把他劝回来了。太棒了。
Noam Shazeer:那是 2012 年。我似乎每 12 年加入一次谷歌:我分别在 2000 年、2012 年和 2024 年重新加入谷歌。
主持人:2036 年会发生什么?
Noam Shazeer:我不知道。我想我们拭目以待吧。
主持人:为了整合你们对算法的思考,你们正在考虑改变未来版本的 TPU 的哪些权衡?
Jeff Dean:我认为一个总体趋势是,我们越来越擅长模型量化,或者说使用精度更低的模型。最早做 TPUv1 时,我们甚至不太确定用 8 位整数量化模型是否能行得通。但当时我们有一些初步的证据表明这可能是可行的。所以我们就决定,“太好了,那我们就围绕 8 位量化来设计整个芯片吧。”
然后随着时间推移,大家也看到,用更低的精度进行模型训练也逐渐成为可能。推理精度也提高了。现在人们开始用 INT4 甚至 FP4 精度了。如果 20 年前,你跟一个超算浮点数专家说我们要用 FP4 精度,他们肯定会说,“啥?太疯狂了吧。我们都喜欢用 64 位浮点数!”
现在甚至更低的精度,有些人正在尝试将模型量化到两位甚至一位。我认为这绝对是一个趋势。
主持人:一位?就像 0 或 1 这样?
Jeff Dean:是的,只有 0 和 1。然后再用一位来表示正负号或者其他信息。
Noam Shazeer:这真的需要算法和硬件协同设计才行。因为如果算法设计者没有意识到,通过降低精度可以大幅提升性能和吞吐量,他们肯定会说,“我当然不想要低精度,那会有风险的。”这样就会增加沟通成本和麻烦。
反过来,如果你问芯片设计师,“好的,你们想造什么样的芯片?”他们又会去问写算法的人,算法工程师又会说,“不,我不喜欢量化,太麻烦了。”所以,实际上你需要从全局角度来看问题,搞清楚,“等等,通过量化,我们可以大幅提高性价比啊!”
Jeff Dean:然后你就会意识到,没错,量化确实挺麻烦,但模型速度能快三倍,所以你必须接受它。
Jeff Dean 改变世界的几篇论文
主持人:在你们的职业生涯中,在不同的阶段,你们都做过一些工作,那些技术和我们现在用于生成式 AI 的技术有着惊人的相似之处。1990 年,Jeff,你的毕业论文就是关于反向传播算法的。此外,你们在 2007 年训练了一个两万亿 token 的 N-gram 模型,用于语言模型。
能不能请你回顾一下开发那个模型的过程?当时你脑海里有现在这种大语言模型的概念吗?你认为自己当时在做什么?
Jeff Dean:先说说我的本科毕业论文吧。我大四选修了一门并行计算课程,其中一个章节讲到了神经网络。我需要写一篇毕业论文,一篇荣誉论文。我就去找教授,跟他说,“做一些关于神经网络的东西肯定挺有意思的。”
然后,教授就和我一起决定,我来实现几种不同的并行化反向传播算法,用于训练神经网络。那是 1990 年。我在论文里给这些方法起了一些有趣的名字,像“模式分割”之类的。但实际上,我是在一台 32 处理器的 Hypercube 机器上实现了模型并行和数据并行。
其中一种方法是将所有训练样本分成不同批次,每个 CPU 跑一个模型副本。另一种方法是将一批样本以流水线方式,送到负责模型不同部分的处理器上。我比较和对比了这些方法,挺有意思的。
我当时对神经网络这种抽象概念感到非常兴奋,因为感觉神经网络是正确的方向。它们可以解决当时其他方法解决不了的一些小玩具问题。我那时很天真地认为,32 个处理器就能训练出非常厉害的神经网络。
但事实证明,我们需要大概百万倍的计算能力,神经网络才能真正开始在实际问题上发挥作用。不过从 2008 年末、2009 年、2010 年开始,随着摩尔定律的持续发展,我们开始拥有足够的算力,让神经网络真正应用于实际场景。那大概就是我重新开始关注神经网络的时候。
主持人:我可以先问一下关于 2007 年那篇论文的事情吗?首先,和很多学术论文不一样,那篇论文实际上只有四页,而且读起来很流畅。
Jeff Dean:论文正文是四页,后面还附了 30 页 C 代码。
主持人:但那确实是一篇很棒的成果。能讲讲 2007 年那篇论文是怎么做出来的吗?
Jeff Dean:哦,好的。当时我们在谷歌有个机器翻译研究团队,负责人是 Franz Och,团队里还有其他人。他们每年都会参加 DARPA 的机器翻译比赛,把几种不同的语言翻译成英语,我记得是中文译成英语和阿拉伯语译成英语。
谷歌团队提交了一个参赛作品。比赛规则是,周一收到 500 个句子,必须在周五前提交翻译结果。我看了比赛结果,我们队以相当大的优势赢得了比赛,评判标准是 BLEU 分数,一种衡量机器翻译质量的指标。
然后我就联系了 Franz。我说,“太棒了,我们什么时候能发布这个系统?”他说,“哦,我们不能发布。这东西实际上不太实用,因为翻译一句话要 12 个小时。”我说,“嗯,这时间也太长了吧。我们怎么才能解决这个问题?”
后来发现,他们显然没有把系统设计成高吞吐量的。系统在处理翻译时,需要在一个大型语言模型上进行 10 万次磁盘寻道,为了翻译每个词,他们要在这个模型上计算一些统计数据,我不太好说是“训练”。
显然,进行 10 万次磁盘寻道速度肯定快不了。我就说,“好吧,我们深入研究一下。”然后我就和他们一起花了大概两三个月时间,设计了一种 N-gram 数据的内存压缩表示方法。
我们当时用的是 N-gram 模型,它本质上是统计每个 N 词序列在大型语料库中出现的频率。当时我们的语料库规模是 2 万亿词。那时候大多数 N-gram 模型都用二元语法或者三元语法,但我们决定用五元语法。
所以,我们统计了每个五词序列,在我们那天能够处理的最大规模的网络内容中出现的频率。然后我们构建了一个数据结构,它可以记录,“好的,‘我真的很喜欢这家餐厅’ 这句话在网络上出现了 17 次”,或者类似的信息。
我构建的这个数据结构,可以将所有这些数据都存储在 200 台机器的内存里。然后我们做了一个批处理 API,你可以说,“这里有 10 万个词组需要查找,用于这一轮的翻译,”我们会并行地把结果全部返回给你。这样一来,就把翻译一个句子的时间,从一个晚上缩短到了 100 毫秒左右。
主持人:网上流传着一份“Jeff Dean 语录”的清单,比如,其中一条是“对 Jeff Dean 来说,NP 问题等于 ‘no problemo’(小菜一碟)。”
还有一条也很有意思,现在听你讲这些经历,感觉有点像真的。那条语录是,“在 Jeff Dean 决定用一个周末优化光速之前,光速是每小时 35 英里。”
仅仅是从 12 小时到 100 毫秒,我得好好算算这中间差了多少个数量级。
Jeff Dean:那些语录都是大家太抬举我了。挺有趣的,都是我的同事们开的愚人节玩笑,结果就传开了。
主持人:现在回过头看,这种通过研究词语之间的关系,来构建整个互联网潜在表示的想法,感觉就像是:没错,这就是大语言模型,这就是 Gemini 的雏形。当时,这仅仅是一个翻译方面的想法,还是说你们已经意识到,这是一种全新范式的开端?
Jeff Dean:我觉得,自从我们为翻译构建了这个模型之后,大语言模型就开始被应用于其他方面了,比如搜索补全。你开始输入搜索词,它会智能推荐一些有意义的补全建议。
所以,这绝对是语言模型在谷歌各种应用场景的开端。Noam 在谷歌也做过很多其他相关的工作,比如用语言模型来做拼写纠错系统。
Noam Shazeer:那是大概 2000 年、2001 年左右的事情,我记得那个拼写纠错模型完全是在一台机器的内存里跑的。
Jeff Dean:是的,我记得是一台机器。他在 2001 年开发的拼写纠错系统非常厉害。他还给全公司发了演示链接。
我试着用各种我能想到的错误拼写来搜索一些词组,比如“scrumbled uggs Bundict”。
Noam Shazeer:对,我记得这个。
Jeff Dean:想搜“scrambled eggs benedict”(班尼迪克蛋),结果每次它都能完美纠正。
Noam Shazeer:是的,我觉得那就是语言模型的早期应用。
主持人:但当时,当你们开发这些系统的时候,你们有没有一种感觉,“你看,如果我们把这些东西做得越来越复杂,不只是考虑五个词,而是考虑 100 个词,1000 个词,那么最终得到的表示形式可能就是智能本身”?基本上,这种洞察是什么时候出现的?
Noam Shazeer:其实并没有真正出现过这种想法。我不觉得我曾经认为 N-gram 模型会......
Jeff Dean:统治世界。
Noam Shazeer:对,成为“人工智能”。我记得当时很多人对贝叶斯网络很感兴趣,那看起来也很令人兴奋。
当然,当我们看到早期的神经语言模型时,既能感受到它的魔力,“哇,这东西真能做一些很酷的事情”,而且,它给我最深的印象是,它提出的问题是世界上最棒的问题,因为它非常非常容易定义:给我预测下一个词的概率分布。而且,训练数据几乎是无限的。互联网上有海量的文本数据;我们有数万亿的无监督数据训练样本。
Jeff Dean:是的,或者说是自监督的。
Noam Shazeer:自监督,没错。
Jeff Dean:这很棒,因为你天然就有了正确答案。你可以用除了当前词之外的所有词来训练模型,让它尝试预测当前词。这是一种惊人的能力,仅仅通过观察世界就能学习。
Noam Shazeer:然后,它就逐渐演变成一个通用人工智能 问题。如果你能在这方面做得足够好,那你几乎可以做任何事情。
主持人:在科学史上,有一个有趣的讨论,关于伟大的思想究竟是凭空出现的,还是说它们是某种必然趋势,又或者它们是从一些边缘领域被挖掘出来的。就目前的情况来看,我们现在对人工智能的理解已经非常系统化和逻辑化了,这是否意味着,这种发展路径在很大程度上是不可避免的……
Noam Shazeer:感觉人工智能的很多想法确实像是“存在于空气中”一样。肯定有一些先驱性的想法,比如神经图灵机,还有关于注意力机制的一些早期构想,比如利用键值存储这种结构,让神经网络可以关注输入信息中的不同部分。我认为在某种程度上,好的想法是早就存在的,但在另一方面,也需要有团队去实际实现它们。
Jeff Dean:我更倾向于认为,很多想法都像是已经部分存在于那里了。当你尝试解决一个新问题时,你会注意到一些不同的、可能彼此独立的研究思路。你从这些思路中汲取灵感,然后会发现有些方面还没有被解决,需要你去想办法。将已有的东西进行一些改造,再结合一些新的创新,就可能产生一些前所未有的突破或新的研究成果。
Jeff Dean 的“Holy Shit”时刻
主持人:有没有哪个“Holy Shit”时刻让你印象特别深刻?当你在研究某个领域时,突然冒出一个想法,然后你抱着试一试的心态去验证,结果发现,“天哪,我简直不敢相信这特么竟然成功了?”
Jeff Dean:我记得在 Google Brain 团队早期,有件事让我印象很深。我们当时专注于“看看我们能不能构建一些基础设施,让我们能够训练非常非常大的神经网络”。那时,我们的数据中心还没有 GPU,只有 CPU。但我们知道如何让大量的 CPU 协同工作。
所以我们构建了一个系统,能够通过模型并行和数据并行的方式,训练相当大规模的神经网络。我们用这个系统,在 1000 万张随机挑选的 YouTube 视频帧上进行了无监督学习。它学习的是一种空间局部化的特征表示,所以它会尝试从高层特征中重建原始输入,以此来构建无监督的特征表示。
我们让这个模型在 2000 台计算机上,用 16000 个 CPU 核心进行训练,并且成功运行起来了。训练了一段时间后,模型实际上在最高层构建出了一些有趣的特征表示。其中一个神经元,会对猫的图像特别兴奋。模型从未被明确告知“什么是猫”,但它在训练数据中看到了足够多的猫的正面照片,结果这个神经元就学会了对猫的图像激活,但对其他东西就不会。
类似地,模型中也有其他神经元学会了识别人的脸、行人的背影,以及诸如此类的东西。这挺酷的,因为它是完全基于无监督学习的原理,自主构建出了这些非常高层的特征表示。之后,我们又用这个模型在有监督的 ImageNet 20000 类别图像分类挑战赛上取得了非常好的成绩,相对于之前的技术水平,准确率提升了 60%,这在当时是非常了不起的进步。
那个神经网络,可能比之前训练过的神经网络大了 50 倍,而且效果非常好。这件事让我意识到,“看来扩大神经网络的规模真的是个好方向,而且确实有效,我们应该继续在这个方向上努力。”
主持人:这些例子很好地说明了 AI 系统是如何融入你们刚才提到的谷歌核心使命的:谷歌从根本上来说是一家组织信息的公司。从这个角度看,AI 的作用就是在信息和概念之间找到关联,帮助更快地将想法传递给用户,更快地把他们需要的信息送到他们面前。
现在我们正在使用的这些 AI 模型,像 BERT,显然已经应用在谷歌搜索里了,你可以用它们来提问。它们仍然擅长信息检索,但更重要的是,它们还可以为你编写完整的代码库,完成实际的工作,这已经超越了单纯的信息检索范畴。
那么,你是怎么看待这种变化的?如果说谷歌正在构建通用人工智能 (AGI),那么它还是一家信息检索公司吗?AGI 当然可以做信息检索,但它能做的远不止于此。
Jeff Dean:我觉得我们是一家“组织世界信息”的公司,这个定义比“信息检索公司”的范围更广。也许更准确的说法是:“组织信息,并根据你给出的指令创造新的信息”。
比如,“你能帮我给兽医写一封关于我家狗狗的信吗?它最近出现了这些症状”,然后 AI 就能帮你起草这封信。或者,“你能分析一下这个视频,然后生成一个摘要,概括视频里每隔几分钟发生了什么事情吗?”
我认为我们的多模态能力表明,AI 的应用不只是文本处理。它是关于理解世界上以各种不同形式存在的信息,包括人类交流的方式,也包括非人类产生的信息,比如自动驾驶汽车上的激光雷达传感器数据,或者基因组信息、健康医疗信息等等。
然后,你需要思考如何提取这些信息,将它们转化为对人们有用的洞见,并在用户想完成各种任务时,利用这些洞见来提供帮助。有时候用户只是想“和聊天机器人聊聊天,娱乐一下”。有时候用户想“解决一个非常复杂的问题,这个问题没有单一的信息来源可以检索”。这时,AI 需要从 100 个网页中提取信息,理解它们的内容,然后生成一个有条理、综合性的答案。
还有处理多模态信息,或者与编程相关的问题。我认为这些模型的能力非常令人兴奋,而且它们还在快速进步,我很期待看到它们未来会发展到什么程度。
Noam Shazeer:我也非常期待看到 AI 的未来发展。我认为“组织信息”绝对是一个价值万亿美元的市场机会,但现在万亿美元已经不算什么了。现在流行的是万万亿美元级别的市场。
当然,我们的目标不只是积累一大堆钱,而是要为世界创造价值。当这些系统真的能为你做事,能帮你写代码,或者解决你自己解决不了的问题时,就能创造更大的价值。
为了大规模地实现这个目标,随着模型能力的不断提升,我们必须变得非常非常灵活和动态。
Jeff Dean:是的,我非常期待解决那些基础研究问题。这些问题的出现,是因为我们看到,如果我们尝试某种方法,或者大致朝着某个方向努力,某些方面可能会得到显著改进。也许会成功,也许不成功,但都值得探索。
但我也认为,看到我们能为终端用户实现什么,然后从用户需求出发,反向思考如何构建能够实现这些功能的系统,这是非常重要的。举个例子,“组织信息”这个目标,应该意味着世界上的任何信息,都应该能被任何人使用,无论他们说什么语言。
我认为我们在这方面已经做了一些工作,但离“无论你使用哪种语言,我们都能让你从数千种语言中获取任何信息,并加以利用。任何视频都能用任何语言观看”这个愿景,还差得很远。但我认为那将是非常棒的。我们还没有完全实现,但这绝对是我在未来几年内看到有可能实现的目标。
在上下文中搜索
主持人:说到你们可能尝试的不同架构,我知道你们现在研究的一个方向是更长的上下文。如果想到谷歌搜索,它的上下文包含了整个互联网的索引,但只是一种非常浅层的搜索。而现在的语言模型,虽然上下文长度有限制,但它们真的可以“思考”。上下文学习就像是魔法一样,模型可以真正理解它看到的内容。
你们认为,将谷歌搜索和上下文学习这样的技术融合在一起,会是什么样的景象?
Jeff Dean:好的,我先来试着回答一下,因为我对这个问题思考了一段时间。你在这些模型中看到的一个现象是,它们非常强大,但有时也会产生“幻觉”,出现事实性错误。部分原因是在训练时,你使用了数万亿的 token,并将所有这些 token 都混杂在模型的数千亿参数中。
这就像是把所有知识都揉成了一团,有点模糊不清。模型对数据有一个整体的印象,但有时会混淆细节,给出错误的日期之类的。
而上下文窗口中的信息,也就是模型的输入,则非常清晰明确。因为我们在 Transformer 架构中使用了注意力机制。模型可以精确地“关注”输入信息,它清楚地知道自己正在处理的文本、视频帧、音频,或者其他任何内容。
目前,我们的一些模型已经可以处理数百万 token 的上下文,这已经相当多了。相当于几百页 PDF 文档,或者 50 篇研究论文,或者好几个小时的视频,或者几十个小时的音频,或者这些内容的一些组合,这已经非常厉害了。但如果模型能够关注数万亿 token 的上下文,那就更棒了。
它可以“关注”整个互联网,然后为你找到最相关的内容吗?它可以“关注”你的所有个人信息吗?我希望有一个模型,可以访问我的所有邮件、所有文档和所有照片。
当我需要它帮忙做事时,它可以经过我的授权,使用这些信息来辅助解决问题。但这将是一个巨大的计算挑战,因为朴素的注意力算法复杂度是平方级的。勉强可以让它在相当多的硬件上处理数百万 token,但如果天真地把它扩展到数万亿 token,那是完全不可能的。
所以,我们需要探索很多有趣的算法近似方法,来实现我们真正想要的目标:一种让模型在概念上能够“关注”更多 token(比如数万亿)的方法。也许我们可以把所有谷歌的代码库都放在每个谷歌开发者的上下文里,把世界上所有的开源代码都放在每个开源开发者的上下文里。那将会非常惊人。
Noam Shazeer:那简直难以想象。模型参数的妙处在于,它们在记忆事实方面非常节省空间。你可能可以用每个模型参数记住大约一个事实或者其他什么。
但如果要在上下文中存储 token,那么每一层都会有很多键 (key) 和值 (value) 需要存储。每个 token 可能需要几千字节甚至几兆字节的内存。
Jeff Dean:你输入一个词,然后把它扩展成 10 千字节或者更大的向量。
Noam Shazeer:是的。所以,现在有很多创新都围绕这两个问题展开:“A,如何最大限度地减少内存占用?”和“B,上下文中应该放哪些词才最有效?”有没有更好的方法来访问这些信息片段?
Jeff 看起来是解决这些问题的最佳人选。毕竟,从 SRAM 缓存,一直到全球数据中心级别,我们对内存层级结构的设计和优化已经非常成熟了。
主持人:我想更深入地探讨一下你刚才提到的那一点:谷歌是一家拥有海量代码和大量数据例子的公司。如果只考虑代码这个应用场景,以及它所蕴含的潜力,你们有谷歌的单体代码仓库。也许你们能解决长上下文的问题,就可以把整个代码仓库都放到模型的上下文窗口里,或者可以对模型进行微调。为什么现在还没实现呢?
你可以想象一下,如果谷歌内部能用上这些代码,即使只是在内部使用,也能大幅提高开发者的效率和生产力。
Jeff Dean:需要澄清一下,我们实际上已经在我们的内部代码库上,对 Gemini 模型进行了额外的训练,供我们内部的开发者使用。但这和把整个代码库都放到上下文里是不一样的,因为微调只是把代码库的信息融入到了模型参数中。而把代码库放到上下文里,模型能更清晰地“看到”代码的结构和细节。
即使是现在这种内部微调的模型,也已经非常有用。Sundar (Pichai) 好像说过,我们现在提交到代码库的字符中,有 25% 是由我们基于 AI 的代码生成模型生成的,当然,最终还是需要人工审核。
未来的谷歌
主持人:根据你们对未来 AI 能力的预测,你们如何想象未来一两年内,你们个人的工作会是什么样子?在谷歌做研究员会是什么感觉?当你们有一个新想法时,或者在你们与这些模型互动的方式上,一年后会发生什么变化?
Noam Shazeer:嗯,我猜我们肯定会用上更好的模型,并且希望能显著提高工作效率。
Jeff Dean:是的,除了研究工作之外,在任何需要用到模型的地方,我认为它们都能提高软件开发者的生产力。因为模型可以接受一个高层次的需求描述,或者一句话的需求,然后给出一个相当合理的初步方案。从研究角度来看,也许你可以这样用模型:“我希望你研究一下这篇论文里提到的思路,但也许我们可以尝试把它改成卷积结构,或者其他形式。”
如果你能做到这一点,让系统自动生成一大堆实验代码,然后你再 review 一下,觉得“看起来不错,跑起来试试吧。”这似乎是一个很好的发展方向。
看起来在未来一两年内,我们很可能在这方面取得很大进展。
主持人:这似乎还是被低估了。因为你可以拥有数百万“AI 员工”,而且你可以立即检查它们的输出,员工之间也可以互相检查输出,token 可以实时流式传输。
Jeff Dean:抱歉,我不是想低估它的潜力。我认为这非常令人兴奋。我只是不喜欢过度炒作还没实现的事情。
主持人:我想更深入地探讨一下这个想法,因为它意义非常重大。如果真的能拥有某种类似“自主软件工程师”的 AI,特别是从研究人员的角度来看,他们可能会想,“我想构建这个系统。”好,那我们就来深入探讨这个想法。作为一位在职业生涯中开发过 MapReduce、Tensorflow 这样变革性系统的人,如果以后你不需要自己编写类似 MapReduce 或 Tensorflow 的代码,而是可以直接说,“这是我希望的分布式 AI 库的样子,帮我写出来”,你觉得你的生产力能提高多少?10 倍?100 倍?
Jeff Dean:我对此印象非常深刻。我好像在 Reddit 上看到,我们有一个新的实验性代码生成模型,它在代码编写和数学方面都更出色。一位外部用户试用了一下,他给模型的 prompt 大概是,“我希望你用 C 语言实现一个不依赖任何外部库的 SQL 处理数据库系统。”
据这位用户说,模型实际完成得相当不错。它生成了 SQL 解析器、token 解析器、查询规划系统,以及一些用于存储磁盘数据的格式,而且真的能够处理简单的 SQL 查询。从一个简单的文字描述开始,到获得初步可用的方案,这对于软件开发者的生产力来说,提升是非常巨大的。
我认为未来可能会出现其他类型的 AI 系统,它们可能不会尝试在单一的、半交互式的、“40 秒内给出响应”的模式下完成所有任务,而是可能会运行 10 分钟,甚至可能在 5 分钟后就打断你,说,“我已经完成了很多工作,但现在需要一些输入。你更关注处理视频,还是只处理图像,或者其他类型的数据?”如果有很多这样的后台 AI 任务在同时运行,那么你就需要一些方法来管理这些工作流程。
主持人:能详细说说吗?如果真的可以拥有数百万可以随时启动的“AI 员工”,或者说几十万也可以,它们能以惊人的速度“打字”,而且——这几乎就像是从 1930 年代的手工交易票据,变成了现在像 Jane Street 这样的现代化金融公司。你需要一些界面来跟踪所有正在进行的事情,让 AI 系统融入到庞大的单体代码仓库中,并利用 AI 的优势,让人类能有效地跟踪和管理正在发生的事情。基本上,三年后,像 Jeff 或 Noam 这样的研究人员的日常工作会是什么样的?
Noam Shazeer:可能和我们现在的情况有些相似,因为“并行化”一直是个核心问题。我们有很多非常优秀的机器学习研究人员,我们希望他们能共同努力构建更强大的 AI。
所以,实际上,人与人之间的并行协作,可能类似于机器之间的并行计算。我认为这种模式对于需要大量探索性尝试的任务非常有效,比如“提出下一个突破性技术”。
如果你有一个非常棒的想法,觉得它肯定能在机器学习领域取得突破,但即使你很聪明,这个想法成功的概率可能也只有 2%。大多数想法都会失败,但如果你尝试 100 个、1000 个,甚至 100 万个不同的想法,那你就有可能撞上一些真正惊人的成果。我们现在有足够的计算能力来支撑这种“并行探索”。像现在顶尖实验室拥有的算力,可能比当初训练 Transformer 模型所需的算力高出一百万倍。
主持人:是的,这确实是一个很有趣的想法。假设在当今世界,大约有 1 万名 AI 研究人员,在这个领域不断提出各种突破性想法。
Jeff Dean:可能不止这个数字。2025 年 NeurIPS 大会上有 1.5 万人参会。
主持人:甚至 10 万人,我也说不准。假设现在这个研究群体,每年提出一个 Transformer 量级突破性成果的概率是 10%。现在假设这个群体扩大一千倍,而且在某种程度上,这就像是对更好架构、更好技术的一种并行搜索。我们是否会迎来......
Jeff Dean:每天都有突破?
主持人:我其实只敢想每年都有突破?
Noam Shazeer:也许吧。听起来好像挺有道理的。
主持人:但这感觉像是机器学习研究未来的发展方向吗?如果能够同时尝试所有这些实验……
Noam Shazeer:这确实是个好问题,因为我不确定现在大家是不是都在这么做。我们肯定有很多很棒的想法不断涌现。每个人似乎都想用尽可能大的规模来运行实验,但我认为现在限制因素可能是“人”。
Jeff Dean:如果能用千分之一的算力规模,先快速验证 10 万个不同的想法,然后再把那些看起来有潜力的想法,扩展到更大规模去深入研究,这会非常有帮助。
主持人:所以,大家可能还没意识到一个事儿:模型规模扩大一百倍,难度是指数级往上涨的。这就得要一百倍的算力,对吧?所以有人担心,像 Gemini 2 升级到 3,再到更高版本,难度会越来越大,像坐火箭一样。
但可能大家没注意到,Gemini 3 这边,各种新奇的模型架构设计理念层出不穷,大家都在试,看哪个好使。而且算法也在进步,训练新一代模型也变得更轻松了。这种正向循环能一直转下去吗?
Jeff Dean:我觉得大家得明白,模型一代比一代强,一部分确实是靠硬件升级和规模扩大顶上去的,但同样重要,甚至可能更重要的是,算法上有了大突破,还有模型架构、训练数据搭配这些方面的创新。这些改进能让模型在同样的算力下,表现得更好。我觉得这点很重要。而且,我觉得要是能把探索新想法这个过程自动化,我们就能评估更多方案,然后把有用的用到下一代模型的实际训练里。
这肯定特有帮助,因为我们现在就是这么干的,和很多优秀的机器学习研究员一块儿:先看一大堆想法,挑出小规模测试里表现好的,再看看它们在中等规模下还行不行,最后才放到更大规模的实验里。最后,我们会决定把一堆新的、有意思的东西加到最终的模型配置里。要是能用机器学习研究员来引导更自动化的搜索过程,代替人工手动做大量实验,把这个过程加速一百倍,那就太棒了。
Noam Shazeer:但有一样东西是加速不了的,那就是超大规模的实验。我们还是得做 N=1 实验。说白了,就是得把一帮聪明人聚一块儿,让他们盯着问题,搞清楚哪些路子走得通,哪些不行。
Jeff Dean:碰到这种情况,多点更好的硬件肯定管用。
Noam Shazeer:是啊,就看你的(TPU)了。
自动化芯片和智能爆炸
主持人:所以,简单来说,未来的 AI 进步,软件和算法优化也能出一份力。光靠软件,就能在几周或几个月内设计出更厉害的芯片,而且更强的 AI 应该也能反过来加速这个过程,那这种正向循环会不会让 Gemini 3 花了两年研发,Gemini 4 可能只要半年,再下一代也许三个月,再往后一个月?靠软件和算法双管齐下,达到超越人类智能的速度,会不会比原先想的快得多?
Jeff Dean:最近我一直在琢磨怎么大幅度加快芯片设计流程,这事儿让我挺兴奋的。就像我们之前聊的,现在设计一块芯片,从立项说“我们要造一块芯片”,到最后交给台积电,大概要一年半。然后台积电还得花四个月生产出来,最后我们才能拿到芯片,部署到数据中心。
所以,这个周期是真的长,而且现在芯片制造的时间占比其实不算大。但要是我们能让制造时间变成主要耗时环节,比如把芯片设计时间从 150 个人花 12-18 个月,缩短到几个人通过更自动化的搜索流程搞定,去探索芯片设计的各种可能性,并且从芯片设计的各个环节拿到反馈,针对系统在高层想探索的各种选择进行优化,那我觉着我们就能更充分地探索,更快地设计出真正想量产的芯片。
那肯定特棒,因为这样既能缩短制造时间,又能通过合理的硬件设计缩短部署时间。我们拿到芯片就能直接插到系统里用。这能促进更专业的硬件设计,缩短硬件设计周期,让我们不用太长远地考虑未来机器学习算法的发展方向。而是可以更关注未来六到九个月的需求,而不是两三年之后。
那会非常酷。我觉得,要是制造时间也能纳入快速迭代的改进循环里,效果肯定惊人……
主持人:现在制造周期要多久?
Jeff Dean:最先进的制程工艺,比较麻烦的是,时间越来越长,因为跟以前的老工艺比,它们金属层更多了。所以,现在大概要三到五个月。
主持人:但反正模型训练也得这么久,对吧?这样我们就能芯片设计和模型训练一块儿搞了。
Jeff Dean:理论上是这样。
主持人:好吧,看来起码也得三到五个月。但要是能做到……而且,对,你们也在快马加鞭搞新的算法理念。
Noam Shazeer:算法迭代是很快的。
Jeff Dean:没错,算法迭代很快,而且可以在现有芯片上跑,探索很多新点子。
主持人:所以,这样一来,会不会出现这种情况……我感觉很多人可能觉得,AI 的发展会像 S 型曲线那样。当然,这只是瞎猜。但有没有可能出现这种情况?AI 能力会在快接近人类智能的时候,突然爆发式增长,而且速度越来越快?
Noam Shazeer:很有可能。
Jeff Dean:是啊,我也是这么看的。现在,我们的模型能处理挺复杂的问题,在模型内部把问题拆成好几步,然后把每一步的答案拼起来,最后给出整个问题的答案。但可靠性还不太行,模型擅长处理拆成五到十步的问题,对于拆成 100 到 1000 步的问题就有点吃力了。要是我们能从现在 80% 的概率完美解决十步问题,提高到 90% 的概率完美解决 100 到 1000 步的复杂问题,那模型能力就直接上一个台阶了。我们还没到那个水平,但这正是我们努力的方向。
Noam Shazeer:要实现这个目标,不一定非得要新硬件,但要是有,我们肯定欢迎。
Jeff Dean:永远别嫌硬件多。
Noam Shazeer:最近一个重要的改进方向是在推理的时候多用点算力,也就是推理时间计算。我是这么理解的,就算超大型语言模型,就算每次 token 推理要进行万亿次运算(这已经远超大多数模型的水平了),每次运算的成本也才大概 10 的负 18 美元。也就是说,一美元能处理一百万个 token。对比一下,我们花钱买本纸质书看,一美元大概只能看 1 万个 token。跟大语言模型对话,比看纸质书便宜一百倍。
所以,这里头提升空间巨大。我们可以想想,要是能让模型更聪明,就算成本稍微涨点也是值得的。因为跟看纸质书比,我们便宜一百倍;跟客服人员沟通比,我们便宜一万倍;跟请软件工程师或者咨询医生律师比,我们甚至能便宜一百万倍以上。我们能不能通过增加计算量,让模型变得更聪明呢?
我觉得,未来 AI 能力的爆发式增长,很大程度上会来自这个方向。过去我们一直在大力投入和改进预训练和后训练技术,这些方向还会继续进步。但在推理阶段,利用更多算力让模型“更努力思考”,将会带来巨大的飞跃。
Jeff Dean:对,说到推理时间,我觉得关键一点是,我们希望系统能主动探索多种可能的解决方案。比如,它可以自己去搜索,找信息,消化信息,然后判断,“哦,我现在需要更多了解这方面的信息”。这样,它就能迭代地探索,找到解决用户提出的高层次问题的最佳方案。
而且,我觉得要是能有个“算力调节旋钮”,用户可以通过加大推理算力来获得更好的答案,那就太理想了。就像我们现在的一些技术能实现的,旋钮拧得越高,算力成本越高,但答案质量也越高。这看起来是个挺好的平衡,因为有些时候我们需要模型好好想想,解决特别重要的问题。但有些时候,我们可能不想为了算“1+1 等于几”这种简单问题,也用掉一大堆算力。或许系统应该......
主持人:不应该为了算 1+1,就重新发明集合论公理吧?
Jeff Dean:应该聪明地选择用计算器工具,而不是动用大型语言模型。
推理扩展的未来
主持人:在推理时间这块,有没有什么障碍?比如,有没有办法能线性增加推理算力?还是说,这基本上已经不是问题了?我们可以直接投 100 倍、1000 倍的算力,就能得到相应的性能提升吗?
Noam Shazeer:我们正在加紧搞相关的算法。我相信,靠着一万多名研究人员(这里面不少是谷歌的)一块儿努力,我们会找到越来越好的办法。
Jeff Dean:我觉得,在我们自己的实验里,已经看到一些例子,增加推理算力确实能提高答案质量,而且效果比线性增加算力还要好。这挺有意思的。但我们期待的是,投入十倍算力,答案质量的提升幅度能远远超过现在的水平。这就得我们设计新的算法,尝试新的方法,想想怎么更有效地利用这十倍算力,而不是简单地线性增加。
主持人:这种算力提升,更像是通过搜索实现的,还是仅仅是让模型进行更长时间的线性运算?
Jeff Dean:我特别认同 Rich Sutton 的那篇《苦涩的教训》。这篇文章就一页纸,但精髓在于,虽然我们可以试各种方法,但真正管用的方法就两种:学习和搜索。我们可以通过算法或者算力来扩展和应用这两种方法,通常都比其他方法更能有效地解决各种问题。搜索肯定是提升推理算力的关键。我们可以让模型探索几种不同的问题解决方案,要是哪个方案不太行,就换个更好的方案试试,然后深入研究。
主持人:这会对你们未来的数据中心规划产生什么影响?这种搜索可以在哪儿异步进行?必须在线还是离线?这会对数据中心规模和相关考虑产生什么影响?
Jeff Dean:一个总的趋势是,推理时间计算越来越重要了。特别是对于已经训练好的模型,推理会变成越来越重要的一类计算任务。可能我们需要更专业的硬件来支持推理。实际上,第一代 TPU 就是专门为推理设计的,不是用来训练的。后面的 TPU 虽然更多地侧重于训练,但也兼顾了推理。但可以预见,未来要是需要在推理时大幅度提升算力,更专业的硬件解决方案肯定大有可为。
主持人:这意思是不是可以更多地用异步训练?
Jeff Dean:训练?还是推理?
主持人:或者说,不同的数据中心可以各自独立运行,不用互相通信,各自干一部分活儿……
Jeff Dean:我更倾向于从延迟敏感性来区分推理任务。你要做的推理是需要用户马上要结果的吗?还是可以放后台慢慢跑?有些推理任务,比如处理批量数据,可能不是针对特定用户的,只是为了从里边提取信息。这类应用我们现在还不多见,但最近我们发布了一个深度研究工具,你可能已经看到点苗头了。你可以给它一个特别复杂、高层次的任务,比如“帮我研究一下可再生能源的历史,还有风能、太阳能这些技术的成本趋势,整理成表格,生成一份八页的报告”。它就能生成一份八页的报告,还带了大概 50 条参考文献。相当厉害。但用户不用马上拿到结果,可能要等个一两分钟才能完成。
我觉得未来这类计算需求会相当大。这也引出了一些用户界面设计上的问题。比如,要是用户同时在后台跑 20 个这样的异步任务,而且每个任务可能都需要用户再给点信息,比如,“我找到飞柏林的航班了,但没有直飞的,转机行不行?”当系统需要更多信息的时候,怎么跟用户互动,然后在拿到信息后,又把任务放回后台继续跑,比如继续搜柏林的酒店等等?我觉得这会非常有意思,异步推理肯定大有作为。
Noam Shazeer:推理确实会很有用。而且,推理在计算效率方面,也跟训练不太一样。一般来讲,Transformer 在训练的时候可以把序列长度当成批次处理,但在推理的时候就不行,因为推理通常是一个 token 一个 token 往外蹦的。所以,我们可能得设计不同的硬件和推理算法,来提高推理效率。
Jeff Dean:对,算法改进有个好例子就是“草稿模型”的应用。我们可以先用一个小一点的语言模型,在解码的时候一个 token 一个 token 地生成,让它一次预测四个 token。然后把这四个 token 交给大模型,让它来验证,“这四个 token 里,你觉得哪个靠谱?”要是大模型觉得前三个 token 行,那我们就可以直接用。这样,原本大模型一次只能处理一个 token,现在就相当于可以并行处理四个 token 了。这类技术就是为了提高推理效率,避免单 token 解码变成瓶颈。
Noam Shazeer:对,本质上就是把大模型当成质检员来用。
Jeff Dean:比如,小模型生成一个结果,大模型验证后觉得“听着不错,没毛病”,就可以直接用了。
主持人:现在有个挺大的讨论,就是单个数据中心的电力供应都快赶上核电站上限了。我们是不是只能把算力集中在少数几个超大型数据中心,比如两吉瓦、五吉瓦?还是可以更分散一点,也能支持模型训练?这种新的推理扩展模式,会不会改变我们对数据中心布局的考虑?你们现在怎么看多数据中心训练?
Jeff Dean:我们已经在实际用多数据中心训练了。我们是支持这种模式的。我记得在 Gemini 1.5 的技术报告里,我们提过,我们用了好几个城市区域的数据中心来训练,每个区域都贡献了一部分算力。这些数据中心之间虽然延迟比较高,但带宽很大,训练效果很好。
训练过程挺有意思的,因为对于大型模型来说,每个训练步骤通常至少要几秒甚至更长时间。所以,50 毫秒的延迟其实影响不大。
Noam Shazeer:关键是带宽。只要能在完成一个训练步骤的时间内,把模型的所有参数在不同数据中心之间同步,并且累积梯度,效果就很好。
Jeff Dean:而且,我们在这方面研究挺多的,甚至可以追溯到早期的“谷歌大脑”项目。那时候我们用 CPU 机器,速度慢,为了扩大规模,我们用了异步训练。每个模型副本都在本地算,然后把梯度更新发到中央系统,再异步地应用这些更新。其他模型副本也干着同样的事儿。这种方式会让模型参数有点波动,理论上可能没那么完美,但实际效果好像还不错。
Noam Shazeer:从异步训练转到同步训练真是太好了,因为现在实验结果能复现了,不会再受“同一台机器上是不是跑着网络爬虫”这种因素的影响。所以,我更喜欢在 TPU 集群上训练。
Jeff Dean:我个人更喜欢异步训练,它能让我们更好地扩展规模。
Noam Shazeer:就像用两部 iPhone 和一台 Xbox 就能训练模型一样。
Jeff Dean:是啊,要是我们能实现异步训练,但同时保证结果的可重复性呢?一种可能的方案是,记录下操作序列,比如哪个梯度更新在啥时候、在哪个数据批次上发生的。不一定非得记实际的梯度更新值,但可以回放这些操作日志,这样就能实现结果的可重复性。要是能做到这样,我想你就会满意了。
Noam Shazeer:也许吧。起码能方便调试问题,但可能还是没法直接比较两次训练的结果。因为,比如我只改了一个超参数,但同时还受到一些其他因素的影响,比如网络爬虫的干扰,或者很多人同时在看超级碗直播,占用了网络带宽。
Jeff Dean:促使我们从 CPU 上的异步训练转到完全同步训练的关键,是我们有了超快的 TPU 硬件芯片和集群 (Pod),它们在集群内部芯片之间有极高的带宽。而且,随着规模进一步扩大,我们还有非常棒的数据中心网络,甚至是跨城市区域的网络,这让我们能把训练扩展到多个城市区域的多个 TPU 集群,进行大规模的同步训练。正如 Noam 说的,只要梯度累积和跨区域的参数通信速度,相对于训练步长够快,同步训练就完全没问题。但我觉着,随着规模继续扩大,系统可能需要更多异步性。因为异步训练也是可行的,而且同步训练更容易理解,机器学习研究员也喜欢,他们对同步训练能达到的效果很满意。同步训练的挑战主要来自算法本身,而异步训练的挑战就既有异步机制也有算法。
Noam Shazeer:规模越大,挑战也越多。这就是扩展的难题,你经常搞不清楚问题出在哪儿。是不是在哪个环节过度量化了?还是数据本身有问题?这些因素可能只会让模型性能稍微降一点点,你甚至都察觉不到问题在哪儿。
Jeff Dean:这其实是神经网络的一个特点,它们对噪声的容忍度特别强。就算你在很多地方设置得不太对,它们也能找到办法绕过问题,或者从错误里学习。
Noam Shazeer:代码里甚至可能有 bug。大部分时候,bug 可能没啥影响。有时候会让模型变差,有时候甚至会让模型变得更好。然后,你可能因为这个 bug,意外地发现了一些新东西,因为你之前没财力做这么大规模的实验,也就没机会发现这个 bug 的“妙用”。
怎么调试?
主持人:实际工作中,怎么调试和排查问题呢?好多因素都在影响模型,有些让模型变好,有些让模型变差。明天上班后,你们会怎么找出最关键的影响因素呢?
Noam Shazeer:在小规模实验阶段,我们会做大量的尝试。研究工作的一部分就是,在隔离的环境下,验证新的改进或者突破。这就需要代码库干净利索,方便我们快速修改和实验,并且建一些基线模型做参考。我理想的状态是,早上醒来,想到个新点子,花一天时间实现,然后跑一些实验,当天就能看到初步结果。看看哪些方法好使,哪些不行,哪些方向有潜力。我觉得这完全可以实现,因为在小规模下,只要代码库维护得好。实验跑起来可能只要一两个小时,不用两周那么久。这效率很高。所以,研究一部分是小规模实验,另一部分是规模扩展。还有一部分是集成,我们需要把所有有希望的改进叠一块儿,看看它们在大规模下还行不行,以及它们之间能不能好好配合。
Jeff Dean:对,它们之间怎么互相影响?你可能以为它们是独立的,但实际上,改进视频数据输入方式,和更新模型参数的方式之间,可能有一些意想不到的联系。比如,这种联系在处理视频数据的时候可能更明显。各种各样的交互作用都有可能发生,甚至是我们想不到的。所以,我们需要做集成实验,把各种改进方案组合起来,定期看看它们能不能好好地一块儿工作。要是不行,就得分析原因,找到问题在哪儿。
主持人:我有两个问题。第一,各种改进方案叠一块儿后,最后效果不好的情况常见吗?是偶尔发生还是经常发生?
Noam Shazeer:大概一半一半吧。
Jeff Dean:是啊,我的意思是,大部分效果不好的方案,在初期实验阶段就被刷掉了,根本进不了集成阶段。因为它们要么效果不明显,要么跟基线模型比没啥优势。只有那些初步看来有戏的方案,我们才会考虑单独做规模扩展。要是扩展效果不错,我们会觉得,“嗯,这些方案确实有点东西”。然后再把它们跟其他有潜力的方案组合起来,做集成实验,看看最后效果。要是集成效果不理想,我们会再回头看看,分析问题,调试调试。
Noam Shazeer:而且,这里头也有个权衡。我们希望集成后的系统尽量简洁,因为复杂性......
Jeff Dean:代码库方面......
Noam Shazeer:——对,包括代码库和算法。复杂性会带来负面影响,降低效率,增加风险。但同时,我们又希望系统性能尽可能强。而且,每个研究员都希望自己的成果能被用上。所以,这确实是个挑战,但我们团队一直合作得挺好的。
预测 AI 加速的时间
主持人:回到我们之前聊的“算法不断改进,模型性能持续提升”这个话题,就算不考虑硬件的因素。世界是不是应该更重视这个问题?你们是不是也在认真思考?一种可能是,AI 的发展是个长期的、慢慢来的过程,可能要二十年才能慢慢提升,我们可以一步一步改进。就算犯点错,也能及时改过来,影响不大。就像新版本只是比老版本稍微好一点。
另一种可能是,存在一个强大的正向循环,这意味着 Gemini 4 到 Gemini 5 这两年时间,可能是人类历史上最重要的两年。因为在这种正向循环的作用下,AI 有可能从优秀的机器学习研究者,迅速进化到超越人类智能的水平。
如果你们觉得第二种可能性是存在的,那么这种加速发展的前景,会怎么影响你们应对未来更高水平 AI 的策略?
Noam Shazeer:我已经懒得打扫车库了,因为我在等机器人来干。所以,我个人更倾向于第二种观点,AI 发展会加速。
Jeff Dean:是啊,我觉得非常重要的一点是,要理解现在 AI 发展的趋势和动向。我认为目前的趋势是,模型性能正在一代代地显著提升,而且这种趋势在未来几代模型里不太可能慢下来。这意味着,未来两三代模型的能力,可能会有质的飞跃。比如,从现在 80% 概率解决十步问题,提高到 90% 概率解决 100 到 1000 步的复杂问题。这将是模型能力的一次重大飞跃。所以,我觉得让大家了解 AI 领域的进展非常重要。这些模型未来会被应用到各行各业。我觉得,确保我们整个社会,能最大限度地利用 AI 的优势来改善生活,非常重要。我对 AI 在教育、医疗这些领域的应用前景特别兴奋,比如让信息更容易获取。
但我们也意识到,AI 也可能被用来传播假消息,或者搞自动化黑客攻击。所以,我们希望尽可能多地采取安全措施和应对方案,并且深入理解模型的能力边界。我觉得谷歌在怎么应对这些挑战方面,有个挺好的整体思路。我们的“负责任的 AI 原则”提供了一个很好的框架,帮助我们在不同场景下推广更强大的 AI 系统时,权衡利弊,同时确保 AI 系统的安全性,避免搞出有害内容等等。
主持人:我个人比较关注的是,如果我们站在人类历史的高度来看现在这个阶段,假设我们犯了个错误,比如 Gemini 3 的后训练没做好,导致模型搞出一些假消息。但我们可以通过改进后训练来修正这个问题。这虽然是个错误,但起码是能修好的,对吧?
但要是有我们之前说的正向循环,情况就不一样了。要是导致智能爆发的关键环节出了偏差,比如 AI 的目标不是我们期望的代码编写,而是优化一些其他目标。那么,在这个快速发展的过程中,可能只要几年甚至更短的时间,AI 的能力就会达到甚至超过 Jeff Dean 或者 Noam Shazeer 的水平。到时候,我们可能就有几百万 Jeff Dean 级别的程序员了。这种情况下,一旦出了偏差,后果可能就不好收拾了。
Noam Shazeer:随着 AI 系统变得越来越厉害,我们必须更小心。
Jeff Dean:我想说的是,现在对 AI 的看法有两种极端。一种极端观点觉得,“天啊,AI 要在所有方面超越人类了,我们会让 AI 给彻底压垮”。另一种极端观点则觉得,“AI 挺厉害,但我们完全不用担心它”。我个人觉得,应该走中间路线。我之前参与写过一篇叫《塑造 AI》的论文。这两种极端观点,都倾向于觉得我们对 AI 的发展应该“放任自流”,让 AI 顺着现在的路子发展就行了。但我觉着,更合理的观点是,我们应该积极地塑造和引导 AI 的发展和应用,让它在教育、医疗这些领域发挥最大的积极作用,造福人类。同时,通过政策引导、技术手段和安全措施,尽可能地避免 AI 失控,防止“电脑统治世界”这种极端情况发生。我觉得,怎么设计安全的 AI 系统,是个工程问题,需要我们认真对待。
我觉得这有点像现代版的传统软件开发,比如飞机软件开发。飞机软件开发在安全性和可靠性方面有非常严格的标准和流程,目的就是确保在高风险情况下系统的安全运行。这也许能给我们一些启发。
主持人:困难的地方在于,像737飞机这样的复杂系统,它本身没有一套“反馈回路”。这意味着,你没法把它放到一个计算资源充足的环境里,让它自己跑几年,就能自动迭代升级到1000版本。
Noam Shazeer:我认为有个好消息是,分析文本内容好像比生成文本内容要容易一些。所以,我比较乐观地认为,大型语言模型自己分析自己输出结果的能力,并且能找出里面的问题或者潜在的危险,实际上会成为解决很多控制方面难题的关键。
我们肯定在研究这些。谷歌在这方面有很多顶尖人才。而且我认为,无论是从“为社会大众做好事”的理念出发,还是从商业角度来看,这件事都变得越来越重要。很多时候,你能最终应用什么技术,会受到安全性的严格限制。因此,在这个安全性方面做到极致就变得至关重要。
一百万个黑化 Jeff Dean?
主持人:我认为谷歌已经推出了非常多的应用,都在利用这些模型来改进我们刚才讨论的各个领域。我再强调一下,如果真的存在某种快速的反馈迭代过程,最终我们可能会得到一个模型,它能达到甚至超越 Noam Shazeer、Jeff Dean 这样的水平。
但如果出现一个邪恶版本的你,并且到处都是,假设有一百万个“邪恶 Jeff Dean”在网络上游荡,我认为那真的会非常糟糕。那种情况可能比其他任何风险都更可怕,也许仅次于核战争的威胁。想象一下,一百万个邪恶的 Jeff Dean,或者类似的场景。
Jeff Dean:我们从哪里搞到那么多训练数据来训练一百万个“邪恶 Jeff Dean”呢?(笑)
主持人:(笑)我是说,如果你们也认为这种快速反馈迭代的过程,最终可能会产生像我刚才说的那种可怕结果,那么你们有什么应对计划吗?比如说,假设我们现在有了 Gemini 3 或者 Gemini 4,我们相信它们可以帮助我们更好地训练未来的版本,它们现在就在帮我们编写大量的训练代码。目前,我们只是大致浏览一下,做一些验证。甚至你刚才提到的那些用来检查模型输出的验证工具,最终也可能会由你们自己开发的 AI 智能体来训练,或者说,将来会有大量的代码是由 AI 智能体编写的。在真正放手让 Gemini 4 帮助我们进行 AI 研究之前,你们最想确认的事情是什么?我们肯定想确保,在让 AI 来帮我们写 AI 代码之前,要对它进行充分的测试。
Jeff Dean:我的意思是,我认为让 AI 系统去探索算法研究的想法,目前仍然是在人类的控制之下的。比如,系统探索各种可能性,然后会生成一系列结果,之后我们会来做决定,例如,我们是否应该把某个特定的学习算法或者系统改进,吸纳到我们核心的代码库里?所以,我认为我们可以设置这样的安全措施,确保我们能享受到 AI 系统带来的好处,同时又能保证这些系统的改进或者某种程度上的自我提升是在人类监督下进行的,而不是完全放任 AI 系统在没有任何监督的情况下完全自主进化,对吧?这就是我说的工程安全措施。我们需要关注我们部署的这些系统的特性,不要去部署那些在某些方面可能造成危害的系统,并且要充分了解它们的能力,以及在特定情况下可能会做出什么。所以,你知道,我认为这绝对不是一个简单的问题,但我确实相信,我们有可能确保这些系统的安全性。
Noam Shazeer:是的。我的意思是,我也认为我们会大量使用这些系统来检查它们自身,也会用它们来检查其他的 AI 系统。即使对我们人类来说,识别事物也比创造事物要容易。
Jeff Dean:我想补充一点,如果你通过 API 接口或者用户界面,把模型的能力开放出来,让人们可以和它互动,我认为你就可以在一定程度上监控和了解模型是如何被使用的,并且可以对模型的行为设定一些限制。我认为这是确保模型行为符合我们预设标准的一种有效方法。
Noam Shazeer:是的。我的意思是,我认为我们的目标是赋能大众,让每个人都能利用 AI 的力量。但在大多数情况下,我们应该主要引导人们用这些系统来做有意义的事情,并且尽可能减少对使用场景的限制。但是,是的,如果有人拿走你的技术,然后创造出一百万个邪恶的软件工程师,那肯定不是在赋能大众,因为他们会用这一百万个邪恶的软件工程师去伤害别人。所以我坚决反对那样做。
Jeff Dean:我也是。我们继续下一个话题吧。
谷歌的快乐时光
主持人:好的,我们来聊一些更有趣的话题,轻松一下。在过去的 25 年里,你们职业生涯中最有趣的时光是什么?你最怀念哪个阶段?
Jeff Dean:你是说在工作上吗?我认为在谷歌最初的四五年,当时我还是最开始做搜索、网页抓取和索引系统的少数几个人之一,那时候我们的用户流量增长速度真的非常快。我们那时努力扩展索引的规模,并且尝试让索引更新频率达到每分钟一次,而不是像之前那样,每月甚至每两个月才更新一次(如果系统没出问题的话)。看到我们构建的系统被越来越多的人使用,真的让我个人感到非常有成就感。能构建出一个每天被 20 亿人使用的产品,简直太不可思议了。但我也想说,同样让我感到兴奋的,是今天能和 Gemini 团队的同事们一起工作。我认为在过去一年半的时间里,我们在 AI 模型能力方面取得的进展真的非常有趣。大家都很投入,对我们正在做的事情感到无比兴奋。我认为现在的这些模型在处理一些非常复杂的任务时,已经变得越来越出色了。比如,如果你把现在 AI 模型的能力展示给 20 年前使用电脑的人看,他们肯定不会相信。甚至 5 年前,他们可能也不敢相信。这真的非常令人振奋。我相信,未来我们也会看到这些 AI 模型的应用规模和对世界的影响力,也会迎来类似的爆发式增长。
Noam Shazeer:是的,我同意 Jeff 的看法。早期确实非常有趣。一部分原因是那时候公司规模小,大家彼此都认识,人际关系很紧密,还有就是你正在构建的产品,很快就被成千上万,甚至数百万的人使用。今天也是一样。我们现在有个很棒的“迷你厨房区”,很多人都喜欢在那里聚会交流。我很享受能和一群优秀的人一起工作,共同打造一些可以帮助数百万甚至数十亿人的产品。还有什么比这更棒的呢?
主持人:“迷你厨房区”是什么?
Jeff Dean:哦,在我们办公的这栋楼里,有一个特别的公共区域,我们叫它“迷你厨房区”。它最近被重新命名为“Gradient Canopy”(梯度顶篷)。以前它叫“查尔斯顿东区”,后来我们觉得需要一个更酷炫的名字,因为这里聚集了很多机器学习研究人员,很多顶尖的 AI 研究项目都在这里进行。“迷你厨房区”一般来说就是放一台意式咖啡机和一些小零食,但我们这个特别的“迷你厨房”空间很大。我们在那里摆放了大约 50 张桌子,方便大家在那里碰面交流。
那里有点吵,因为大家总是在磨咖啡豆、煮咖啡,但你也能在那里获得很多面对面的思想碰撞,比如,“哦,我试过你说的那个方法,你有没有考虑过在你的想法里试试这个?”或者,“哦,我们下周要发布一个新东西,负载测试结果怎么样了?”大家在那里有很多即时的反馈交流。
然后我们还有“Gemini 聊天室”,方便那些不在“迷你厨房区”的同事们使用。我们有一个遍布全球的团队,我个人参与了大约 120 个与 Gemini 相关的聊天室。在这些聊天室里,大家专注于非常具体的主题,比如我们有七个人专门研究某个问题,伦敦的同事会在聊天室里分享一些令人兴奋的最新进展。当你早上醒来打开电脑,你就能看到昨晚发生了什么,或者看到一大群人正集中精力处理数据,各种各样的问题都会被提出来讨论。这种工作方式真的很有意思。
2030 年的计算需求
主持人:我发现谷歌在早期做出的一些预测非常了不起,比如你们很早就预见到了未来对计算资源的巨大需求,而当时这还不是一个显而易见的事情。TPU 就是一个很好的例子,或者说第一代 TPU 就是一个例子。我记得你们在,我猜是 2013 年甚至更早的时候就有了 TPU 的想法。
如果你今天再用同样的思路来预测一下,考虑到未来我们会全面普及这些 AI 模型,它们将成为我们各种服务的核心支柱,我们需要不断地用它们进行推理计算,并且还要训练未来更强大的版本。
你有没有考虑过,到 2030 年,我们大概需要多少计算资源才能满足所有这些应用场景?用费米估算的方法,大概会得出什么结果?
Jeff Dean:是的,我是觉得未来肯定需要海量的推理计算资源。计算资源只是一个比较粗略、比较宏观的衡量标准,用来评估这些强大的 AI 模型的需求。因为如果未来提升模型能力的一个重要手段,就是不断增加推理计算的消耗,那么突然之间,即使只是生成同样数量的文本,现在的一个请求,其计算密集程度就可能会比过去高出 50 倍、100 倍甚至 1000 倍。而且你还会看到,这些 AI 服务的应用范围正在急剧扩张。因为目前世界上还有很多人,可能还没意识到这种基于对话的交互界面的巨大潜力,以及你可以用它们来做各种各样令人惊叹的事情。也许今天,全世界只有 10% 甚至 20% 的电脑用户真正了解了这一点。当这个比例接近 100%,并且人们更频繁地使用 AI 服务时,这又会带来一到两个数量级的需求增长。所以,单单从用户普及率的提升,你现在就能看到两到三个数量级的增长,再加上模型本身也可能会变得更大更复杂,这又会带来一到两个数量级的增长。所以,未来我们需要极其庞大的推理计算能力。因此,我们需要极其高效的硬件,专门用于我们关注的这些 AI 模型的推理计算。
主持人:如果用 flops (每秒浮点运算次数) 来衡量,你估计到 2030 年,全球 AI 推理的总计算量会是多少?
Noam Shazeer:我认为肯定是越多越好。你可以这样想,好吧,到那时候,人们会决定把世界 GDP 的多大比例投入到人工智能上?然后,比如,好吧,未来的人工智能系统会是什么样子?嗯,也许它会是某种个人助理式的工具,就像在你戴的眼镜里,可以实时看到你周围的一切,并且可以访问你所有的数字信息,甚至全世界的数字信息。也许就像你是美国总统乔·拜登,你在参加内阁会议时,戴着一个耳机,它可以实时为你提供任何方面的建议,帮你分析问题,并且给你一些有用的提示。或者你可以直接和它对话,它会分析它在你周围看到的所有信息,来判断这些信息可能对你产生的潜在价值。所以,我的意思是,我可以想象,未来的 AI 系统会像你的私人助理或者你的智囊团一样,并且每次你在计算资源上多花一倍的钱,这个 AI 系统就会变得更聪明,比如智商提高 5 到 10 分,或者类似的情况。好吧,你是宁愿每天花 10 美元,雇佣一个普通的助手,还是每天花 20 美元,雇佣一个更聪明的助手呢?而且它不仅是你生活中的助手,也是你更好地完成工作的助手,因为它现在能让你从一个“10 倍效率”的工程师,变成一个“100 倍”甚至“1000 万倍”效率的超级工程师?好吧,让我们从第一性原理来思考这个问题,对吧?所以人们肯定愿意把世界 GDP 的一部分投入到这里面。而且由于我们有这么多优秀的 AI 工程师,都在致力于改进这些技术,世界 GDP 几乎肯定会大幅上升,甚至比今天高出几个数量级。到那时,我们可能已经解决了无限能源和碳排放的问题。所以我们应该能够拥有大量的能源供应。我们应该能够拥有数百万甚至数十亿的机器人,帮我们建造数据中心。让我们想想,太阳的功率是多少瓦?大概是 10 的 26 次方瓦,还是多少?我大胆猜测,未来用于人工智能,来帮助每个人的计算量,将会是一个天文数字。
Jeff Dean:我想补充一点。我不确定我完全同意 Noam 刚才说的所有内容,但这确实是一个非常有趣的“思想实验”,值得我们朝着这个方向去思考。即使我们只实现了他所说的一部分,也肯定需要海量的计算资源。这就是为什么拥有尽可能廉价的硬件平台,来运行这些 AI 模型,并将它们应用到 Noam 描述的各种场景中,显得尤为重要。只有这样,我们才能让每个人都能以某种方式访问 AI 服务,并且尽可能降低使用这些功能的成本。我认为通过专注于硬件和模型协同设计这类技术,这是完全可以实现的,我们应该能够让 AI 系统的效率比现在高得多。
主持人:考虑到你们预期的 AI 需求增长速度,谷歌未来几年的数据中心扩建计划,是否足够激进?
Jeff Dean:我不会公开评论我们未来的资本支出计划,因为我们的 CEO 和 CFO 可能不希望我这样做。但我可以肯定地说,你可以看看我们过去几年的资本支出报告,你会发现我们肯定在这个领域进行了大量的投资,因为我们认为这非常重要。我们正在持续不断地研发新的、有趣的、创新性的硬件,我们相信这真的有助于我们在向全球更多用户部署这些 AI 系统的竞赛中,保持领先优势,包括如何更高效地训练模型,以及如何让人们更便捷地使用它们进行推理计算?
未来的 AI 模型架构
主持人:我听你多次提到“持续学习”(Continuous Learning) 的概念,这个想法是指,我们可以构建一个随着时间推移不断自我改进的 AI 模型,而不是每次都从头开始训练一个全新的模型。你认为“持续学习”在技术上有什么根本性的障碍吗?因为从理论上讲,我们应该可以不断地对一个模型进行微调,让它持续进化。在你看来,未来的 AI 模型发展方向会是什么样的?
Jeff Dean:是的,我最近一直在越来越多地思考这个问题。我一直是稀疏模型的忠实拥护者,因为我认为我们...
热门跟贴