英伟达用AI设计GPU算术电路,面积比最先进EDA减少25%,速度更快、更加高效

简介: 英伟达用AI设计GPU算术电路,面积比最先进EDA减少25%,速度更快、更加高效
随着摩尔定律的放缓,在相同的技术工艺节点上开发能够提升芯片性能的其他技术变得越来越重要。在这项研究中,英伟达使用深度强化学习方法设计尺寸更小、速度更快和更加高效的算术电路,从而为芯片提供更高的性能。



大量的算术电路阵列为英伟达 GPU 提供了动力,以实现前所未有的 AI、高性能计算和计算机图形加速。因此,改进这些算术电路的设计对于提升 GPU 性能和效率而言至关重要。

如果 AI 学习设计这些电路会怎么样呢?在近期英伟达的论文《PrefixRL: Optimization of Parallel Prefix Circuits using Deep Reinforcement Learning》中,研究者证明了AI不仅可以从头开始设计这些电路,而且AI设计的电路比最先进电子设计自动化(EDA)工具设计的电路更小、更快。


论文地址:https://arxiv.org/pdf/2205.07000.pdf

最新的英伟达Hopper GPU架构中拥有近13000个AI设计的电路实例。下图 1 左 PrefixRL AI设计的64b加法器电路比图1右最先进EDA工具设计的电路小25%。

电路设计概览
计算机芯片中的算术电路是由逻辑门网络(如NAND、NOR和XOR)和电线构成。理想的电路应具有以下属性:

  • 小:更小的面积,更多电路可以封装在芯片上;
  • 快:更低的延迟,提高芯片的性能;
  • 更低功耗。


在英伟达的这项研究中,研究者关注电路面积和延迟。他们发现,功耗与感兴趣电路的面积密切相关。电路面积和延迟往往是相互竞争的属性,因此希望找到有效权衡这些属性的设计的帕累托边界。简言之,研究者希望每次延迟时电路面积是最小的。

因此,在PrefixRL中,研究者专注于一类流行的算术电路——并行前缀电路。GPU中的各种重要电路如加速器、增量器和编码器等都是前缀电路,它们可以在更高级别上被定为为前缀图。

那么问题来了:AI智能体能设计出好的前缀图吗?所有前缀图的状态空间是很大的O(2^n^n),无法使用蛮力方法进行探索。下图2为具有4b电路实例的PrefixRL的一次迭代。

研究者使用电路生成器将前缀图转换为一个带有电线和逻辑门的电路。接下来,这些生成的电路通过一个物理综合工具来优化,该工具使用门尺寸、复制和缓冲器插入等物理综合优化。


由于这些物理综合优化,最终的电路属性(延迟、面积和功率)不会直接从原始前缀图属性(如电平和节点数)转换而来。这就是为什么AI智能体学习设计前缀图但又要对从前缀图中生成的最终电路的属性进行优化。


研究者将算术电路设计视为一项强化学习(RL)任务,其中训练一个智能体优化算术电路的面积和延迟属性。对于前缀电路,他们设计了一个环境,其中RL智能体可以添加或删除前缀图中的节点,然后执行如下步骤:


前缀图被规范化以始终保持正确的前缀和计算;

从规范化的前缀图中生成电路;

使用物理综合工具对电路进行物理综合优化;

测量电路的面积和延迟特性。


在如下动图中,RL智能体通过添加或删除节点来一步步地构建前缀图。在每一步上,该智能体得到的奖励是对应电路面积和延迟的改进。

原图为可交互版本。

完全卷积Q学习智能体


研究者采用Q学习(Q-learning)算法来训练智能体电路设计。如下图3所示,他们将前缀图分解成网格表示,其中网格中的每个元素唯一地映射到前缀节点。这种网格表示用于 Q 网络的输入和输出。输入网格中的每个元素表示节点是否存在。输出网格中的每个元素代表添加或删除节点的 Q 值。

研究者采用完全卷积神经网络架构,因为Q学习智能体的输入和输出都是网格表示。智能体分别预测面积和延迟属性的 Q 值,因为面积和延迟的奖励在训练期间是单独可观察的。

图3:4b前缀图表示(左)以及完全卷积Q学习智能体架构(右)。

Raptor进行分布式训练

