LoRA 单设备微调¶
此配方支持使用参数高效的微调技术(PEFT)对下一个标记预测任务进行微调,例如 低秩适应(LoRA) 和 量化低秩适应(QLoRA)。这些技术在训练过程中显著降低了内存消耗,同时仍保持了具有竞争力的性能。
我们提供配置文件,助您快速上手。以下是 Llama 3.1 8B 的示例:
注意
您可能需要获得访问您感兴趣的Llama模型的权限。有关访问受限制仓库的详细信息,请参阅 此处。
# download the model
tune download meta-llama/Meta-Llama-3.1-8B-Instruct \
--output-dir /tmp/Meta-Llama-3.1-8B-Instruct \
--ignore-patterns "original/consolidated.00.pth"
# run the recipe
tune run lora_finetune_single_device \
--config llama3_1/8B_lora_single_device
您可以使用 torchtune 命令行界面 (CLI) 自定义此配方。例如,在使用 LoRA 进行微调时,您可以调整 LoRA 应用的层:
tune run lora_finetune_single_device \
--config llama3_1/8B_lora_single_device \
model.lora_attn_modules=“[q_proj,k_proj,v_proj]” \
model.apply_lora_to_mlp=True \
model.lora_rank=64 \
model.lora_alpha=128
为了更深入地了解在使用此配方时可以操作的各种参数,请参阅我们关于支持的不同PEFT训练范式的文档:
我们的其他许多内存优化功能也可以在这个配方中使用。您可以在我们的 内存优化概览 中了解更多关于所有内存优化功能的信息。
想看看这个示例的实际效果吗?查看我们的部分教程,了解如何应用它: