[论文解读] A Semi-Decoupled Approach to Fast and Optimal Hardware-Software Co-Design of Neural Accelerators
本文提出了一种半解耦的软硬件协同设计框架,通过利用延迟和能耗的单调性,将神经加速器优化的搜索空间缩小了数量级,同时保持了最优性。该方法首先在单一代理加速器上识别出一组极小的最优架构,然后仅在这一紧凑集合上协同优化加速器,从而以极低的搜索成本实现了近乎最优的性能。
In view of the performance limitations of fully-decoupled designs for neural architectures and accelerators, hardware-software co-design has been emerging to fully reap the benefits of flexible design spaces and optimize neural network performance. Nonetheless, such co-design also enlarges the total search space to practically infinity and presents substantial challenges. While the prior studies have been focusing on improving the search efficiency (e.g., via reinforcement learning), they commonly rely on co-searches over the entire architecture-accelerator design space. In this paper, we propose a \emph{semi}-decoupled approach to reduce the size of the total design space by orders of magnitude, yet without losing optimality. We first perform neural architecture search to obtain a small set of optimal architectures for one accelerator candidate. Importantly, this is also the set of (close-to-)optimal architectures for other accelerator designs based on the property that neural architectures' ranking orders in terms of inference latency and energy consumption on different accelerator designs are highly similar. Then, instead of considering all the possible architectures, we optimize the accelerator design only in combination with this small set of architectures, thus significantly reducing the total search cost. We validate our approach by conducting experiments on various architecture spaces for accelerator designs with different dataflows. Our results highlight that we can obtain the optimal design by only navigating over the reduced search space. The source code of this work is at \url{https://github.com/Ren-Research/CoDesign}.
研究动机与目标
- 解决神经加速器软硬件协同设计中指数级增长的搜索空间问题,该问题限制了实际部署。
- 克服完全耦合协同设计方法效率低下的问题,其复杂度为 O(MN),其中 M 和 N 分别为架构空间和加速器空间的大小。
- 在大幅降低搜索成本的同时保持设计最优性,避免完全解耦的神经架构搜索(NAS)和加速器设计带来的次优性。
- 证明在单一代理加速器上识别出的最优架构在不同加速器设计中几乎完全一致,这是由于性能单调性所致。
- 通过将搜索限制在单一代理加速器导出的小型高质量架构集合内,实现快速、可扩展的协同设计。
提出的方法
- 在单一代理加速器上应用硬件感知神经架构搜索(NAS),以识别出 K 个最优架构的紧凑集合 𝒫。
- 利用性能单调性这一特性——即不同加速器之间架构的延迟和能耗排名高度一致——在多个搜索空间(NAS-Bench-301、AlphaNet 和逐层混合数据流)中进行验证。
- 在第二阶段将集合 𝒫 作为固定的架构候选池,仅在该精简集合上协同设计加速器,而非在整个架构空间中进行。
- 通过在数千种加速器配置和模型变体上计算斯皮尔曼等级相关系数(SRCC)来验证单调性。
- 在两个基准搜索空间(NAS-Bench-301 和 AlphaNet)上进行实验,涵盖固定和混合数据流配置。
- 将最终的协同设计结果与最先进完全耦合的协同设计方法进行比较,以确认其最优性和效率优势。
实验结果
研究问题
- RQ1神经架构在不同加速器设计下的推理延迟和能耗排名在多大程度上保持一致?
- RQ2能否仅使用单一代理加速器上最优的一组架构,在不重新搜索整个架构空间的前提下,实现在所有加速器上的近似最优协同设计结果?
- RQ3与完全耦合的协同设计和完全解耦的 NAS 相比,所提出的半解耦协同设计方法在搜索成本和最优性方面表现如何?
- RQ4在多样化的神经架构和加速器配置空间(包括混合数据流场景)中,性能单调性的经验强度如何?
- RQ5所提出的方法是否能将搜索空间缩小数量级,同时实现最优或近似最优性能?
主要发现
- 在不同加速器之间,延迟和能耗的性能单调性表现强劲:在 NAS-Bench-301 和 AlphaNet 搜索空间中,延迟和能耗的斯皮尔曼等级相关系数(SRCC)均稳定高于 0.9。
- 在单一代理加速器上识别出的最优架构集合,与在所有其他加速器上找到的最优集合几乎完全一致,验证了半解耦方法的核心假设。
- 所提出的方法在将搜索空间缩小数量级的前提下,实现了最优或近似最优性能,相比最先进完全耦合的协同设计方法具有显著优势。
- 在 NAS-Bench-301 和 AlphaNet 上的实验表明,从代理加速器最优架构集合中选出的模型,其精度与最先进完全耦合协同设计方法相当。
- 该方法显著降低了协同设计成本:最先进方法每种部署场景需数十个 GPU 小时,而本方法实现了低开销的快速、可扩展协同设计。
- 即使在复杂的逐层混合数据流配置下,该方法依然有效,其中每一层可映射到不同的硬件和数据流组合,高 SRCC 值在 5,000 个采样混合配置中得到验证。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。