内存受限设备上微调视觉语言模型

0 阅读5分钟

内存受限设备上微调视觉语言模型

一种新的混合优化方法允许边缘设备仅使用前向传播来微调视觉语言模型,与现有技术相比,精度提升高达7%。

作者:Rupak Vignesh Swaminathan, Jing Liu, Nathan Susanj | 2026年1月8日 | 阅读时间4分钟

会议

NeurIPS 2025

相关论文

《通过仅前向传播的锐度感知视觉语言模型提示调优》


微调后的视觉语言模型(VLM)在许多计算机视觉任务中表现出卓越的性能。然而,反向传播(一种通过从输出误差反向计算来调整模型权重的标准方法)计算成本高昂,因此在资源受限的边缘设备上不实用。一种替代方案是仅依赖前向传播的微调策略,这能显著降低计算需求。零阶(ZO)估计就是这样一种方法,但现有的基于ZO的VLM微调方法在精度和收敛性方面仍远逊于基于反向传播的训练。

一个主要挑战是ZO的高方差,这会导致估计的梯度(由一批训练数据产生的权重调整方向)不一致且充满噪声。这可能导致训练动态不稳定,并使模型难以收敛到最优解。此外,ZO估计往往具有局部搜索动态,意味着它可能陷入损失景观中局部最优但全局次优的区域。

在提交给今年神经信息处理系统大会(NeurIPS 2025)的论文中,提出了SharpZO,一种用于仅使用前向传播微调VLM的混合锐度感知零阶优化方法。SharpZO采用两阶段优化过程:(1) 全局探索阶段,使用进化策略来平滑损失景观,构建强初始化;(2) 局部搜索阶段,使用ZO来抑制离群梯度估计。

在实验中,SharpZO在精度上比ZIP和BlackVIP等仅前向方法平均提升高达7%,并且在多项任务上,其性能接近需要反向传播梯度的一阶方法CoOP。

损失景观

给定一个模型和一组训练数据,模型的每个可能参数(权重和偏置)都可以映射到训练数据上的相应损失或误差,从而在高维空间中产生一个点。参数设置与损失的关系图可以想象成一个有峰(高损失区域)和谷(低损失区域)的景观。训练的目标是将参数设置导向景观中最低谷的底部。

计算完整的景观是难以处理的,但给定一个特定位置(一组参数设置),可以计算局部斜坡方向(梯度)并沿着损失向下微调。这就是反向传播的工作原理。

ZO是一种通过采样景观中附近各点的损失来估计而非计算局部梯度的方法。但ZO估计的高方差使得景观看起来比实际更锯齿状(或更锐利),拥有更多更高的峰。这增加了优化算法陷入局部最小值(一个局部谷,其损失实际上显著大于全局最小值)的几率。

提出的方法是使用进化算法——具体来说,是一种锐度感知的协方差矩阵自适应进化策略(CMA-ES)——来平滑损失景观的锐度。然后使用稍作修改的ZO算法来寻找全局最小值。

SharpZO方法概述

(a) 整体训练流程,包含两阶段优化过程。(b) 第一阶段锐度感知CMA-ES优化后的平滑损失景观可视化。(c) 锐度感知CMA-ES方法的训练动态。(d) 第二阶段稀疏ZO训练期间的随机梯度估计(RGE)。

CMA-ES不仅估计局部梯度,还估计整个可能参数值集合上的损失分布。它还估计分布的协方差矩阵,该矩阵描述参数值之间的相关性。分布的均值和协方差矩阵的值在每轮训练后都会更新。

通过向损失函数添加一个额外项来修改普通的CMA-ES方法,该项考虑了在当前估计的分布和协方差矩阵下模型可能产生的最坏损失。最小化这一项有助于平滑估计的损失景观。

应用CMA-ES后,使用修改后的稀疏ZO算法进行更精细的局部搜索。传统的稀疏ZO通过丢弃低幅度的项来降低梯度估计的维度。通过根据梯度的均值和标准差对其进行归一化来修改此过程,这再次有助于平滑损失景观。

评估

在11个不同的下游任务上使用具有各种骨干网络的CLIP模型评估SharpZO。除了比ZIP和BlackVIP等仅前向方法的平均精度提升7%以及性能与CoOP相当之外,该方法还实现了显著更快的收敛。例如,在ImageNet数据集上,SharpZO达到目标精度耗时15.3分钟,而ZIP为19分钟,BlackVIP为170分钟。

SharpZO不仅通过避免梯度存储减少了内存占用,还确保了这种效率不以牺牲精度为代价。还发现该方法对分布偏移具有鲁棒性,在分布外任务(如识别草图或图像的对抗样本)上表现优于基线。

目前,SharpZO针对提示调优进行了优化,其中可训练参数数量相对较少,将其扩展到全模型微调仍是未来的挑战。此外,锐度感知CMA-ES预热阶段需要坐标式梯度估计(CGE),这在高维设置下可能计算昂贵。这使得SharpZO成为参数高效微调(PEFT)的合适候选方法。

致谢: 这项工作是与某机构的合作成果。感谢Zheng Zhang、Jimmy Kunzmann和Denis Filimonov的宝贵意见和讨论。

研究领域

机器学习 | 计算机视觉

标签

视觉语言模型(VLM) | 学习算法FINISHED