编辑:alan
近日,面对EDA界对于自家AlphaChip的质疑,谷歌首席科学家Jeff Dean以论文回应论文,并表示:大家注意,这是同行竞争!
登上了Nature的「超人」芯片设计系统AlphaChip,却多次遭到质疑。
而且不是简单说说而已,做实验、写论文,还有一篇作为invited paper发在ISPD 2023。
AlphaFold都拿诺奖了,AlphaChip还搁这辟谣呢?
怎么办?谷歌首席科学家Jeff Dean表示:我也写篇论文!
EDA社区一直对我们的AlphaChip方法是否像Nature论文中声称的那样有效持怀疑态度。annadgoldie、Azaliamirh和我写了个论文,来回应这些问题:
Jeff Dean认为,这种毫无根据的怀疑,在很大程度上是由下面这篇文章(「一篇存在严重缺陷的未经同行评审的论文」)导致的:
该论文声称复制了我们的方法,但未能在主要方面遵循:
作者没有进行预训练(尽管在我们的Nature文章中提到了37次预训练 ),剥夺了基于学习的方法从其他芯片设计中学习的能力;
减少了20倍的计算量,并且没有进行收敛训练。
这就像评估一个以前从未见过围棋的AlphaGo,然后得出结论,AlphaGo不太擅长围棋。
Jeff Dean等人还回应了Igor Markov(Synopsys的杰出架构师)在 CACM 2024年11月刊上发表的分析文章。
Jeff Dean表示,Markov发论文时妹说自己是Synopsys的高级员工,——Synopsys是商业EDA软件,而AlphaChip是开源的。
Markov的论文分析中还引用了另一篇没发表的匿名PDF:
这实际上也是Markov写的。
Markov的文章提出了隐晦的指控,所有这些都是完全没有根据的,而且已经被Nature证明过了。
我很惊讶Synopsys想与此扯上关系,我很惊讶CACMmag认为有必要在没有证据的情况下发表这类指控,
除了两篇有缺陷的、未经同行评审的文章之外,没有任何技术数据。
谷歌的回击
话说在arxiv上吃瓜,小编还是第一次。
在Introduction部分,谷歌拉了个时间表:
2020年4月:发布Nature论文的arXiv预印本。
2020年8月:TPU v5e中流片了10个AlphaChip布局。
2021年6月:发表了Nature文章。
2021年9月:在TPU v5p中流片了15个AlphaChip布局。
2022年1月 - 2022年7月:开源了AlphaChip,Google的另一个团队独立复制了Nature论文中的结果。
2022年2月:谷歌内部独立委员会拒绝发表Markov等人的观点,因为数据不支持其主张和结论。
2022年10月:在Trillium(最新的公共TPU)中流片了25个AlphaChip布局。
2023年2月:Cheng等人在arXiv上发帖,声称对我们的方法进行了「大规模重新实现」。
2023年6月:Markov发布了他的「meta-analysis」。
2023年9月:Nature启动了第二次同行评审。
2024年3月:Google Axion处理器(基于ARM的CPU)采用了7个AlphaChip布局。
2024年4月:Nature完成了调查和出版后审查,发现完全对我们有利。
2024年9月:MediaTek高级副总裁宣布扩展AlphaChip以加速其最先进芯片的开发。
2024年11月:Markov重新发表了他的「meta-analysis」。
简单来说,我AlphaChip已经在自家服役这么长时间了,联发科也用了,Nature也调查过了,无懈可击。
而且作为不同的部门,TPU团队需要足够的信任才会使用AlphaChip(优于人类专家、高效且可靠),他们不能承担不必要的风险。
对于反方的Markov,论文评价道:「Markov的大部分批评都是这种形式:在他看来,我们的方法不应该奏效,因此它一定不起作用,任何表明相反的证据都是欺诈。」
说到欺诈这件事,正反方都谈到了内部举报人(whistle-
blower),在Markov的文章中是这样记载的:
论文的两位主要作者抱怨他们的研究中不断出现欺诈指控。2022 年,谷歌解雇了内部举报人,并拒绝批准出版谷歌研究人员撰写的一篇批评Mirhoseini等人的论文,举报人起诉谷歌不当解雇(根据加州举报人保护法)。
而本文表示:这位举报人向谷歌调查员承认,他怀疑这项研究是欺诈性的,但没有证据。
对错误论文的逐条回应
没有预先训练RL方法
与以前的方法不同,AlphaChip是一种基于学习的方法,这意味着它会随着解决更多的芯片放置问题而变得更好、更快。
这是通过预训练实现的,如下图2所示,训练数据集越大,放置新区块的方法就越好。
相反,Cheng等人根本没有进行预训练(没有训练数据),这意味着模型以前从未见过芯片,必须学习如何从头开始为每个测试用例执行布局。
作者在Nature论文中详细讨论了预训练的重要性,并实证证明了它的影响。例如下图3表明,预训练可以提高放置质量和收敛速度。
在开源的Ariane RISC-V CPU上,非预训练的RL需要48小时,才能接近预先训练模型在6小时内可以产生的值。
在Nature论文中,作者针对主数据表中的结果进行了48小时的预训练,而Cheng等人预训练了 0 小时。
「Cheng试图通过暗示我们的开源存储库不支持预训练,来为他们缺乏预训练找借口,但这是不正确的,预训练就是在多个样本上运行方法。」
使用的计算资源减少了一个数量级
在Cheng等人的论文中,RL方法提供的RL体验收集器减少了20倍(26个对比512个),GPU数量减少了一半(8个对比16个)。
使用较少的计算可能会损害性能,或者需要运行相当长的时间才能实现相同的性能。
如下图4所示,在大量GPU上进行训练可以加快收敛速度并产生更好的最终质量。
RL方法未训练到收敛
随着机器学习模型的训练,损失通常会减少,然后趋于平稳,这代表「收敛」——模型已经了解了它正在执行的任务。
众所周知,训练到收敛是机器学习的标准做法。
但如下图所示,Cheng等人没有为任何一个进行收敛训练,
下表总结了详细信息。除了没有提供图的BlackParrotNG45和Ariane-NG45,其他四个具有收敛图的块(Ariane-GF12、MemPool-NG45、BlackParrot-GF12 和 MemPool-GF12),训练在相对较低的步数(分别为 350k、250k、160k 和 250k 步)处截止。
如果遵循标准的机器学习实践,可能会提高这些测试用例的性能。
不具代表性、不可重现
在Nature论文中,作者报告的张量处理单元(TPU)块的结果来自低于7nm的技术节点,这是现代芯片的标准制程。
相比之下,Cheng等人采用了旧技术节点尺寸45nm和12nm)的结果,这从物理设计的角度来看有很大不同。
例如,在低于10nm时,通常使用multiple patterning,导致在较低密度下出现布线拥塞问题。因此,对于较旧的技术节点大小,AlphaChip可能会受益于调整其奖励函数的拥塞或密度分量。
AlphaChip的所有工作都是在7nm、5nm和更新的工艺上进行的,作者没有专注于将其应用于旧工艺制程的设计。
此外,Cheng等人也无法或不愿意分享在其主数据表中复制结果所需的综合网表。