Press "Enter" to skip to content

“一个用于机器学习辅助计算机体系结构设计的开源训练场”

由Amir Yazdanbakhsh(研究科学家)和Vijay Janapa Reddi(访问研究员)发布,Google Research

计算机体系结构研究在开发模拟器和工具以评估和塑造计算机系统设计方面有着悠久的历史。例如,SimpleScalar模拟器在上世纪90年代末引入,使研究人员能够探索各种微架构思想。计算机体系结构模拟器和工具,如gem5、DRAMSys等,起到了推动计算机体系结构研究的重要作用。从那时起,这些共享资源和基础设施使工业界和学术界受益,并使研究人员能够系统地建立在彼此的工作基础上,从而在该领域取得重大进展。

尽管如此,计算机体系结构研究正在不断发展,工业界和学术界正转向机器学习(ML)优化以满足严格的领域特定要求,如计算机体系结构的机器学习,TinyML加速的机器学习,DNN加速器数据通路优化,内存控制器,功耗,安全性和隐私。尽管先前的工作已经证明了在设计优化中使用机器学习的好处,但缺乏强有力的可重复性基准会妨碍对不同方法进行公正和客观的比较,并对它们的部署提出了几个挑战。为了确保稳定进展,理解并共同解决这些挑战是必要的。

为了缓解这些挑战,在“ArchGym: An Open-Source Gymnasium for Machine Learning Assisted Architecture Design”(已被ISCA 2023接受)中,我们引入了ArchGym,其中包括各种计算机体系结构模拟器和机器学习算法。通过ArchGym的支持,我们的结果表明,借助足够数量的样本,任何多样化的机器学习算法都能够找到每个目标问题的最佳架构设计参数集;没有一个解决方案必然比另一个更好。这些结果进一步表明,选择给定机器学习算法的最佳超参数对于找到最佳架构设计至关重要,但选择它们并不简单。我们发布了跨多个计算机体系结构模拟和机器学习算法的代码和数据集。

机器学习辅助体系结构研究中的挑战

机器学习辅助体系结构研究面临以下几个挑战:

  1. 对于特定的机器学习辅助计算机体系结构问题(例如,为DRAM控制器找到最优解),没有系统的方法来确定最佳的机器学习算法或超参数(例如,学习率、热身步数等)。从随机游走到强化学习(RL),有更广泛的机器学习和启发式方法可用于设计空间探索(DSE)。尽管这些方法在选择基线的基础上显示出明显的性能改进,但不清楚这些改进是由于选择了哪种优化算法或超参数。因此,为了确保可重复性并促进广泛采用机器学习辅助的体系结构DSE,有必要制定系统的基准测试方法。
  2. 虽然计算机体系结构模拟器一直是体系结构创新的支柱,但在体系结构探索中需要解决准确性、速度和成本之间的权衡。性能估算的准确性和速度在不同的模拟器之间差异很大,这取决于底层建模细节(例如,循环精确 vs ML-based 代理模型)。虽然分析或基于机器学习的代理模型因丢弃了低级细节而灵活,但它们通常会产生较高的预测误差。此外,由于商业许可限制,从模拟器收集的运行次数可能会受到严格限制。总体而言,这些约束对性能与样本效率之间的权衡产生了明显影响,影响了选择用于体系结构探索的优化算法。如何系统地比较在这些约束下各种机器学习算法的有效性是一个具有挑战性的问题。
  3. 最后,机器学习算法的领域正在迅速演变,一些机器学习算法需要数据才能发挥作用。此外,将DSE的结果转化为有意义的数据集等有关设计空间的见解是至关重要的。在这个快速发展的生态系统中,确保如何分摊用于体系结构探索的搜索算法的开销是非常重要的。如何在对底层搜索算法不加偏见的情况下利用探索数据并不明显,也没有系统地研究。

ArchGym设计

ArchGym通过提供一个统一的框架,公平地评估不同的基于机器学习的搜索算法,来解决这些挑战。它包括两个主要组成部分:1)ArchGym环境和2)ArchGym代理。环境是体系结构成本模型的封装,其中包括延迟、吞吐量、面积、能量等,以确定在给定一组架构参数的情况下运行工作负载的计算成本,配对目标工作负载。代理是用于搜索的机器学习算法的封装,包括超参数和引导策略。超参数是要优化模型的算法固有的,可以显著影响性能。另一方面,策略决定代理如何迭代地选择参数以优化目标目标。

值得注意的是,ArchGym还包括一个标准化接口,将这两个组件连接起来,并将探索数据保存为ArchGym数据集。在核心接口中,有三个主要信号:硬件状态、硬件参数和指标。这些信号是建立环境和代理之间有意义通信渠道的最低要求。利用这些信号,代理观察硬件状态,并建议一组硬件参数以迭代优化(用户定义的)奖励。奖励是硬件性能指标的函数,例如性能、能耗等。

