芯片设计仅靠 AI 还不够,可能需要经典搜索和机器学习结合
自1971 年费德里科·法金 (Federico Faggin) 完成第一个商用微处理器 Intel 4004 的草图以来,芯片设计已经取得了长足的进步,当时他只用了直尺和彩色铅笔。今天的设计人员可以使用大量的软件工具来规划和测试新的集成电路。但是,随着芯片变得越来越复杂(有些芯片包含数千亿个晶体管),设计人员必须解决的问题也越来越复杂。而这些工具并不总是能胜任这项任务。
现代芯片工程是一个由九个阶段组成的迭代过程,从系统规范到封装。每个阶段都有多个子阶段,每个子阶段可能需要数周到数月的时间,具体取决于问题的大小及其约束条件。许多设计问题只有 10 个中只有少数几个可行的解决方案100到 101000可能性——如果有的话,这是一个大海捞针的场景。当今使用的自动化工具通常无法解决这种规模的现实问题,这意味着必须人工介入,这使得该过程比芯片制造商希望的更费力和耗时。
毫不奇怪,人们对使用机器学习来加速芯片设计的兴趣日益浓厚。然而,正如我们在英特尔人工智能实验室的团队所发现的那样,机器学习算法本身往往是不够的,尤其是在处理必须满足的多个约束时。
事实上,我们最近尝试开发一种基于 AI 的解决方案来处理一项称为布局规划的棘手设计任务(稍后会详细介绍该任务),这让我们找到了一个基于非 AI 方法(如经典搜索)的更成功的工具。这表明该领域不应该太快就否定传统技术。我们现在相信,结合两种方法优点的混合方法,虽然目前是一个未被充分探索的研究领域,但将被证明是最富有成效的前进道路。原因如下。
AI 算法的危险
芯片设计中最大的瓶颈之一发生在物理设计阶段,在架构得到解决并且逻辑和电路已经解决之后。物理设计涉及对芯片的布局和连接进行几何优化。第一步是将芯片划分为高级功能块,例如 CPU 内核、内存块等。然后,这些大分区被细分为较小的分区,称为宏和标准单元。一个系统级芯片 (SoC) 平均有大约 100 个高级模块,由数百到数千个宏和数千到数十万个标准单元组成。
接下来是布局规划,其中功能块的排列满足某些设计目标,包括高性能、低功耗和成本效益。这些目标通常是通过最小化线长(连接电路元件的纳米线的总长度)和空白(未被电路占用的芯片总面积)来实现的。此类布局规划问题属于数学规划的一个分支,称为组合优化。如果您曾经玩过俄罗斯方块,那么您已经解决了一个非常简单的组合优化难题。
布局规划是芯片设计的许多阶段之一,其中 CPU 内核和其他功能块的排列是满足特定目标。这尤其具有挑战性,因为它需要求解具有多个约束的大型优化问题。克里斯·菲尔波特
Chip Floorplanning 就像打了类固醇的俄罗斯方块。首先,可能的解决方案的数量可能大得惊人——毫不夸张地说。在典型的 SoC 平面图中,大约有 10 个250排列 120 个高级块的可能方法;相比之下,估计有 10 个24宇宙中的星星。宏和标准单元格的可能排列数量要大几个数量级。
给定一个目标 — 例如,将功能块压缩到尽可能小的硅面积 — 商用布局规划工具可以在短短几分钟内解决如此规模的问题。然而,当面临多个目标和限制时,例如关于某些块必须去哪里、如何塑造它们或哪些块必须放在一起的规则,它们就会陷入困境。因此,人类设计师经常求助于反复试验和他们自己的聪明才智,从而将生产计划增加数小时甚至数天。而这只是一个子阶段。
尽管机器学习在过去十年中取得了胜利,但到目前为止,它对芯片设计的影响相对较小。像 Nvidia 这样的公司已经开始训练大型语言模型 (LLM)(为 Copilot 和 ChatGPT 等服务提供支持的 AI 形式)来为硬件设计程序编写脚本并分析错误。但这样的编码任务与解决像布局规划这样的复杂优化问题相去甚远。
乍一看,将 Transformer 模型(LLM 的基础)也抛向物理设计问题可能也很诱人。从理论上讲,我们可以通过训练变压器按顺序预测芯片上每个模块的物理坐标来创建一个基于 AI 的楼层规划器,类似于 AI 聊天机器人按顺序预测句子中的单词。但是,如果我们试图教模型放置块,使它们不会重叠,我们很快就会遇到麻烦。虽然人类很容易掌握,但这个概念对于计算机来说学习起来并不简单,因此需要大量的训练数据和时间。同样的事情也适用于进一步的设计约束,比如要求将块放在一起或靠近某个边缘。
一个简单的平面图 [左] 可以用 B* 树数据结构 [右] 来表示。克里斯·菲尔波特
所以,我们采取了不同的方法。我们的第一项任务是选择一种有效的数据结构来传达平面图中区块的位置。我们落在了所谓的 B* 树上。在此结构中,每个块都表示为二叉树上的一个节点。平面图左下角的块成为根。右侧的块变为一个分支;顶部的块将成为 Other Branch。此模式对于每个新节点都将继续。因此,随着树的生长,它会在向右和向上扇动时封装平面图。
B* 树结构的一大优点是它保证了无重叠的平面图,因为块的位置是相对的而不是绝对的——例如,“在另一个块的上方”而不是“在这个位置”。因此,AI 楼层规划师不需要预测它放置的每个块的确切坐标。相反,它可以根据块的维度以及其关系邻居的坐标和维度轻松计算它们。瞧——没有重叠。
有了数据结构,我们在包含数百万个最佳平面图的数据集上训练了几个机器学习模型,特别是图形神经网络、扩散模型和基于 transformer 的模型。这些模型学会了预测放置在先前放置的块的上方或右侧的最佳块,以生成针对面积和线长优化的平面图。但我们很快意识到,这种循序渐进的方法行不通。我们将布局规划问题扩展到大约 100 个块,并在无重叠规则之外添加了硬性约束。这些要求包括要求将一些块放置在预定位置(如边缘)或将共享相同电压源的块分组。然而,我们的 AI 模型浪费了时间寻求次优解决方案。
我们推测,问题在于模型无法回溯:因为它们按顺序放置块,所以它们无法追溯修复之前的错误放置。我们可以使用强化学习代理等技术来绕过这个障碍,但训练一个好的模型所需的这种代理需要大量的探索是不切实际的。走到死胡同后,我们决定放弃逐个区块的决策,尝试新的策略。
回归芯片设计传统
解决大量组合优化问题的一种常见方法是使用一种称为模拟退火 (SA) 的搜索技术。SA 于 1983 年首次被描述,其灵感来自冶金学,其中退火是指将金属加热到高温,然后缓慢冷却的过程。受控的能量减少使原子能够有序排列,使材料比快速冷却时更坚固、更柔韧。以类似的方式,SA 逐步找到优化问题的最佳解决方案,而不必繁琐地检查每一种可能性。
以下是它的工作原理。该算法从一个随机解决方案开始 — 就我们的目的而言,一个表示为 B* 树的随机平面图。然后,我们允许算法再次随机执行以下三个操作之一:它可以交换两个块,将块从一个位置移动到另一个位置,或调整块的宽高比(不改变其面积)。我们通过取总面积和线长的加权平均值来判断最终 floorplan 的质量。此数字描述操作的 “成本”。
如果新的平面图更好(也就是说,它降低了成本),我们就会接受它。如果情况更糟,我们最初也会接受它,因为我们知道一些 “坏 ”的决定可能会朝着好的方向发展。然而,随着时间的推移,随着算法不断随机调整数据块,我们接受增加成本的操作的频率越来越低。与金属加工一样,我们希望逐步进行这种转变。正如过快冷却金属会使其原子陷入无序排列一样,过早限制算法的探索可能会将其困在次优解中,称为局部最小值。通过给算法足够的余地来尽早避开这些陷阱,我们可以哄骗它找到我们真正想要的解决方案:全局最小值(或它的良好近似值)。
我们使用 SA 解决布局规划问题的成功率要比使用我们的任何机器学习模型都要大得多。由于 SA 算法没有放置顺序的概念,因此它可以随时对任何区块进行更改,基本上允许算法纠正早期的错误。在没有限制的情况下,我们发现它可以在几分钟内解决具有数百个块的高度复杂的平面图。相比之下,使用商业工具的芯片设计师需要数小时才能解决相同的难题。
使用一种称为模拟退火的搜索技术,布局规划算法从随机布局 [top] 开始。然后,它会尝试通过交换两个块、将块移动到另一个位置或调整块的纵横比来改进布局。克里斯·菲尔波特
当然,实际设计问题也有限制。因此,我们给 SA 算法提供了一些与机器学习模型相同的算法,包括对某些区块的放置位置和分组方式的限制。我们首先尝试通过将平面图违反这些限制的次数添加到我们的成本函数中来解决这些硬性限制。现在,当算法进行随机块更改以增加约束违规时,我们以越来越大的概率拒绝这些操作,从而指示模型避免它们。
然而,不幸的是,这种策略适得其反。在 cost 函数中包含约束意味着算法将尝试在满足约束和优化面积和线长之间找到平衡。但根据定义,硬性约束不能妥协。然而,当我们增加 constraints 变量的权重以考虑这种刚性时,该算法在优化方面做得很差。模型没有努力修复导致全局最小值(最优平面图)的违规行为,而是反复导致模型无法逃避的局部最小值(次优平面图)。
推进机器学习
回到绘图板,我们构思了 SA 的新变化,我们称之为约束感知 SA (CA-SA)。此变体使用两个算法模块。第一个是 SA 模块,它侧重于 SA 最擅长的方面:优化面积和线长。第二个模块选择随机约束冲突并修复它。这个修复模块很少启动(大约每 10,000 次操作一次),但当它启动时,无论对面积和线长的影响如何,它的决定总是被接受的。因此,我们可以引导我们的 CA-SA 算法朝着满足硬约束而不阻碍它的解决方案前进。
使用这种方法,我们开发了一个开源的布局规划工具,可以同时运行 CA-SA 的多个迭代。我们称其为具有约束感知的并行模拟退火,或简称 Parsac。人类设计师可以从 Parsac 的最佳解决方案中进行选择。当我们在多达 300 个块的流行布局规划基准测试中测试 Parsac 时,它轻松击败了所有其他已发布的公式,包括其他基于 SA 的算法和机器学习模型。
如果没有约束感知,常规的 simulated-annealing 算法会产生无法改进的次优 floorplan。在这种情况下,Block X 被困在无效位置。任何修复此冲突的尝试都会导致其他几个冲突。克里斯·菲尔波特
然而,这些既定的基准测试已有二十多年的历史,并不能反映现代 SoC 设计。一个主要缺点是它们缺乏硬性约束。为了了解 Parsac 在更真实的设计中的表现,我们在基准测试问题中添加了自己的约束,包括关于块放置和分组的规定。令我们高兴的是,Parsac 在不到 15 分钟的时间内成功解决了商业规模(约 100 个街区)的高级布局规划问题,使其成为同类产品中已知最快的布局规划器。
我们现在正在开发另一种基于几何搜索的非 AI 技术,以处理形状奇特的块的布局规划,从而更深入地研究现实世界的场景。不规则的布局太复杂了,无法用 B* 树来表示,所以我们回到了顺序块放置。早期结果表明,这种新方法可能比 Parsac 更快,但由于无回溯问题,解决方案可能不是最佳解决方案。
同时,我们正在努力使 Parsac 适应宏放置,比块布局规划更精细一个级别,这意味着从数百个元素扩展到数千个元素,同时仍然遵守约束。单独的 CA-SA 可能太慢,无法有效解决这种规模和复杂性的问题,而这正是机器学习可以提供帮助的地方。
Parsac 可在 15 分钟内解决商业规模的布局规划问题,使其成为同类算法中已知最快的算法。初始布局包含许多违反某些约束的块 [red]。Parsac 更改了布局规划以最小化面积和线长,同时消除了任何约束冲突。克里斯·菲尔波特
例如,给定一个 SA 生成的平面图,我们可以训练一个 AI 模型来预测哪个操作会提高布局的质量。然后,我们可以使用此模型来指导 CA-SA 算法的决策。该算法不会只采取随机或“愚蠢”的操作(同时适应约束),而是以一定的概率接受模型的“智能”操作。我们推断,通过与 AI 模型合作,Parsac 可以显著减少寻找最佳解决方案所需的操作数量,从而缩短其运行时间。但是,允许一些随机操作仍然至关重要,因为它使算法能够充分探索问题。否则,很容易陷入次优陷阱,就像我们失败的基于 AI 的地板规划师一样。
这种或类似的方法可能有助于解决 floorplanning 之外的其他复杂组合优化问题。在芯片设计中,此类问题包括优化内核内互连的布线和布尔电路最小化,其中挑战是构建具有最少门和输入的电路来执行功能。
需要新的基准
我们与 Parsac 合作的经验也激发了我们创建样本平面图的开放数据集,我们希望它能成为该领域的新基准。随着研究人员寻求验证新的芯片设计工具,对这种现代基准测试的需求越来越迫切。例如,最近的研究基于旧基准或专有布局对新型机器学习算法的性能提出了质疑,这引发了对这些声明合法性的质疑。
我们发布了两个数据集,分别名为 FloorSet-Lite 和 FloorSet-Prime,现已在 GitHub 上提供。每个数据集包含 100 万个用于训练机器学习模型的布局,以及 100 个针对面积和线长优化的测试布局。我们设计的布局充分体现了当代 SoC 平面图的广度和复杂性。它们的范围从 20 到 120 个块不等,并包括实际的设计约束。
为了开发用于芯片设计的机器学习,我们需要许多示例平面图。我们的 FloorSet 数据集之一的样本具有约束 [red] 和形状不规则的块,这在实际设计中很常见。克里斯·菲尔波特
这两个数据集的复杂程度不同。FloorSet-Lite 使用矩形块,反映了早期设计阶段,当时块通常被配置成简单的形状。另一方面,FloorSet-Prime 使用不规则块,这在设计过程的后期更为常见。此时,宏、标准单元格和其他组件在块中的放置已得到优化,从而产生了非矩形块形状。
尽管这些数据集是人工的,但我们小心翼翼地整合了商用芯片的特征。为此,我们创建了平面图属性的详细统计分布,例如块尺寸和约束类型。然后,我们从这些发行版中采样,以创建模拟真实芯片布局的综合布局图。
这种强大的开放存储库可以显著推动机器学习在芯片设计中的应用。然而,我们不太可能看到完全基于 AI 的解决方案来解决棘手的优化问题,例如布局规划。深度学习模型在对象识别和语言生成等任务中占据主导地位,因为它们非常擅长捕获训练数据中的统计规律,并将这些模式与所需的输出相关联。但是这种方法不适用于困难的组合优化问题,这些问题需要模式识别以外的技术来解决。
相反,我们预计混合算法将成为最终的赢家。通过学习识别最有前途的解决方案类型进行探索,AI 模型可以智能地指导 Parsac 等搜索代理,从而提高它们的效率。芯片设计人员可以更快地解决问题,从而创建更复杂、更节能的芯片。他们甚至可以将多个设计阶段组合成一个优化问题,或者同时追求多个设计。AI 可能无法完全自行创建芯片,甚至无法解决单个设计阶段。但是,当与其他创新方法相结合时,它将改变该领域的游戏规则。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码