基于凸优化的分层后训练修剪器应用于大型语言模型

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

本文介绍了多种基于优化的模型剪枝方法,包括 ALPS、LLM-Pruner 和 LoRAPrune,旨在提升大型语言模型的效率和性能。ALPS 在稀疏模型上显著降低困惑度,LLM-Pruner 通过结构修剪保持多任务能力,而 LoRAPrune 则通过迭代剪枝最大化性能。此外,TextPruner 和 FLAP 也展示了在不重新训练的情况下有效压缩模型的能力。

🔎

延伸解读

剪枝方法的两条技术路线

文章介绍的多种方法可归为两类:一类需要重新训练或微调,如LLM-Pruner仅需50K数据、3小时内通过LoRA恢复性能,LoRAPrune通过迭代剪枝最大化PEFT优势;另一类无需重新训练,如TextPruner、FLAP和快速Transformer剪枝框架,后者在单个GPU上不到3分钟即可完成修剪。读者可根据计算资源和时间预算选择合适路线。

高稀疏度下的性能保持策略

当稀疏度达到70%时,常规剪枝往往导致性能骤降。ALPS通过操作拆分和预条件共轭梯度后处理,在OPT-30B上实现13%困惑度降低和19%零样本性能提升;CAP则通过保留任务不可知与任务特定知识,在极高稀疏度下仍显著提升性能。这表明后处理与知识保留是维持高稀疏模型效果的关键。

评估剪枝效果的关键指标

文章多次提及困惑度、零样本基准性能和Top-1准确率等指标。例如ALPS在WikiText上降低困惑度,LoRAPrune在VTAB-1k上以0.76%可训练参数取得比幅度和移动剪枝高5.7%和4.3%的Top-1准确率。读者在比较不同方法时,应关注这些指标及对应的稀疏度、数据量和任务类型,而非仅看压缩率。

实际部署中的权衡考量

剪枝方法在压缩率、推理速度、存储节省和恢复成本之间各有侧重。FLAP无需再训练即可减少存储并提升推理速度;快速Transformer剪枝框架在GLUE和SQuAD上实现2倍FLOPs减少和1.56倍推理加速;而LLM-Pruner和LoRAPrune则需少量微调。部署时应根据硬件限制、任务多样性和可接受的重训练开销进行选择。

❓

Q&A

ALPS 方法的主要优势是什么?

ALPS 方法通过操作拆分技术和预条件共轭梯度后处理步骤,显著降低困惑度,特别适用于高度稀疏的模型。

LLM-Pruner 如何保持模型的多任务能力?

LLM-Pruner 通过结构修剪来压缩模型,使其在零样本分类和生成任务中仍能表现良好,仅需 50K 数据即可恢复性能。

LoRAPrune 的工作原理是什么?

LoRAPrune 通过迭代剪枝最大化 PEFT 的优点,删除冗余参数,实现高精度和高压缩比。

TextPruner 有哪些应用场景?

TextPruner 是一个开源工具包,适用于各种模型和任务,能够在多项 NLP 任务中有效压缩模型大小。

FLAP 方法如何提高推理速度?

FLAP 方法通过自适应结构修剪,无需重新训练,能够有效减少存储并提高推理速度。

ContrAstive Pruning 框架的特点是什么?

ContrAstive Pruning 框架保留了模型的任务不可知知识和任务特定知识,在极高稀疏度情况下显著提高模型性能。

🏷️

标签

➡️

继续阅读