芯片设计会议上的讨论很少激烈。但一年前在物理设计国际研讨会(ISPD) 上,事情变得一发不可收拾。有人将其形容为“火车失事”和“伏击”。冲突的关键是谷歌针对芯片设计中一个棘手问题的人工智能解决方案是否真的比人类或最先进的算法更好。它将成熟的男性电子设计自动化 (EDA) 专家与两名年轻的谷歌计算机科学家进行较量,而潜在的争论已经导致一名谷歌研究员被解雇。
今年在同一个会议上,该领域的领导者、IEEE 研究员安德鲁·卡恩 (Andrew Kahng ) 希望一劳永逸地结束争吵。他和加州大学圣地亚哥分校的同事对谷歌的强化学习方法进行了他所谓的“公开透明的评估” 。使用 Google 的开源版本的流程,称为 Circuit Training,并对 Kahng 的团队不够清楚的一些部分进行逆向工程,他们将强化学习设置为针对人类设计师、商业软件和最先进的学术算法。Kahng 拒绝就本文 与IEEE Spectrum交谈,但他上周在虚拟举行的 ISPD 上与工程师进行了交谈。
在大多数情况下,Circuit Training 不是赢家,但它具有竞争力。鉴于实验不允许 Circuit Training 使用其标志性能力——通过学习其他芯片设计来提高其性能,这一点尤其值得注意。
“我们的目标是明确理解,让社区继续前进,”他告诉工程师。只有时间会证明它是否有效。
如何和何时
所讨论的问题称为放置。基本上,它是确定逻辑块或内存块应该放置在芯片上的哪个位置的过程,以便最大限度地提高芯片的工作频率,同时最大限度地降低其功耗和占用的面积。找到这个难题的最佳解决方案是最困难的问题之一,可能的排列比围棋游戏更多。
但围棋最终被一种称为深度强化学习的人工智能击败,而这正是前谷歌大脑研究人员 Azalia Mirhoseini 和 Anna Goldie 应用于放置问题的方法。该方案当时称为 Morpheus,将放置大块电路(称为宏)视为游戏,学习寻找最佳解决方案。(宏的位置对芯片的特性有很大的影响。在 Circuit Training 和 Morpheus 中,一个单独的算法用较小的部分填充了空白,称为标准单元。其他方法对宏和标准单元使用相同的过程。)
简而言之,这就是它的工作原理:芯片的设计文件以所谓的网表开始——哪些宏和单元根据什么约束连接到哪些其他宏和单元。然后将标准cell收集到簇中以帮助加快训练过程。Circuit Training 然后开始将宏一次一个地放置在芯片“画布”上。当最后一个关闭时,一个单独的算法会用标准单元填补空白,系统会快速评估尝试,包括布线的长度(越长越差),它的密集程度(更多密集更糟),以及布线有多拥挤(你猜对了,更糟)。这称为代理成本,其作用类似于计算如何玩视频游戏的强化学习系统中的分数。该分数用作调整神经网络的反馈,并再次尝试。清洗、冲洗、重复。当系统最终了解其任务时,商业软件会对完整布局进行全面评估,生成芯片设计人员关心的指标,例如面积、功耗和频率限制。
谷歌的强化学习系统将放置称为宏的大型电路块视为游戏。代理在芯片画布上一次放置一个块。然后一个单独的算法填充称为标准单元格的较小部分。根据多个指标对放置进行评分,该分数用作改进代理的反馈。
经过七个月的审查过程, Mirhoseini 和 Goldie于 2021 年 6 月在Nature 上发表了 Morpheus 的结果和方法。(Kahng 是第 3 号评论员。)并且该技术被用于设计不止一代Google 的 TPU AI 加速器芯片。(所以是的,你今天使用的数据可能已经由运行在部分由 AI 设计的芯片上的 AI 处理。但随着 Cadence 和 Synopsys 等 EDA 供应商全力投入 AI 辅助芯片设计,这种情况越来越多。) 2022 年 1 月,他们在 GitHub 上发布了开源版本Circuit Training。但 Kahng 和其他人声称,即使是这个版本也不够完整,无法重现这项研究。
作为对《自然》杂志的回应,一个独立的工程师小组(主要在谷歌内部)开始研究,他们认为这是一种将强化学习与既定算法进行比较的更好方法。但这不是友好的竞争。据媒体报道,其领导人 Satrajit Chatterjee 多次亲自破坏 Mirhoseini 和 Goldie,并因此于 2022 年被解雇。
当 Chatterjee 还在谷歌时,他的团队发表了一篇题为“ Stronger Baselines ”的论文,批评发表在《自然》杂志上的研究。他试图在会议上展示它,但在经过独立决议委员会的审查后,谷歌拒绝了。在他被解雇后,该论文的早期版本在 2022 年 ISPD 之前 通过匿名 Twitter 帐户泄露,导致公众对抗。
基准、基线和可重复性
当IEEE Spectrum在 ISPD 2022 之后与 EDA 专家交谈时,批评者提出了三个相互关联的问题——基准、基线和可重复性。
基准是公开可用的电路块,研究人员可以在这些电路块上测试他们的新算法。谷歌开始工作时的基准已经有大约二十年的历史了,它们与现代芯片的相关性存在争议。卡尔加里大学教授 Laleh Behjat 将其比作规划现代城市与规划 17 世纪城市。她说,每个人所需的基础设施是不同的。然而,其他人指出,如果每个人都在同一组基准上进行测试,研究社区就无法取得进步。
Nature论文 没有采用当时可用的基准,而是专注于为 Google 的 TPU 做布局,这是一种复杂的尖端芯片,其设计对 Google 以外的研究人员不可用。泄露的“Stronger Baselines”工作放置了 TPU 块,但也使用了旧的基准。虽然 Kahng 的新作品也为旧的基准测试做了安排,但主要关注点集中在三个更现代的设计上,其中两个是新推出的,包括一个多核 RISC-V 处理器。
基线是您的新系统与之竞争的最先进算法。Nature将使用商业工具的人类专家与强化学习和当时领先的学术算法 RePlAce 进行了比较。Stronger Baselines 认为Nature 的工作没有正确执行 RePlAce,并且还需要比较另一种算法,模拟退火。(公平地说,模拟退火结果出现在Nature论文的附录中。)
但Kahng 真正关注的 是可重复性。他声称 Circuit Training 在发布到 GitHub 时未能允许独立小组完全重现该过程。因此,他们自行对他们认为缺失的元素和参数进行逆向工程。
重要的是,Kahng 的团队公开记录了进展、代码、数据集和程序,以此作为此类工作如何提高可重复性的示例。首先,他们甚至设法说服 EDA 软件公司 Cadence 和 Synopsys 允许发布实验中使用的高级脚本。“对于我们的领域来说,这绝对是一个分水岭,”Kahng 说。
UCSD 的努力,简称为MacroPlacement,并不意味着要一对一地重做Nature论文或泄露的 Stronger Baselines 工作。除了使用 2020 年和 2021 年不可用的现代公共基准测试外,MacroPlacement 还将 Circuit Training(虽然不是最新版本)与新的商业工具Cadence 的 Innovus 并发宏布局器 (CMP)以及在 Nvidia 开发的称为AutoDMP的方法进行了比较新的它只是在 Kahng 发言前的 ISPD 2023 分钟公开介绍。
强化学习与所有人
Kahng 的论文报告了使用两种技术(开源的 NanGate45 和GlobalFoundries 的商用 FinFET 工艺 GF12)实施的三种现代基准设计的结果。( 《自然》杂志报道的 TPU 结果使用了更先进的工艺技术。)Kahng 的团队测量了 Mirhoseini 和 Goldie 在他们的《自然》论文中所做的相同的六个指标:面积、布线长度、功率、两个时序指标,以及前面提到的代理成本。(代理成本不是生产中使用的实际指标,但它被包括在内以反映自然论文。)结果好坏参半。
正如在《自然》杂志 的原始论文中所做的那样,强化学习在大多数进行直接比较的指标上都击败了 RePlAce。(RePlAce 没有为三个设计中最大的一个提供答案。)与模拟退火相比,Circuit Training 在生产指标上赢多于输。
对于这些实验,大赢家是最新加入的 CMP 和 AutoDMP,它们在比任何其他方法更多的情况下提供了最佳指标。
在旨在匹配 Stronger Baselines 的测试中,使用较旧的基准测试,RePlAce 和模拟退火几乎总是击败强化学习。但这些结果只报告了一个生产指标,即线长,因此它们并没有呈现完整的画面,Mirhoseini 和 Goldie 争论道。
缺乏学习
可以理解,Mirhoseini 和 Goldie 对 MacroPlacement 工作有自己的批评,但也许最重要的是它没有使用在其他芯片设计上预训练的神经网络,从而剥夺了他们方法的主要优势。他们在一封电子邮件中写道,巡回训练“与所介绍的任何其他方法不同,它可以从经验中学习,在发现每个问题时更快地做出更好的布置”。
但在 MacroPlacement 实验中,每个电路训练结果都来自一个以前从未见过设计的神经网络。“这类似于在每场比赛前重新设置 AlphaGo……然后在每次面对新对手时迫使它从头开始学习如何下围棋!”
Nature论文 的结果证实了这一点,表明系统学习的 TPU 电路块越多,它为尚未见过的电路块放置宏的效果就越好。它还表明,经过预训练的强化学习系统可以在 6 小时内产生与未经训练的系统在 40 小时后质量相同的位置。
新的争议?
Kahng 的 ISPD 演讲强调了Nature中描述的方法与开源版本 Circuit Training 中的方法之间的特殊差异。回想一下,作为预处理步骤,强化学习方法将标准cell聚集成簇。在 Circuit Training 中,该步骤由商业 EDA 软件实现,该软件输出网表——哪些单元和宏相互连接——以及组件的初始布局。
根据 Kahng 的说法,即使作为该论文的审稿人,他也不知道Nature作品中存在初始位置。根据 Goldie 的说法,生成称为物理综合的初始布局是标准的行业惯例,因为它指导网表的创建,即宏布局器的输入。Nature和 MacroPlacement中的所有布局方法都被赋予了相同的输入网表。
初始放置是否以某种方式给强化学习带来了优势?是的,根据 Kahng 的说法。但从目前的实验来看,尚不清楚影响到什么程度,甚至是为什么。他的团队做了实验,将三种不同的不可能的初始位置输入到巡回训练中,并将它们与真实位置进行比较。不可能版本的布线长度要差 7% 到 10%。
Mirhoseini 和 Goldie 反驳说,初始放置信息仅用于聚类标准单元,而强化学习不会放置这些信息。他们说,宏观放置强化学习部分不知道初始放置。更重要的是,提供不可能的初始位置可能就像在标准cell聚类步骤中使用大锤一样,因此给强化学习系统一个错误的奖励信号。“Kahng 带来了一个劣势,而不是消除了优势,”他们写道。
Kahng 建议即将进行更精心设计的实验。
继续
这场争论当然产生了后果,其中大部分是负面的。Chatterjee 与谷歌陷入了一场不当终止诉讼。Kahng 和他的团队花费了大量时间和精力来重建多年前完成的工作——也许是好几次。Goldie 和 Mirhoseini 花了数年时间抵御来自未发表和未经审阅的研究的批评,他们的目标是帮助改进芯片设计,离开了一个历来难以吸引女性人才的工程领域。自 2022 年 8 月以来,他们一直在Anthropic致力于大型语言模型的强化学习。
如果有好的一面,那就是 Kahng 的努力为开放和可重复的研究提供了一个模型,并添加到公开可用的工具库中,以推动芯片设计的这一部分向前发展。也就是说,Mirhoseini 和 Goldie 在谷歌的团队已经制作了他们研究的开源版本,这在行业研究中并不常见,并且需要一些重要的工程工作。
尽管发生了所有这些戏剧性的事情,但在芯片设计中,机器学习的普遍使用,特别是强化学习,只是在传播。甚至在开源之前,不止一个团队能够在 Morpheus 的基础上进行构建。机器学习正在协助商业 EDA 工具不断发展的方面,例如来自Synopsys和Cadence 的工具。
但是,如果没有不愉快,所有的好事都可能发生。
编辑:黄飞
评论
查看更多