[论文解读] FlexSA: Flexible Systolic Array Architecture for Efficient Pruned DNN Model Training
FlexSA 提出了一种可重构的脉动阵列架构,通过支持多种操作模式以适应不同张量尺寸,动态调整其结构,从而高效训练剪枝后的 DNN 模型。通过实现核间数据重用并利用编译启发式方法优化分块,与传统大型脉动阵列相比,FlexSA 将计算利用率提高了 37%,能耗降低了 28%。
Modern deep learning models have high memory and computation cost. To make them fast and memory-cost efficient, structured model pruning is commonly used. We find that pruning a model using a common training accelerator with large systolic arrays is extremely performance-inefficient. To make a systolic array efficient for pruning and training, we propose FlexSA, a flexible systolic array architecture. FlexSA dynamically reconfigures the systolic array structure and offers multiple sub-systolic operating modes, which are designed for energy- and memory bandwidth-efficient processing of tensors with different sizes and shapes. We also present a compilation heuristic for tiling matrix-multiplication-and-accumulation operations in a training workload to best utilize the resources of FlexSA. Based on our evaluation, FlexSA with the proposed compilation heuristic improves compute resource utilization of pruning and training modern CNN models by 37% compared to a conventional training accelerator with a large systolic array. FlexSA also improves on-chip data reuse by 1.7X saving 28% energy compared to naive systolic array splitting.
研究动机与目标
- 解决大型脉动阵列在训练剪枝 DNN 模型时因计算单元利用率低而导致的效率低下问题。
- 克服结构化剪枝中大核心重用与小核心利用率之间的性能与能耗权衡问题。
- 设计一种支持动态重构的脉动阵列,以匹配剪枝过程中变化的 GEMM 维度。
- 开发一种编译启发式方法,智能选择 FlexSA 的操作模式,以实现最优资源利用率。
- 在不显著增加面积开销的前提下,实现高能效和高计算利用率,同时保持片上数据重用能力。
提出的方法
- FlexSA 集成四个子脉动阵列,共享输入/输出数据通路和控制逻辑,支持四种不同的操作模式,实现动态重构。
- 该架构支持核间脉动数据流(如垂直、水平、全波),以提升数据重用并减少冗余数据移动。
- 编译时采用 GEMM 分块启发式方法,优先选择具有高核间重用性的操作模式,以最小化空闲处理元素(PE),优化资源利用率。
- 编译器负责调度数据加载至片上缓冲区,并根据所选模式管理输出存储至全局内存或 DRAM。
- 与朴素的四核脉动阵列相比,该设计仅增加 1% 的面积开销,实现了高效的硬件集成。
- 根据张量维度选择操作模式,以平衡 PE 利用率与数据重用,重点在于最小化能耗。
实验结果
研究问题
- RQ1如何在运行时对脉动阵列架构进行重构,以高效处理结构化 DNN 剪枝过程中出现的动态张量尺寸?
- RQ2在剪枝过程中,使用单个大型脉动阵列与多个小型、可动态重构的阵列之间,性能与能耗的权衡关系如何?
- RQ3是否可以有效利用核间数据重用,在提升小块 GEMM 操作中 PE 利用率的同时,维持高片上数据重用?
- RQ4编译启发式方法在基于 GEMM 维度智能选择 FlexSA 操作模式方面,能在多大程度上提升资源利用率?
- RQ5与大型核心和众多小核心的脉动阵列设计相比,所提出的 FlexSA 架构在能效和计算利用率方面表现如何?
主要发现
- 在现代 CNN 模型的剪枝与训练过程中,与传统大型脉动阵列加速器相比,FlexSA 将计算资源利用率提高了 37%。
- 与朴素的小核心拆分方法相比,该架构将片上数据重用提升了 1.7 倍,显著减少了冗余数据移动。
- 尽管增加了核间数据传输,与朴素的脉动阵列拆分相比,能耗仍降低了 28%。
- FlexSA 编译器在剪枝过程中超过 89% 的情况下使用了核间脉动数据流,确保了高利用率且不牺牲数据重用。
- 对于 ResNet50 和 Inception v4,在 1G1F 和 4G1F 配置下,核间操作模式分别占 94% 和 99% 的操作,表明具有极高的重用效率。
- 与单个大核心相比,端到端训练性能分别提升 24%(1G1F)和 29%(4G1F),且动态能耗比众多小核心设计低 10%。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。