AI如何应用于芯片设计?英伟达是这样干的!
在早前举办的GTC大会上,英伟达首席科学家兼研究高级副总裁 Bill Dally 提供了 Nvidia 研发组织的概述和当前优先事项的一些细节。今年,Dally 主要专注于 Nvidia 正在开发和内部使用的人工智能工具来改进自己的产品——如果你愿意的话,这是一个巧妙的反向推销。换而言之,英伟达已经开始使用人工智能来有效地改进和加速 GPU 设计。
“我们是一个由大约 300 人组成的团队,他们的目标是让Nvidia 的产品在定义上领先。” Dally在今年的演讲中描述道。“我们有点像远光灯,试图照亮远处的东西。我们被松散地组织成两队:供应部分提供了为 GPU 供电的技术。它使 GPU 本身变得更好,从电路到进入 GPU 和 GPU 系统的 VLSI 设计方法、架构网络、编程系统和存储系统。”
“英伟达研究的需求方试图通过开发需要 GPU 运行良好的软件系统和技术来推动对英伟达产品的需求。我们拥有三个不同的图形研究小组,因为我们不断推动计算机图形学的最新发展。我们有五个不同的 AI 组,因为使用 GPU 运行 AI 目前是一件大事,而且规模越来越大。我们还有从事机器人和自动驾驶汽车的小组。我们有许多按地理顺序排列的实验室,比如我们的多伦多和特拉维夫人工智能实验室,”他说。
有时,Nvidia 会从几个团队中发起 Moonshot 项目——例如,其中一个团队生产了 Nvidia 的实时光线追踪技术。
与往常一样,Dally 的谈话与上一年有重叠——但也有新的信息。该小组的规模肯定从 2019 年的 175 人左右增长。毫不奇怪,支持自动驾驶系统和机器人技术的努力已经加强。Dally 说,大约一年前,英伟达从斯坦福大学招募了 Marco Pavone来领导其新的自动驾驶汽车研究小组。他没有过多谈论 CPU 设计工作,这无疑也在加强。
本文展示的是 Dally 对 Nvidia 在设计芯片中越来越多地使用 AI 的评论(经过轻微编辑)的一小部分以及一些支持幻灯片。
1、映射电压降(Mapping Voltage Drop)
“作为 AI 专家,我们很自然地希望采用该 AI 并用它来设计更好的芯片。我们以几种不同的方式做到这一点。第一种也是最明显的方法是我们可以采用现有的计算机辅助设计工具[并结合人工智能]。例如,我们有一张地图,可以绘制我们 GPU 中的电源使用位置图,并预测电压网格下降的程度——即所谓的 IR 下降,即电流乘以电阻下降。在传统的 CAD 工具上运行它需要三个小时,”Dally 指出。
“因为这是一个迭代过程,这对我们来说变得非常成问题。相反,我们想做的是训练一个 AI 模型来获取相同的数据;我们在一堆设计中这样做,然后我们基本上可以输入功率图。[结果] 推理时间仅为三秒。当然,如果包括特征提取的时间,则为 18 分钟。我们可以很快得到结果。在这种情况下,类似的事情不是使用卷积神经网络,而是使用图神经网络,我们这样做是为了估计电路中不同节点切换的频率,这实际上驱动了前面示例的电源输入。再一次,我们能够比使用传统工具更快地获得非常准确的功率估计,而且时间很短,”Dally 说。
2、预测寄生(Predicting Parasitics)
“我特别喜欢的一个功能是用图神经网络预测寄生效应。在过去,电路设计是一个非常迭代(iterative)的过程,您需要在其中绘制原理图,就像左边这张带有两个晶体管的图片一样。但是,直到布局设计师采用该原理图并进行布局,提取寄生参数,然后您才能运行电路仿真并发现您不符合某些规格,您才会知道它的性能,”Dally指出。
“你会回去修改你的原理图[并再次通过]布局设计师,这是一个非常漫长、反复且不人道的劳动密集型过程。现在我们可以做的是训练神经网络来预测寄生参数将是什么,而无需进行布局。因此,电路设计人员可以非常快速地进行迭代,而无需在循环中手动执行布局步骤。这里的情节表明,与基本事实相比,我们对这些寄生因素的预测非常准确。”
3、布局和布线挑战 (Place and Routing Challenges)
“我们还可以预测路由拥塞(routing congestion);这对我们的芯片布局至关重要。正常的过程是我们必须制作一个网表,运行布局和布线过程,这可能非常耗时,通常需要几天时间。只有这样我们才能得到实际的拥塞,发现我们最初的位置是不够的。我们需要对其进行重构并以不同的方式放置宏以避免这些红色区域(如下幻灯片),这是有太多电线试图穿过给定区域的地方,有点像比特的交通堵塞。我们现在可以做的是无需运行布局和路由,我们可以获取这些网络列表并使用图神经网络基本上预测拥塞将在哪里并且相当准确。
它并不完美,但它显示了存在问题的领域。
4、自动化标准单元迁移(Automating Standard Cell Migration)
”现在这些 [方法] 都在使用人工智能来批评人类所做的设计。更令人兴奋的是使用 AI 来实际进行设计。我给你举两个例子。第一个是我们称为NVCell的系统,它结合使用模拟退火(simulated annealing )和强化学习来基本设计我们的标准单元库。因此,每当我们获得一项新技术时,比如说我们正在从 7 纳米技术转向 5 纳米技术,我们就有了一个cell库。一个单元就像一个与门和或门,一个全加器。实际上,我们有成千上万的这些单元必须在新技术中重新设计,并具有一套非常复杂的设计规则,“Dally 说。
”我们基本上使用强化学习来放置晶体管。但更重要的是,放置后,通常会出现一堆设计规则错误,并且几乎就像电子游戏一样。事实上,这正是强化学习所擅长的。一个很好的例子是在 Atari 视频游戏中使用强化学习。所以这就像一个 Atari 视频游戏,但它是一个用于修复标准单元中的设计规则错误的视频游戏。通过使用强化学习来检查和修复这些设计规则错误,我们能够基本完成标准单元的设计。您所看到的(幻灯片)是 92% 的单元库可以通过此工具完成,没有设计规则或电气规则错误。其中 12% 比人类设计细胞还小,一般来说,
“这对我们有两件事。一是节省了大量劳动力。这是一个大约 10 人的小组,将花费一年的大部分时间来移植一个新技术库。现在我们可以用几个 GPU 运行几天来做到这一点。然后人类可以处理那些没有自动完成的 8% 的cell。在许多情况下,我们最终也会得到更好的设计。所以它比人工设计更节省劳动力。”
原文链接: https://www.hpcwire.com/2022/04/18/nvidia-rd-chief-on-how-ai-is-improving-chip-design/