大规模语言模型的稀疏微调扩展

💡 原文中文,约1800字,阅读约需5分钟。
📝

内容提要

本文综述大语言模型高效微调方法:QFT量化全参数调优将内存降至21%,单卡可调LLaMA-7B;LOMO融合梯度计算与参数更新,单机8卡可微调65B模型;SIFT、SquareHead、DSnoT等稀疏微调提升稀疏模型性能;研究还揭示LoRA微调存在灾难性遗忘及缩放规律,并探讨多语言与少样本场景下的参数高效微调效果。

🔎

延伸解读

内存优化:从量化到融合更新

QFT通过量化模型状态和采用Lion优化器,将内存降至标准方案的21%,使单张A6000 GPU即可微调LLaMA-7B。LOMO则融合梯度计算与参数更新,在8张RTX 3090上全参数微调65B模型。这些方法从不同角度降低内存需求,为资源有限的研究者提供了可行路径。

稀疏微调:提升稀疏模型性能

针对稀疏语言模型,SquareHead利用L2范数蒸馏在高稀疏率下恢复精度,DSnoT无需训练即可提升性能,SIFT基于梯度稀疏性设计。这些方法表明,稀疏微调不仅能保持模型效率,还能在专门任务上达到与密集模型相近的效果,并带来CPU和GPU上的实际速度提升。

遗忘风险:LoRA微调的隐患

研究发现,参数高效微调仍存在灾难性遗忘,尤其LoRA微调中遗忘量与性能呈强线性关系,且遗忘随参数数量和更新步数呈移位幂律增长。提前停止或调整参数数量无法避免遗忘,这提示未来需开发兼顾性能与安全性的微调方案。

多语言与少样本:机遇与权衡

在多语言场景中,微调较小开源模型有时能缩小与大规模模型的差距,但可能降低英语性能;低资源语言性能可能提升,而高资源语言可能下降。少样本生成任务中,某些参数高效方法在挑战性数据集上表现不佳。这些发现提醒实践者需根据语言和任务特点选择微调策略。

❓

Q&A

QFT 量化全参数调优框架如何降低内存需求?

QFT 采用 Lion 优化器和整数值量化存储模型状态,将模型状态内存减少到标准方案的 21%,调优 LLaMA-7B 仅需 30GB 内存,单张 A6000 GPU 即可完成。

LOMO 优化器有什么特点,能微调多大的模型?

LOMO 将梯度计算和参数更新融合为一步,降低全参数微调的内存使用,可在单台 8 卡 RTX 3090 机器上微调 65B 参数的模型。

稀疏微调方法 SIFT、SquareHead 和 DSnoT 分别有什么作用?

SIFT 是基于梯度的稀疏微调算法,利用参数梯度稀疏性提升效果;SquareHead 是基于 L2 范数的蒸馏方法,在高稀疏率下实现准确恢复并加速 CPU/GPU 执行;DSnoT 是训练无关的微调方法,能有效提高稀疏语言模型性能。

LoRA 微调是否存在灾难性遗忘问题?

是的,研究发现参数高效微调策略(包括 LoRA)仍存在灾难性遗忘,遗忘量随微调参数数量和更新步数呈移位幂律增长,且无法通过提前停止或调整参数数量避免。

参数高效微调如何影响多语言模型的性能?

对 LLaMA-7B 和 Mistral-7B 进行多语言指令微调可缩小英语与其他语言的性能差距,较高秩和量化值有利于低资源语言,但可能降低英语和高资源语言的性能。

delta tuning 方法分为哪几类?

delta tuning 方法分为三组:基于加法、基于规范和基于重新参数化的方法,并在 100 多个 NLP 任务上进行了综合比较。

🏷️

标签

➡️

继续阅读