很长一段时间以来,计算机架构和系统被优化,以使机器学习(ML)算法或模型的有效执行。现在,是时候重新考虑ML和系统之间的关系,并让ML改变计算机架构和系统的设计方式。这包含着双重意义:提高设计师的工作效率,完成良性循环。在本文中,我们对将ML应用于系统设计的工作进行了全面的回顾,这些工作可以分为两大类: 基于ML的建模,它涉及到性能指标的预测或其他一些感兴趣的标准,以及直接利用ML作为设计工具的基于ML的设计方法。对于基于ML的建模,我们讨论现有的研究基于它们的系统目标级别,从电路级别到架构/系统级别。对于基于ML的设计方法,我们遵循自底向上的路径来回顾当前的工作,包括(微)体系结构设计(内存、分支预测、NoC)、体系结构/系统和工作负载(资源分配和管理、数据中心管理和安全)之间的协调、编译器和设计自动化。我们进一步提供了未来的机遇和潜在的方向,并展望了将ML应用于计算机体系结构和系统将在社区中蓬勃发展。

https://www.zhuanzhi.ai/paper/73124e0addcfed8cc8f738faf5f8c398

机器学习(ML)已经在许多领域创造了奇迹,包括计算机视觉[81,207,213],语音识别[76,83],自然语言处理[38,146,210],药物发现[148,198],机器人[77,86,140],玩电子游戏[15,167,226],以及许多其他领域[103,128,195,206]。在某些情况下,ML能够达到或超过人类的性能。例如,在大规模ImageNet数据集上,ResNet[81]比human获得了更好的top-5错误率;AlphaGo Zero可以打败人类专业围棋选手[206];从单人游戏(如Atari[167])到多人游戏(如《星际争霸2》[226]和《Dota 2[15]》),训练人工代理玩电子游戏也取得了重大进展。

目前的ML模型大多是深度神经网络(DNNs)及其变体(如多层感知器、卷积神经网络、递归神经网络),对内存和计算资源的要求都很高。随着人们寻求更好的人工智能,有一种趋势是更大、更有表现力和更复杂的模型。随着摩尔定律带来的收益递减,这一趋势促使计算机体系结构/系统的进步,以更快、更节能的方式实现ML模型。针对ML工作负载,在不同层次的系统和体系结构设计上进行了改进。在算法层面,对ML模型进行剪枝、量化和压缩[79,92],以消除计算复杂度,提高硬件效率;在硬件层面,在内存中处理(PIM)的复兴和near-data处理(NDP)(73, 179),也出现专门的架构和加速器,从那些专门为卷积神经网络(CNN)优化(例如ShiDianNao [57], Eyeriss[31]和基本[178])那些为通用款设计加速度(例如DaDianNao [30], TPU[108],和DNPU [204]);在器件层面,将新兴的非易失性存储器技术应用于体系结构设计中,如电阻式随机存取存储器(ReRAM)[234]、相变存储器(PCM)[25]、自旋传递转矩磁性随机存取存储器(STT-MRAM)[85],将计算和内存结合在一起,提供了另一种有前景的选择(如PRIME[35]、ISAAC[200]和Resparc[7])。

在日益复杂的工作负载及其不同的性能、精度和功率目标的驱动下,设计体系结构/系统是一件不简单而费力的事情。通常,这些设计是由人类专家基于直觉和启发式做出的,这需要ML和体系结构/系统方面的专业知识,在这种情况下,特别是在更复杂的系统中,无法保证良好的可伸缩性和最佳结果。因此,对于体系结构和系统设计来说,朝着更加自动化和强大的方法发展似乎是很自然的,ML和系统设计之间的关系也正在被重新考虑。通常,架构和系统优化是为了加速ML模型的执行和提高性能,不可否认的是,ML的革命在一定程度上依赖于处理能力的提高,如更好地利用并行性、数据重用和稀疏性等。近年来,有迹象表明将ML应用于增强系统设计,具有很大的发展潜力。将ML应用于系统设计有两个意义: 1减轻人类专家手工设计系统的负担,提高设计者的工作效率; 2闭合正反馈回路,即:,架构/系统为ML,同时ML为架构/系统,形成一个良性循环,鼓励双方的改进。

