现代计算的革命在很大程度上是由计算机系统和硬件的显著进步促成的。随着摩尔定律的放缓和 Dennard 标度的扩大,世界正朝着专用硬件发展,以满足指数级增长的计算需求。
然而,今天的芯片需要几年的时间来设计,因此大大缩短芯片设计周期,使硬件适应快速发展的机器学习领域是当前的一个发展趋势。
如果使用机器学习算法代替人为设计工作来尝试设计芯片,同时其本身能够提供缩短芯片设计周期的方法,从而在硬件和机器学习之间创建一个更加集成的关系来促进彼此的发展,那又会怎么样呢?
近日,由谷歌 AI 的首席科学家 Jeff Dean 领导的团队共同撰写了一份预印论文,该论文描述了一种基于学习的芯片设计方法。
他们将芯片放置视为强化学习(RL)问题,用 RL 策略来优化芯片放置的质量。与以前方法不同的是,该方法可以从过去的经验中学习,并随着时间的推移不断改进。特别是,当训练更多的芯片块时,该方法更擅长为先前未见过的芯片块快速生成优化的布局。

他们声称,该方法完成芯片设计的平均时间不到 6 个小时,这比人类专家花数周时间完成设计要快得多。

芯片布局规划困局

在传统的 “布局布线” 任务中,芯片设计人员使用软件来确定芯片电路在芯片中的布局,类似于设计建筑物的平面图。
计算机芯片被分成许多块,每一块都是一个单独的模块,如内存子系统、计算单元或控制逻辑系统。这些模块可以用网表、电路组件和标准单元 (如 NAND、NOR 和 XOR 等逻辑门) 的图形来描述,所有这些组件都是通过导线连接。
确定一块芯片的布局是一个称为芯片布局规划的过程,它是芯片设计过程中最复杂、最耗时的阶段之一,涉及到将网表放置在一个芯片画布 (2 d 网格) 上,从而提升功率、性能以及区域 (PPA) 最小化,同时遵守对密度和路由拥塞的限制。为了找到满足多个目标的最佳布局,需要考虑许多变量。
尽管这方面的研究已经进行了几十年,但是人类专家仍然需要花上几周的时间来迭代,以生成满足多方面设计标准的解决方案。这个问题的复杂性源自网表图的大小,这些图的大小范围从数百万到数十亿个节点组成数千个集群,通常,评估目标指标需要花费数小时到一天的时间。

“基本上,在设计过程中,你可以使用一些设计工具来进行一些布局,但仍需要人工布局和布线专家同这些设计工具一起进行很多次重复的迭代,”Dean 说道,“从你想要的设计到实际将其物理布局到芯片上,并在面积、功率和导线长度上有适当的限制,而且也要满足所有的设计角色或任何正在进行的制造过程,这是一个数周的过程。而通过建立一个机器学习模型,可以让它学会玩特定芯片的组件放置游戏。”

深度强化学习模型

研究人员设计了一个深度强化模型,该模型可以尝试各种步骤来查看哪些步骤可以带来更好的结果,这些步骤不是在游戏板上放置零件,而是研究如何在整个芯片中设计放置正确的电路布局。
该模型可以指导经过强化学习训练的 RL 策略来优化芯片放置。其输入是芯片网表 (节点类型和图邻接信息)、要放置的当前节点的 ID,以及一些网表元数据,如连接总数、宏和标准单元集群。网表图和当前节点通过一个基于边缘的图神经网络传递,该神经网络是为编码输入状态而开发的,嵌入生成部分放置的图和候选节点。

图神经网络生成的嵌入与元数据嵌入串联在一起,形成对策略和价值网络的输入

然后将边缘、宏和网表元数据嵌入连接起来,以形成单个状态嵌入,并将其传递给前馈神经网络。前馈网络的输出是一种学习表示,它捕获有用的特征并作为策略和价值网络的输入。策略网络在所有可能的网格单元上生成一个概率分布,当前节点可以放置在这些网格单元上。
在每次训练的迭代中,宏均根据 RL 策略依次放置,然后通过力导向方法放置标准单元簇,该方法将电路建模为一个弹簧系统,以最大程度减少导线长度。RL 训练的指导原则是使用近似线长(即半周线长,HPWL)的加权平均值和近似拥塞(路由资源消耗的比例),为每个实行 RL 策略的芯片位置计算一个快速但近似的奖励信号放置的网表。

在每次训练迭代期间,一次将一个宏放置一次策略,并通过强制定向方法放置标准单元簇。奖励是根据近似导线长度和拥塞的加权组合计算得出的。

