莱斯大学(Rice University)的研究人员最近提出了用机器学习算法进行数据密集型计算机处理的创新节能设计,可以将人工智能硬件的能效提高多达两个数量级。
机器学习是自动驾驶汽车和许多其他高科技应用背后的人工智能形式,机器学习的进步创造了一个新的计算时代--以数据为中心的时代,并迫使工程师重新思考计算体系架构的某些方面,而这些方面在过去75年中基本上没有受到过挑战。
"问题是,对于目前机器学习最先进的大规模深度神经网络来说,整个系统运行所需的电力有90%以上是在内存和处理器之间移动数据时消耗的。"莱斯大学电气与计算机工程助理教授Yingyan Lin说。作为莱斯大学高效智能计算(EIC)实验室的主要负责人,Lin及其合作者提出了两种互补的方法来优化以数据为中心的处理。这两项研究已在去年的国际计算机体系结构研讨会(ISCA)上发表。
以数据为中心的体系结构的驱动力与一个被称为冯·诺依曼瓶颈的问题有关,这是一个低效率的问题,源于自数学家约翰·冯·诺依曼(John von Neumann)在1945年发明计算体系结构以来一直占据主导地位的计算体系结构中内存和处理的分离。
通过将内存与程序和数据分离,冯·诺依曼体系结构允许一台计算机具有难以置信的多功能性;根据从内存中加载的存储程序的不同,计算机可以用来进行视频通话、准备电子表格或模拟火星的天气。
将内存与处理分离也意味着,即使是简单的操作,比如加2加2,也需要计算机的处理器多次访问内存。这种记忆瓶颈由于深层神经网络中的大量操作而变得更糟,这种系统需要通过"研究"大量以前的例子来学习做出类似人类的决定。
网络越庞大,系统能掌握的任务就越困难,展示的例子越多,它的性能就越好。深入的神经网络训练可能需要专门的处理器库,这些处理器可以24小时运行1周以上。在智能手机上执行基于所学网络的任务(这一过程称为推理)可以在不到1小时内耗尽电池电量。
"人们普遍认识到,对于机器学习时代以数据为中心的算法CONTROL ENGINEERING China版权所有,我们需要创新的以数据为中心的硬件架构www.cechina.cn,但机器学习的最佳硬件架构是什么?由于不同的应用程序需要的机器学习算法在算法结构和复杂度方面可能有很大的不同,同时具有不同的任务精度和资源消耗(如能源成本、延迟和吞吐量)权衡要求,因此没有一个万能的答案。许多研究人员正在研究这个问题,像英特尔、IBM和谷歌这样的大公司都有自己的设计。"Lin说。
在ISCA 2020会议上,Lin的小组提供了关于TIMELY的最新研究成果,这是一个她和她的学生为 "内存内处理"(PIM)开发的创新架构,是一种将处理引入内存阵列的非冯-诺依曼方法。一个PIM平台可以被看做是 "电阻式随机存取存储器"(ReRAM),一种类似于闪存的非易失性存储器。
虽然已经有了其他的ReRAM PIM加速器架构,但据Lin介绍,在10多个深度神经网络模型上进行的实验发现,TIMELY的能效是其他架构的18倍控制工程网版权所有,提供的计算密度是最具竞争力的最先进ReRAM PIM加速器的30多倍。TIMELY代表 "时域、内存执行、本地",它消除了因频繁访问主内存以处理中间输入和输出以及本地和主内存之间的接口而导致的低效率的主要因素。
在主存储器中,数据是以数字方式存储的,但当数据进入本地存储器进行处理时,必须将其转换为模拟数据。在以前的ReRAM PIM加速器中,结果值从模拟值转换为数字值并发送回主存储器。如果它们被从主存调用到本地ReRAM以进行后续操作,它们将再次转换为模拟,依此类推。
通过使用本地内存中的模拟格式缓冲区,及时避免了对主存的不必要访问和接口数据转换的开销。通过这种方式,TIMELY主要将所需的数据保存在本地内存阵列中,从而大大提高了效率。
该小组在ISCA 2020上的第二个提案是SmartExchange,该设计结合了算法和加速器硬件创新以节约能源。"访问主存储器(DRAM)所需的能量大约是执行计算所需能量的200倍,因此SmartExchange的关键思想是在算法中加强结构,使我们能够将更高成本的内存换成更低成本的计算。" Lin说。
例如,"假设我们的算法有1000个参数,"她补充道,在传统的方法中,"我们将所有1000个存储在DRAM中,并根据计算需要访问。通过SmartExchange,我们可以在1000以内找到一些结构。然后我们只需要存储10,因为如果我们知道这10和剩下的990之间的关系,我们就可以计算任何990控制工程网版权所有,而不是从DRAM调用它们。我们称这10个为'基础'子集CONTROL ENGINEERING China版权所有,我们的想法是将这些存储在本地,靠近处理器,以避免或大幅减少访问DRAM所需的成本。"
研究人员使用SmartExchange算法和定制硬件加速器,在7个基准深度神经网络模型和3个基准数据集上进行了实验。他们发现,与最先进的深度神经网络加速器相比,这种组合减少了多达19倍的延迟。