1. 上一篇 下一篇
  2. 第3564期   20200421
  3. 放大 缩小 默认 朗读

AI算法开始设计芯片

搭载 TPU 的服务器。

过去两年里,随着专用芯片的壮大,芯片开发基础设施的变革浪潮也拉开序幕,例如,在国内去年阿里平头哥发布的无剑SOC平台,希望能够借助新兴技术来降低芯片开发的门槛,以促进AI硬件的更新速度,追赶日新月异的市场。

而在国外,拉动世界技术革新的美国互联网巨头“GAFA(谷歌、苹果、Facebook、亚马逊)”们,是否也有相应布局?至少,最近谷歌在这方面又有了新的进展,且称得上野心勃勃。

在今年3月举办的全球芯片设计领域顶级会议ISSCC上,计算机科学领域的传奇人物、谷歌TPU之父Jeff Dean的演讲,就透露出谷歌正在尝试的新方向:利用AI算法设计芯片。

演讲中,他一边高度肯定了高性能计算芯片是人工智能的基础设施,没有算力发展就难以发挥AI模型的更多价值,一边给出了AI算法“反哺”芯片设计的例子,特别是使用深度强化学习的方法来进行芯片的布局优化(Placement Optimization)。

亮相芯片设计顶会

谷歌AI的牛刀小试

提到谷歌的芯片事业,相信许多人的第一印象是它为深度学习框架TensorFlow专门开发的云端芯片TPU。这款产品因在举世瞩目的AlphaGo对战李世石、柯洁的围棋大战之中发挥重要作用而一炮走红。

TPU为机器学习算法定制而生,是一款典型的专用芯片。相较于能够处理各种任务的通用芯片,专用芯片处理的任务有限,但仅凭比通用芯片优越的能耗比,就足够让一些公司趋之如趋之若鹜。这也是越来越多致力于开发专用芯片的造芯新势力涌现的原因之一。

特别对于自身就有庞大数据中心应用场景的互联网巨头而言,除了从英特尔或英伟达采购通用处理器,自主开发芯片的驱动力随着AI算法吞噬算力的加剧而日益增强,谷歌就是一个典型代表。

而近期的种种公开迹象显示,谷歌公司在芯片领域的野心还不止TPU这么一条故事线。

谷歌团队开发的通用型棋类游戏AI的AlphaZero背后的关键技术——深度强化学习——正在用于芯片设计。与时下流行的深度学习不同,强化学习系统不会使用大量标记的数据进行训练。相反,强化学习系统会边做边学,并在成功时根据有效信号调整网络中的参数。一些AI专家认为,强化学习将是实现人类或超人类的通用人工智能的最可行方法。

但是强化学习用在芯片设计上,又与用在下棋上有着很大区别。首先一点在于,下棋是为了战胜人类对手,仅此独立目标。但用来设计芯片,AI应该考虑的是如何找到更好的设计方案,需要同时满足多个目标,而非战胜某个人类。另外,芯片设计的系统性工程属性也会更强。

以芯片布局为例,这项任务之所以复杂且耗时,是因为该过程涉及逻辑和内存模块,或者集群设置要兼顾功耗、性能、面积等,与此同时还需要遵守布线密度、互连的原则。

在这种情况下,将芯片布局建模为强化学习问题,强化学习系统的目标是降低功率、改善性能和减少面积。为了找到满足多个目标的最佳芯片布局,AI算法将需要考虑许多变量,包括满足一定的芯片性能,同时还要避免不必要的复杂设计,否则可能会增加芯片的制造成本。这种平衡是一项耗费芯片开发者智力资源的工作。但现在,谷歌认为自己的AI已经做出了成绩。

谷歌展示的芯片设计布局布线任务中,强化学习算法可以用来确定构成芯片操作的电路在芯片中的布局,类似于设计建筑物的平面图。Dean在演讲中称,相比人类设计师6至8周内找到的解决方案,算法24小时就能实现,而且算法的设计成功减少了芯片所需的总布线,从而提高了效率。

而就在Dean在ISSCC上公开进展之后不久,谷歌大脑团队使用AI进行芯片布局的一篇相关研究论文也在ArXiv上公布。值得一提的是,这篇论文的作者是谷歌团队的高级研究科学家Azalia Mirhoseini。

弥合芯片和算法之间的“时滞”

在Azalia Mirhoseini这篇ArXiv论文中,她和谷歌高级软件工程师Anna Goldie表示,对芯片设计进行了足够长时间的学习之后,团队开发的算法可在不到24小时的时间内为谷歌TPU完成设计,且在功耗、性能、面积都超过了人类专家数周的设计成果。

传统的方法是,芯片工程师手动设计配置,最大程度地减少组件之间使用的电线数量以提高效率,然后使用电子设计自动化软件来模拟和验证其性能。由于每个芯片设计需要投入时间,一般认为芯片的使用寿命为2~5年。但是,随着AI算法的迅速发展,对新芯片架构的需求也在加速增长。

而谷歌团队希望借助AI解决长芯片设计周期和算法更新需求之间的鸿沟,帮助行业在相同时间内设计更多的芯片,并且带来速度更快、功耗更低、制造成本更低、面积更小的芯片设计。