在实践中,RL 策略从空的芯片开始,按顺序依次放置组件,直到它完成网格为止,并且直到最后代理波长 (与功率和性能相关) 的负加权总和和拥塞为零,才获得奖励。为了指导代理选择先放置哪些组件,组件按大小降序排序,首先放置较大的组件,降低了以后没有合适位置的可能性。
训练 RL 策略需要创建一个包含 10,000 个芯片放置的数据集,其中输入是与给定放置相关的状态,标签是放置的奖励 (即线长和拥塞)。研究人员首先选择了 5 个不同的芯片网表,然后应用 AI 算法为每个网表创建 2000 个不同的位置。

训练数据大小与微调性能

尽管这项工作并不完全是新颖的,它是基于谷歌工程师在 3 月份发表的一篇论文中提出的一项技术,但该工作推进了这项技术的发展,因为它意味着芯片上晶体管的放置可以在很大程度上实现自动化。一旦公开发布,谷歌研究人员的技术可以让资金紧张的初创公司开发出自己的芯片,用于人工智能和其他特殊用途。此外,它可以帮助缩短芯片设计周期,使硬件更好地适应快速发展的科学研究。
研究人员表示,当他们在更多的芯片上训练框架时,能够加快训练过程,并更快地产生高质量的结果。实际上,他们声称与领先的基准相比,它在生产中的谷歌张量处理单元 (TPUs)(一款谷歌定制设计的人工智能加速芯片)上实现了优于领先基线的 PPA。
研究人员总结道:“与现有的从头开始优化每个新芯片的位置方法不同,我们的工作利用从放置以前的芯片中获得的知识,来使其随着时间的推移变得更好。此外,我们的方法可以直接优化目标指标、线长、密度和拥塞,而不必像其他方法那样定义这些功能的近似值。我们的方法不仅使新的成本函数在可用时易于整合,而且还使我们能够根据给定芯片块的需求,例如,时序关键或功耗受限,来权衡它们的相对重要性。”
而在 Reddit 上,这则消息也引发了网友热议。有网友说,当他看到这则消息,他觉得非常酷。因为放置数以亿计的晶体管,使其可以连接并正常工作是一项艰巨的任务,其中布局和布线非常重要的,信号沿导线移动需要花费时间,而布局目标是使导线长度最小,减少组件之间的等待时间,这很难做到。但是仍然会存在一些问题,例如接线不合适,这就需要人工来解决。而减少设计芯片所需的时间,就可以设计更多的芯片来加快迭代速度。

也有网友表示,它可以帮助设计人员轻松设计用于神经网络、机器学习、深度学习的芯片,加速 AI 的发展。

软件与硬件的发展相辅相成,深度学习三巨头 Bengio、Hinton、LeCun 就曾在 AAAI2020 大会上共同探讨未来深度学习神经网络的前景,他们均表示用于加速神经网络训练和推理的新型硬件可以生成更大的模型,也许有一天有可能使数万亿突触神经网络成为可能。而谷歌的快速设计计算机芯片更是助力了其发展。参考来源:https://venturebeat.com/2020/04/23/google-claims-its-ai-can-design-computer-chips-in-under-6-hours/https://ai.googleblog.com/2020/04/chip-design-with-deep-reinforcement.htmlhttps://www.zdnet.com/google-amp/article/google-experiments-with-ai-to-design-its-in-house-computer-chips/https://www.reddit.com/r/artificial/comments/g7ov49/googles_ai_can_design_computer_chips_in_under_6/https://www.zdnet.com/article/ai-on-steroids-much-bigger-neural-nets-to-come-with-new-hardware-say-bengio-hinton-lecun/#ftag=CAD-00-10aag7e

