人工智能模型:功耗管理大难题 离应用已经很近

随着集成电路技术的不断发展,芯片规模越来越大、集成度越来越高。与此同时,在设计和使用芯片时,掌握并管理其功耗也变得愈发重要。

为在设计或使用过程中管理好芯片功耗,杜克大学电子与计算机工程系教授、计算进化智能实验室联合主任陈怡然团队开发出一种新的人工智能模型——阿波罗(APOLLO)。该模型在硬件上可进行每秒数十亿次计算,理论上能用于预测任何类型计算机处理器(CPU)的功耗,且仅需要极低的额外硬件开销。它能提高处理器效率并为开发新型微处理器提供帮助,相关能已在高能微处理器上得到验证。

日前,相关成果在第54届IEEE/ACM年度微体系结构国际研讨会(MICRO-54)上发布,并获本届唯一“最佳论文奖”。

功耗管理大难题

在现代计算机处理器中,计算频率可达每秒数十亿次。随着晶体管密度和时钟频率显著增加,功耗也急剧增加。

功耗越大,芯片产生热量越快。如果不及时散热,设备温度就会升高,这将导致设备不能正常工作甚至被损坏。同时芯片内部的功耗与电流需求突然波动,会导致内部电磁问题,从而影响处理器的速度。此外,高功耗产生的热量也对封装、散热系统等提出更高要求。因此,功耗管理已经成为贯穿芯片设计和使用全流程的问题。

“CPU运行中涉及非常多的信号,其功耗每时每刻都在发生变化。”论文第一作者、陈怡然团队成员谢知遥告诉《中国科学报》,“因此,研究人员需要对其功耗有非常充分的了解,才能设计出能更好的CPU,让其发挥最佳功能。”

在设计芯片时,设计工程师们往往依赖行业标准的功耗分析工具。比如,根据单个信号网络的切换及这些网络驱动的电容负载进行计算。“人们想了解芯片的功耗,通常的方法是进行模拟。这类方法比较准确,但缺点是计算成本很高。”谢知遥解释说,“模拟的方法非常多,相关的模拟软件技术上也很成熟,但它模拟起来很慢,不能满足人们对掌握芯片即时功耗的需求。”

在实际应用中,CPU需要运行各种不同的程序,每个程序对应的功耗各不相同;即使运行同一个程序,在不同时刻,芯片的功耗也会发生瞬时变化。CPU被设计并制造出来后,如果全新场景的实际功耗比预先设计的高很多,就可能出现问题,但要详细掌握芯片在不同工况下的即时功耗并非易事。

“过去20多年里,功耗模型已被反复研究,但准确、快速、低成本、自动化地进行功耗分析仍然难以实现。”陈怡然告诉《中国科学报》,“由于很多功耗模型是设计师们针对某一款CPU人工调试而成,造成巨大的人力成本。同时,随着CPU设计日趋复杂,想要人工设计准确的功耗模型变得越来越困难。”

因“简”而快

“这种方法的核心是个非常简洁的功耗模型。”谢知遥说,“和以前通过模拟计算的方式不同,我们这个模型并非进行准确的模拟,而是进行快速的估算。”

处理器工作时,芯片内部涉及数百万个关键信号,该模型通过人工智能技术,自动选取极少量(约100个)与功耗最相关的CPU信号输入,然后建立一个快速的线模型,用于对每个周期的功耗进行预测或监测。

“这100个典型信号可以形成一个‘轻量级’、非常简洁的功耗模型。”谢知遥强调说,“而且,信号选取(不是随机抽取)由人工智能自动完成,它摆脱了对工程师的依赖,从而让模型的计算速度大大提升。”

CPU在运行的时候,人们会对功耗进行控制,如果功耗过高,就必须想办法将它降下来。事实上,工程师们也积累了不少办法,可以降低功耗,但所有这些需要一个前提,即人们能够快速且准确地掌握芯片功耗的即时变化。

遗憾的是,在计算功耗时,工程师们常面临一个无法跨越的时间“窗口”。比如,之前功耗模型的计算速度可能是每毫秒进行一次——人们只能估算1毫秒的功耗均值。

除信号选取和模型训练是自动完成之外,阿波罗的训练数据也通过算法自动生成,这让其因“简”而快成为可能。

论文表明,阿波罗可以在几分钟内获得几千万时钟周期的功耗,而传统基于emulator的工业界方法需要长达两周时间。在准确率方面,阿波罗也可以达到90%~95%。另外,阿波罗的功耗分析可以精确到每个时钟周期,之前任何方法在这种速度下都无法获得如此高分辨率的功耗分析。

“每毫秒计算一次的时间分辨率远远不够,因为在1毫秒之内,有可能其功耗前半程很低,后半程很高,虽然我们计算出了功耗数值,但它并不能反映处理器的真实工作状态。”谢知遥补充说,“我们的模型可以控制在0.3纳秒(0.000001 毫秒),即每0.3纳秒就可计算一次实时功耗值。”

离应用已经很

因为以前无法了解处理器的即时功耗,工程师们在进行芯片设计时,为避免应用中功耗波动带来的影响,往往会为功耗设计一定的余量。

现在,阿波罗可以在极短时间内,对芯片内部的即时功耗变化进行反馈。即使芯片内部由于复杂的交互出现了电压的快速波动,工程师们也能及时采取措施,对CPU功耗和温度进行管理,从而发挥CPU的最佳能,并保障其运行稳定。

“因为阿波罗非常简洁,它的成本和面积都很小(约占用CPU芯片0.2%的面积),所以可以将它做成硬件,整合进芯片内部。”谢知遥说,“这样,在使用过程中,一旦监测到处理器功耗的异常变化,我们就可以让它采取一些自我调节措施,把功耗降下来。”

如果在设计芯片时,加入这样的功耗管理模块,不但能可以得到提升,其运行的稳定也能得到保证。

在该项研究中,ARM公司提供了很多帮助,目前这一模型已经在ARM的多款高能商业处理器上进行过验证,显示出较领先的芯片能。

“这不是一项纯理论研究,而是具备非常强的工程研究特点,或者说是一项能应用在产品里的研究。”陈怡然说,“在商业化应用之前,该模型可能还需要在更多的台上进行测试和综合评估。至于它能不能最终落地、什么时间能成为产品,会受到多种因素影响,还需要时间来证明。”

记者 张双虎