社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

谢源等最新「计算机体系结构和系统的机器学习」综述论文,37页pdf

专知 • 5 年前 • 397 次点击  


A Survey of Machine Learning for Computer Architecture and Systems

Nan WuYuan Xie


很长一段时间以来,计算机架构和系统被优化,以使机器学习(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应用于系统设计的挑战和未来前景,以传达设计考虑的见解;第六部分是本文的总结。



专知便捷查看

便捷下载,请关注专知公众号(点击上方蓝色专知关注)

  • 后台回复“MLCAS” 可以获取《谢源等最新「计算机体系结构和系统的机器学习」综述论文,37页pdf》专知下载链接索引

专知,专业可信的人工智能知识分发 ,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询
点击“阅读原文”,了解使用专知,查看获取5000+AI主题知识资源
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107826