谷歌AI推出ArchGym:一种开源的机器学习健身房,用于将各种搜索算法与建筑模拟器连接起来

Google AI推出ArchGym,一种开源的机器学习健身房,连接搜索算法与建筑模拟器

计算机体系结构的研究历史悠久,已经产生了许多模拟器和工具,用于评估和影响计算机系统设计。例如,上世纪90年代末,开发了SimpleScalar模拟器,让科学家们测试新的微体系结构概念。计算机体系结构的研究在模拟器和工具(如gem5、DRAMSys等)的广泛应用下取得了长足的进步。自那时以来,由于学术界和商业界共享资源和基础设施的广泛可用性,这一学科已经取得了显著的发展。

工业界和学术界越来越关注计算机体系结构研究中的机器学习(ML)优化,以满足严格的领域特定需求。这些需求包括计算机体系结构的机器学习、TinyML加速的机器学习、深度神经网络加速器数据通路优化、内存控制器、功耗、安全性和隐私。尽管以前的工作已经显示了在设计优化中使用机器学习的优势,但仍然存在一些障碍,例如缺乏稳健、可复现的基准,这阻碍了跨不同方法的公平和客观比较。对这些障碍的持续发展需要对其有所了解并共同解决。

使用机器学习(ML)简化领域特定体系结构设计空间探索的过程已经变得普遍。然而,利用机器学习探索设计空间充满了困难:

  1. 在日益增长的机器学习技术库中找到最佳算法很困难。
  2. 没有明确的评估方法来比较方法的相对性能和样本效率。
  3. 缺乏一个统一的框架,用于公平、可复现和客观地比较各种方法,从而阻碍了使用机器学习辅助的体系结构设计空间探索和产生可重复的成果。

为了解决这些问题,谷歌的研究人员提出了ArchGym,这是一个灵活且开源的gym,将多种搜索技术与构建模拟器集成在一起。

利用机器学习研究体系结构:主要挑战

在利用机器学习研究体系结构的过程中存在许多障碍。

目前没有一种系统方法能够确定计算机体系结构问题(例如识别DRAM控制器的最佳解决方案)中的最佳机器学习(ML)算法或超参数(例如学习率、预热步数等)。设计空间探索(DSE)现在可以使用更多种类的机器学习和启发式方法,从随机游走到强化学习(RL)。尽管这些技术在所选择的基准线上明显提高了性能,但尚不清楚这是由于所使用的优化算法还是超参数集。

计算机体系结构模拟器对于体系结构进展至关重要,但在探索阶段平衡精确度、效率和经济性存在紧迫问题。根据所使用的模型的具体情况(例如基于周期准确性还是基于机器学习的代理模型),模拟器可以提供截然不同的性能估计。基于分析或基于机器学习的代理模型具有灵活性,因为它们可以忽略低级特征,但通常具有较高的预测误差。此外,商业许可可能限制模拟器的使用频率以收集数据。总之,这些限制的性能与样本效率权衡影响着设计空间探索所选择的优化算法。

最后,机器学习算法的环境正在快速变化,并且某些机器学习算法依赖于数据来正常运行。此外,通过将DSE输出可视化为相关数据集等相关工件,获得对设计空间的洞察是必不可少的。

ArchGym的设计

ArchGym通过以统一的方式一致地比较和对比各种基于机器学习的搜索算法来解决这些问题。它有两个主要部分:

1)ArchGym的环境设置

2)ArchGym的使用者

为了计算在给定一组体系结构参数的情况下执行工作负载的计算成本,环境封装了体系结构成本模型和所需的工作负载。代理包含超参数和指导搜索中使用的机器学习算法的策略。超参数对于正在优化的算法和模型是至关重要的,并且可以对结果产生重大影响。相比之下,策略指定了代理在时间上如何选择参数以优化目标。

ArchGym的标准化接口连接了这两个部分,ArchGym数据集是存储所有探索信息的地方。界面的三个主要信号是硬件的状态、参数和指标。这些信号是在代理和其周围环境之间建立可靠通信线路所需的最低要求。这些信号使代理能够监视硬件的健康状况,并建议调整其设置以最大程度地提高(客户指定的)奖励。该奖励与硬件效率的多个指标成正比。

研究人员使用ArchGym来实证地表明,在至少一种超参数组合下,其硬件性能与其他机器学习方法相同,并且在广泛的优化目标和DSE情况下都成立。如果选择机器学习算法或其基准的超参数是任意选择的,就可能得出关于哪种机器学习算法家族优越性的错误结论。研究人员证明,包括随机行走(RW)在内的各种搜索算法可以通过适当的超参数调整找到最优奖励。然而,请记住,识别出最优超参数组合可能需要很多工作或运气。

ArchGym为机器学习架构DSE提供了一个通用的、可扩展的接口,并且作为开源软件可供使用。ArchGym还为计算机体系结构研究问题提供了更强大的基准,并允许公平且可重复的评估各种机器学习技术。研究人员认为,如果计算机体系结构领域的研究人员有一个聚集的地方,他们可以利用机器学习来加速工作并激发新的创意设计思路,这将是一个巨大的进步。