写点什么

英伟达发布基于深度增强学习的电路设计方法 PrefixRL

作者:Claudio Masolo

  • 2022-08-08
  • 本文字数:1247 字

    阅读完需:约 4 分钟

英伟达发布基于深度增强学习的电路设计方法PrefixRL

英伟达发布PrefixRL,一种基于强化学习(RL)的方法,用它设计的并行前缀电路比用最先进的电子设计自动化(EDA)工具设计的并行前缀电路更小、更快。

 

GPU 中各种重要的电路,如加算器、递增器和编码器被称为并行前缀电路。这些电路是高性能数字设计的基础,可以在更高的级别上被定义为前缀图。PrefixRL 专注于这类运算电路,其主要目标是了解 AI 代理是否可以设计出一个好的前缀图,因为这个问题的状态空间是 O(2^n^n),所以不能使用暴力破解的方法解决。

 

理想的电路应该体积小、速度快、耗电少。英伟达发现,功耗与电路的面积密切相关,但电路面积和延迟往往是相互竞争的特性。PrefixRL 的目标是找到面积和延迟之间的有效权衡:在更小的面积上安装更多的电路,减少芯片的延迟,以提高性能和减少功耗。

 

Hopper GPU是英伟达最新的架构,有近 13000 个电路是由 AI 设计的。

 

PrefixRL 代理是用全卷积神经网络(Q-learning 代理)进行训练的。Q 网络的输入和输出都有一个前缀图的网格表示,网格中的每一个元素都唯一地映射到一个前缀节点。输入网格中的每一个元素表示节点是否存在。在输出端,每个元素表示用于添加或删除节点的 Q 值。PrefixRL 代理分别预测面积和延迟的值,因为这些属性在训练时是分开观察的。

 


前缀图表示(左)和完全卷积 Q-learning 代理架构(右)

 

RL 代理可以在前缀图中添加或删除节点,在强化学习任务的每一个步骤中,代理都会收到相应电路面积的改进和延迟作为奖励。在其他步骤中,设计过程是这样的:合法化前缀图,始终保持正确的前缀和计算,然后根据合法化前缀图生成一个电路。最后,用物理合成工具对电路进行优化,设计过程的最后一步是测量电路的面积和延迟特性。

 

面积和延迟之间的最佳权衡,即设计的帕累托边界,是通过训练大量不同权重(从 0 到 1)的代理来获得的。因此,在 RL 环境下的物理综合优化可以产生各种各样的解决方案。这个合成过程很慢(64 位加算器大约需要 35 秒),计算量也很高,物理模拟每个 GPU 对应 256 个 CPU,64 位的训练需要超过 32000 个 GPU 小时。

 

对于这种 RL 任务,英伟达开发了 Raptor,一个内部分布式强化学习平台,利用了英伟达的硬件优势。提高这类 RL 任务可伸缩性和训练速度的核心特性是:作业调度、GPU 感知的数据结构和自定义网络。为了提高网络性能,Raptor 能够在NCCL(用于点对点传输,直接从学习 GPU 传输模型参数到推断 GPU)、Redis(用于异步操作和较小的消息传输,如奖励或统计)和 JIT 编译的 RPC(用于处理高容量和低延迟的请求,如上传经验数据)之间切换。

 


英伟达的框架支持并行训练和数据收集

 

Raptor 提高了训练速度,让代理无需等待通过环境的步骤,这要归功于 CPU Worker 池并行执行物理合成。为了避免相同状态下的冗余计算,当 CPU Worker 返回奖励时,转换被插入到重放缓冲区中,奖励被缓存下来。

 

在相同的延迟条件下,RL 加算器比 EDA 加算器面积小 25%,而且结构不规则。这一成绩是通过 RL 代理学习利用合成电路特性的反馈从头设计电路来实现的。

 

原文链接

PrefixRL: Nvidia's Deep-Reinforcement-Learning Approach to Design Better Circuits

 

2022-08-08 10:295068

评论

发布
暂无评论
发现更多内容

2023年语言和框架我们值得关注什么?

阿里巴巴终端技术

框架 语言 & 开发

OpenHarmony开发之MQTT讲解

OpenHarmony开发者

OpenHarmony

欢迎来嫖!阿里P8高级技术专家携这份818页Java核心技术重磅来袭

钟奕礼

Java 编程 计算机 java程序员 java架构

Alibaba最新推出的Spring Cloud手册惨遭开源

小小怪下士

Java 程序员 阿里 SpringCloud

Docker发布/上传镜像到dockerhub&&下载/拉取镜像&&删除dockerhub镜像

A-刘晨阳

Docker Linux 运维 11月月更

RxJS 全面解析

PingCode研发中心

响应式编程 RXJS reactivex

制造业行业现状及智能生产管理系统一体化解决方案

优秀

制造业 生产管理系统

RxJS 全面解析

阿杰

JavaScript 响应式编程 RXJS

微服务熔断限流的一些使用场景

Java永远的神

Java 程序员 微服务 程序人生 架构师

python小知识-python时间操作

AIWeker

Python python小知识 11月月更

高可用性集群软件就选Skybility HA!优势多多!

行云管家

高可用 双机热备

太强了!终于有人整理出了仿京东电商项目,再次开源了

钟奕礼

Java 编程 架构 项目 java程序员

如何杜绝 spark history server ui 的未授权访问?

明哥的IT随笔

hadoop spark

手慢无!清华大牛熬夜整理Spring微服务架构设计第2版文档,限时删

钟奕礼

Java 编程 架构 计算机 java程序员

Dragonfly 中 P2P 传输协议优化

SOFAStack

开源

【C语言】for 关键字

謓泽

11月月更

华为云开发者日震撼来袭!11月20日,上海见!

华为云开发者联盟

开发者 华为云

LED透明屏焊接和插接安装以及三招提升稳定性

Dylan

LED LED显示屏 led显示屏厂家

Kotlin函数声明与闭包

子不语Any

android kotlin 11月月更

旺链科技出席Hyperledger区块链技术峰会,分享数字乡村新业态

旺链科技

区块链 hyperledger 产业区块链 企业号十月PK榜

阿里云研发工程师刘睿:阿里云消息生态及最佳实践

云布道师

阿里云 云原生

这次,听人大教授讲讲分布式数据库的多级一致性|TDSQL关键技术突破

腾讯云数据库

腾讯云 tdsql 腾讯云数据库 多级一致性 中国人民大学

从零到一构建完整知识体系!阿里巴巴Java并发编程技术内幕全网首次公开

Java全栈架构师

源码 程序员 程序人生 Java并发 java面试

自制操作系统日记(7):字符串显示

操作系统

极客时间架构训练营模块五作业

李晨

架构

互联网公司网络堡垒机首选哪家品牌?有什么优势?

行云管家

互联网 网络安全 信息安全 堡垒机

想要设计一个良好的接口至少要考虑这14点!

程序员小毕

Java 编程 程序员 程序人生 java面试

追求极致性能!RocketMQ消息通信详解

Java全栈架构师

Java 程序员 面试 RocketMQ 消息中间件

Kubectl 命令总结

蜗牛也是牛

4.0体验站|我对OceanBase 4.0社区版的体验与看法

OceanBase 数据库

英伟达发布基于深度增强学习的电路设计方法PrefixRL_AI&大模型_InfoQ精选文章