AI长大了,可以自己设计芯片了。而且这技术水平越来越高,自动化布置芯片的晶体管小菜一碟。
有了AI设计芯片,我再也不相信「摩尔定律」了!
谷歌研究员培养AI干活儿可真花了不少心思。
在由Google AI负责人Jeff Dean领导撰写的一篇预印本论文中,Google Research科学家以及Google芯片基础架构团队进一步讲述了基于机器学习的芯片设计方法,这种方法借鉴了过去积累的训练经验,使训练效果大幅提升。
Jeff Dean提到,数十年来,推动计算技术发展的基本思想是:给要解决的问题匹配足够的算力。问题越大,算力越大。
但,当我们进入AI时代后突然发现,算力并没有「那么」重要了。
事实证明,AI/ML不需要典型的CPU/GPU的复杂功能,所需的数学运算也更简单,而且要求的精度也低很多。
事实还证明,AI在设计芯片方面天赋异禀。
基于谷歌工程师在3月份发表论文中提出的技术,AI设计芯片的水平越来越高,完全自动化地布置芯片上晶体管也毫无压力。
现在,AI设计芯片平均只需要6个小时。而同样的活儿,人工做要花费几周时间。
显而易见,这项技术蕴含着多么巨大的商业价值!资金短缺的中小微企业也有机会开发自己的芯片,用于AI研发和其他用途。此外,芯片设计周期也被大大缩短,可以使硬件更好地适应技术的快速发展。
当然训练AI设计芯片的过程也不是一蹴而就的,需要克服难以想象的困难。
「在设计过程中,有设计工具可以帮助做一些布局,同时还有人工布局和走线设计专家一起参与,要反反复复试验很多次,」Dean在去年年底接受 VentureBeat 采访时说。
「从你心目中想要的设计开始,到把组件实际布置在一个芯片上,在面积、功率和电线长度等方面实现精准的设计,这个过程要花费几周的时间。我们可以建立一个机器学习模型,学习如何对特定的芯片进行布置。」
研究人员将逻辑门和存储器组成的芯片网表放在一个芯片画布上,这样就可以一目了然地优化设计中的功耗、性能和面积(PPA),同时遵守对布置密度和走线阻塞的限制。这些网表大小不等,由成千上万个集群中的数百万到数十亿个节点组成,通常,评估达成目标需要花费几个小时到一天以上的时间。
研究人员设计了一个框架,指导AI智能体进行强化学习训练,来优化芯片的布置位置。(强化学习通过奖励政策来刺激AI智能体完成目标,在这种情况下,AI智能体会根据奖励最大化的情况进行布置。)
根据芯片网表,当前节点的 ID,以及网表和半导体技术的元数据,一个政策AI模型会在可用的布置位置上输出一个概率分布,而价值模型则对当前布置的预期报酬做出估计。
就这样,从一个空芯片开始,AI智能体完成网络列表,然后按顺序布置组件。最终AI智能体会收到系统的奖励。为了引导AI智能体先选择布置哪些组件,组件按降序大小排列; 先布置较大的组件,会减少以后无法布置组件的可能性。
培训AI智能体,需要创建一个包含10,000个芯片布置情况的数据集,其中输入与给定布置相关的状态,标签是布置相对应的奖励(即,线路长度和阻塞)。研究人员首先挑选了5个不同的芯片网表,然后应用AI算法为每个网络列表创建2000个不同的布置位置。
在实验中,研究人员报告说,在越多的芯片上训练框架,就能够越快地进行训练,产生更高质量的结果。他们声称,与主流芯片相比,谷歌TPU (人工智能加速器芯片)的产品实现了更好的 PPA。
研究人员得出结论,现有的方法总是从零开始优化每个新芯片布置位置,我们的工作利用了先前布置芯片所积累的知识,随着时间的推移训练效果变得越来越好。
「此外,我们的方法可以直接优化目标指标,如线长、密度和阻塞,而不必像其他方法那样定义这些函数的近似值。我们的公式不仅使新的成本函数易于合并,还使得我们可以根据给定芯片块的需要(例如,时序关键或功耗受限))来衡量它们的相对重要性。」
如果能利用先前的设计经验,实现迁移学习,将大大缩短训练时间和成本。如果在芯片设计中使用预训练的政策能否产生更好的结果?
Google团队对比了从头开始训练和从预训练策略网络开始训练的收敛图,结果显示,经过预训练的策略网络在微调过程开始时就获得了较低的布置成本,经过预训练的策略网络可以收敛到更低的布置成本,并且比从头开始训练的策略网络要快30个小时以上。
下图显示的是使用预训练策略生成的布置位置质量与从头训练策略网络生成的布置位置质量比较。
使用Zero-Shot在不到一秒钟的时间内就生成了布置位置。如果我们根据特定设计的细节对预训练的策略网络进行2到12个小时的微调,结果比从零开始训练24小时的效果要好,说明预训练所学到的权重和专家的设计经验起了很关键的作用。
研究人员在三个不同的训练数据集上对策略网络进行了预训练(小数据集是中型数据集的一个子集,而中型数据集是大型数据集的一个子集)。然后在相同的测试块上微调预训练的策略网络,并对比不同训练时间下的成本。随着数据集的增大,生成的布置质量和在测试块上收敛的时间都会提高。
布置成本和数据集大小及微调时间的关系
不同数据集下的收敛时间
如果仅用Zero-Shot进行布置,位置会显得很拥挤(左图),而经过人类专家微调的策略网络,能获得接近最优的布置效果(右图)。
「我们的方法和人类专家都能产生可行的布局,而且符合芯片的时序和阻塞设计标准。我们在WNS、面积,功率和线长方面也优于或相当于人类专家的设计。但是,我们端到端的学习方法耗时仅6个小时,而手动布置需要一个缓慢的迭代优化过程,还需要专家干预,导致整个周期可能持续数周」。
Google的试验证明这种基于RL的方法是支持迁移学习的,RL智能体会在越来越多的设计经验中获得灵感,也许未来将超过人类的脑洞,设计出前所未有的高性能芯片。
21世纪最贵的是什么?人工。最便宜的是什么?人工智能。
芯片研发周期长、成本高,重度依赖设计。优秀的芯片设计师非常稀缺,基本都被几家老牌芯片大厂垄断,后起之秀很难在短期内挖到足够的资深设计师。
从零培养一个人类设计师很难,利用已有的数据从零训练一个AI设计师相比就简单多了。况且,AI不要工钱,不贪福利,不会罢工,永不疲惫。更重要的是,它随叫随到。