#钛媒体APP#谷歌新研究:AI可以在6小时内设计出计算机芯片


【#钛媒体APP#谷歌新研究:AI可以在6小时内设计出计算机芯片】
#钛媒体APP#谷歌新研究:AI可以在6小时内设计出计算机芯片
本文插图
图片来源@视觉中国文丨学术头条
现代计算的革命在很大程度上是由计算机系统和硬件的显著进步促成的 。 随着摩尔定律的放缓和Dennard标度的扩大 , 世界正朝着专用硬件发展 , 以满足指数级增长的计算需求 。
然而 , 今天的芯片需要几年的时间来设计 , 因此大大缩短芯片设计周期 , 使硬件适应快速发展的机器学习领域是当前的一个发展趋势 。
如果使用机器学习算法代替人为设计工作来尝试设计芯片 , 同时其本身能够提供缩短芯片设计周期的方法 , 从而在硬件和机器学习之间创建一个更加集成的关系来促进彼此的发展 , 那又会怎么样呢?
近日 , 由谷歌AI的首席科学家Jeff Dean领导的团队共同撰写了一份预印论文 , 该论文描述了一种基于学习的芯片设计方法 。
他们将芯片放置视为强化学习(RL)问题 , 用RL策略来优化芯片放置的质量 。 与以前方法不同的是 , 该方法可以从过去的经验中学习 , 并随着时间的推移不断改进 。 特别是 , 当训练更多的芯片块时 , 该方法更擅长为先前未见过的芯片块快速生成优化的布局 。
#钛媒体APP#谷歌新研究:AI可以在6小时内设计出计算机芯片
本文插图
他们声称 , 该方法完成芯片设计的平均时间不到6个小时 , 这比人类专家花数周时间完成设计要快得多 。
芯片布局规划困局
在传统的 “布局布线” 任务中 , 芯片设计人员使用软件来确定芯片电路在芯片中的布局 , 类似于设计建筑物的平面图 。
计算机芯片被分成许多块 , 每一块都是一个单独的模块 , 如内存子系统、计算单元或控制逻辑系统 。 这些模块可以用网表、电路组件和标准单元 (如 NAND、NOR 和 XOR 等逻辑门) 的图形来描述 , 所有这些组件都是通过导线连接 。
确定一块芯片的布局是一个称为芯片布局规划的过程 , 它是芯片设计过程中最复杂、最耗时的阶段之一 , 涉及到将网表放置在一个芯片画布 (2d 网格) 上 , 从而提升功率、性能以及区域 (PPA) 最小化 , 同时遵守对密度和路由拥塞的限制 。 为了找到满足多个目标的最佳布局 , 需要考虑许多变量 。
尽管这方面的研究已经进行了几十年 , 但是人类专家仍然需要花上几周的时间来迭代 , 以生成满足多方面设计标准的解决方案 。 这个问题的复杂性源自网表图的大小 , 这些图的大小范围从数百万到数十亿个节点组成数千个集群 , 通常 , 评估目标指标需要花费数小时到一天的时间 。
“基本上 , 在设计过程中 , 你可以使用一些设计工具来进行一些布局 , 但仍需要人工布局和布线专家同这些设计工具一起进行很多次重复的迭代 , ”Dean说道 , “从你想要的设计到实际将其物理布局到芯片上 , 并在面积、功率和导线长度上有适当的限制 , 而且也要满足所有的设计角色或任何正在进行的制造过程 , 这是一个数周的过程 。 而通过建立一个机器学习模型 , 可以让它学会玩特定芯片的组件放置游戏 。 ”
深度强化学习模型
研究人员设计了一个深度强化模型 , 该模型可以尝试各种步骤来查看哪些步骤可以带来更好的结果 , 这些步骤不是在游戏板上放置零件 , 而是研究如何在整个芯片中设计放置正确的电路布局 。
该模型可以指导经过强化学习训练的RL策略来优化芯片放置 。 其输入是芯片网表 (节点类型和图邻接信息)、要放置的当前节点的ID , 以及一些网表元数据 , 如连接总数、宏和标准单元集群 。 网表图和当前节点通过一个基于边缘的图神经网络传递 , 该神经网络是为编码输入状态而开发的 , 嵌入生成部分放置的图和候选节点 。