他们认为,理想情况下,新设计出的芯片应该能够很好地满足当今AI算法的需求,而非适配2~5年前的AI算法,有些算法或神经网络架构在现有的AI加速器上效果不佳,正是因为芯片的设计滞后,并不适合新发展出来的神经网络架构和算法,“如果AI能够缩短芯片的设计周期,在硬件与AI算法之间建立共生关系,会进一步推动彼此的进步”。

早在2017年,谷歌就有利用AI来优化算力配置的成果。公开研究显示,当时,谷歌训练了一个强化学习模型,帮助优化神经网络模型在设备上的计算资源分配,实现了更好地搭建异构分布式计算环境。当时的研究结果显示,基于强化学习的设备配置优化用在ImageNet分类的Inception-V3任务、RNN LSTM语言建模和神经机器翻译任务上,表现优于普通手动设备配置(device placement)方式。

在这之后,谷歌又有了更多的尝试。直到这一次ISSCC上展示的进展,谷歌涉足利用人工智能算法在ASIC(专用集成电路)芯片设计中进行自主布局和布线,已经不再是如同2017年时简单地将软件计算放置在不同的计算硬件上,意味着AI正在进入整个芯片设计中颇为关键的一环。

而且Dean也表示,对机器学习算法扩展到IC设计过程的其他部分——包括测试和验证——也有兴趣,这些可能的应用方向对机器学习本身的普及很重要,同时对加速集成电路设计进度也有重要性。

谷歌对于AI的发展一直持有乐观的态度,且其探索AI辅助芯片设计的当下,正是整个半导体受人工智能产业推动形成新格局之际,大量的科技公司和创企都在追求设计自有硬件以更快地运行机器学习。

而芯片设计是整个芯片产业链的上游部分,技术壁垒较高,如果未来谷歌会在芯片基础设施变革的新篇章中占据重要篇幅,近期的这些进展或许可被视为重要信号。

美国得克萨斯大学奥斯汀分校教授、纳米级IC设计专家David Z. Pan认为:“谷歌现在做的工作带了一个好头,传统EDA(电子设计自动化) 巨头这些年一直在主导着市场,创新已经相对缓慢,有了谷歌的刺激,很可能会驱动创新。毕竟学术界对创新的产业化推动有限,如果有谷歌这些巨头的加入,应该会有很好的效果。另外,使用AI设计芯片的设计成本可能相对较低。有了AI的辅助,芯片设计可能在人工成本和时间成本上有所降低。这不意味着工程师就会失业,我认为这降低了硬件的门槛,会让更多的人有能力去设计芯片”。

在得克萨斯大学奥斯汀分校,David Z. Pan教授所带领的团队也是学术界中较早开始探索AI用于IC设计的团队之一,Azalia Mirhoseini的ArXiv论文同样引用了David Z. Pan团队此前在这方面的研究DREAMPlace。

IC AI化来势汹汹

两大EDA巨头也已“亮剑”

事实上,谷歌以外,AI算法应用于芯片设计的趋势已经在电子设计自动化(EDA) 界有所显现:两大EDA巨头Cadence、Synopsys公司已经开始在其芯片设计工具中加入AI算法。就在刚刚过去的2020年3月,Synopsys、Cadence都推出了相应的IC设计产品。

Synopsys公司用于芯片设计的自主AI应用程序——DSO.ai是业界首个用于芯片设计的自主人工智能应用程序,它通过获取由芯片设计工具生成的大数据流,并用其来探寻搜索空间、观察设计随时间的演变情况,同时调整设计选择、技术参数和工作流程,可以在芯片设计任务的巨大求解空间中搜索优化目标并迅速完成设计。

Synopsys称,原本需要多位设计专家耗时一个多月才可完成的设计,DSO.ai只要短短3天即可完成,受益的客户包括半导体大户三星。

而Cadence则发布新版Cadence数字全流程,也宣称业界首款基于机器学习引擎的新版数字全流程,其配置的机器学习算法,同样用在实现传统布局布线流程设计的工作量最小化。

另外,美国国防部预先研究计划局(DARPA)也已将芯片设计智能化视为重要的技术战略方向。由其主导的“IDEA”电子资产智能设计项目,就是DARPA电子复兴计划(ERI)六个组成部分之一,旨在利用先进的AI算法为SoC(片上系统)、SiP(系统封装)和PCB(印刷电路板)打造统一平台,开发完整集成的智能设计流程,从而实现高度自动化的电子设计能力。不少美国高校和科技企业都参与到了这一项目中。

对于诸多将AI用于EDA上的探索,北京大学教授、北京大学深圳系统芯片设计重点实验室主任何进博士表示:“虽然目前发展AI算法来设计芯片的确是一个热点,特别是用于EDA工具的建立和改进。但总的来讲,这方面的工作还处于初步阶段,应该说进展最快的仍属PLACEMENT OPTIMIZATION、功耗优化、模型建立和参数提取等领域,因为传统上这些领域就是限制条件下的优化算法问题,与AI最靠近,但这些任务还只是设计一块芯片的一个环节而已”。

麻省