PEFT(参数高效微调)是一个库,用于有效地将预训练的语言模型(PLMs)适应各种下游应用,而无需微调所有模型的参数。PEFT 方法仅微调少量(额外)模型参数,显著降低了计算和存储成本,因为微调大型 PLMs 的成本过高。最近的最先进的 PEFT 技术达到了与完全微调相当的性能。
PEFT 与 Accelerate 完美集成,用于利用 DeepSpeed 和 Big Model Inference 对大型模型。
入门:如果您是 PEFT 的新手,从这里开始,了解库的主要功能以及如何使用 PEFT 方法训练模型。
操作指南:实用指南,展示如何在图像分类、因果语言建模、自动语音识别等不同类型的任务中应用各种 PEFT 方法。了解如何使用 PEFT 与 DeepSpeed 和完全分片数据并行脚本。
概念指南:更好地理解 LoRA 和各种软提示方法如何帮助减少可训练参数的数量,使训练更高效。
参考:描述 PEFT 类和方法如何工作的技术描述。
下表列出了每项任务支持的 PEFT 方法和模型。要应用特定的 PEFT 方法进行任务,请参阅相应的任务指南。
模型 | LoRA | Prefix Tuning | P-Tuning | Prompt Tuning | IA3 |
---|---|---|---|---|---|
GPT-2 | ✅ | ✅ | ✅ | ✅ | ✅ |
…(其他模型和任务的表格内容) |
我们已经为 ViT 和 Swin 测试了在图像分类上的微调。然而,应该可以在 Transformers 中使用 LoRA 对任何 基于ViT的模型 进行微调。查看 图像分类 任务指南以了解更多信息。如果您遇到问题,请开启一个问题。
…(其他模型和任务的表格内容)
与图像到文本模型一样,您应该能够将 LoRA 应用于任何 分割模型。值得注意的是,我们尚未在每个架构上进行测试。因此,如果您遇到任何问题,请亲切地创建一个问题报告。
模型 | LoRA | Prefix Tuning | P-Tuning | Prompt Tuning | IA3 |
---|---|---|---|---|---|
SegFormer | ✅ |