“让天下没有难做的芯片”。
过去两年来,随着专用芯片的壮大,芯片开发基础设施的变革浪潮也拉开序幕,例如在国内去年阿里平头哥发布的无剑 SOC 平台,希望能够借助新兴技术来降低芯片开发的门槛,以促进 AI 硬件的更新速度,追赶日新月异的市场。
而在国外,拉动世界技术革新的美国互联网巨头 “GAFA(谷歌、苹果、Facebook、亚马逊)” 们,是否也有相应布局?
至少,最近谷歌在这方面又有了新的进展,且称得上野心勃勃。
图|谷歌大楼(来源:JHVEPHOTO)
在今年 3 月举办的全球芯片设计领域顶会 ISSCC 上,计算机科学领域的传奇人物、谷歌 TPU 之父 Jeff Dean 的演讲,就透露出团队正在尝试的新方向:利用 AI 算法设计芯片。
演讲中,他一边高度肯定了高性能计算芯片是人工智能的基础设施,没有算力发展就难以发挥 AI 模型的更多价值,一边给出了 AI 算法“反哺”芯片设计的例子,特别是使用深度强化学习的方法来进行芯片的布局优化(Placement Optimization)。
亮相芯片设计顶会,谷歌 AI 的牛刀小试
提到谷歌的芯片事业,相信许多人的第一印象是它为深度学习框架 TensorFlow 专门开发的云端芯片 TPU。这款产品因在举世瞩目的 AlphaGo 对战李世石、柯洁的围棋大战之中发挥重要作用而一炮走红。
TPU 为机器学习算法定制而生,是一款典型的专用芯片。相较于能够处理各种任务的通用芯片,专用芯片处理的任务有限,但仅凭比通用芯片优越的能耗比,就足够让一些公司趋之如骛。这也是越来越多致力于开发专用芯片的造芯新势力涌现的原因之一。
特别对于自身就有庞大数据中心应用场景的互联网巨头而言,除了从英特尔或英伟达采购通用处理器,自主开发芯片的驱动力随着AI算法吞噬算力的加剧而日益增强,谷歌就是一个典型代表。
而近期的种种公开迹象显示,这家公司在芯片领域的野心还不止 TPU 这么一条故事线。
谷歌团队开发的通用型棋类游戏 AI 的 AlphaZero 背后的关键技术——深度强化学习——正在用于芯片设计。
图|搭载 TPU 的服务器(来源:谷歌)
与时下流行的深度学习不同,强化学习系统不会使用大量标记的数据进行训练。相反,强化学习系统会边做边学,并在成功时根据有效信号调整网络中的参数。一些 AI 专家认为,强化学习将是实现人类或超人类的通用人工智能的最可行方法。
但是强化学习用在芯片设计上,又与用在下棋上有着很大区别。首先一点在于,下棋是为了战胜人类对手,仅此独立目标。但用来设计芯片,AI 应该考虑的是如何找到更好的设计方案,需要同时满足多个目标,而非战胜某个人类。另外,芯片设计的系统性工程属性也会更强。
以芯片布局为例,这项任务之所以复杂且耗时,是因为该过程涉及到逻辑和内存模块,或者集群设置要兼顾功耗、性能、面积等,与此同时还需要遵守布线密度、互连的原则。
图丨谷歌展示的 TPU 设计算法对比人类结果(来源:谷歌)
在这种情况下,将芯片布局建模为强化学习问题,强化学习系统的目标是降低功率、改善性能和减少面积。为了找到满足多个目标的最佳芯片布局,AI 算法将需要考虑许多变量,包括满足一定的芯片性能,同时还要避免不必要的复杂设计,否则可能会增加芯片的制造成本。这种平衡是一项耗费芯片开发者智力资源的工作。但现在,谷歌认为自己的 AI 已经做出了成绩。
图丨和此前 AlphaGo 下棋类似,AI 还教给人类一些新颖的设计方法(来源:谷歌)
谷歌展示的芯片设计布局布线任务中,强化学习算法可以用来确定构成芯片操作的电路在芯片中的布局,类似于设计建筑物的平面图。Dean 在演讲中称,相比人类设计师 6 至 8 周内找到的解决方案,算法 24 小时就能实现,而且算法的设计成功减少了芯片所需的总布线,从而提高了效率。
而就在 Dean 在 ISSCC 上公开进展之后不久,谷歌大脑团队使用 AI 进行芯片布局的一篇相关研究论文也在 ArXiv 上公布。值得一提的是,这篇论文的作者、谷歌团队的高级研究科学家Azalia Mirhoseini,她也因为在用 AI 设计芯片上的工作,入选了最新一届的《麻省理工科技评论》“35位35岁以下科技创新者”榜单。
图|Azalia Mirhoseini(来源:《麻省理工科技评论》)
弥合芯片和算法之间的“时滞”
在 Azalia Mirhoseini 这篇 ArXiv 论文中,她和谷歌高级软件工程师 Anna Goldie 表示,对芯片设计进行了足够长时间的学习之后,团队开发的算法可在不到 24 小时的时间内为谷歌 TPU 完成设计,且在功耗、性能、面积都超过了人类专家数周的设计成果。
传统的方法是,芯片工程师手动设计配置,最大程度地减少组件之间使用的电线数量以提高效率,然后使用电子设计自动化软件来模拟和验证其性能。由于每个芯片设计需要投入时间,一般认为芯片的使用寿命为两到五年。但是,随着 AI 算法的迅速发展,对新芯片架构的需求也在加速增长。
而谷歌团队希望借助AI解决长芯片设计周期和算法更新需求之间的鸿沟,帮助行业在相同时间内设计更多的芯片,并且带来速度更快、功耗更低、制造成本更低、面积更小的芯片设计。
图丨谷歌团队论文(来源:arxiv)
她们认为,理想情况下,新设计出的芯片应该能够很好地满足当今 AI 算法的需求,而非适配两到五年前的 AI 算法,有些算法或神经网络架构在现有的AI加速器上效果不佳,正是因为芯片的设计滞后,并不适合新发展出来的神经网络架构和算法,“如果 AI 能够缩短芯片的设计周期,在硬件与 AI 算法之间建立共生关系,会进一步推动彼此的进步”。
早在 2017 年,谷歌就有利用AI来优化算力配置的成果。
公开研究显示,当时,谷歌训练了一个强化学习模型,帮助优化神经网络模型在设备上的计算资源分配,实现了更好地搭建异构分布式计算环境。当时的研究结果显示,基于强化学习的设备配置优化用在 ImageNet 分类的 Inception-V3 任务、RNN LSTM 语言建模和神经机器翻译任务上,表现优于普通手动设备配置(device placement)方式。
在这之后,谷歌又有了更多的尝试。直到这一次 ISSCC 上展示的进展,谷歌涉足利用人工智能算法在 ASIC(专用集成电路)芯片设计中进行自主布局和布线,已经不再是如同 2017 年时简单地将软件计算放置在不同的计算硬件上,意味着 AI 正在进入整个芯片设计中颇为关键的一环。
图丨谷歌在 2017 年的尝试(来源:谷歌)
而且 Dean 也表示,对机器学习算法扩展到 IC 设计过程的其他部分——包括测试和验证——也有兴趣,这些可能的应用方向对机器学习本身的普及很重要,同时对加速集成电路设计进度也有重要性。
谷歌对于 AI 的发展一直持有乐观的态度,且其探索 AI 辅助芯片设计的当下,正是整个半导体受人工智能产业推动形成新格局之际,大量的科技公司和创企都在追求设计自有硬件以更快地运行机器学习。
而芯片设计是整个芯片产业链的上游部分,技术壁垒较高,如果未来谷歌会在芯片基础设施变革的新篇章中占据重要篇幅,近期的这些进展或许可被视为重要信号。
图丨Jeff Dean (来源:谷歌)
美国得克萨斯大学奥斯汀分校教授、纳米级 IC 设计专家 David Z. Pan 认为:“谷歌现在做的工作带了一个好头,传统 EDA 巨头这些年一直在主导着市场,创新已经相对缓慢,有了谷歌的刺激,很可能会驱动创新。毕竟学术界对创新的产业化推动有限,如果有谷歌这些巨头的加入,应该会有很好的效果。
另外,使用 AI 设计芯片的设计成本可能相对较低。有了 AI 的辅助,芯片设计可能在人工成本和时间成本上有所降低。这不意味着工程师就会失业,我认为这降低了硬件的门槛,会让更多的人有能力去设计芯片”。
在得克萨斯大学奥斯汀分校,David Z. Pan 教授所带领的团队也是学术界中较早开始探索 AI 用于 IC 设计的团队之一,Azalia Mirhoseini 的 ArXiv 论文同样引用了 David Z. Pan 团队此前在这方面的研究 DREAMPlace (获 EDA 顶会 DAC 2019 最佳论文)。
IC AI 化来势汹汹,两大 EDA 巨头也已“亮剑”
事实上,谷歌以外,AI 算法应用于芯片设计的趋势已经在 EDA 界有所显现:两大 EDA 巨头 Cadence、Synopsys 已经开始在其芯片设计工具中加入 AI 算法。
就在刚刚过去的 2020 年 3 月,Synopsys、Cadence 都推出了相应的 IC 设计产品。
图|两大 EDA 巨头(来源:网络)
Synopsys 宣布其用于芯片设计的自主 AI 应用程序——DSO.ai (Design Space Optimization AI)。根据 Synopsys 的介绍,DSO.ai 是业界首个用于芯片设计的自主人工智能应用程序,通过获取由芯片设计工具生成的大数据流,并用其来探索搜索空间、观察设计随时间的演变情况,同时调整设计选择、技术参数和工作流程,可以在芯片设计任务的巨大求解空间中搜索优化目标并迅速完成设计。
Synopsys 称,原本需要多位设计专家耗时一个多月才可完成的设计,DSO.ai 只要短短 3 天即可完成,受益的客户包括半导体大户三星。
而 Cadence 则发布新版 Cadence 数字全流程,也宣称业界首款基于机器学习引擎的新版数字全流程,其配置的机器学习算法,同样用在实现传统布局布线流程设计的工作量最小化。
另外,美国国防部高级研究计划局(DARPA)也已将芯片设计智能化视为重要的技术战略方向。
图丨DARPA “电子复兴计划”图景(来源:DARPA)
由其主导的 “IDEA” 电子资产智能设计项目,就是 DARPA 电子复兴计划(ERI)六个组成部分之一,旨在利用先进的 AI 算法为 SoC(片上系统)、SiP(系统封装)和 PCB(印刷电路板)打造统一平台,开发完整集成的智能设计流程,从而实现高度自动化的电子设计能力。不少美国高校和科技企业都参与到了这一项目中。
对于诸多将 AI 用于 EDA 上的探索,北京大学教授、北京大学深圳系统芯片设计重点实验室主任何进博士表示:“虽然目前发展 AI 算法来设计芯片的确是一个热点,特别是用于 EDA 工具的建立和改进。但总的来讲,这方面的工作还处于初步阶段,应该说进展最快的仍属 PLACEMENT OPTIMIZATION、功耗优化、模型建立和参数提取等领域,因为传统上这些领域就是限制条件下的优化算法问题,与AI最靠近,但这些任务还只是设计一块芯片的一个环节而已”。
David Z. Pan 教授则分析道,现在已经有不少互联网公司开始自己做芯片,在实际应用中,软件和硬件需要进行适配和优化才能发挥最强效应,如果AI能够将芯片设计的门槛降低的话,就可以缩短适配和优化的过程。
不过,他也指出,仅就公开资料来看,谷歌团队所做的工作并不是偏向于传统 EDA,而是如上文所提的,从 Device Placement 切入。
“Azalia Mirhoseini 所做的深度强化学习技术之前最主要是用于 Device Placement,他们在这方面取得了一定的成绩。现在,谷歌团队考虑的是深度强化学习技术能不能做 ASIC 中的布局工作,我们还没有看到这方面大规模的具体结果。我认为,他们主要展示的是 TPU 中一小部分 IP 模块的布局工作,而对芯片中的大规模布局布线工作,现在谷歌的成果还不太具体,没有与其他解决方案做更多对比 ”。
Jeff Dean 透露,目前,谷歌团队将 AI 用于 EDA 的探索仍属于测试其实用性的前期:“我们正在内部将其用于一些芯片设计项目,然后尝试该工具是否可以进一步推广”。
“谷歌所做的工作和 Synopsys、Cadence 的工作应该侧重点是不同的,不排除谷歌使用深度强化学习技术在市场上另辟蹊径的可能,但是现在距离 AI 设计出完整的,有竞争力的芯片还有相当长的路要走。”David Z. Pan 说。
-End-
参考:
https://arxiv.org/abs/2003.08445