这篇文章开始宣告在 NVIDIA 技术博客上。

随着摩尔定律的放缓,开发其他技术来前进同一技术进程节点上芯片的功用变得越来越重要。我们的方法运用人工智能规划更小、更快、更高效的电路,以在每一代芯片中供应更高的功用。

大量的算术电路阵列为 NVIDIA GPU 供应了动力,使其在人工智能、高功用核算和核算机图形学方面实现了前所未有的加快。因此,改善这些算术电路的规划关于前进 GPU 的功用和功率至关重要。

假如人工智能可以学会规划这些电路呢?在 PrefixRL :运用深度强化学习优化并行前缀电路 中,我们证明了人工智能不只可以从头开始学习规划这些电路,而且人工智能规划的电路也比最先进的电子规划自动化( EDA )东西规划的电路更小更快。最新 NVIDIA Hopper GPU 结构 具有近 13000 个人工智能规划电路实例。

Two circuit layouts are shown side by side. The layout on the left is smaller in height and width than the layout on the right.转存失利,主张直接上传图片文件 图 1 。由 PrefixRL AI (左)规划的 64b 加法器电路比由最先进的 EDA 东西(右)规划的电路小 25% ,一同速度快,功用等效

在图 1 中,电路对应于图 5 中 PrefixRL 曲线中的( 31.4 m , 0.186ns )点。

电路规划游戏

核算机芯片中的算术电路是运用逻辑门(如 NAND 、 NOR 和 XOR )和导线组成的网络构建的。抱负电路应具有以下特性:

  • Small: 一个较低的区域,以便在一个芯片上可以包容更多的电路。
  • Fast: 下降推延以前进芯片功用。
  • 耗电更少: 芯片功耗更低。

在本文中,我们关键研讨了电路面积和推延。我们发现功耗与感兴趣电路的面积密切相关。电路面积和推延通常是彼此比赛的特色,因此我们希望找到有用权衡这些特色的规划的帕累托前沿。简单地说,我们希望在每个推延时都有最小面积电路。

在 PrefixRL 中,我们重视一类盛行的算术电路,称为(并行)前缀电路。 GPU 中的各种重要电路,如加法器、增量器和编码器,都是前缀电路,可以在更高级别上界说为前缀图。

在这项作业中,我们特别提出了一个问题:人工智能署理能否规划出杰出的前缀图?所有前缀图的情况空间都很大O(2^n^n),无法运用蛮力方法进行探索。

使用深度强化学习规划算术电路
图 2:PrefixRL 的一次迭代与 4b 电路示例

运用电路生成器将前缀图转化为具有导线和逻辑门的电路。然后,运用物理组成优化(如栅极尺寸、拷贝和缓冲器刺进)经过物理组成东西进一步优化这些生成的电路。

由于这些物理组成优化,毕竟电路特性(推延、面积和功率)不会直接从原始前缀图特性(如电平缓节点数)转化。这便是为什么人工智能署理学习规划前缀图,但优化由前缀图生成的毕竟电路的特色。

我们将算术电路规划作为强化学习( RL )任务,在该任务中,我们操练署理优化算术电路的面积和推延特性。关于前缀电路,我们规划了一个环境,在该环境中, RL 署理可以在前缀图中添加或删去节点,然后履行以下步骤:

  1. 前缀图合法化,以始终保持正确的前缀和核算。
  2. 从合法化的前缀图生成电路。
  3. 运用物理组成东西对电路进行物理组成优化。
  4. 测量了电路的面积和推延特性。

在一会集, RL 署理经过添加或删去节点逐步树立前缀图。在每个步骤中,署理都会收到相应电路区域的改善和推延作为奖励。

情况和动作标明与深度强化学习模型

我们运用 Q 学习算法来操练电路规划署理。我们对前缀图运用网格标明,其中网格中的每个元素仅有地映射到前缀节点。这种网格标明法用于 Q 网络的输入和输出。输入网格中的每个元素标明节点是否存在。输出网格中的每个元素标明用于添加或删去节点的 Q 值。

我们运用彻底卷积神经网络架构作为智能体的输入和输出, Q 学习智能体是网格标明。该署理独自预测面积和推延特色的 Q 值,由于面积和推延的回报在操练期间是可以独自观察到的。

