[控场AI]
· 3 分钟阅读· 1,881 字

手机NPU上实现一阶LoRA训练:无需上传隐私数据

手机NPU上实现一阶LoRA训练:无需上传隐私数据

将LoRA三处冻结权重乘积全部放到手机NPU执行,首次实现端侧一阶训练。

端侧微调可在不上传隐私数据的前提下让大模型学习个人数据,但LoRA的一阶训练仍需反复与冻结权重相乘,而手机NPU虽常驻这些权重,其推理接口却不支持输入梯度计算。该研究提出NPU与CPU协同架构:三个涉及冻结权重的乘积运算全部在NPU上完成,训练图、适配器与优化器留在CPU;输入梯度核函数复用NPU常驻权重块与前向去量化器,避免转置权重副本。系统按梯度敏感度选择精度并对FP16输出做逐行范围保护,同时融合CPU算子、重叠NPU与适配器计算,支持可恢复执行与热节流。在两个高通骁龙平台和四个Qwen/Llama模型上,覆盖夜间个性化与LaMP-2基准的评估验证了其有效性,首次实现手机NPU上的一阶LoRA训练。

端侧微调能让大语言模型(LLM)在不上传用户隐私数据的前提下学习个人数据。低秩适配(LoRA)减少了可训练参数量,但每个一阶训练步骤在前向传播、激活重计算和输入梯度计算时,仍需与冻结的基础模型权重相乘。手机神经处理单元(NPU)在推理时已驻留这些权重,然而将其用于训练还需要计算输入梯度,而NPU的推理接口并不支持这一操作。

手机NPU训练示意图

系统架构:NPU与CPU的协同分工

该系统的核心思路是将三个涉及冻结权重的乘积运算全部放在NPU上执行,同时把训练图、适配器和优化器保留在CPU。这样既利用了NPU对权重驻留的优势,又避免了为训练单独复制权重带来的开销。

具体来说,输入梯度核函数复用了NPU上常驻的权重块和前向传播的去量化器,从而避免转置权重副本,并确保前向和反向传播使用相同的有效权重。这一设计解决了推理接口不支持输入梯度计算的关键矛盾。

LoRA 的低秩适配原理:LoRA 在冻结的原始权重矩阵 $W$ 旁并联两个小矩阵 $A$(降维)和 $B$(升维),训练时只更新 $A$ 和 $B$,前向计算变为 $h = Wx + BAx$。由于 $W$ 冻结,反向传播时无需计算 $W$ 的梯度,但仍需计算损失对 $x$ 的梯度(输入梯度)以继续向浅层回传,这一步必须用到 $W$ 本身。这正是文章将“与冻结权重相乘”的三处运算单独列出、并转移到 NPU 的原因:参数量虽小,冻结权重却仍是计算与访存的主体。

NPU 推理接口的局限:手机 NPU 通常以固定算子图执行推理,接口只暴露“给定输入张量、返回输出张量”的前向通路,不提供对输入求导的反向算子,也不保证权重布局可直接转置复用。因此要用 NPU 加速 LoRA 训练,必须在宿主侧用等价核函数手工构造输入梯度计算,并复用前向已驻留、已反量化的权重块,避免为反向另存一份转置权重。

精度选择与梯度稳定性

为了保持可用的梯度,系统根据梯度敏感度选择精度,并对半精度(FP16)输出应用逐行范围保护。这种方法在保持计算效率的同时,避免了低精度带来的梯度下溢或溢出问题。

运行时系统融合了剩余的CPU算子,并将NPU执行与适配器计算重叠,从而提升整体吞吐。可恢复执行和热节流机制让训练能够作为后台任务持续进行,适应手机长时间运行的场景。

低精度训练中的梯度下溢与范围保护:FP16 的指数位仅 5 位,可表示的最小正规数约 $6\times10^{-5}$,而反向传播中的输入梯度往往比激活值小几个数量级,容易下溢为零,导致浅层完全学不到东西。逐行范围保护的做法是:在量化或写出 FP16 前统计每一行的最大值,据此动态调整缩放因子(类似 per-row 的 loss scaling),使该行数值落在 FP16 的安全区间内,读出时再还原。相比全局统一缩放,逐行缩放能兼顾同一张量内量级差异很大的不同通道,避免“大值溢出、小值下溢”的两难。

实验评估:多平台多模型验证

研究团队在两个高通骁龙平台和四个来自Qwen与Llama家族的LLM上进行了评估。工作负载覆盖基于手机提供标签的夜间个性化任务和公开的LaMP-2基准测试。对比基线包括优化的CPU训练器、手机GPU训练器、仅前向训练以及GPU训练的参考结果。

实验结果表明,该系统在多种配置下均能有效完成一阶LoRA训练,为端侧隐私保护微调提供了可行路径。

LaMP-2 基准:LaMP(Language Model Personalization)是一组评测语言模型个性化能力的基准,LaMP-2 是其中的电影标签个性化任务:给定用户历史影评及其标签(如“悬疑”“温情”),要求模型为该用户的新影评预测个性化标签。由于标签体系因人而异、且依赖用户私有历史,它天然契合端侧微调场景——模型必须在本地学习用户偏好,而无需上传历史文本,因此常被用来衡量个性化微调的效果。

关键要点

  • 将冻结权重乘积运算全部放在NPU,训练图、适配器和优化器留在CPU
  • 输入梯度核函数复用常驻权重块和去量化器,避免转置副本
  • 根据梯度敏感度选择精度,FP16输出逐行范围保护
  • 支持可恢复执行和热节流,适合后台训练
  • 在高通骁龙平台和Qwen/Llama模型上验证了有效性

据来源分析,该系统首次实现了在手机NPU上进行一阶LoRA训练,突破了推理接口不支持输入梯度计算的限制。

#LoRA训练#手机NPU#端侧微调#隐私保护#低秩适配#一阶训练#高通骁龙#Qwen#Llama
分享:

相关推荐