用途:LoRA 用于大语言模型的参数高效微调。它冻结预训练权重,将权重更新分解为低秩矩阵 W' = W + BA,只训练少量新增参数,从而在有限显存下完成微调,并可用适配器切换多任务。
主要能力:支持因果语言建模、序列分类、序列到序列、Token 分类等任务;可配置秩 r、lora_alpha、target_modules、lora_dropout、bias、modules_to_save、layers_to_transform、rank_pattern、alpha_pattern、use_rslora、use_dora 等;支持 QLoRA 4 位量化微调;支持保存、加载、切换与合并适配器,也支持按样本选择适配器(用 base 表示基础模型)。
使用方式:安装 pip install peft transformers accelerate。用 LoraConfig 配置后经 get_peft_model 应用;QLoRA 需 BitsAndBytesConfig 与 prepare_model_for_kbit_training;训练可用 Hugging Face Trainer 或 TRL 的 SFTTrainer;保存用 save_pretrained,加载用 PeftModel.from_pretrained,部署前可用 merge_and_unload 合并。
适用场景:显存受限时微调 7B 及以上模型、需要为多个任务保存小型适配器、分类任务中配合 modules_to_save 训练任务头。
限制与注意:资料给出 7B 模型全量微调约 60 GB、LoRA 约 16 GB、QLoRA 约 6 GB 的显存参考;MoE 专家权重非 nn.Linear 时需用 target_parameters,且延迟敏感推理前应合并适配器;梯度检查点约慢 20%;具体效果、收费与平台支持暂未提供。