天天看点

英伟达研发主管:AI 是如何改进芯片设计的?

作者 | John Russell

译者 | Sambodhi

策划 | 凌敏

在春季 GTC 会议上,英伟达首席科学家兼研究部高级副总裁 Bill Dally 介绍了英伟达研发机构的基本情况,以及当前一些优先事项的细节。Dally 今年将重点放在英伟达正在研发并使用的人工智能工具上,这是一种非常聪明的逆向营销。比如,英伟达就已经利用人工智能来提高 GPU 的设计效率。

Dally 在今年的演讲中称:“我们有一个 300 人左右组成的小组,尝试着去预测我们在英伟达产品方面的前景,我们就像是一盏远光灯,想要把远处的事物照亮。我们被松散地分成两半。一半为 GPU 提供技术。它让 GPU 自身更加完善,包括电路、VLSI 设计、架构网络、编程系统,以及进入 GPU 和 GPU 系统的存储系统。”

“英伟达研究团队希望开发出能够很好地使用 GPU 的软件系统和技术。我们一直在推动计算机图形技术,并且有三个不同的计算机图形研究小组,同时还有五支不同的人工智能小组。现在使用 GPU 来运行人工智能是一项庞大的工程,并且规模不断扩大。我们还有一个小组专门研究和生产机器人和无人驾驶汽车。”他说,“我们也有一些面向地理位置的实验室,比如多伦多和特拉维夫人工智能实验室。”

英伟达有时会从一些小组中挑选一些人来实行疯狂的计划,比如有一个小组开发出了英伟达的实时光线追踪技术。

和以往一样,Dally 的谈话中有一些重复,但是也有一些新的内容。这个小组的规模,当然要比 2019 年大约 175 人有所增长,因为人们对无人驾驶系统和机器人的支持力度越来越大。Dally 说:“一年之前,英伟达把 Macro Pavone 从斯坦福大学挖来,领导他们新的无人驾驶汽车研发小组。”他并没有过多提及 CPU 的设计,但无疑,这方面的工作也得到了强化。

英伟达研发主管:AI 是如何改进芯片设计的?

以下是 Dally 对英伟达在设计芯片时越来越多地使用人工智能的评论的一小部分(略加编辑),并附上了一些支持的幻灯片。

利用图神经网络测绘电压降

“身为一名人工智能专家,我们当然想要利用人工智能来设计更好的芯片。我们有好几种方法可以这样做。第一条最简单的途径就是我们可以使用(与人工智能相结合)已有的计算机辅助设计工具。比如,我们可以测绘 GPU 里的电力消耗,并且可以预测栅极电压会降低到什么程度——所谓的 IR 下降就是指电流乘以电阻压降。用常规 CAD 软件来做这件事要花上三个小时。”Dally 说道。

在 Dally 看来,这是一个迭代的过程,需要做的就是训练一个人工智能模型,来获得相同的数据。

“我们在一堆设计上这样做,基本上就能将功率图输入,由此产生的推理时间仅需要三秒钟。当然,如果把特征提取的时间算在内,这需要 18 分钟。我们能够很快地取得成果。在这个案例中,我们采用了图神经网络,而不是卷积神经网络,我们这么做,就是要估算电路中各个节点的开关频率,从而促进了前面例子中的功率输入。”Dally 说,“我们可以在很短的时间内得到精确的功率估算,这要比传统的方法快。”

英伟达研发主管:AI 是如何改进芯片设计的?
英伟达研发主管:AI 是如何改进芯片设计的?

利用图神经网络预测寄生效应

Dally 表示自己最喜爱的工作之一就是利用图神经网络来预测寄生效应。在几年前,他曾是一名电路设计师。以前,电路设计是一个非常反复的过程,你要绘制一副晶体管的原理图,但是你并不清楚它的性能如何,直到布局设计师拿到这副原理图,进行了布局,并提取了寄生器件,然后你才能进行电路仿真。

“你会回去修改你的原理图(并再次通过)布局设计师,这是一个非常漫长的、反复的、非人道的、劳动密集型的过程。现在我们可以做的是通过训练神经网络来预测寄生效应,而无需进行布局。这样,电路设计者可以非常快速地进行迭代,而不必在循环中进行手工布局的步骤。这里的图表显示,与基准真相相比,我们对这些寄生器件的预测非常准确。”

英伟达研发主管:AI 是如何改进芯片设计的?

布局和路由的挑战

Dally 称,AI 还可以预测路由拥堵情况,这对企业们的芯片布局至关重要。

正常的过程是,研发人员必须采取一个网表,通过布局和路由过程运行,这会非常耗费时间,通常要花上好几天。虽然能够了解拥堵情况,但会发现原来的布局还不够完善。因此必须重新设计,用另一种方法来布局宏,这样就可以避开那些红色的区域(如下图所示)。

英伟达研发主管:AI 是如何改进芯片设计的?

这里有太多的线试图通过一个特定的区域,有点像交通堵塞的车位。“我们现在能做到的就是不用再进行布局和路由了,我们可以利用这些网表,并且通过图神经网络,基本地预测哪里会出现拥堵,从而达到很高的精准度。”他说,“这还不够完善,但是它表明了问题所在的区域,我们可以立即采取措施,快速地进行迭代,而无需进行完整的布局和路由。”

标准单元迁移的自动化

Dally 表示,目前这些方法都是通过人工智能对人类的设计进行批判。真正让人激动的是,将人工智能用于实际的设计。

Dally 举了个例子,比如 NVCell 系统,该系统采用了模拟退火与强化学习相结合的方法来设计标准单元库。每获得一项新技术,比如从 7nm 转向 5nm,就拥有了一个单元库。Dally 说:“事实上,我们有数以千计的这种单元,并且必须用一套非常复杂的设计原则在新技术中进行重新设计。”

据 Dally 介绍,英伟达主要利用强化学习来布局晶体管。在过去,当晶体管被布局好之后,往往会出现大量的设计规则上的错误,就像电子游戏一样。而这正是强化学习最拿手的。

“在 Atari 电子游戏中使用强化学习就是很好的范例。这就好比是一款 Atari 电子游戏,不过它是一款修复标准单元中设计规划错误的电子游戏。我们可以用强化学习来修正这些设计规则中的错误,从而使我们可以在很大程度上实现一个标准单元的设计。”

如下图所示,92% 的单元库可以通过这款工具来实现,而不存在设计规则和电气规则方面的错误。此外,还有 12% 的单元要小于人类设计的单元。“总体上来讲,在单元复杂性方面,这款工具做出来的单元,与人类设计的单元相当,或者更好。”Dally 表示。

英伟达研发主管:AI 是如何改进芯片设计的?
英伟达研发主管:AI 是如何改进芯片设计的?

这对英伟达来说有个好处是可以节约很多人力资源。在过去,一个大约 10 人的小组需要花费一年的时间,来完成一个新的技术库的移植。现在,可以使用多台 GPU 运行几天来完成。这样,人类就能处理 8% 未自动完成的单元。“在很多案例中,我们最终能得到更好的设计。这样可以解决人力,而且优于人类的设计。”

Dally 的演讲还有很多关于英伟达研究开发的内容,英伟达的研究和开发主要集中在产品上,而非基础科学。如果你感兴趣的话,也可以了解下 Dally 在 2019 年、2021 年关于英伟达研究开发的演讲。看完后你会发现,Dally 在研究开发工作和组织方面的描述并没有什么改变,但是主题是不一样的。

https://www.hpcwire.com/2022/04/18/nvidia-rd-chief-on-how-ai-is-improving-chip-design

继续阅读