ARCO:引领DNN加速器设计的新一代自适应多智能体强化学习编译器
摘要
本文介绍了一种名为ARCO的自适应多智能体强化学习(MARL)硬件/软件协同优化编译器框架,旨在提高深度神经网络(DNN)加速器设计的性能。ARCO通过集成三个专门的actor-critic智能体,分别专注于硬件和软件优化,实现了一种协作的硬件/软件协同优化策略。该框架通过集中训练和分散执行(CTDE)策略,有效地缩小了搜索空间,并优先考虑高置信度的配置,从而在各种DNN模型上实现了高达37.95%的吞吐量提升,同时减少了高达42.2%的优化时间。
原理
ARCO的核心在于其多智能体强化学习(MARL)算法,该算法通过三个专门的智能体协同工作,分别优化硬件、软件和DNN配置。这些智能体通过集中训练和分散执行(CTDE)策略进行协作,其中训练阶段集中进行,而执行阶段则分散进行,以适应DNN工作负载的变化。ARCO通过软阈值选择高置信度的配置,减少了计算开销和探索时间。此外,ARCO还引入了信心采样(CS)方法,该方法通过概率分布引导选择可能的高性能网络配置,进一步提高了优化效率。
流程
ARCO的工作流程从代码模板和相应的设计空间开始,通过优化过程在配置空间中导航,以确定最优代码配置。MARL探索模块生成初始候选配置集,通过CS方法精炼这些配置,生成一个更集中的子集。这些配置随后被传递给MARL代码生成模块,生成一系列潜在的可执行代码,并在硬件上进行实际运行时评估。硬件运行时提供了配置适应性的度量,反馈给成本模型,并在后续迭代中增强探索。经过多次迭代,过程收敛到具有最优适应性的配置。
应用
ARCO框架在DNN加速器设计领域具有广泛的应用前景,特别是在需要高精度和实时响应的应用中,如自动驾驶、医学成像和自然语言处理。其高效的硬件/软件协同优化策略和快速优化能力,使其成为未来实时DNN应用的重要工具。ARCO的成功实施为智能系统的自适应和智能化优化设定了新的标准,预示着在复杂计算环境中优化硬件和软件层的未来发展方向。