“一个用于机器学习辅助计算机体系结构设计的开源训练场” 四海 第1张
ArchGym由两个主要组件组成:ArchGym环境和ArchGym代理。ArchGym环境封装了成本模型,代理是策略和超参数的抽象。通过连接这两个组件的标准化接口,ArchGym提供了一个统一的框架,可以公平地评估不同的基于机器学习的搜索算法,同时将探索数据保存为ArchGym数据集。

机器学习算法可能同样有利于满足用户定义的目标规范

使用ArchGym,我们通过实证研究表明,在不同的优化目标和设计空间探索问题中,至少存在一组超参数,其结果与其他机器学习算法的硬件性能相同。对于机器学习算法或其基准的选择不当(随机选择)可能导致错误的结论,即某个机器学习算法家族优于另一个。我们表明,通过充分的超参数调整,不同的搜索算法,甚至包括随机行走(RW),都能够找到最佳奖励。然而,需要注意的是,找到合适的超参数可能需要耗费大量的搜索或者运气才能使其具有竞争力。

“一个用于机器学习辅助计算机体系结构设计的开源训练场” 四海 第2张
对于足够数量的样本,至少存在一组超参数,使得在一系列搜索算法中,性能相同。这里虚线表示最大归一化奖励。Cloud-1、cloud-2、stream和random表示DRAMSys(DRAM子系统设计空间探索框架)的四个不同内存追踪。

数据集构建和高保真代理模型训练

使用ArchGym创建统一接口还可以创建数据集,用于设计基于数据驱动的机器学习代理架构成本模型,以提高架构仿真的速度。为了评估使用数据集构建ML模型以近似架构成本的好处,我们利用ArchGym的能力,记录每次DRAMSys运行的数据,创建了四个不同数据点数量的数据集变体。对于每个变体,我们创建了两个类别:(a)多样数据集,代表从不同代理(ACO、GA、RW和BO)收集的数据,以及(b)仅ACO,仅显示从ACO代理收集的数据,这两者都与ArchGym一起发布。我们使用随机森林回归在每个数据集上训练一个代理模型,目标是预测DRAM模拟器设计的延迟。我们的结果显示:

  1. 随着数据集大小的增加,平均归一化的均方根误差(RMSE)略有减小。
  2. 然而,当我们在数据集中引入多样性(例如从不同的代理收集数据),我们观察到不同数据集大小的RMSE降低了9倍至42倍。
“一个用于机器学习辅助计算机体系结构设计的开源训练场” 四海 第3张
使用ArchGym接口在不同代理之间收集多样化的数据集。
“一个用于机器学习辅助计算机体系结构设计的开源训练场” 四海 第4张
多样化的数据集和数据集大小对归一化RMSE的影响。

建立一个面向机器学习辅助架构研究的社区驱动生态系统的需求

虽然ArchGym是创建一个开源生态系统的初步努力,该生态系统(1)以统一且易于扩展的方式连接各种搜索算法和计算机架构模拟器,(2)促进机器学习辅助的计算机架构研究,(3)形成开发可重现基准的支架,但还有许多需要社区广泛支持的开放性挑战。以下我们概述了机器学习辅助架构设计中的一些开放性挑战。解决这些挑战需要协调的努力和社区驱动的生态系统。

“一个用于机器学习辅助计算机体系结构设计的开源训练场” 四海 第5张
机器学习辅助架构设计中的关键挑战。

我们将这个生态系统称为Architecture 2.0。我们概述了关键挑战和构建一个包容性的、跨学科研究者的生态系统来解决应用机器学习于计算机架构研究中长期存在的问题的愿景。如果您有兴趣帮助塑造这个生态系统,请填写兴趣调查问卷。

结论

ArchGym是一个用于ML架构DSE的开源体育馆,它提供了一个标准化的接口,可以方便地扩展以适应不同的用例。此外,ArchGym还可以在不同的ML算法之间进行公平和可重复的比较,并帮助建立计算机架构研究问题的更强基线。

我们邀请计算机体系结构社区和机器学习社区积极参与ArchGym的开发。我们相信,为计算机体系结构研究创建一个类似体育馆的环境将是该领域的一大步,并为研究人员提供使用机器学习加速研究并导致新的创新设计的平台。

致谢

本博文基于谷歌和哈佛大学的几位合著者的共同工作。我们要感谢并强调与哈佛大学的Srivatsan Krishnan合作,在这个项目中贡献了几个想法;与哈佛大学的Shvetank Prakash、Jason Jabbour、Ikechukwu Uchendu、Susobhan Ghosh、Behzad Boroujerdian、Daniel Richins、Devashree Tripathy和Thierry Thambe合作。此外,我们还要感谢James Laudon、Douglas Eck、Cliff Young和Aleksandra Faust对这项工作的支持、反馈和激励。我们还要感谢John Guilyard为本文中使用的动画图像。Amir Yazdanbakhsh现在是Google DeepMind的研究科学家,Vijay Janapa Reddi是哈佛大学的副教授。

Leave a Reply

Your email address will not be published. Required fields are marked *