一项关于芯片设计的研究试图解决围绕谷歌人工智能工具的激烈分歧。
一项研究试图解决围绕谷歌人工智能工具的激烈分歧。
芯片设计大会上的讨论很少白热化。不过,一年前,在国际物理设计研讨会(ISPD)上,事态失控了。观察人员用“火车碰撞”和“埋伏偷袭”来比喻当时的事态。冲突的症结是芯片设计难题,即谷歌借助人工智能(AI)的解决方案是否真的比人工和最先进的算法好。为此,一位知名的男性电子设计自动化(EDA)专家与谷歌的两名年轻女性计算机科学家针锋相对,由此引发的争论已经导致一名谷歌研究员被解雇。
2023年,同样是在国际物理设计研讨会上,该领域的领导者、IEEE会士安德鲁•卡恩(Andrew Kahng)希望一劳永逸地结束这场争论。他和加州大学圣地亚哥分校(UCSD)的同事对谷歌的强化学习方法进行了“公开透明的操作和评估”。他们使用了谷歌名为“循环训练”(Circuit Training)的开源版本,并对卡恩团队不够清晰的部分进行了逆向工程,他们将强化学习与人类设计师、商业软件和最先进的学术算法进行了对比。
循环训练(左上)是谷歌开发的一种强化学习方法,该方法与其他各种人工智能和人工方法相互竞争,寻求在芯片上获得最好的大块电路布局。
在大多数情况下,循环训练并不是赢家,但它具有竞争性。由于各种原因,该研究没有测试循环训练的招牌功能:通过学习其他芯片设计来提高其性能。
“我们的目标很明确,就是推动社区不断进步。”他在2023年国际物理设计研讨会上告诉工程师们。只有时间能证明这是否可行。
谷歌的强化学习系统将大型电路块(称为宏)布局视为一种游戏。代理一次在芯片画布上放置一个电路块。然后,一个单独的算法填充名为标准单元的小部件。系统会根据几项指标给布局评分,并将该评分作为反馈来改进代理。
如何与何时
工程师讨论的问题被称为布局,即确定逻辑或内存块应该放在芯片的什么位置。布局时必须考虑权衡各种矛盾的因素,最大限度地提高芯片的工作频率,同时最大限度地降低其功耗和占用空间。找到这个问题的最佳解决方案是最困难的部分之一,可能的排列组合比围棋还多。
不过,围棋最终被一款名为深度强化学习的人工智能打败了,这正是前谷歌大脑研究员阿扎利亚•米尔霍西尼(Azalia Mirhoseini)和安娜•戈尔迪(Anna Goldie)在布局问题上应用的方案。该方案当时被称为Morpheus,它将放置大块电路(称为“宏”)视为一个游戏,学习如何在游戏的过程中找到最佳解决方案。(宏的位置对芯片特性有巨大的影响。在循环训练和Morpheus中,用一种被称为标准单元单独的算法在空白处来填充小部件。针对宏和标准单元,其他方法使用同样的过程。)
简而言之,其工作原理如下:芯片的设计文件从网表开始,在网表中指定哪些宏和单元根据什么约束条件连接到其他宏和单元。为了帮助加快训练过程,标准单元随后被收集到该集群。之后,循环训练会开始将宏一次一个地放置到芯片“画布”上。当最后一个宏放置后,单独的算法在空白处填充标准单元,系统会尝试进行快速评估,包括布线的长度(越长越差)、密集程度(越密集越差)及其拥挤程度(越拥挤越差)。这被称为代理成本,就像电子游戏中的分数一样。该分数作为反馈,用于调整神经网络,然后系统会再次尝试。洗涤、漂洗、重复。系统最终学会任务,商业软件对整个布局进行全面的评估,生成芯片设计者关心的各种指标,如面积、功耗和约束频率等。
经过7个月的审核过程,米尔霍西尼和戈尔迪于2021年6月在美国《自然》杂志上发表了Morpheus的研究结果和方法。(卡恩是第三位审查员。)该技术用于设计多代谷歌的张量处理单元(TPU)人工智能加速器芯片。2022年1月,谷歌在GitHub上发布了循环训练的开源版本,但卡恩和其他人表示,即使是这个版本也不够完整,无法复制该项研究。
为了回应《自然》杂志上发表的内容,一个主要由谷歌内部工程师组成的独立团队开始研究自己的方法,并认为该方法可以更好地将强化学习与现有算法进行对比。不过,这种竞争并不友好。据新闻报道,该小组的领导人、谷歌研究员萨特拉吉特•查特吉(Satrajit Chatterjee)多次暗中损害米尔霍西尼和戈尔迪的个人利益,并于2022年因此被解雇。
查特吉仍在谷歌就职时,他的团队发表了一篇题为《更强大的基线》(Stronger Baselines)的论文,批评了发表在《自然》杂志上的研究。他试图将论文提交给一个大会,但经过独立决议委员会审查后,谷歌拒绝了。在他被解雇后,就在2022年国际物理设计研讨会之前,该论文的早期版本被一个匿名推特账户泄露,从而引发了公众的对峙。
基准、基线和再现性
《科技纵览》在2022年国际物理设计研讨会之后与电子设计自动化专家探讨时发现,批评者有3个相互关联的关注点:基准、基线和再现性。
基准是公开可用的电路设计,研究人员可以在基准上测试新的算法。谷歌在开始工作时常用的基准来源于已经有大约20年历史的设计。尽管其与现代芯片的相关性存在一些争论,但它们仍然得到了广泛的支持。
《自然》杂志的论文主要关注的不是这些基准,而是谷歌张量处理单元的布局,这是一种复杂且前沿的芯片,该公司以外的研究人员无法设计。
基线是与新系统竞争的最先进的算法。《自然》杂志上的那篇论文将强化学习比作人类专家和当时领先的学术算法RePlAce。《更强大的基线》一文则认为,《自然》杂志的工作并未恰当地执行RePlAce,而另一种算法模拟退火也需要进行比较。
而实际上,卡恩真正关注的是再现性。他认为,发布在GitHub上的循环训练无法让另外一个独立小组完全重复全过程。因此加州大学圣地亚哥分校团队对卡恩认为缺失的元素和参数进行了逆向工程。
重要的是,卡恩的团队公开记录了进展、代码、数据集和过程,作为此类工作可提高再现性的示例。
加州大学圣地亚哥分校的工作被称为MacroPlacement,它不是对《自然》杂志论文的一对一的重做。除了使用公共基准,其中两个已在2020年和2021年无法使用,MacroPlacement还分别将循环训练与Cadence的商业工具Innovus并发宏放置器(CMP)和英伟达开发的一种名为AutoDMP的方法进行对比,后者是在卡恩发言前几分钟在2023年国际物理设计研讨会上公开推出的。
另一个关键区别在于,每个Macro-Placement结果都来自以前从未见过设计的神经网络。而在《自然》杂志论文的实验中,研究人员曾用20个张量处理单元电路样本对该网络进行了预训练,然后将其结果与其他方法的结果进行比较。米尔霍西尼和戈尔迪认为缺少预训练剥夺了该方法的主要优势。她们在一封电子邮件中写道,循环训练“与其他任何方法都不同,它能够从经验中学习,针对其看到的每一个问题,快速产生更好的布局”。
按照MacroPlacement常见问题解答(FAQ),没有测试预训练是因为使用预训练网络的代码没有在循环训练中发布,而且没有可用的设计能与《自然》杂志论文中完成的训练相匹配。此外,对于该团队测试的最小基准Ariane,谷歌已经表明,预训练的结果不会产生比《自然》杂志上已发表内容更好。
循环训练与其他技术的比较
卡恩的论文报告使用两种工艺技术,实现3种基准设计的结果。该团队测量的指标与米尔霍西尼和戈尔迪在其《自然》杂志论文中所做的指标相同,包括面积、布线长度、功率、两个时序指标和前文所述的代理成本。(代理成本并不是生产中使用的实际指标,包含该指标是为了对应《自然》杂志论文。)结果是好坏参半。
正如《自然》杂志原始论文中所述,在大多数面对面比较的指标上,强化学习打败了RePlAce。(对3种设计中最大的一种,RePlAce未能生成布局。)与人类专家相比,循环训练经常失败;与模拟退火相比,结果多为平局。
循环训练(谷歌的开源强化学习布局工具)与布局算法(RePIAce、模拟退火和AutoDMP)商业软件工具(CMP)以及人类专家的对比结果。测试采用两种工艺实现3种设计(此处仅显示NG45)。请注意,对于最大的设计Mem-Pool,AutoDMP没有提供结果。
最大的赢家是商业工具CMP和新加入的AutoDMP,与其他方法相比,它们能在更多情况下提供最佳指标。
继续前行
毫无疑问,这场争端带来的后果大多数都是负面的。查特吉陷入了与谷歌不当终止合同的诉讼。卡恩及其团队花费了大量的时间和精力来重建几年前完成的工作,而且可能是多次重建。多年来,戈尔迪和米尔霍西尼在承受引用未发表和未审查研究的批评后,离开了这一历来难以吸引女性人才的工程领域。从2022年8月以来,她们一直在人工智能研究公司Anthropic从事有关大型语言模型的强化学习工作。
如果说有积极的一面,那么就是卡恩的工作为开源和可重现研究提供了一个模型,并增加了公开可用工具,从而推动了芯片设计中的这一部分向前发展。尽管如此,机器学习在芯片设计中的应用已经开始传播开来,如今,它正在帮助了新思科技(Synopsys)和楷登电子(Cadence)的商业电子设计自动化工具在不断发展。
然而,没有这些不愉快,所有的好事也会出现。