设计一款高端芯片有多难?想象一下要将上百亿个晶体管集成到指甲盖大小的区域上,还要进行各类功能区域规划,这是一项多么微观且浩瀚的工程。
如今,最基本的芯片晶体管部件都是微米、纳米级尺度,如何铺设和利用这几百亿个晶体管,如何通过模块设计组合迸发出一款芯片的极致性能,如何满足日益增长的终端需求,这是如今芯片设计工程师们面临的严苛挑战,而且如此复杂的设计,不能有纰漏缺陷,一旦投入量产无法补救,必须复盘再来,而如果一款芯片设计方案足够好,甚至能弥补一定程度的制程差距。
现在,随着AI技术深入到芯片设计领域,一场效率革命可能要再次席卷而来。
来自由Jeff Dean领衔的谷歌大脑团队以及斯坦福大学计算机科学系的科学家们,在一项联合研究中证明,一种基于深度强化学习的芯片布局规划方法,能够生成可行的芯片设计方案。在不到6小时的时间内,由该方法自动生成的芯片平面图在所有关键指标上(包括功耗、性能和芯片面积等参数)都优于或与人类专家生成的设计图效果相当,而人类工程师往往需要数月的紧张努力才能达到如此效果。
据论文描述,如今这种方法已经被用于下一代Google张量处理单元(TPU)加速器的产品中,有望为今后的每一代计算机芯片迭代节省数千小时的人力,相关论文于6月10日发表在顶级科学期刊Nature上,谷歌AI掌门人Jeff Dean是核心作者之一。
事实上,科学家们一直在探索让芯片设计过程更高效的路径。重大的进步出现在1980年代,电子设计自动化(EDA)技术诞生,开发人员能将整个设计过程自动化,利用计算机辅助设计(CAD)软件,完成超大规模集成电路(VLSI)的功能设计、综合、验证、物理设计等复杂流程,EDA的不断完善架起了芯片设计与制造之间的桥梁,在半导体产业链中有着举足轻重的作用。
尽管已经经过了50年的相关研究,但芯片布局规划仍无法实现自动化,依然需要物理设计工程师数月精心布置才能完成可制造的芯片布局。具体而言,一个芯片往往会被分成几十个模块,每个模块都有单独的功能属性,例如内存子系统、计算单元或控制逻辑系统,这些模块可以用网表(也称连线表)、电路组件的超图和标准单元(逻辑门,例如NAND、NOR和XOR)来描述,所有这些模块再通过导线连接起来。
为了解决这类复杂的芯片布局规划问题,研究人员开发了一种强化学习方法,该方法能够跨芯片进行推广,这意味着它可以从经验中不断学习,在放置新芯片模块时变得更好更快,从而使芯片设计师能够得到AI的协助,且这个AI助理的“经验”比任何人都丰富。
在后续的实验中,研究人员比较了使用预先训练策略生成的放置质量,以及通过从头开始训练策略生成的放置质量,训练数据集由TPU块和开源Ariane RISC-V CPU块组成,在每一个实验中,都对除目标块外的所有块预先训练策略。结果发现,从零开始训练的策略需要更长的时间才能收敛,即使在24小时之后,结果(由奖励函数评估)也比微调策略在12小时内达到的效果差。
这表明,在预训练期间接触许多不同的设计可以更快地为新的看不见的块生成更高质量的放置方案。