一般来说,将ML应用于系统设计的现有工作分为两类。1 ML技术用于系统建模,它涉及性能指标或一些感兴趣的标准(例如功耗、延迟、吞吐量等)。在系统设计过程中,需要对系统行为进行快速、准确的预测。传统上,系统建模是通过周期精确或功能虚拟平台和指令集模拟器(ISSs)的形式来实现的(例如gem5 [18], Simics[150])。尽管这些方法可以提供准确的评估,但它们也带来了与性能建模相关的昂贵的计算成本,限制了对大规模和复杂系统的可伸缩性; 同时,长时间的模拟限制了设计师的才能,因为只能探索整个设计空间的一小部分。采用ML技术作为设计方法,直接加强架构/系统设计。ML擅长提取特性,在没有显式编程的情况下做出决策,并根据经验自动改进自身。因此,将ML技术作为设计工具,可以更主动、更智能地探索设计空间,通过更好地理解资源的复杂、非线性交互等来管理资源,从而提供真正的最优解决方案。

在本文中,我们概述了将ML应用于计算机体系结构/系统,并总结了ML技术可以解决哪些系统问题以及ML技术如何解决这些问题,如图4所示。本文还讨论了ML在系统设计中的应用所面临的挑战和前景。本文组织如下。第2节简要介绍了常用的ML技术;第3节回顾了使用ML技术进行系统建模的研究,从电路级到架构/系统级;第4节介绍了利用ML技术作为设计工具直接增强体系结构/系统设计的研究,包括(微)体系结构设计(内存、分支预测、NoC)、体系结构/系统和工作负载(资源分配和管理、数据中心管理和安全)之间的协调、编译器和设计自动化;第5节讨论了将ML应用于系统设计的挑战和未来前景,以传达设计考虑的见解;第六部分是本文的总结。

成为VIP会员查看完整内容
54

相关内容

最新「注意力机制」大综述论文,66页pdf569篇文献
专知会员服务
205+阅读 · 2021年4月2日
专知会员服务
65+阅读 · 2021年1月28日
机器学习模型安全与隐私研究综述
专知会员服务
111+阅读 · 2020年11月12日
最新《深度持续学习》综述论文,32页pdf
专知会员服务
180+阅读 · 2020年9月7日
专知会员服务
99+阅读 · 2020年7月20日
专知会员服务
73+阅读 · 2020年5月21日
最新《智能交通系统的深度强化学习》综述论文,22页pdf
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
118+阅读 · 2019年12月26日
最新《动态网络嵌入》综述论文,25页pdf
专知
34+阅读 · 2020年6月17日
面向人工智能的计算机体系结构
计算机研究与发展
14+阅读 · 2019年6月6日
面向云端融合的分布式计算技术研究进展与趋势
中国计算机学会
19+阅读 · 2018年11月27日
【优青论文】深度神经网络压缩与加速综述
计算机研究与发展
14+阅读 · 2018年9月20日
Learning in the Frequency Domain
Arxiv
11+阅读 · 2020年3月12日
Arxiv
35+阅读 · 2019年11月7日
AutoML: A Survey of the State-of-the-Art
Arxiv
69+阅读 · 2019年8月14日
Arxiv
136+阅读 · 2018年10月8日
VIP会员
相关VIP内容
最新「注意力机制」大综述论文,66页pdf569篇文献
专知会员服务
205+阅读 · 2021年4月2日
专知会员服务
65+阅读 · 2021年1月28日
机器学习模型安全与隐私研究综述
专知会员服务
111+阅读 · 2020年11月12日
最新《深度持续学习》综述论文,32页pdf
专知会员服务
180+阅读 · 2020年9月7日
专知会员服务
99+阅读 · 2020年7月20日
专知会员服务
73+阅读 · 2020年5月21日
最新《智能交通系统的深度强化学习》综述论文,22页pdf
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
118+阅读 · 2019年12月26日
相关资讯
最新《动态网络嵌入》综述论文,25页pdf
专知
34+阅读 · 2020年6月17日
面向人工智能的计算机体系结构
计算机研究与发展
14+阅读 · 2019年6月6日
面向云端融合的分布式计算技术研究进展与趋势
中国计算机学会
19+阅读 · 2018年11月27日
【优青论文】深度神经网络压缩与加速综述
计算机研究与发展
14+阅读 · 2018年9月20日
微信扫码咨询专知VIP会员