芯片设计既是一门艺术,也是一项极为复杂的工程,并且设计的风险和研发成本也越来越高昂。
据IBS首席执行官Handel Jones介绍,目前“成功研发一款28nm芯片的平均成本为4000万美元,相比之下,7nm芯片的成本为2.17亿美元,5nm芯片的成本为4.16亿美元,3nm芯片的成本将高达5.9亿美元。”显然,随着工艺制程节点的提升,研发一款芯片如果失败,其成本将会越来越高。
但是,由于逻辑和存储区块的所有可能布局以及连接它们的导线,存在看似无限的布局组合,而且通常,不管你信不信,芯片布局规划中最优秀的设计人员都是根据经验和预感工作的,他们不能总是给出一个很好的答案,来说明为什么特定模式有效、而其他模式无效。
因此,研究人员也一直在尝试将人类的猜测以及一些重复性的工作,从这项芯片设计任务中剔除,并朝着更优化的设计迈进。即便是随着Chiplet设计的“火爆”,这项任务也不会消失,因为计算引擎上的所有小芯片都需要互连才能成为虚拟单片芯片,并且必须考虑所有延迟和功耗对此类电路复合体的影响。
因此,将人工智能(AI)技术引入到帮助加速芯片设计,也是一项很自然的事情。
EDA厂商引入AI加速芯片设计
早在2020年,芯片设计所需的EDA工具大厂新思科技(Synopsys.)就推出了业界首个用于芯片设计的自主人工智能应用程序——DSO.ai™(Design Space Optimization AI)。作为一款人工智能和推理引擎,DSO.ai能够在芯片设计的巨大求解空间里搜索优化目标。
三星设计平台开发部执行副总裁Jaehong Park当时就表示:“在我们的设计环境中,新思科技DSO.ai能系统地找到最佳解决方案,从而在我们已经实现的PPA(性能、功耗与面积)优化成果上实现更进一步的突破。此外,原本需要多位设计专家耗时一个多月才可完成的设计,DSO.ai只要短短3天即可完成。这种AI驱动的设计方法将使三星的用户能够在芯片设计中充分利用我们先进技术的优势。”
新思科技今年6月底最新公布的资料显示,在三星的案例中,DSO.ai技术被成功应用于开发Voptz和Ftarget优化应用程序,通过自动探索大量的电压(V)/目标频率(F)空间以找出最高基准分数和最长电池时间的最佳组合。此外,DSO.ai RL模型将通过分析之前运行中的选择,自动学习并生成更好的组合。这也使得三星在4nm Arm Big CPU利用DSO.ai设计,在相同的工作电压下,实现了频率提升13%-80%;而在相同的工作频率下,最高可将功耗降低25%。
索尼也在设计传感器的过程也利用DSO.ai技术并验证了其出众的性能。与专家工程师的人工操作相比,DSO.ai实现最佳结果仅需1/4的设计周期、1/5的设计工作量,并成功将功耗降低了3%,进一步提升设计结果质量。
同样,另一家EDA工具大厂Cadence 也于2021年推出了首款基于全的设计工具 Cerebrus,可以实现数字芯片设计的自动化与规模化。
据介绍,Cerebrus采用独一无二的增强型机器学习,实现了高达 10 倍的工程生产力提升,20% 的 PPA 结果改进。同时,还实现了 RTL-to-GDS 的全流程自动优化,从而能够更迅速地提供更佳的 PPA,提升设计团队的工作效率和生产力。Cerebrus采用可扩展、分布式计算解决方案,可利用本地或云端的计算资源,这种高效可扩展的解决方案可以应对设计规模和复杂度的不断攀升。
Cadence公布的数据显示,一款5nm、3.5GHz CPU的PPA优化设计,采用手动开发的过程,通常则需要多名工程师耗费数月时间,而使用 Cerebrus 自动改进PPA之后,1 名工程师仅在 10 天内,即可显著改善流程推动设计收敛。
除了EDA厂商之外,谷歌、英伟达也在试图利用AI算法来直接优化芯片设计过程。
谷歌PRIME
2021年,谷歌就曾表示,其已经使用机器学习来优化其 TPU 设计的布局。今年3月,谷歌研究人员发布的一份报告显示,他们已经开发出一种名为 PRIME 的深度学习方法,该方法通过借鉴现有的蓝图和性能数据来生成 AI 芯片架构。他们声称,与谷歌生产中 EdgeTPU 加速器和使用传统工具制作的其他设计相比,他们的方法可以生产出延迟更低且所需空间更少的AI芯片设计。
他们在一份报告中写道:“也许使用先前设计的加速器数据库进行硬件设计的最简单方法是使用监督机器学习来训练预测模型,该模型可以预测给定加速器的性能目标作为输入。然后,可以通过优化该学习模型相对于输入加速器设计的性能输出来设计新的加速器。”
该团队表示,与使用传统仿真驱动方法创建的芯片设计相比,采用 PRIME 方法延迟最多可降低1.5倍,而深度学习方法还将生成上述蓝图的时间减少了 99%。
研究人员将 PRIME 生成的芯片设计与仿真生成的 EdgeTPU 进行了九个 AI 应用程序的比较,其中包括图像分类模型 MobileNetV2 和 MobileNetEdge。至关重要的是,PRIME 设计针对每个应用进行了优化。
研究人员将芯片面积限制在 27mm²以下(EdgeTPU 加速器的默认设置),发现 PRIME 比 EdgeTPU在延时上降低了2.69 倍(在t-RNN Enc中高达 11.84 倍),同时还减少了约50%的芯片面积(在 MobileNetV3 中减少了55.9%),这一数据震惊了研究人员,因为他们根本没有训练 PRIME 来降低芯片尺寸。另外,即使在针对定制设计的 EdgeTPU 加速器进行了优化的 MobileNet 图像分类模型上,PRIME 也将延迟降低了1.85倍。
PRIME 还在零样本设置中为看不见的应用程序构建了有效的加速器,其延迟优于基于仿真的方法 1.26 倍。而随着训练应用程序数量的增加,性能差异也会增加。
英伟达PrefixRL
今年7月,英伟达也通过其技术博客宣布,其最新的Hopper H100 GPU架构利用PrefixRL AI模型设计了13000个算术电路实例。该公司的三位深度学习科学家表示,“可以使用人工智能设计更小、更快、更高效的电路,以在每一代芯片中提供更高的性能。庞大的计算电路阵列为英伟达GPU提供了动力,实现了人工智能、高性能计算和计算机图形性能前所未有的加速。因此,改进这些算术电路的设计,对于提高GPU芯片的性能和效率至关重要。“
英伟达利用PrefixRL Al模型设计了一个64位加法器电路,测试结果显示,该64位加法器电路比最先进的EDA工具设计的电路在功能相同的情况下,面积减少了25%,同时速度快。
△在同样功能的前提下的一款64bit电路,基于PrefixRL设计的电路(左)面积要比基于最先进EDA工具设计的电路面积小25%
英伟达表示该技术证明了AI不仅可以从头开始学习设计电路,而且这些电路比使用最新EDA工具设计的电路还要更小、更快。
在一篇关于 PrefixRL 的六页研究论文中,英伟达的研究人员表示,他们专注于一类称为“并行前缀电路”(parallel-prefix circuits)的算术电路,其中包括加法器、增量器和编码器等电路,所有这些都可以在更高级别被定义为前缀图表。
英伟达想弄清楚 AI 代理是否可以设计出更高质量的缀图,并补充说“所有前缀图表的状态空间都很大【O(2^n^n)】,无法使用蛮力方法进行探索。”
该论文写道,“使用电路生成器,即可将前缀图转换为带有导线和逻辑门的电路。这些生成的电路随后通过物理综合工具加以进一步优化,比如使用门尺寸、复制和缓冲器插入等方法实现物理综合优化。
算术电路是由NAND、NOR和XOR等逻辑门,再配合大量导线构建而成的,同时既要小到能够在指定的芯片上被大量封装,又要具备极快的速度以降低性能延迟,同时在可能的范围内将功率控制在最低。对于PrefixRL,研究人员的关注重点是电路的大小和速度(用于降低延迟),因为这两个指标往往会相互冲突。芯片设计的挑战,就在于如何高效找到尺寸与性能最均衡的设计点。“简而言之,我们希望在满足延迟要求的条件下,尽可能缩小芯片尺寸。”
△PrefixRL的一次4bit电路迭代示例
研究人员表示,“由于这些物理综合优化,最终的电路属性(包括延迟、面积和功率)无法直接由原始前缀图属性(例如电平和节点数)转换而来。所以AI代理才需要学习设计前缀图,尝试突破这道人类难以逾越的从前缀图、到最终电路属性的优化之路。我们将算术电路设计视为一种强化学习(Reinforcement Learning)任务,训练一个代理来优化算术电路的面积和延迟特性。对于前缀电路,我们还专门设计了一个环境,允许强化学习代理在其中添加或删除前缀图内的节点。”
接下来,设计流程要使前缀图合法化,确保其中始终保持正确的前缀和计算方法,而后通过合法化的前缀图创建电路。再引入物理综合工具优化电路,最终测量电路的面积和延迟特性。在整个过程中,强化学习代理会通过添加或删除节点的一系列步骤构建起前缀图。
Nvidia 研究人员在他们的工作中使用了完全卷积神经网络和 Q 学习算法(一种强化学习算法)。该算法使用前缀图的网格表示来训练电路设计代理,网格中的每个元素都映射到前缀节点。网格表示用于 Q 网络的输入和输出——输出网格中的每个元素表示用于添加或删除节点的 Q 值——神经网络预测面积和延迟属性的 Q 值。
运行PrefixRL的对于算力需求很大。据研究人员介绍,整个物理模拟任务需要为每个GPU配备256个CPU,而且训练时间超过32000个GPU小时。为了满足如此严苛的资源需求,英伟达专门创建了一个名为“Raptor”的分布式强化学习平台,专门利用英伟达硬件实现这一级别的强化学习用例。
研究人员们写道,“Raptor可提供多项功能,可以提高可扩展性和训练速度,例如作业调度、自定义网络和GPU感知数据结构。在PrefixRL用例当中,Raptor能够将工作负载混合分配给CPU、GPU和Spot实例。这个强化学习应用涉及多种网络类型,其中Raptor能够在英伟达集体通信库(NCCL)之间切换以进行点对点传输,从而将模型参数直接从学习GPU传输至推理GPU。”
由Redis存储异步及较小消息,例如奖励和统计信息。大容量和低延迟请求由JIT编译的RPC负责处理,例如上传经验数据。最后,Raptor还提供GPU感知数据结构,例如具有多线程服务的重放缓冲器,能够接收来自多个worker的经验、并行批处理数据并将结果预先载入至GPU上。
研究人员表示,强化学习代理能够仅仅基于从综合电路属性的反馈中学习设计电路,PrefixRL也成功设计出了64位的加法器电路。并且在延迟相同的情况下,PrefixRL最佳加法器设计方案比EDA工具设计的面积还要小25%。
“据我们所知,这是第一种使用深度强化学习代理来设计算术电路的方法。”研究人员写道:“我们希望这种方法可以成为将 AI 应用于现实世界的电路设计,包括:构建动作空间、状态表示、强化学习代理模型、针对多个竞争目标进行优化,以及克服物理合成等过程缓慢的奖励计算过程。”
编辑:芯智讯-浪客剑
资料来源:nextplatform、Synopsys、Cadence、Googleblog