PrefixRL需要大量计算,在物理模拟中,每个GPU需要256个CPU,而训练64b任务则需要超过32000个GPU小时。此次英伟达开发了一个内分布式强化学习平台Raptor,该平台充分利用了英伟达硬件优势,从而可以进行这种工业级别的强化学习(如下图4)。

Raptor 能够提高训练模型的可扩展性和训练速度,例如作业调度、自定义网络和 GPU 感知数据结构。在 PrefixRL 的上下文中,Raptor 使得跨 CPU、GPU 和 Spot 实例的混合分配成为可能。

这个强化学习应用程序中的网络是多种多样的,并且受益于以下几点:

Raptor 在 NCCL 之间切换以进行点对点传输,从而将模型参数直接从学习器 GPU 传输到推理 GPU;

Redis 用于异步和较小的消息,例如奖励或统计信息;

对于 JIT 编译的 RPC,用于处理大容量和低延迟的请求,例如上传经验数据。


最后,Raptor 提供了 GPU 感知数据结构,例如具有多线程服务的重放缓冲器,以接收来自多个worker的经验,并行批处理数据并将其预先载入到 GPU 上。

下图 4 显示PrefixRL框架支持并发训练和数据收集,并利用 NCCL 有效地向参与者(下图中的actor)发送最新参数。

图4:研究者采用Raptor进行解耦并行训练和奖励计算,以克服电路合成延迟。

奖励计算

研究者采用权衡权重 w (范围为[0,1])来组合区域和延迟目标。他们训练具有不同权重的各种智能体以获得帕累托边界,从而平衡面积、延迟之间的权衡。

RL 环境中的物理综合优化可以生成各种解决方案来权衡面积和延迟。研究者使用与训练特定智能体相同的权衡权重来驱动物理综合工具。

在奖励计算的循环中执行物理综合优化具有以下优点:

RL智能体学习直接优化目标技术节点和库的最终电路属性;

RL智能体在物理综合过程中包含目标算法电路的周边逻辑,从而共同优化目标算法电路及其周边逻辑的性能。


然而,进行物理综合是一个缓慢的过程(64b加法器~35秒),这可能大大减慢RL的训练和探索。

研究者将奖励计算与状态更新解耦,因为智能体只需要当前的前缀图状态就可以采取行动,而不需要电路合成或之前的奖励。得益于Raptor,他们可以将冗长的奖励计算转移到CPU worker池中并行执行物理综合,而actor智能体无需等待就能在环境中执行。

当CPU worker返回奖励时,转换就可以嵌入重放缓冲器。综合奖励会被缓存,以避免再次遇到某个状态时进行冗余计算。

结果及展望


下图5展示了使用PrefixRL设计的64b加法器电路、以及来自最先进EDA工具的帕累托支配加法器电路的面积和延迟情况。

最好的 PrefixRL 加法器在相同延迟下实现的面积比 EDA 工具加法器低25%。这些在物理综合优化后映射到Pareto最优加法器电路的前缀图具有不规则的结构。

图5:PrefixRL设计的算术电路比最先进的EDA工具设计的电路更小和更快。(左)电路架构;(右)对应的64b加法器电路特性图
据了解,这是首个使用深度强化学习智能体来设计算术电路的方法。英伟达构想了一种蓝图:希望这种方法可以将 AI 应用于现实世界电路设计问题,构建动作空间、状态表示、RL 智能体模型、针对多个竞争目标进行优化,以及克服缓慢的奖励计算过程。