附合导线计算软件_AI 可以在 6 小时内设计出计算机芯片?谷歌这项研究厉害了...相关推荐

  1. 一千瓶酒有一瓶酒有毒药,问你最少用多少只老鼠可以找出那瓶毒酒? 老鼠毒发的时间在两小时内,要求在两个小时内找出毒酒。

    题目: 一千瓶酒有一瓶酒有毒药,问你最少用多少只老鼠可以找出那瓶毒酒? 老鼠毒发的时间在两小时内,要求在两个小时内找出毒酒. public class Demo03 { public static v ...

  2. 包装计算机辅助设计软件,包装设计专业计算机辅助设计课程体系研究

    包装设计专业计算机辅助设计课程体系研究 Update:2012-07-25 柯胜海,湖南工业大学 来源: <装饰>杂志2012年第5期 内容摘要 为凸显包装设计专业人才培养的优势,湖南工业 ...

  3. 有1000瓶酒,其中只有一瓶有毒。现在用小白鼠进行实验,小白鼠只要服用任意量有毒酒就会在24小时内死亡。问最少要用多少只小白鼠进行实验才能在24小时内检测出哪瓶药水有毒?

    有1000瓶酒,其中只有一瓶有毒.现在用小白鼠进行实验,小白鼠只要服用任意量有毒酒就会在24小时内死亡.问最少要用多少只小白鼠进行实验才能在24小时内检测出哪瓶药水有毒? 这是一个二进制的问题,答案是 ...

  4. 附合导线计算软件_安装造价中电气安装算量超复杂?让这80个自动算量表格软件来帮你...

    安装造价中电气安装算量超复杂?不存在的,让这80个自动算量表格软件来帮你化简为宜 做造价的朋友都知道,在安装造价中电气工程安装算量是很复杂的,加班是常事,熬夜也很常见. 先说一下电气安装中的一些要点吧 ...

  5. 8种药水有且仅有一种有毒,药水1小时见效,现在要求在1小时内找出有毒药水,至少需要几只小白鼠?

    对于这个题,不同于二分法找有毒的情况,这个关键在于只能一次,这个是考察对二进制数据的理解,每只老鼠在8小时后都有一个状态,死亡或存活,对于题目,只有1个有毒,那么总共8情况.所以理论上3只老鼠就可以标 ...

  6. 上海交大发布全球首款专用光量子计算软件

    本文转载自上海交通大学光量子信息实验室 今天,上海交通大学金贤敏教授带领的光子集成与量子信息实验室发布了全球首款专用光量子计算软件! 这款名为FeynmanPAQS的量子计算软件专注于一系列专用光量子 ...

  7. DTAS3D 三维公差分析与尺寸链计算软件-AI自动建模案例

    AI逞威!火箭电控器数百装配&测量自动创建!仅需十分钟 简介:公差计算软件.公差分析软件.公差带计算软件.尺寸链计算.尺寸链公差分析.尺寸链分析与计算.尺寸链分析软件.尺寸公差软件.尺寸公差分 ...

  8. 平流式初沉池贮砂斗计算_水处理相关计算软件大全,提高工作效率必备

    1.A2O工艺设计程序 2.SBR反应器计算 3.污水处理厂模拟软件 4.污水处理构筑物辅助设计工具 5.管道水力计算 6.UASB工艺计算软件 7.COD.TP.NH3-N测定数据分析程序 8.沉淀 ...

  9. 寄存器计算软件/寄存器小精灵

    寄存器计算软件/寄存器小精灵.超级好用,一共有两款做选择 第一款:已经打包为EXE 供window使用:下载地址 可以配置颜色 第二款,是比较老的,不过也比较好用, 供window使用:下载地址 源码 ...

最新文章

  1. python引入redis_redis 删除大key集合的方法
  2. html页面跳转_HTTP响应协议状态码以及跳转问题
  3. Android六边形图像
  4. android getwindow 在fragment不能使用,Android Fragment 布局使用 fitsSystemWindows = true 无效解决方案...
  5. 用计算机打出二分之一,win10手机计算器怎么输入二分之一?
  6. java控制台输出方式,JAVA控制台输出格式
  7. 小熊的人生回忆(一)
  8. 理解PHP5中static和const关键字
  9. ***经验之教你穿透ADSL路由***内网
  10. 如何在C中纯粹编写iOS应用程序
  11. (10)进程---Manager数据共享
  12. 拓端tecdat|R语言连续时间马尔可夫链模拟案例 Markov Chains
  13. spring 之 AOP 理解
  14. en55032最新标准下载_欧盟新EMC标准EN55032将强制实施
  15. c语言通讯录程序设计个人感言,C语言学习感悟(1)
  16. python凹多边形分割_凹多边形分割成凸多边形
  17. ecs云服务器操作系统选择
  18. 张飞的流水帐日记【分享】
  19. cad工具箱详细讲解_筑龙网CAD工具箱使用说明
  20. OUC_SE_Group04_Blog2

热门文章

  1. [家里蹲大学数学杂志]第043期《泛函分析》试题
  2. 如何去除视频水印?方法超简单
  3. Unity应该如何学
  4. Wiznet W5500 MAC RAW和UDP
  5. 栈顺序存储 - Java实现
  6. 计算机图形学------英文单词积累(一)
  7. linux全局变量区空间多大,从cplb_data全局变量看uclinux的存储空间划分
  8. 代码绘制一个动态樱花树
  9. 小服装店什么收银系统好用呢?
  10. 好久不更了,写个中医的思考