芯片设计|谷歌、英伟达及EDA厂商纷纷下场,AI如何改变芯片设计?( 三 )



△在同样功能的前提下的一款64bit电路 , 基于PrefixRL设计的电路(左)面积要比基于最先进EDA工具设计的电路面积小25%
英伟达表示该技术证明了AI不仅可以从头开始学习设计电路 , 而且这些电路比使用最新EDA工具设计的电路还要更小、更快 。
在一篇关于 PrefixRL 的六页研究论文中 , 英伟达的研究人员表示 , 他们专注于一类称为“并行前缀电路”(parallel-prefix circuits)的算术电路 , 其中包括加法器、增量器和编码器等电路 , 所有这些都可以在更高级别被定义为前缀图表 。
英伟达想弄清楚 AI 代理是否可以设计出更高质量的缀图 , 并补充说“所有前缀图表的状态空间都很大【O(2^n^n)】 , 无法使用蛮力方法进行探索 。 ”
该论文写道 , “使用电路生成器 , 即可将前缀图转换为带有导线和逻辑门的电路 。 这些生成的电路随后通过物理综合工具加以进一步优化 , 比如使用门尺寸、复制和缓冲器插入等方法实现物理综合优化 。
算术电路是由NAND、NOR和XOR等逻辑门 , 再配合大量导线构建而成的 , 同时既要小到能够在指定的芯片上被大量封装 , 又要具备极快的速度以降低性能延迟 , 同时在可能的范围内将功率控制在最低 。 对于PrefixRL , 研究人员的关注重点是电路的大小和速度(用于降低延迟) , 因为这两个指标往往会相互冲突 。 芯片设计的挑战 , 就在于如何高效找到尺寸与性能最均衡的设计点 。 “简而言之 , 我们希望在满足延迟要求的条件下 , 尽可能缩小芯片尺寸 。 ”


△PrefixRL的一次4bit电路迭代示例
研究人员表示 , “由于这些物理综合优化 , 最终的电路属性(包括延迟、面积和功率)无法直接由原始前缀图属性(例如电平和节点数)转换而来 。 所以AI代理才需要学习设计前缀图 , 尝试突破这道人类难以逾越的从前缀图、到最终电路属性的优化之路 。 我们将算术电路设计视为一种强化学习(Reinforcement Learning)任务 , 训练一个代理来优化算术电路的面积和延迟特性 。 对于前缀电路 , 我们还专门设计了一个环境 , 允许强化学习代理在其中添加或删除前缀图内的节点 。 ”
接下来 , 设计流程要使前缀图合法化 , 确保其中始终保持正确的前缀和计算方法 , 而后通过合法化的前缀图创建电路 。 再引入物理综合工具优化电路 , 最终测量电路的面积和延迟特性 。 在整个过程中 , 强化学习代理会通过添加或删除节点的一系列步骤构建起前缀图 。
Nvidia 研究人员在他们的工作中使用了完全卷积神经网络和 Q 学习算法(一种强化学习算法) 。 该算法使用前缀图的网格表示来训练电路设计代理 , 网格中的每个元素都映射到前缀节点 。 网格表示用于 Q 网络的输入和输出——输出网格中的每个元素表示用于添加或删除节点的 Q 值——神经网络预测面积和延迟属性的 Q 值 。

运行PrefixRL的对于算力需求很大 。 据研究人员介绍 , 整个物理模拟任务需要为每个GPU配备256个CPU , 而且训练时间超过32000个GPU小时 。 为了满足如此严苛的资源需求 , 英伟达专门创建了一个名为“Raptor”的分布式强化学习平台 , 专门利用英伟达硬件实现这一级别的强化学习用例 。
研究人员们写道 , “Raptor可提供多项功能 , 可以提高可扩展性和训练速度 , 例如作业调度、自定义网络和GPU感知数据结构 。 在PrefixRL用例当中 , Raptor能够将工作负载混合分配给CPU、GPU和Spot实例 。 这个强化学习应用涉及多种网络类型 , 其中Raptor能够在英伟达集体通信库(NCCL)之间切换以进行点对点传输 , 从而将模型参数直接从学习GPU传输至推理GPU 。 ”

相关经验推荐