原文链接:https://developer.nvidia.com/blog/designing-arithmetic-circuits-with-deep-reinforcement-learning/

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
2月前
|
机器学习/深度学习 人工智能 语音技术
Fugatto:英伟达推出的多功能AI音频生成模型
Fugatto是由英伟达推出的多功能AI音频生成模型,能够根据文本提示生成音频或视频,并修改现有音频文件。该模型基于增强型的Transformer模型,支持复杂的组合指令,具有强大的音频生成与转换能力,广泛应用于音乐创作、声音设计、语音合成等领域。
70 1
Fugatto:英伟达推出的多功能AI音频生成模型
|
2月前
|
人工智能 自然语言处理 知识图谱
英伟达nGPT重塑Transformer,AI训练速度暴增20倍!文本越长,加速越快
英伟达提出nGPT(Normalized Transformer),通过单位范数归一化和超球面上的表示学习,显著提升了Transformer模型的训练速度和性能。实验显示,nGPT在处理4k长度序列时,训练速度比传统Transformer快10倍,且在多个下游任务中表现出色。论文地址:https://arxiv.org/pdf/2410.01131
42 12
|
2月前
|
机器学习/深度学习 人工智能 缓存
【AI系统】GPU 基础
GPU,即图形处理器,是计算机系统中处理图形和图像的核心组件,从早期的简单图形加速到如今的高性能计算和深度学习加速,GPU 经历了显著的技术革新。本文将介绍 GPU 的发展历程、与 CPU 的区别、在 AI 领域的关键作用及其在游戏、消费电子、自动驾驶等多个领域的广泛应用。
43 4
|
2月前
|
人工智能 并行计算 流计算
【AI系统】GPU 架构与 CUDA 关系
本文介绍了英伟达GPU硬件基础概念,重点解析了A100 GPU架构中的GPC、TPC、SM等组件及其功能。接着深入讲解了CUDA并行计算平台和编程模型,特别是CUDA线程层次结构。最后,文章探讨了如何根据CUDA核心数量、核心频率等因素计算GPU的算力峰值,这对于评估大模型训练的算力需求至关重要。
59 2
|
2月前
|
机器学习/深度学习 存储 人工智能
【AI系统】为什么 GPU 适用于 AI
本文探讨了GPU在AI计算中的应用,从卷积计算的基本原理入手,解析了GPU线程分级与AI计算模式的关系,以及矩阵乘法如何通过GPU编程提升算力利用率。文章还介绍了计算强度的概念,分析了不同数据结构对计算强度的影响,以及GPU中Tensor Core的作用,强调了在不同存储位置下,找到计算强度与矩阵大小的最佳平衡点对AI计算系统优化的重要性。
82 2
|
2月前
|
机器学习/深度学习 人工智能 并行计算
【AI系统】GPU 架构回顾(从2010年-2017年)
自1999年英伟达发明GPU以来,其技术不断革新。本文概述了从2010年至2024年间,英伟达GPU的九代架构演变,包括费米、开普勒、麦克斯韦、帕斯卡、伏特、图灵、安培、赫柏和布莱克韦尔。这些架构不仅在游戏性能上取得显著提升,还在AI、HPC、自动驾驶等领域发挥了重要作用。CUDA平台的持续发展,以及Tensor Core、NVLink等技术的迭代,巩固了英伟达在计算领域的领导地位。
49 1
|
2月前
|
机器学习/深度学习 人工智能 缓存
【AI系统】GPU 架构回顾(从2018年-2024年)
2018年发布的Turing图灵架构,采用12nm工艺,包含18.6亿个晶体管,大幅提升了PC游戏、专业图形应用及深度学习推理的效率与性能。Turing引入了RT Core和Tensor Core,分别用于实时光线追踪和加速深度学习计算,支持GDDR6内存,显著提升了数据传输速率和效率。此外,Turing架构还支持NVLink 2.0,增强了多GPU协同工作的能力,适用于复杂的图形渲染和深度学习任务。
56 0
【AI系统】GPU 架构回顾(从2018年-2024年)
|
2月前
|
存储 缓存 人工智能
【AI系统】GPU 工作原理
本文详细解析了AI计算体系中的GPU工作原理,重点介绍了GPU与CPU在架构上的差异,强调了GPU在并行计算方面的优势。文章通过$AX+Y$的例子,展示了GPU如何通过并行和并发提高计算效率,并深入探讨了GPU的缓存机制及线程原理,解释了GPU如何通过大量线程和Warp来掩盖延迟问题,实现高效计算。
89 0
|
存储 人工智能 Kubernetes
GPU AI 模型训练
适用于 AI 图片训练场景,使用 CPFS/NAS 作为共享存储,利用容器服务 Kubernetes 版管理 GPU 云服务器集群进行图片 AI 训练。
1104 0
GPU AI 模型训练
|
存储 人工智能 Kubernetes
GPU AI 模型训练
适用于 AI 图片训练场景,使用 CPFS/NAS 作为共享存储,利用容器服务 Kubernetes 版管 理 GPU 云服务器集群进行图片 AI 训练。
19328 0
GPU AI 模型训练