使用深度强化学习规划算术电路
图 3 。某些 4b 前缀图(左)和全卷积 Q 学习署理架构(右)的标明

Raptor 散布式操练

PrefixRL 是一项核算要求很高的任务:物理模拟每个 GPU 需求 256 CPU ,操练 64b 案例需求 32000 GPU 小时。

我们开发了 Raptor ,这是一个内部散布式强化学习渠道,它使用了 NVIDIA 硬件的特别优势来进行这种工业强化学习(图 4 )。

Raptor 具有一些增强可扩展性和操练速度的功用,例如作业调度、自界说网络和 GPU 感知的数据结构。在 PrefixRL 的上下文中, Raptor 使作业散布在 CPU 、 GPU 和 Spot 实例的混合中成为可能。

此强化学习应用程序中的网络具有多样性,并从以下方面获益。

  • Raptor 在 NCCL 之间切换的才能,用于点到点传输,以将模型参数直接从学习者 GPU 传输到推理 GPU 。
  • Redis 用于异步和较小的音讯,如奖励或核算信息。
  • JIT 编译的 RPC ,用于处理高容量和低推延央求,例如上载体会数据。

最终, Raptor 供应了支撑 GPU 的数据结构,例如重播缓冲区,该缓冲区具有多线程服务器,用于接纳来自多个作业人员的经历,并并行地批处理数据并将其预取到 GPU 上。

图 4 闪现,我们的结构支撑并行操练和数据收集,并使用 NCCL 有用地向参与者发送最新参数。

使用深度强化学习规划算术电路
图 4 。我们运用 Raptor 进行解耦并行操练和奖励核算,以打败电路组成推延

奖励核算

我们运用[0 , 1]中的折衷权重 w 来组合面积和推延政策。我们操练具有不同权重的各种署理,以获得平衡面积和推延之间权衡的帕累托前沿规划。

RL 环境中的物理组成优化可以生成各种解决方案,以在面积和推延之间进行权衡。我们应该运用与操练特定署理相同的权衡权重来驱动物理组成东西。

在循环中履行物理组成优化以进行奖励核算有几个长处。

  • RL 署理学习直接优化政策技术节点和库的毕竟电路特色。
  • 经过在物理组成进程中包括周围逻辑, RL 署理可以联合优化政策算术电路及其周围逻辑的特色。

可是,履行物理组成是一个缓慢的进程( 64b 加法器约 35 秒),这会大大减缓 RL 操练和探索。

我们将奖励核算与情况更新解耦,由于署理只需求当时前缀图情况来采取举动,而不需求电路组成或之前的奖励。多亏了 Raptor ,我们可以将冗长的奖励核算转移到 CPU 作业人员池中,并行履行物理组成,而演员署理无需等候即可在环境中穿行。

当 CPU 作业者回来奖励时,可以将转化刺进重播缓冲区。缓存组成奖励,以避免在情况从头计数时进行冗余核算。

结果

RL 署理朴实经过从组成电路特色反馈的学习来学习规划电路。图 5 闪现了运用 PrefixRL 规划的 64b 加法器电路的最新成果*, Pareto 主导的加法器电路来自最先进的 EDA 东西,在面积和推延方面。

在相同推延下,最好的 PrefixRL 加法器的面积比 EDA 东西加法器低 25% 。这些经过物理概括优化后映射到帕累托最优加法器电路的前缀图具有不规则结构。

使用深度强化学习规划算术电路
图 5 。 PrefixRL 规划的算术电路比最先进的 EDA 东西规划的电路更小更快。(左)电路架构;(右)对应的 64b 加法器电路特性图

定论

据我们所知,这是第一种运用深度强化学习署理规划算术电路的方法。我们希望该方法可以成为将人工智能应用于实践电路规划问题的蓝图:构建动作空间、情况标明、 RL 署理模型、针对多个比赛政策进行优化,以及打败物理组成等缓慢的奖励核算进程。

有关更多信息以及与其他方法的比较,请参阅 PrefixRL :运用深度强化学习优化并行前缀电路 ( preprint )。

阅读原文