谷歌首席科学家Jeff Dean与Transformer论文的共同作者Noam Shazeer,近期接受了知名播客Dwarkesh Patel的专访。这场长达两小时的对话,不仅回顾了谷歌从PageRank到通用人工智能(AGI)的25年历程,也深入探讨了AI领域的诸多前沿议题。
算力“钞”能力:AI对话比读书便宜百倍?
当人们还在惊叹于AI的“烧钱”属性时,Jeff Dean却给出了一个令人耳目一新的观点:AI推理的成本远比想象中低廉。
他以阅读和与AI讨论书籍为例,进行了对比:
当前最尖端的语言模型,每次运算的成本约为10^-18美元,这意味着1美元可以处理100万个token。相比之下,购买一本平装书的成本,大约相当于每1美元购买1万个token(将单词数换算为token)。
因此,与大模型对话的成本,实际上比阅读书籍便宜了约100倍。
这一巨大的成本优势,为通过增加推理算力来进一步提升AI智能,打开了广阔的想象空间。
从基础设施的角度看,推理计算的重要性日益凸显,这可能会对数据中心的规划产生深远影响。
未来,我们或许需要专门为推理任务定制硬件。正如谷歌初代TPU,最初就是为推理而设计,后来才被改造为同时支持训练。
推理需求的增长,可能意味着不同的数据中心无需持续通信,从而催生更分布式、异步的计算模式。
在训练层面,Gemini 1.5已经率先迈出了这一步,开始利用多个大城市的计算资源,通过高速网络连接不同数据中心的计算结果,实现了超大规模的训练。
对于大模型而言,训练每一步的时间可能长达数秒,因此,即使网络延迟达到50毫秒,也不会对训练产生显著影响。
到了推理层面,则需要考虑任务对延迟的敏感程度。如果用户期待即时响应,系统就需要针对低延迟性能进行优化。然而,也有一些非紧急的推理任务,例如复杂的上下文分析,可以承受更长的处理时间。
一个更灵活、高效的系统,或许能够异步处理多个任务,在提升整体性能的同时,最大限度地减少用户等待时间。
此外,算法效率的提升,例如使用较小的草稿(Draft)模型,可以有效缓解推理过程中的瓶颈。这种方法采用较小的模型生成潜在的token,然后交由较大的模型进行验证。这种并行化可以显著加快推理速度,打破一次一个token的限制。
Noam Shazeer补充道,在进行异步训练时,每个模型副本会独立计算,并将梯度更新发送到中央系统进行异步应用。尽管这种方式会导致模型参数出现细微波动,理论上可能产生影响,但实践证明它是成功的。
相比之下,同步训练模式能够提供更稳定、可重复的结果,这也是许多研究者更倾向的选择。
在谈到如何确保训练的可重复性时,Jeff Dean提到了一种方法:记录操作日志,特别是梯度更新和数据批次的同步记录。通过回放这些操作日志,即使在异步训练的情况下,也能够保证结果的可重复性。这种方法让调试变得更可控,避免了因环境中的其他因素导致结果不一致。
Bug的意外之喜:噪声中的突破
Noam Shazeer提出了一个颇具启发性的观点:
训练模型时,我们可能会遭遇各种各样的bug。然而,由于模型对噪声的容忍度,它可能会自我调整,从而产生意想不到的效果。
甚至,有些bug会带来正面影响。随着规模的扩大,某些bug可能在实验中表现出异常,让研究人员发现新的改进机会。
当被问及如何在实践中调试bug时,Noam Shazeer介绍说,他们通常会在小规模下进行大量实验,以便快速验证不同的假设。在小规模实验中,代码库保持简单,实验周期缩短至一到两个小时,而非数周,研究人员可以迅速获得反馈并做出调整。
Jeff Dean补充说,许多实验的初期结果未必理想,因此,一些“看似失败”的实验,在后期仍可能为研究提供重要的洞见。
与此同时,研究人员也面临着代码复杂性的挑战:虽然不断叠加新的改进和创新是必要的,但代码的复杂性也会带来性能和维护上的难题。我们需要在系统的整洁性和创新的推进之间,找到一个平衡点。
模型架构的未来:有机生长,模块协同
Jeff Dean和Noam Shazeer一致认为,AI模型正经历着从单一结构向模块化架构的重大转变。
如Gemini 1.5 Pro等模型,已经采用了专家混合(Mixture of Expert)架构,允许模型根据不同的任务激活不同的组件。例如,在处理数学问题时,模型会激活擅长数学的部分;而在处理图像时,则会激活专门处理图像的模块。
然而,现有的模型结构仍然相对僵化,各个专家模块大小相同,缺乏足够的灵活性。
Jeff Dean提出了一个更具前瞻性的设想:未来的模型应当采用更“有机”的结构,允许不同的团队独立开发或改进模型的不同部分。
例如,一个专注于东南亚语言的团队,可以专门改进该领域的模块;而另一个团队,则可以专注于提升代码理解能力。
这种模块化的方法,不仅能提高开发效率,还能让全球各地的团队都能为模型的进步贡献力量。
在技术实现方面,模型可以通过蒸馏(Distillation)技术来不断优化各个模块。这个过程包括将大型、高性能的模块蒸馏为小型、高效的版本,然后在此基础上继续学习新知识。
路由器可以根据任务的复杂程度,选择调用合适规模的模块版本,从而在性能和效率之间取得平衡。这正是谷歌Pathway架构的初衷。
这种新型架构对基础设施提出了更高的要求。它需要强大的TPU集群和充足的高带宽内存(HBM)支持。尽管每次调用可能只使用模型的一小部分参数,但整个系统仍需要将完整的模型保持在内存中,以服务于并行的不同请求。
现在的模型能够将一个任务分解成10个子任务,并达到80%的成功率;而未来的模型,或许能够将一个任务分解成100个甚至1000个子任务,成功率达到90%甚至更高。
“Holy Shit时刻”:让机器“看见”猫
回首过往,2007年对于大语言模型(LLMs)而言,无疑是一个重要的里程碑。
当时,谷歌使用2万亿个token训练了一个N-gram模型,用于机器翻译。
然而,由于依赖磁盘存储N-gram数据,导致每次查询需要大量的磁盘I/O(例如,每单词10万次搜索),延迟极高,翻译一个句子需要耗费12小时。
为了解决这一难题,谷歌团队想到了内存压缩、分布式架构以及批处理API优化等多种应对策略:
- 内存压缩:将N-gram数据完全加载到内存,避免磁盘I/O;
- 分布式架构:将数据分片存储到多台机器(如200台),实现并行查询;
- 批处理API优化:减少单次请求开销,提升吞吐量。
在这个过程中,计算能力开始遵循摩尔定律,并在之后逐渐呈现出爆发式增长。
从2008年末开始,得益于摩尔定律,神经网络真正开始发挥作用。
那么,有没有哪一个时刻,属于那种让人惊呼“Holy shit”(难以置信某项研究竟然奏效了)的瞬间呢?
不出所料,Jeff Dean提到了谷歌早期团队的一项研究:他们让模型从YouTube视频帧中自动学习高级特征(例如识别猫、行人),通过分布式训练(2000台机器,16000个核心)实现了大规模无监督学习。
在无监督预训练后,模型在监督任务(ImageNet)中的性能提升了60%,这充分证明了规模化训练和无监督学习的巨大潜力。
当被问及如今的谷歌是否仍然只是一家信息检索公司时,Jeff Dean用了一大段话来阐述一个核心观点:
AI实现了谷歌的原始使命。
简而言之,AI不仅能够检索信息,还能够理解和生成复杂内容,而且未来的想象空间无限广阔。
至于谷歌的未来将走向何方,“我不知道”。
不过,我们可以期待的是,未来将谷歌和一些开源代码整合到每个开发者的上下文中。
换句话说,通过让模型处理更多的token,在搜索中进行搜索,来进一步增强模型的能力和实用性。
当然,这一设想已经在谷歌内部启动了实验。
事实上,我们已经在内部代码库上,为内部开发人员进行了关于Gemini模型的进一步培训。
更确切地说,谷歌内部已经实现了25%的代码由AI完成的目标。
谷歌往事:从“捞一笔就跑”到长相厮守
在这场对话中,两位嘉宾还分享了许多与谷歌相关的趣闻轶事。
对于1999年的Noam Shazeer而言,他原本并未打算加入谷歌这样的大公司,因为凭直觉认为去了也可能无用武之地。然而,当他看到谷歌制作的每日搜索量指数图表后,立刻改变了主意:
这些人一定会成功,看起来他们还有很多亟待解决的难题。
于是,他带着自己的“小算盘”加入了谷歌(主动投递了简历):
挣一笔钱,然后另起炉灶,开开心心地去搞自己感兴趣的AI研究。
加入谷歌后,Noam Shazeer结识了导师Jeff Dean(新员工都会有一位导师),后来两人在多个项目中展开了合作。
谈到这里,Jeff Dean也分享了他对谷歌的认同感:
我喜欢谷歌对RM愿景(响应式和多模态,Responsive and Multimodal)的广泛授权,即使是一个方向,也能开展许多小项目。
这也为Noam Shazeer提供了充分的自由空间,以至于这位原本打算“干一票就跑”的人,最终长期留在了谷歌。
当话题转向Jeff Dean时,他的一篇关于并行反向传播的本科论文被再次提及。
这篇论文只有8页,却成为了1990年的最优等本科论文,被明尼苏达大学图书馆珍藏至今。
在这篇论文中,Jeff Dean探讨了两种基于反向传播来并行训练神经网络的方法:
- 模式分割法(pattern-partitioned approach):将整个神经网络表示在每一个处理器上,把各种输入模式划分到可用的处理器上;
- 网络分割法(network-partitioned approach)流水线法(pipelined approach):将神经网络的神经元分布到可用的处理器上,所有处理器构成一个相互通信的环。然后,特征通过这个pipeline传递的过程中,由每个处理器上的神经元来处理。
他还构建了不同大小的神经网络,用几种不同的输入数据,对这两种方法进行了测试。
结果表明,对于模式分割法,网络规模大、输入模式多的情况下,加速效果较为显著。
当然,最值得关注的莫过于,我们能从这篇论文中看到1990年的“大”神经网络是什么样子:
3层、每层分别有10个、21个、10个神经元的神经网络,就已经算很大了。
Jeff Dean回忆说,他当时测试用的处理器,最多达到了32个。
(此时的他,应该还想象不到,12年后,他会和吴恩达、Quoc Le等人一起,用16000个CPU核心,从海量数据中找出猫。)
不过,Jeff Dean坦言,如果要让这些研究成果真正发挥作用,“我们需要大约100万倍的计算能力”。
后来,他们又谈到了AI的潜在风险,特别是当AI变得极其强大时,可能出现的反馈循环问题。
换句话说,AI通过编写代码或改进自身算法,可能进入一个不可控的加速改进循环(即“智能爆炸”)。
这将导致AI迅速超越人类的控制,甚至产生恶意版本。正如主持人打的比方,有100万个像Jeff Dean这样的顶尖程序员,最终变成了“100万个邪恶的Jeff”。
(网友):新的噩梦解锁了,哈哈!
最后,谈及在谷歌最快乐的时光,两人也分别陷入了回忆。
对于Jeff Dean而言,在谷歌早期的四五年时光里,最快乐的莫过于见证谷歌搜索流量的爆炸式增长。
建造一个如今有20亿人都在使用的产品,这简直不可思议。
至于最近,则很开心能和Gemini团队一起,构建出一些即使在5年前人们都不敢相信的东西,并且可以预见,模型的影响力还将持续扩大。
Noam Shazeer也表达了类似的经历和使命感,甚至还兴致勃勃地提到了谷歌的“微型厨房区域”。
据介绍,这是一个大约有50张桌子的特殊空间,提供咖啡和小吃,人们可以在这里自由自在地闲聊,碰撞出思想的火花。
一说到这里,连Jeff Dean也情不自禁地手舞足蹈起来(doge)。