编辑:杜伟、陈萍
将芯片的布局方案看作一个深度强化学习问题,谷歌大脑团队希望用 AI 来提升芯片设计效率。基于 AI 的最新设计方案可以在数小时内完成人类设计师耗费数月才能完成的芯片布局,这将有可能引领一场新的芯片效率革命。
2020 年 4 月,包括 Google AI 卖力人 Jeff Dean 在内的谷歌大脑研究者描述了一种基于 AI 的芯片设计方法,该方法可以从过往履历中学习并随韶光推移不断改进,从而能够更好地天生不可见(unseen)组件的架构。据他们表示,这种基于 AI 的方法均匀可以在 6 小时内完成设计,这要比人类专家所须要的数周韶光快得多。
(图片来自网络侵删)左为人类设计的微芯片布局,右为机器学习系统设计的微芯片布局。图源:Nature
近日,谷歌大脑团队联合斯坦福大学的研究者对这一基于 AI 的芯片设计方法进行了改进,并将其运用于不久前 Google I/O 2021 大会上正式发布的、下一代张量处理单元(TPU v4)加速器的产品中。谷歌此前表示,TPUv4 可以在目标检测、图像分类、自然措辞处理、机器翻译和推举基准等事情负载上优于上一代 TPU 产品。
干系论文研究已经在 Nature 上揭橥,Jeff Dean 为核心作者之一。据先容,在不到六小时的韶光内,谷歌 AI 芯片设计方法自动天生的芯片布局在功耗、性能和芯片面积等所有关键指标上都优于或媲美人类,而工程师须要耗费数月的艰巨努力才能达到类似效果。
这项基于强化学习的快速芯片设计方法对付资金紧张的初创企业大有裨益,如果谷歌公开干系技能的话,这些初创企业可以开拓自己的 AI 和其他专用芯片。并且,这种方法有助于缩短芯片设计周期,从而使得硬件可以更好地适应快速发展的技能研究。
技能详解
芯片布局是设计打算机芯片物理布局的一项主要工程任务。在电子设计自动化(EDA)涌现之前,设计职员必须手工完成集成电路的设计、布线等事情,到了 1970 年代中期,开拓职员考试测验将全体设计过程自动化。此后,第一个电路布局布线工具研发成功,设计自动化研讨会(Design Automation Conference)在这一期间被创立。电子设计自动化发展的下一个主要阶段以卡弗尔 · 米德(Carver Mead)和琳 · 康维于 1980 年揭橥的论文《超大规模集成电路系统导论》,提出了通过编程措辞来进行芯片设计的新思想。从 1981 年开始,电子设计自动化逐渐开始商业化。
只管历经了 50 年的干系研究,芯片布局仍与自动化背道而驰,须要物理设计工程师数月的艰巨努力才能生产出可制造的布局。基于此,谷歌研究者提出了一种用于芯片布局设计的深度强化学习(RL)方法。就厥后果而言,在不到六小时的韶光内,谷歌设计方法自动天生的芯片布局在功耗、性能和芯片面积等所有关键指标上都优于或媲美人类。
详细而言,为了实现这一目标,研究者将芯片布局作为一个强化学习问题,开拓了一种基于边缘、能够学习芯片丰富且可迁移表示的图卷积神经网络架构。这种方法能够更好地利用过往的履历,从而更好更快地办理问题的新实例,使得芯片设计由比任何人类设计师具备更多履历的人工智能体实行。
此外,这种方法可被用于设计谷歌下一代人工智能加速器,并且有可能为它们节省数千小时的人力。研究者相信,更强大的 AI 设计的硬件将推动人工智能领域的进步,并在这两个领域之间建立一种共生关系。
设计域 - 自适应策略
为芯片布局方案开拓域 - 自适应策略是非常具有寻衅性的,由于该问题类似于具有不同棋子、棋盘和得胜条件的游戏,元件是「棋子」(例如,网表拓扑、宏计数、伟大小和纵横比)、放置元件的画布是「棋盘」(画布大小和长宽比)、赢的条件(不同的评估指标或不同的密度和路由拥塞约束的相对主要性)。纵然是游戏的一个实例(将一个特定的网表放到一个特定的画布上)也有一个巨大的状态 - 动作空间,对全局形成影响。为了应对这个寻衅,研究者首先集中学习状态空间的丰富表示。
研究者演习了一个神经网络架构,能够预测新网表放置的褒奖,终极目标是将此架构用作全体策略的编码层。
为了演习这种监督模型,须要大量的芯片放置数据集及其相应的褒奖标签。因此,研究者创建了一个包含 10000 个芯片放置的数据集,个中输入是与给定放置干系的状态,标签是该放置的褒奖。为了准确预测褒奖标签,将其泛化到未看到的数据中,研究者提出了一种基于边缘的图神经网络架构,即 Edge-GNN(基于边缘图神经网络)。该网络的浸染是将网表嵌入,将节点类型和连通性的信息提取到低维向量表示中,以用于下贱任务。
监督模型通过回归进行演习,以最小化均方丢失的加权和。监督任务使研究者能够找到在网表中推广褒奖预测所需的特色和架构。为了将 Edge-GNN 合并到 RL 策略网络中,该研究移除了预测层,然后将其用作策略网络的编码器,如图所示。
策略网络和代价网络体系架构。
演习方法和演习方案。
谷歌团队的系统从一个空芯片开始,按顺序放置组件,直到完成网表。为了辅导系统选择先放置哪些组件,组件按大小递减进行排序,研究职员先放置大的组件,这样可以减少之后无法放置的可能性。
开源 RISC-V 处理器 Ariane 的宏布局随着演习进程的变革情形。左边:从头开始演习;右边:正在为这个芯片调度预演习策略。每个矩形代表一个单独的宏位置。
自适应结果
下图 3 中,研究职员比较了利用预演习策略天生的放置质量,以及通过从头开始演习策略天生的放置质量,演习数据集由 TPU 块和开源 Ariane RISC-V CPU 块组成,在每一个实验中,都对除目标块外的所有块预演习策略。
研究职员展示了零样本模式的结果,以及在特定设计上对预演习策略进行 2 小时和 12 小时微调后的结果。
从头开始演习的策略收敛韶光要长得多,纵然在 24 小时后(根据褒奖函数评估),结果也比微调策略在 12h 内达到的效果还要差。这表明,在预演习期间打仗许多不同的设计可以更快地为新的看不见的块天生更高质量的放置方案。
图 4 显示了从头开始演习与来自 Ariane RISC-V CPU30 的预演习策略网络的演习的收敛图。结果显示预演习策略不仅具有较低的放置本钱,而且能比从头开始演习的策略收敛速率快 30 小时以上。
下图 5 展示了规模更大的演习集对性能的影响。研究者依次将演习集从 2 个 TPU 块增至 5 个,末了增至 20 个,策略网络在零样本和经由相同小时数的微调后均能天生更好的芯片布局。这表明,在将策略网络运用于更多不同类型的芯片设计过程中,它不易于涌现过拟合,并且能够更好地泛化至新的未知芯片设计。
与基线方法比拟
研究者将该方法与当前 SOTA 方法以及人类设计师团队完成的上一代 TPU 的产品设计进行了比拟。为了公正起见,研究者确保所有方法利用相同的实验设置,包括相同的输入和 EDA 工具设置,并利用在最大数据集(20 个 TPU 块)上预先演习的 AI 策略,接着在 5 个目标不可见块上微调(韶光少于 6 小时)。
结果如下表 1 所示,表明基于 AI 的方法在天生知足设计哀求的高质量芯片布局方面是有效的,在面积、功率和线长方面均优于或媲美人类专家手动设计的效果。
为芯片设计过程的完备自动化奠定根本
谷歌称其系统泛化和天生高质量办理方案的能力具有重大影响,为芯片设计过程的早期优化供应了机会。以前,大规模的架构探索是不可能的,由于评估一个给定的架构候选须要花费数月的努力。然而,谷歌团队指出,修正芯片设计可能会对性能产生巨大影响,并可能为芯片设计过程的完备自动化奠定根本。
此外,由于谷歌团队的系统只是学习将一个图的节点映射到一组资源上,因此它可能适用于包括城市方案、疫苗测试和分发以及大脑皮层映射在内的一系列运用。
研究职员在论文中写道:「(虽然)我们的方法已经在生产中被用于设计下一代谷歌 TPU…… 我们相信,(它)可以运用于芯片设计以外的有影响力的布局问题。」