AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

英伟达发布基于深度增强学习的电路设计方法 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:294690

评论

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

云原生系列五:Kafka 集群数据迁移基于Kubernetes的内部

叶秋学长

kafka 开源 Kubernetes 8月月更

【Redis】redis安装与客户端redis-cli的使用(批量操作)

石臻臻的杂货铺

redis' 8月月更

电商秒杀系统架构设计

泋清

#架构训练营

从零开始,如何拥有自己的博客网站【华为云至简致远】

IT资讯搬运工

linux 文件权限控制

游戏开发常遇到数据一致性BUG,怎么解?

华为云开发者联盟

数据库 后端 游戏开发

C++面向对象友元,全局函数、类、成员函数做友元

CtrlX

8月月更

leetcode 155. Min Stack最小栈(中等)

okokabcd

LeetCode 数据结构与算法 栈和队列

客户案例 | 提高银行信用卡客户贡献率

易观分析

金融 银行 分析 客户

一名合格的程序员是如何优雅地解决线上问题的?

程序员小毕

Java 程序员 架构 程序人生 后端

开源一夏 | 使用 JavaScript 和 CSS 做一个图片转 PDF 的转换器

海拥(haiyong.site)

JavaScript 开源 前端 8月月更

Arco Vue + Flask 手把手实战开发一测试需求平台

MegaQi

测试平台开发教程 签约计划第三季 8月月更

优雅地实时检测和更新 Web 应用

领创集团Advance Intelligence Group

Web Web应用

IT故障快速解决就用行云管家!快速安全!

行云管家

运维 IT运维 行云管家

国产堡垒机品牌哪家好?功能有哪些?咨询电话多少?

行云管家

运维 堡垒机 运维审计 国产堡垒机 堡垒机品牌

再迎巅峰!阿里爆款分布式小册开源5天Github已73K

冉然学Java

架构 分布式 微服务 java; 编程、

什么是低代码开发?大家都真的看好低代码开发吗?

优秀

低代码开发

转转商品系统高并发实战(数据篇)

转转技术团队

分布式 高并发

看到这个应用上下线方式,不禁感叹:优雅,太优雅了!

华为云开发者联盟

云计算 开发 CCE

直播卖货APP——为何能得到商家和用户的喜欢?

开源直播系统源码

软件开发 语聊房 直播系统 直播源码

面试官:Redis 大 key 要如何处理?

Java永远的神

Java 数据库 redis 程序员 面试

STM32的内存管理相关(内存架构,内存管理,map文件分析)

矜辰所致

内存 stm32 Flash 8月月更

SpringMVC(一、快速入门)

开源 springmvc 8月月更

【Redis】位图以及位图的使用场景(统计在线人数和用户在线状态)

石臻臻的杂货铺

redis' 8月月更

海外邮件发送指南(一)

极光GPTBots-极光推送

消息推送 邮件 SendCloud

设计一个跨平台的即时通讯系统(采用华为云ECS服务器作为服务端 )【华为云至简致远】

IT资讯搬运工

云服务器ECS

开源一夏 | 自己画一块ESP32-C3 的开发板(PCB到手)

矜辰所致

开源 硬件设计 8月月更 ESP32-C3

跟我一起了解云耀云服务器HECS【华为云至简致远】

IT资讯搬运工

云服务器

RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与FreeRTOS的比较)

矜辰所致

RTT RT-Thread 8月月更 线程操作

Docker到底是什么,能干什么?这一篇文章全部给你解释清楚了

Java永远的神

Java Docker 程序员 面试 云原生

华为云弹性云服务器ECS使用【华为云至简致远】

IT资讯搬运工

弹性云服务器ECS

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