DNN加速--GAMMA 文章目录《GAMMA基于遗传算法实现DNN模型在加速器上硬件映射自动化》一、论文基础信息二、研究背景与动机1. DNN加速器硬件映射核心概念2. 现有方案核心痛点3. 研究目标三、GAMMA核心设计与工作流1. 创新1柔性遗传编码方案2. 创新2领域专用遗传算子突破标准GA局限3. 完整自动化闭环流程4. 创新3双层优化层内层间流水线四、实验设置1. 硬件平台2. 三类目标加速器架构3. 测试网络4. 对比基线五、核心实验结论1. 单一层映射优化性能2. 多网络整体端到端表现3. 流水线两级跨层优化价值六、论文四大核心贡献七、相关工作对比八、总结https://par.nsf.gov/servlets/purl/10321972https://github.com/maestro-project/gamma-timeloop《GAMMA基于遗传算法实现DNN模型在加速器上硬件映射自动化》一、论文基础信息作者与单位佐治亚理工学院 Sheng-Chun Kao、Tushar Krishna会议2020 ICCAD计算机辅助设计顶会核心定位面向深度神经网络加速器硬件映射HW Mapping的专用遗传算法优化框架GAMMA解决映射空间爆炸、传统搜索方法局限、固定数据流无法适配所有网络层的痛点。二、研究背景与动机1. DNN加速器硬件映射核心概念DNN卷积层是高维循环嵌套硬件映射包含三大核心要素直接决定加速器算力复用、访存能耗、推理延迟计算顺序6维卷积循环K输出通道/C输入通道/Y/X特征图/R/S卷积核的循环交换决定时空数据复用并行策略1~3级空间并行维度选择PE阵列行、列、多阵列集群对应不同多播与数据复用模式分块策略Tiling各维度分块大小约束片上SL局部缓存、SG全局缓存容量决定DRAM与片间带宽压力。主流加速器分为两类固定数据流硬件NVDLA、Eyeriss、ShiDianNao出厂固化并行维度仅可调分块无法适配全部网络层可重构加速器Maeri、FPGA、多芯片Simba编译时可配置完整映射潜力更大但搜索空间极庞大。2. 现有方案核心痛点映射空间爆炸单卷积层3级并行映射空间规模高达O ( 10 36 ) O(10^{36})O(1036)暴力枚举完全不可行传统搜索方法约束极强粗粒度遍历/随机搜索采样效率极低边缘硬件资源紧张时甚至找不到合法映射标准进化算法、贝叶斯优化、强化学习调优编码长度固定仅支持固定并行级数丢失大量最优解手工固定数据流不存在适配所有网络层的万能映射浅层特征图大、深层通道维度占优最优并行维度完全不同现有映射工具局限Timeloop、Interstellar等仅做受限空间搜索通用优化算法无法灵活增减并行层级易陷入局部最优。3. 研究目标给定固定硬件资源PE数量、SL/SG缓存大小、NoC互联为DNN每一层自动搜索最优映射优化延迟、能耗、功耗支持1/2/3级并行架构单2D阵列、柔性阵列、多阵列扩展系统同时支持流水线多加速器跨层两级优化。三、GAMMA核心设计与工作流1. 创新1柔性遗传编码方案针对传统GA编码长度固定的缺陷设计适配1~3级并行的可变长度基因组单级映射基因组由6维张量维度对应分块尺寸的基因对构成基因顺序代表计算循环顺序首个基因为空间并行维度多级映射通过嵌套表示L2外层并行、L1内层并行3级则增加阵列间L3并行解码机制将基因组翻译为MAESTRO代价模型标准输入用SpatialMap标记并行维度、Cluster划分多级并行单元自动校验缓存、PE资源约束。2. 创新2领域专用遗传算子突破标准GA局限除基础交叉、变异算子外新增3种适配可变并行层级的专属算子完整覆盖映射三要素分块、计算顺序、并行级数算子功能优化维度交叉(Crossover)交换两个优质个体的分块尺寸继承优秀分块方案分块策略变异(Mutation)随机更换并行维度、随机修改各维度分块大小并行维度、分块重排序(Reorder)交换基因对顺序修改循环计算次序计算顺序生长(Growth)增加一级并行1级→2级、2级→3级并行级数扩展老化(Aging)删减末尾并行层级3级→2级、2级→1级并行级数缩减3. 完整自动化闭环流程初始化随机生成初代种群仅合法分块尺寸不超过对应张量维度种群演化随机触发5种遗传算子生成子代适应度评估对接MAESTRO解析模型输入映射、硬件参数输出延迟/能耗/功耗约束惩罚映射所需缓存/PE超出硬件上限时适应度置负无穷直接淘汰目标函数支持最小化延迟、能耗、功耗、EDP等多类硬件指标精英选择按适应度排序保留最优个体进入下一代迭代至设定世代输出最优映射兼容可重构加速器编译配置文件。4. 创新3双层优化层内层间流水线层内优化基础模式每层独立搜索最优映射面向单加速器推理跨层流水线两级优化多阵列S3系统第一阶段全部层最小化延迟识别流水线瓶颈层决定系统整体吞吐第二阶段瓶颈层保持延迟不变其余层放宽延迟约束重新搜索以最小化系统总能耗/功耗效果ResNet-18功耗降低95%、能耗降低58%VGG16功耗降低99%、能耗降低78%。四、实验设置1. 硬件平台边缘平台对标Eyeriss168个PE、512B局部缓存、108KB全局缓存云端平台对标TPU65536个PE、4MiB局部缓存、24MiB全局缓存。2. 三类目标加速器架构S1固定长宽比2D PE阵列仅支持2级并行NVDLA/TPUS2柔性长宽比2D阵列支持1/2级并行Eyeriss系列S3多阵列扩展架构支持2/3级并行Simba、多芯片集群。3. 测试网络VGG16、MobileNet-V2、ResNet-18、ResNet-50、MnasNet覆盖轻量化、深层残差、大参数量CNN。4. 对比基线通用优化算法8种随机搜索RS、标准GA、差分进化DE、(11)-ES、CMA-ES、TBPSA、PSO、被动组合优化pPortfolio经典手工固定数据流NVDLA通道并行、Eyeriss特征行并行、ShiDianNao特征图XY并行统一约束所有算法最大采样点10000次公平对比搜索效率。五、核心实验结论1. 单一层映射优化性能边缘硬件约束严苛场景优势极大随机搜索大量情况无法生成合法映射通用进化算法频繁失效GAMMA总能输出有效映射延迟比基线低2001000倍**能耗低**1136倍云端硬件资源充足场景所有算法均可找到合法解但GAMMA仍显著领先延迟最高降低1.3 × 10 7 1.3×10^71.3×107倍能耗降低最高42倍并行级数越多GAMMA优势越明显S3三级并行系统搜索空间指数级膨胀基线算法大量无解GAMMA依靠生长/老化算子灵活探索并行层级延迟领先数百至十万倍自动匹配网络层特征浅层特征图XY维度大GAMMA自动选择空间并行XY中层混合维度采用3级并行深层通道K/C占优自动并行通道维度符合人工设计经验且分块策略更优。2. 多网络整体端到端表现在MobileNet-V2、MnasNet、ResNet50等全部测试网络上GAMMA端到端延迟、能耗全面优于三类固定数据流与所有基线优化算法延迟降幅5倍 ~1.2 × 10 5 1.2×10^51.2×105倍能耗降幅2倍 ~1.6 × 10 4 1.6×10^41.6×104倍收敛速度快迭代过程中硬件指标快速下降采样效率远超随机/粗粒度遍历。3. 流水线两级跨层优化价值固定系统吞吐瓶颈层延迟不变前提下大幅降低整网功耗与能耗适合低功耗嵌入式、云端批量推理场景平衡吞吐量与能效。六、论文四大核心贡献完整无约束映射空间建模同时覆盖分块、计算顺序、1~3级并行策略兼容单加速器、多阵列扩展系统搜索空间无人为裁剪通用可变长遗传编码将硬件映射问题转化为可变长度优化问题无需额外编码器/神经网络轻量化无额外开销领域专属遗传算子新增重排序、生长、老化算子支持动态增减并行层级解决标准GA固定编码长度的固有缺陷端到端自动化黑盒工作流对接MAESTRO代价模型输入网络硬件参数即可自动输出最优映射降低硬件架构师调参成本代码后续开源。七、相关工作对比手工数据流固定并行维度无法适配全网络层仅在特定层有优势遍历/随机搜索工具Timeloop、Interstellar搜索空间受限采样效率极低大规模硬件映射不可用传统机器学习优化AutoTVM、RL、贝叶斯优化编码长度固定并行级数预先锁定丢失大量潜在最优映射传统遗传算法仅支持固定结构基因组无法动态调整并行层级搜索范围窄于GAMMA。八、总结DNN加速器硬件映射空间规模巨大固定数据流与传统优化算法均存在严重局限。本文提出GAMMA一套面向映射问题定制的可变长度遗传算法框架通过专属编码与遗传算子完整覆盖全部映射维度在边缘/云端、1~3级各类加速器架构、多种主流CNN上均稳定产出远优于基线的低延迟、低能耗映射方案同时支持流水线多加速器跨层两级优化在保持吞吐不变的前提下大幅降低系统功耗与能耗实现了DNN硬件映射全流程自动化减少人工调优成本。