SuperAPI AI 工具集

peft-fine-tuning

智能体与模型

查看项目

更新于 10-21 16:19

技能介绍

用途

PEFT(Parameter-Efficient Fine-Tuning,参数高效微调)用于以极低的可训练参数量微调大语言模型。它通过 LoRA、QLoRA、IA3、AdaLoRA、Prefix Tuning、Prompt Tuning 等 25 种以上适配器方法,只训练不到 1% 的参数,从而降低显存占用与存储成本。

适用场景包括:在消费级 GPU(RTX 4090、A100)上微调 7B-70B 模型;需要训练少于 1% 参数(适配器约 6MB,而完整模型约 14GB);希望用多个任务专用适配器快速迭代;从同一基础模型部署多个微调变体。当显存是主要约束、需要在单张 24GB GPU 上微调 70B 模型时,可使用 QLoRA(PEFT + 量化),但需接受相对完整微调约 5% 的质量折衷。若训练小于 1B 参数的小模型、需要最高质量且有算力预算,或领域偏移显著需要更新全部权重,则应改用完整微调。

主要能力

  • 支持 LoRA、QLoRA、AdaLoRA、IA3、Prefix Tuning、Prompt Tuning、P-Tuning v2 等多种方法。
  • 提供 LoRA 参数选择指导:秩(r)从 4 到 64,alpha 通常为 2*r,并给出不同架构的目标模块列表(Llama/Mistral/Qwen、GPT-2/GPT-Neo、Falcon、BLOOM),以及 PEFT 0.6.0+ 的 "all-linear" 自动检测。
  • 支持加载、合并适配器:可用 PeftModel 或 AutoPeftModelForCausalLM 加载,用 merge_and_unload 合并后部署,并推送到 Hub。
  • 支持多适配器服务:加载多个适配器并在运行时切换,或禁用适配器使用基础模型。
  • 提供与 TRL(SFTTrainer)、Axolotl(YAML 配置)、vLLM(推理)的集成模式。
  • 提供性能基准:Llama 3.1 8B 的显存占用、A100 80GB 的训练速度、MMLU 质量对比。
  • 提供常见问题排查:CUDA OOM、适配器未生效、质量下降,以及最佳实践。

使用方式

安装:

# 基础安装
pip install peft

# 带量化支持(推荐)
pip install peft bitsandbytes

# 完整栈
pip install peft transformers accelerate bitsandbytes datasets

LoRA 微调(标准):加载基础模型与分词器,配置 LoraConfig(task_type、r、lora_alpha、lora_dropout、target_modules、bias),用 get_peft_model 应用后打印可训练参数,准备数据集并分词,配置 TrainingArguments 与 Trainer 进行训练,最后仅保存适配器。

QLoRA 微调(显存高效):使用 BitsAndBytesConfig 配置 4-bit 量化(load_in_4bit、bnb_4bit_quant_type="nf4"、bnb_4bit_compute_dtype="bfloat16"、bnb_4bit_use_double_quant),加载量化模型后用 prepare_model_for_kbit_training 准备训练,再应用 LoRA 配置。

加载与合并适配器:可用 PeftModel.from_pretrained 或 AutoPeftModelForCausalLM.from_pretrained 加载;用 merge_and_unload 合并后保存或推送。

多适配器服务:加载基础模型与首个适配器后,用 load_adapter 加载更多适配器,用 set_adapter 在运行时切换,用 disable_adapter 临时禁用。

集成:TRL 的 SFTTrainer 可直接传入 peft_config;Axolotl 通过 YAML 配置 adapter、lora_r、lora_alpha、lora_dropout、lora_target_modules 等;vLLM 通过 enable_lora 与 LoRARequest 提供适配器推理。

适用场景

  • 在有限显存下微调 7B-70B 大语言模型。
  • 需要为多个任务分别保存轻量适配器并快速切换。
  • 从单一基础模型部署多个微调变体。
  • 在单张 24GB GPU 上微调 70B 模型(QLoRA)。
  • 需要极少参数(如 IA3 约 0.01%、Prompt Tuning 约 0.001%)的适配场景。

限制

  • QLoRA 相对完整微调存在约 5% 的质量折衷。
  • 小模型(小于 1B 参数)、需要最高质量或显著领域偏移时,应使用完整微调。
  • 不同方法在可训练比例、显存、速度上各有取舍,需按场景选择。
  • 具体收费、价格、平台支持等信息暂未提供。