arXiv cs.AI精选82

利用手机 NPU 进行一阶 LoRA 训练

First-Order LoRA Training with Phone NPUs

· 2天前

精选理由

展示如何借助手机NPU实现高效隐私本地微调,为端侧个性化提供实用方案

AI 摘要

端侧微调使大型语言模型(LLM)能够利用用户的私有数据进行学习,而无需上传这些数据。低秩适配(LoRA)减少了需要训练的参数数量,但每个一阶训练步骤在前向传播、激活重计算和输入梯度计算过程中,仍需与冻结的基础模型权重相乘。手机的神经处理单元(NPU)在推理时已经驻留这些权重;要将其用于训练,还需要计算输入梯度,而其推理接口并不支持这一操作。我们提出了一种系统,在 NPU 上执行全部三种涉及冻结权重的乘法,同时将训练图、适配器和优化器保留在 CPU 上。该系统的输入梯度内核复用驻留的权重分块和前向反量化器,从而避免复制转置后的权重,并确保前向和反向计算使用相同的有效权重。为保留可用的梯度,系统根据梯度敏感度选择精度,并针对半精度(FP16)输出采用逐行范围保护机制。其运行时系统融合剩余的 CPU 算子,并将 NPU 执行与适配器计算重叠;同时,可恢复执行和温度调节机制使训练能够作为后台任务持续进行。我们在两个 Qualcomm Snapdragon 平台上使用来自 Qwen 和 Llama 系列的四个 LLM 对该系统进行了评估。工作负载涵盖使用手机提供的标签进行每夜个性化训练,以及公开的 LaMP-2 基准测试;对比对象包括优化的 CPU 训练器、手机 GPU 训练器、仅前向训练和使用 GPU 训练得到的参考结果。

查看原文(arXiv cs.AI)