H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读

举报
DuHz 发表于 2025/09/14 18:09:02 2025/09/14
【摘要】 H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索Yiwei Zhao, Jinhui Chen, Sai Qian Zhang, Syed Shakib Sarwar, Kleber Hugo Stangherlin, Jorge Tomas Gomez, Jae-Sun Seo, Barbara De Salvo, Chiao Liu, Phil...

H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索

Yiwei Zhao, Jinhui Chen, Sai Qian Zhang, Syed Shakib Sarwar, Kleber Hugo Stangherlin, Jorge Tomas Gomez, Jae-Sun Seo, Barbara De Salvo, Chiao Liu, Phillip B. Gibbons, and Ziyun Li. 2025. H4H: Hybrid Convolution-Transformer Architecture Search for NPU-CIM Heterogeneous Systems for AR/VR Applications. In Proceedings of the 30th Asia and South Pacific Design Automation Conference (ASPDAC '25). Association for Computing Machinery, New York, NY, USA, 1133–1141.

第一章:研究背景与动机

增强现实和虚拟现实(AR/VR)正逐渐成为下一代以人为中心的计算平台的关键技术。这些应用通常需要运行深度神经网络(DNN)推理来完成各种任务,例如手部/眼部跟踪、物体检测和逼真虚拟形象等。为了满足AR/VR应用的低延迟要求(如手部跟踪和检测)并保护用户隐私,大多数DNN推理需要在AR/VR设备本地处理。

然而,AR/VR眼镜等设备面临着严重的计算、内存容量和功耗预算限制。随着智能相机的出现,设备上的处理在主SoC和多个智能传感器之间高度分布。这种设置允许部分处理驻留在智能传感器本地,但这些智能传感器由于面积限制,在计算和内存容量上受到限制,需要在超低延迟下实现ML任务的高能效。与此同时,针对这些应用的DNN模型变得越来越多样化。在计算机视觉领域,ResNet、MobileNet-v2和视觉Transformer(ViT)具有截然不同的基本块结构,需要硬件上越来越灵活的执行模式。这种多样性给设计高效的通用加速器带来了挑战:为某一代模型高度优化的加速器可能随着新模型的引入而变得效率降低。

论文提出了两个核心问题:第一,能否设计一个具有多种硬件加速特性的异构系统,可以泛化到加速具有不同执行模式的各种模型,甚至是具有不同块类型的单一混合模型?第二,如果这种设计被证明是有益的,能否自动化模型和系统的协同设计,即使两边都存在巨大的异构性会使协同设计复杂化?

第二章:技术背景分析

2.1 最先进的机器学习模型

在计算机视觉领域,各种类型的基本CV块已经作为传统VGG/ResNet的高效替代品出现。

CNN架构演进:卷积神经网络(CNN)继续主导CV模型的格局。具体而言,MobileNet-v2的倒置残差瓶颈块(IRB)成为了内存高效、低延迟边缘AI推理最广泛使用的基本块之一。IRB的计算复杂度可以表示为:

FLOPsIRB=2×H×W×Cin×Cout×(k2+t)\text{FLOPs}_{IRB} = 2 \times H \times W \times C_{in} \times C_{out} \times (k^2 + t)

其中HHWW是特征图的高度和宽度,CinC_{in}CoutC_{out}是输入和输出通道数,kk是卷积核大小,tt是扩展比。

Vision Transformer架构:作为语言模型进步的副产品,视觉Transformer(ViT)最近出现并展示了随着模型规模扩大的优越性能。ViT块集成了多种操作,包括Q/K/V生成器、头级乘法、层归一化、softmax、位置编码和多层感知器(MLP)。ViT的自注意力机制计算复杂度为:

FLOPsattention=2×N2×d+2×N×d2\text{FLOPs}_{attention} = 2 \times N^2 \times d + 2 \times N \times d^2

其中NN是序列长度,dd是特征维度。

混合模型趋势:除了单个块内不同组件产生的多样性外,一些最近的模型在其网络中采用多种类型的块。例如,SAM、LeViT和AlterNet结合了CNN和ViT。这种混合架构的出现表明,不同类型的块可以相互补充,提供更好的性能权衡。

2.2 神经架构搜索技术

神经架构搜索(NAS)是一种自动化设计大量DNN以发现内存/计算高效解决方案的有效方法。传统的NAS方法利用进化搜索或强化学习,由于在单个实验中训练大量模型,通常需要大量训练。最近的NAS进展将模型训练和架构搜索解耦为两个独立的阶段,显著降低了训练成本。

更近期的NAS实践将权重共享纳入超网训练阶段,这大大减轻了从头训练所有候选网络的沉重计算负担。然而,在设计边缘AI/ML模型时,两个基本问题仍然存在:

搜索空间不灵活:虽然NAS能够在大量子网上进行灵活探索,但在大多数情况下,它主要调整"网络配置"——如特征图宽度、核大小和通道数。基本块的拓扑结构没有显著修改,这阻碍了NAS利用ViT等新块结构。

梯度冲突问题:在混合NAS的超网训练期间,不同的采样子网经常表现出冲突/不对齐的梯度方向,导致训练质量下降。这个问题的数学本质将在后续章节详细分析。

2.3 边缘AI计算硬件

神经处理单元(NPU):NPU已成为在边缘设备严格资源约束下加速边缘AI的流行解决方案。通常,NPU采用脉动阵列作为其核心组件,用于高效计算矩阵乘法。自20世纪70年代首次出现以来,NPU仍然是最新计算密集型工作负载的有吸引力的设计,无论是在云端还是边缘。

计算存储一体化(CIM):传统架构(冯·诺依曼和基于加速器的)将计算与存储分离,需要在内存和计算之间进行数据移动,导致显著的能耗和延迟。为了缓解这个问题,计算存储一体化(CIM)最近出现,它将计算元素靠近内存或甚至与内存合并。

SRAM和DRAM都已用于CIM。然而,它们的易失性导致在大多数关闭场景下的效率下降和初始化期间的延迟问题。为了解决这个问题,提出了非易失性内存,如电阻RAM(ReRAM)、相变RAM(PCRAM)和磁性RAM(MRAM)。

第三章:H4H-NAS系统设计

3.1 混合CNN-ViT模型架构设计

论文的目标ML模型架构是包含CNN和ViT的混合模型。研究将CNN块视为CV应用中的局部信息提取器,将ViT块视为全局信息理解器。这两种具有不同角色的块可以相互补充,增强整体性能。

fig1.png

图1 - 端到端模型准确率比较:该图展示了不同模型在ImageNet-1k数据集上的Top-1准确率与计算量(GFLOPs)的关系。图中显示了H4H-NAS设计的模型(标记为"Ours")相比其他基准模型如GLiT-NAS、DeiT、NASNet、MobileViT-S、MobileNet-v2、ViT-S、PoolFormer-S、ResNet-18、ResNet-50和LeViT-S的优势。研究提出的模型在相同计算预算下实现了更高的准确率,或在相同准确率下需要更少的计算资源。

搜索空间的设计需要支持各种混合CNN+ViT模型变体。表1详细列出了H4H-NAS的搜索空间,包括不同层的配置参数范围。对于MBConv(倒置残差瓶颈块),搜索宽度范围从16到240个通道,深度从0到6层,扩展比从1到6。对于ViT块,搜索Q/K/V维度从24到240,深度从0到3层,MLP扩展比从1.0到2.0。输入分辨率可以从{192, 224, 256, 288}中选择。

3.2 NPU-CIM异构平台架构

2fig1.png

图2 - 系统和硬件概览:图2(a)展示了目标系统架构,包含通过片上网络(NoC)连接的NPU、CIM、内存(MEM)、CPU和IO组件。图2(b)展示了ARM Ethos-U55 NPU的实际硅片照片,这是使用7nm FinFET技术制造的测试芯片。

论文深入研究了在同一商品片上网络(NoC)上集成CIM组件和NPU的目标系统设计。CIM和NPU共享相同的NoC带宽,设置为4-8 GB/s。NoC产生数十个周期的预热延迟,CIM利用IFMP上的流处理通过流水线隐藏其延迟。工作流分区确保NPU/CIM不会同时占用NoC带宽。

fig3.png

图3 - Ethos-U55 NPU执行效率分析:该图展示了不同类型层在U55上执行时的归一化吞吐量和能效。测试包括了具有(32,32)输入的常规卷积(Conv)、点卷积(PConv)、深度卷积(DConv)以及作为全连接层的(1,1)输入点卷积。结果显示,不同层类型展示了不同的执行效率,但都遵循随着通道数增加而"先增加后饱和"的趋势。当通道数较少时(10-100),效率较低;当通道数适中时(100-1000),效率达到峰值;更多通道时效率趋于饱和。

fig4.png

图4 - MRAM CIM宏架构布局:该图详细展示了10Mb MRAM CIM宏的内部结构。宏包含8个0.625Mb的MRAM阵列,每两个阵列共享36个IO的感知放大器(SA)。架构包括DIO缓冲器、控制逻辑(CTRL)、Bank LDO和模拟块。CIM宏的计算部分包括本地MAC组、全局MAC和激活单元,处理输入特征图(IFMP)并生成输出特征图(OFMP)。

fig5.png

图5 - CIM与NPU性能对比:该图展示了8个CIM宏系统与单个U55 NPU系统在执行全连接层(FC)和深度卷积(DConv)时的吞吐量和能效比较。随着通道数从10增加到1000,CIM相对于NPU的优势变化显著。对于全连接层,CIM系统在所有通道数下都显示出优势,特别是在中等通道数(100左右)时,吞吐量和能效提升可达10倍。对于深度卷积,CIM的优势更加明显,这验证了CIM在内存密集型工作负载上的效率。

第四章:神经架构搜索方法论

4.1 两阶段增量超网训练

基线:Vanilla超网训练:研究首先检查了vanilla超网训练作为基线,在ImageNet-1k上进行360个epoch的训练。按照LeViT和NASViT的建议,训练时使用AdamW优化器。采用sandwich采样规则,使用四个采样子网的平均梯度进行权重更新。将dropout和drop-connect率都设置为0.2,并使用AutoAugment。

梯度冲突问题分析:图8(红色和绿色部分)和表2(第1-2行)描述了仅NPU系统上vanilla超网训练后的结果。CNN-only超网是混合超网的子集。因此理论上,在理想训练之后,混合搜索空间中每个延迟/能量桶中的最佳子网的性能应该不差于CNN-only搜索空间中的子网。

fig6.png

图6 - 搜索空间灵活性示例:该图展示了H4H-NAS搜索空间如何灵活地简化为不同现有模型类型的基本块。上方显示了完整的搜索空间,包含交替的MBConv和ViT块。下方展示了三种简化形式:纯MobileNet-v2(只有MBConv块)、LeViT风格(先CNN后ViT)、以及纯ViT(带有patch embedding)。这种设计确保了超网架构的卓越灵活性。

然而,观察到在两个呈现的结果中,CNN-only搜索空间中的小型子网优于混合搜索空间中的子网。这表明vanilla超网训练是非理想的,导致这些小型子网的准确性下降。具有类似原因的现象在以前的工作中已经被观察到。一个常见的推论是,这种退化是由于训练期间不同采样子网中梯度的非对齐造成的。

两阶段训练策略:为了解决梯度冲突问题,论文提出了两阶段增量超网训练。超网训练阶段分为两个阶段:

第一阶段:从超网中移除所有ViT块,仅训练包含所有剩余CNN组件的部分超网。这个阶段的训练目标是:

Lphase1=EsSCNN[LCE(fCNN(x;Ws),y)]\mathcal{L}_{\text{phase1}} = \mathbb{E}_{s \sim \mathcal{S}_{CNN}} [\mathcal{L}_{CE}(f_{CNN}(x; W_{s}), y)]

其中SCNN\mathcal{S}_{CNN}是CNN-only子网的采样空间,WsW_{s}是子网ss的权重。

第二阶段:将第一阶段的所有预训练CNN权重加载到完整的混合超网中并继续训练。在这个阶段,只训练ViT块和批归一化层,不更新已经训练的CNN权重:

Lphase2=EsShybrid[LCE(fhybrid(x;WCNNfrozen,WViT),y)]\mathcal{L}_{\text{phase2}} = \mathbb{E}_{s \sim \mathcal{S}_{hybrid}} [\mathcal{L}_{CE}(f_{hybrid}(x; W_{CNN}^{frozen}, W_{ViT}), y)]

其中WCNNfrozenW_{CNN}^{frozen}是冻结的CNN权重,WViTW_{ViT}是可训练的ViT权重。

4.2 子网搜索和性能建模

完成超网训练后,采用进化搜索来找到最优子网。进化算法的适应度函数定义为:

Fitness(s)=Acc(s)λ1max(0,L(s)Ltarget)λ2max(0,E(s)Etarget)\text{Fitness}(s) = \text{Acc}(s) - \lambda_1 \cdot \max(0, L(s) - L_{target}) - \lambda_2 \cdot \max(0, E(s) - E_{target})

其中Acc(s)\text{Acc}(s)是子网ss的准确率,L(s)L(s)E(s)E(s)分别是延迟和能耗,LtargetL_{target}EtargetE_{target}是目标约束,λ1\lambda_1λ2\lambda_2是惩罚系数。

系统建模工具将模型推理分解为细粒度。对于卷积层,将不同通道的执行分配到不同设备上。类似地,对于Transformer层,Q/K/V的生成和注意力层中不同头的执行可以被分配。

分配策略可以表示为一个优化问题:

minATtotal(A)=maxd{NPU,CIM}lLdTld\min_{A} T_{total}(A) = \max_{d \in \{NPU, CIM\}} \sum_{l \in L_d} T_l^d

其中AA是分配矩阵,LdL_d是分配给设备dd的层集合,TldT_l^d是层ll在设备dd上的执行时间。

第五章:实验结果与分析

5.1 异构系统对混合模型延迟的影响

fig7.png

图7 - H4H-NAS延迟约束搜索结果:该图展示了在不同延迟约束下,使用0、1、4或8个CIM宏的NPU系统搜索出的混合CNN/ViT模型的top-1准确率。结果清楚地显示,随着CIM宏数量的增加,相同延迟约束下可以实现更高的准确率。例如,在40ms延迟约束下,NPU-only系统只能达到约76%的准确率,而8个CIM宏的系统可以达到77.3%的准确率。在获取相同准确率的模型时,8个CIM宏的系统实现了平均21.99%的延迟降低,最高可达56.08%。

延迟改进可以通过以下公式量化:

Speedup=TNPUonlyTNPU+CIM=TNPUonlyTNPUparallel+TCIMparallel+Tsync\text{Speedup} = \frac{T_{NPU-only}}{T_{NPU+CIM}} = \frac{T_{NPU-only}}{T_{NPU}^{parallel} + T_{CIM}^{parallel} + T_{sync}}

其中TsyncT_{sync}是同步开销,在良好的工作负载分配下可以最小化。

5.2 能效分析

异构系统在能效方面也显示出显著改进。能效提升的来源包括:减少的数据移动、CIM的本地计算、以及更好的工作负载-硬件匹配。能效改进可以表示为:

ηenergy=ENPUonlyENPU+CIM=EcompNPU+EmemNPUEcompNPU+EcompCIM+Ememreduced\eta_{energy} = \frac{E_{NPU-only}}{E_{NPU+CIM}} = \frac{E_{comp}^{NPU} + E_{mem}^{NPU}}{E_{comp}^{NPU'} + E_{comp}^{CIM} + E_{mem}^{reduced}}

其中EmemreducedE_{mem}^{reduced}表示由于CIM的近数据计算而减少的内存访问能耗。

5.3 多CIM宏的扩展性分析

fig8.png

图8 - 两阶段增量训练效果:该图对比了三种训练策略的效果:vanilla CNN-only训练(蓝色)、vanilla混合训练(红色)和两阶段增量训练(绿色)。左侧显示了完整的准确率-延迟曲线,右侧是小型模型的放大视图。结果表明,两阶段增量训练成功解决了梯度冲突问题,使得小型混合模型的性能不低于CNN-only基线,同时保持了大型模型的优势。

当系统中有多个CIM可用时,计算可以在CIM上并行化。并行效率可以建模为:

Efficiencyparallel=SpeedupactualNCIM=11+α(NCIM1)\text{Efficiency}_{parallel} = \frac{\text{Speedup}_{actual}}{N_{CIM}} = \frac{1}{1 + \alpha \cdot (N_{CIM} - 1)}

其中NCIMN_{CIM}是CIM宏的数量,α\alpha是由于同步和通信开销导致的效率损失因子。

fig9.png

图9 - ViT层与MBConv层比例分析:该图展示了在不同延迟约束下,搜索出的子网中ViT层数量与MBConv层数量的比例。有趣的是,H4H-NAS倾向于同时包含CNN和ViT,同时保持它们之间的平衡以实现高效推理。几乎所有搜索的子网都显示出类似的比例,2-5个ViT结合10个IRB,如图中红线之间的区域所示。

5.4 CIM宏内部并行性增强

fig10.png

图10 - 多计算单元CIM宏设计:该图对比了vanilla CIM宏(左)和多计算单元CIM宏(右)的架构。Vanilla设计有单个计算单元(MAC)处理IFMP生成OFMP。改进的设计包含4个计算单元,可以并行处理不同的输入部分(IFMP1-4)生成相应的输出(OFMP1-4),同时通过去重IFMP控制器减少重复的输入数据传输。

这种设计的优势在于:首先,它在计算中提供了另一层并行性;其次,它允许合并和传输重复的输入数据到CIM宏中。输入特征图(IFMP)控制器重新组织计算所需的数据流。

fig11.png

图11 - 能量约束H4H-NAS结果:该图展示了在单宏系统中使用不同数量计算单元(CU-1、CU-2、CU-4)的能量约束搜索结果。随着计算单元数量的增加,相同能量预算下可以实现更高的准确率。具有4个计算单元的系统在2mJ能量预算下可以达到约77%的准确率,而单计算单元系统只能达到75%。

对于深度卷积,如果同时计算相邻的输出元素,理论读取减少可以达到:

Read Reduction=11k2(k+n1)2n2\text{Read Reduction} = 1 - \frac{1}{k^2} \cdot \frac{(k + n - 1)^2}{n^2}

其中kk是卷积核大小,nn是并行计算的输出元素数量。对于(3,3)(3,3)核和n=2n=2,读取减少可以达到23\frac{2}{3}

第六章:消融研究

6.1 不同模型架构的比较

为了评估混合模型架构在异构边缘系统上的有效性,研究对基于ResNet、MobileNet-v2(IRB)和混合CNN/ViT结构的最优模型进行了搜索。如图8所示,子网的准确率随着可承受的延迟增加而增加。混合模型在相同延迟预算下显著优于基于IRB的模型。

值得注意的是,基于IRB的模型在所有约束下都严格优于ResNet对应物(没有基于ResNet的子网超过77%的top-1准确率)。这种趋势在具有CIM组件的系统中也存在。

6.2 两阶段训练的效果分析

表2展示了不同训练策略的定量结果:

模型与策略 最小子网准确率 最大子网准确率
CNN-only 71.691 78.802
混合:Vanilla 71.346 (-0.345) 79.914 (+1.112)
混合:TPI-unfreeze 72.140 (+0.449) 79.248 (+0.446)
混合:TPI-freeze 72.201 (+0.510) 79.782 (+0.980)

结果表明,两阶段增量训练(TPI)成功解决了梯度冲突问题,特别是在冻结CNN权重的策略下,小型子网和大型子网都获得了改进。

6.3 高效CNN/ViT基本块分析

研究还分析了不同子网中ViT块数量与IRB数量的比例。有趣的是,H4H-NAS倾向于同时包含CNN和ViT,同时保持它们之间的平衡以实现高效推理。几乎所有搜索的子网都显示出类似的比例,包含2-5个ViT与10个IRB的组合。

这一发现支持了交替结构优于单一类型模型或LeViT结构的观点,与最近的手工设计混合架构一致。IRB在特征图中抽象相邻信息为令牌,而ViT使用注意力层在全局环境中转换令牌嵌入。因此,混合架构通常提供更好的准确性/性能权衡。

第七章:系统级优化与改进

7.1 工作负载分配策略

异构系统的关键挑战是如何在NPU和CIM之间有效分配工作负载。研究提出了一种基于层特性的分配策略。计算密集型层(如常规卷积)分配给NPU,而内存密集型层(如深度卷积和全连接层)分配给CIM。

分配决策基于计算强度(CI):

CI=FLOPsMemory AccessCI = \frac{\text{FLOPs}}{\text{Memory Access}}

CI>θCI > \theta时,层分配给NPU;否则分配给CIM。阈值θ\theta通过实验确定,典型值在10-50之间。

7.2 数据流优化

为了最大化系统效率,研究优化了NPU和CIM之间的数据流。关键技术包括:

流水线执行:当NPU处理第ii层时,CIM可以预取第i+1i+1层的数据,隐藏数据传输延迟。流水线效率可以表示为:

ηpipeline=TsequentialTpipelined=iTimaxi(Ti)+Toverhead\eta_{pipeline} = \frac{T_{sequential}}{T_{pipelined}} = \frac{\sum_i T_i}{\max_i(T_i) + T_{overhead}}

数据重用:对于具有重叠感受野的卷积操作,CIM可以重用输入数据。数据重用率为:

Rreuse=11s2R_{reuse} = 1 - \frac{1}{s^2}

其中ss是卷积步长。

7.3 功耗优化

异构系统的功耗优化涉及多个层面:

动态电压频率调节(DVFS):根据工作负载特性调整NPU和CIM的工作频率和电压。功耗与频率和电压的关系为:

P=CV2fP = C \cdot V^2 \cdot f

其中CC是电容,VV是电压,ff是频率。

选择性关闭:当某个组件空闲时,可以将其置于低功耗状态。整体功耗为:

Ptotal=PNPUuNPU+PCIMuCIM+PstaticP_{total} = P_{NPU} \cdot u_{NPU} + P_{CIM} \cdot u_{CIM} + P_{static}

其中uNPUu_{NPU}uCIMu_{CIM}是利用率,PstaticP_{static}是静态功耗。

第八章:讨论与未来工作

8.1 研究贡献总结

这项研究的主要贡献包括:

首先,提出了H4H-NAS框架,这是一个两阶段神经架构搜索框架,用于自动设计用于NPU和CIM异构边缘系统的高效混合CNN/ViT模型。该框架通过细粒度搜索混合CNN-ViT模型,在ImageNet-1k上实现了显著的(高达1.34%)top-1准确率提升。

其次,提出了NAS中的两阶段增量超网训练,以解决混合模型搜索空间中不同块类型引起的采样子网之间的梯度冲突。这种方法不仅提高了准确性,还减少了训练成本。

第三,构建了基于真实硅片测量的NPU性能结果和基于工业IP的CIM性能的性能估计器,为H4H-NAS提供动力。这确保了性能建模的准确性和可靠性。

最后,算法/硬件协同设计的结果显示,通过引入异构计算,相比基线解决方案,整体延迟改进高达56.08%,能耗改进高达41.72%。

8.2 局限性与挑战

尽管取得了显著成果,研究仍面临一些局限性:

硬件假设:研究基于特定的NPU(ARM Ethos-U55)和CIM(MRAM-based)设计。虽然方法可以推广到其他硬件,但具体的性能数字可能会有所不同。

搜索空间限制:虽然搜索空间比以前的工作更灵活,但仍然限于预定义的块类型(CNN和ViT)。未来的工作可以探索更多样的块类型。

训练成本:虽然两阶段训练减少了梯度冲突,但仍需要大量的计算资源进行超网训练。

结论

本研究提出的H4H-NAS框架成功实现了针对配备NPU和CIM的异构边缘系统的高效混合CNN+ViT模型的自动化设计。该框架在保持高准确率的同时,显著降低了延迟和能耗,为AR/VR应用的边缘AI加速提供了有效解决方案。

关键技术创新包括高度灵活的混合模型搜索空间、针对混合模型的两阶段增量超网训练、异构系统的可靠性能分析器,以及通过增加CIM并行性的系统增强。这些技术共同实现了算法和硬件的有效协同设计。

研究结果表明,异构计算在边缘AI加速中具有巨大潜力。通过充分利用不同硬件组件的优势,可以实现比单一硬件解决方案更好的性能-功耗权衡。这为未来的边缘AI系统设计提供了重要指导。

附录A:数学推导

A.1 梯度冲突的理论分析

在混合模型的超网训练中,梯度冲突是一个核心问题。设超网参数为θ\theta,包含CNN参数θCNN\theta_{CNN}和ViT参数θViT\theta_{ViT}。在训练过程中,我们从超网中采样不同的子网进行训练。

对于采样的子网sis_i,其损失函数为Li(θ)\mathcal{L}_i(\theta)。使用sandwich采样时,总梯度为:

gtotal=1Ni=1NθLi(θ)g_{total} = \frac{1}{N} \sum_{i=1}^{N} \nabla_\theta \mathcal{L}_i(\theta)

当子网包含不同类型的块时,梯度可以分解为:

θLi=[θCNNLiθViTLi]\nabla_\theta \mathcal{L}_i = \begin{bmatrix} \nabla_{\theta_{CNN}} \mathcal{L}_i \\ \nabla_{\theta_{ViT}} \mathcal{L}_i \end{bmatrix}

梯度冲突的严重程度可以用梯度的余弦相似度来衡量:

Conflict(i,j)=1cos(θLi,θLj)\text{Conflict}(i,j) = 1 - \cos(\nabla_\theta \mathcal{L}_i, \nabla_\theta \mathcal{L}_j)

=1θLi,θLjθLiθLj= 1 - \frac{\langle \nabla_\theta \mathcal{L}_i, \nabla_\theta \mathcal{L}_j \rangle}{||\nabla_\theta \mathcal{L}_i|| \cdot ||\nabla_\theta \mathcal{L}_j||}

当冲突值接近2时,表示梯度方向完全相反,训练效果最差。

A.2 两阶段训练的收敛性分析

两阶段训练的收敛性可以通过分析每个阶段的优化过程来理解。

第一阶段(CNN训练)

优化问题为:

minθCNNEsSCNN[L(fCNN(x;θCNN,s),y)]\min_{\theta_{CNN}} \mathbb{E}_{s \sim \mathcal{S}_{CNN}} [\mathcal{L}(f_{CNN}(x; \theta_{CNN}, s), y)]

假设损失函数L\mathcal{L}LL-smooth的,即:

L(θ1)L(θ2)Lθ1θ2||\nabla \mathcal{L}(\theta_1) - \nabla \mathcal{L}(\theta_2)|| \leq L ||\theta_1 - \theta_2||

使用学习率η<2L\eta < \frac{2}{L}的SGD,收敛速率为:

E[θtθ2](12ημ)tθ0θ2+ησ22μ\mathbb{E}[||\theta_t - \theta^*||^2] \leq (1 - 2\eta\mu)^t ||\theta_0 - \theta^*||^2 + \frac{\eta\sigma^2}{2\mu}

其中μ\mu是强凸参数,σ2\sigma^2是梯度噪声方差。

第二阶段(ViT训练,CNN冻结)

优化问题变为:

minθViTEsShybrid[L(fhybrid(x;θCNN,θViT,s),y)]\min_{\theta_{ViT}} \mathbb{E}_{s \sim \mathcal{S}_{hybrid}} [\mathcal{L}(f_{hybrid}(x; \theta_{CNN}^*, \theta_{ViT}, s), y)]

由于CNN参数已经优化并冻结,优化空间降维,减少了优化难度。收敛分析类似,但有效的Lipschitz常数LeffL_{eff}通常更小:

LeffLViT+JCNN2LcrossL_{eff} \leq L_{ViT} + ||J_{CNN}||^2 \cdot L_{cross}

其中JCNNJ_{CNN}是CNN输出相对于输入的Jacobian矩阵,LcrossL_{cross}是交叉项的Lipschitz常数。

A.3 性能建模的数学框架

A.3.1 延迟模型

对于一个具有LL层的神经网络,在异构系统上的执行延迟可以建模为一个调度问题。设xl,d{0,1}x_{l,d} \in \{0,1\}表示层ll是否在设备dd上执行,延迟模型为:

Ttotal=maxdD(l=1Lxl,dTl,d)+TcommT_{total} = \max_{d \in \mathcal{D}} \left( \sum_{l=1}^{L} x_{l,d} \cdot T_{l,d} \right) + T_{comm}

其中通信时间TcommT_{comm}可以进一步分解为:

Tcomm=l=1L1d1,d2Dxl,d1xl+1,d21d1d2Ttransfer(l,d1,d2)T_{comm} = \sum_{l=1}^{L-1} \sum_{d_1, d_2 \in \mathcal{D}} x_{l,d_1} \cdot x_{l+1,d_2} \cdot \mathbb{1}_{d_1 \neq d_2} \cdot T_{transfer}(l, d_1, d_2)

这是一个整数线性规划(ILP)问题,可以使用分支定界或启发式算法求解。

A.3.2 能耗模型

能耗模型需要考虑计算能耗和数据移动能耗:

Etotal=Ecomp+Emem+EcommE_{total} = E_{comp} + E_{mem} + E_{comm}

计算能耗:

Ecomp=l=1LdDxl,dEl,dcompE_{comp} = \sum_{l=1}^{L} \sum_{d \in \mathcal{D}} x_{l,d} \cdot E_{l,d}^{comp}

内存访问能耗:

Emem=l=1LdDxl,d(EreaddDinl+EwritedDoutl)E_{mem} = \sum_{l=1}^{L} \sum_{d \in \mathcal{D}} x_{l,d} \cdot (E_{read}^d \cdot D_{in}^l + E_{write}^d \cdot D_{out}^l)

通信能耗:

Ecomm=l=1L1d1,d2xl,d1xl+1,d21d1d2ENoCDoutlE_{comm} = \sum_{l=1}^{L-1} \sum_{d_1, d_2} x_{l,d_1} \cdot x_{l+1,d_2} \cdot \mathbb{1}_{d_1 \neq d_2} \cdot E_{NoC} \cdot D_{out}^l

其中DinlD_{in}^lDoutlD_{out}^l分别是层ll的输入和输出数据量。

A.4 CIM计算效率分析

A.4.1 矩阵乘法在CIM中的映射

对于矩阵乘法Y=XWY = XW,其中XRm×kX \in \mathbb{R}^{m \times k}WRk×nW \in \mathbb{R}^{k \times n},在CIM中的执行可以分解为:

Yij=p=1kXipWpjY_{ij} = \sum_{p=1}^{k} X_{ip} \cdot W_{pj}

在MRAM CIM中,权重WW存储在内存阵列中,输入XX通过字线激活。计算在模拟域或数字域完成,取决于CIM类型。

计算效率可以表示为:

ηCIM=OperationsEnergy=2mknEarray+Eperipheral\eta_{CIM} = \frac{\text{Operations}}{\text{Energy}} = \frac{2mkn}{E_{array} + E_{peripheral}}

其中EarrayE_{array}是阵列能耗,EperipheralE_{peripheral}是外围电路能耗。

A.4.2 数据重用优化

对于卷积操作,CIM可以利用数据重用来提高效率。考虑一个k×kk \times k卷积核在H×WH \times W特征图上的滑动,重用因子为:

Rreuse=Total Access without reuseTotal Access with reuseR_{reuse} = \frac{\text{Total Access without reuse}}{\text{Total Access with reuse}}

=HWk2(H+k1)(W+k1)= \frac{H \cdot W \cdot k^2}{(H + k - 1) \cdot (W + k - 1)}

H,WkH, W \gg k时,Rreusek21R_{reuse} \approx \frac{k^2}{1},表明显著的数据重用潜力。

A.5 进化算法的理论基础

A.5.1 种群进化动力学

进化算法中,种群在每一代的进化可以用以下动力学方程描述:

pi,t+1=fipi,tfˉt(1μ)+jMijpj,tμp_{i,t+1} = \frac{f_i \cdot p_{i,t}}{\bar{f}_t} \cdot (1 - \mu) + \sum_{j} M_{ij} \cdot p_{j,t} \cdot \mu

其中:

  • pi,tp_{i,t}是第tt代中个体ii的频率
  • fif_i是个体ii的适应度
  • fˉt=ifipi,t\bar{f}_t = \sum_i f_i \cdot p_{i,t}是平均适应度
  • μ\mu是变异率
  • MijM_{ij}是从个体jj变异到个体ii的概率

A.5.2 收敛性分析

在适当的条件下,进化算法收敛到全局最优的概率可以用以下定理描述:

定理:如果变异算子满足遍历性条件,且使用精英保留策略,则:

limtP(找到全局最优)=1\lim_{t \to \infty} P(\text{找到全局最优}) = 1

证明基于Markov链理论,关键是证明转移矩阵是不可约和非周期的。

A.6 多目标优化的Pareto前沿

在同时优化准确率、延迟和能耗时,我们寻找Pareto最优解集。一个解xx支配另一个解yy当且仅当:

i:fi(x)fi(y)j:fj(x)>fj(y)\forall i: f_i(x) \geq f_i(y) \wedge \exists j: f_j(x) > f_j(y)

Pareto前沿P\mathcal{P}定义为:

P={xXyX:y dominates x}\mathcal{P} = \{x \in \mathcal{X} | \nexists y \in \mathcal{X}: y \text{ dominates } x\}

使用加权和方法将多目标问题转化为单目标:

fweighted(x)=w1Acc(x)w2Latency(x)w3Energy(x)f_{weighted}(x) = w_1 \cdot \text{Acc}(x) - w_2 \cdot \text{Latency}(x) - w_3 \cdot \text{Energy}(x)

其中权重满足w1+w2+w3=1w_1 + w_2 + w_3 = 1wi0w_i \geq 0

附录B:实验设置详情

B.1 训练超参数

两阶段增量训练的详细超参数设置:

第一阶段(CNN训练)

  • Optimizer: AdamW with β1=0.9\beta_1 = 0.9, β2=0.999\beta_2 = 0.999
  • Learning rate: Cosine annealing from 5×1045 \times 10^{-4} to 1×1051 \times 10^{-5}
  • Weight decay: 0.050.05
  • Batch size: 1024
  • Epochs: 180
  • Data augmentation: AutoAugment, MixUp (α=0.2\alpha = 0.2)
  • Label smoothing: ϵ=0.1\epsilon = 0.1

第二阶段(ViT训练)

  • Optimizer: AdamW (继承第一阶段)
  • Learning rate: Cosine annealing from 1×1041 \times 10^{-4} to 1×1061 \times 10^{-6}
  • Weight decay: 0.050.05
  • Batch size: 512
  • Epochs: 180
  • Dropout: 0.2 (仅应用于ViT块)
  • Drop-connect: 0.2

B.2 硬件测量方法

NPU和CIM的性能测量采用以下方法:

NPU测量

  • 使用ARM Ethos-U55测试芯片
  • 工作频率:500MHz
  • 电压:0.8V (nominal)
  • 温度:25°C
  • 测量工具:ARM Development Studio with ETM trace

CIM仿真

  • SPICE仿真工具:Cadence Spectre
  • 工艺节点:7nm FinFET (从16nm设计缩放)
  • 蒙特卡洛仿真:1000次运行以考虑工艺变化
  • 温度范围:-40°C到125°C

性能指标的统计处理:

Metricreported=Mean±1.96×StdDev\text{Metric}_{reported} = \text{Mean} \pm 1.96 \times \text{StdDev}

提供95%置信区间。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。