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 命令行界面自定义此配方。例如,在使用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训练范式的文档:
我们许多其他的内存优化功能也可以在这个配方中使用。您可以在我们的内存优化概述中了解更多关于我们所有内存优化功能的信息。
有兴趣看看这个配方如何实际应用吗?查看我们的一些教程,展示如何使用它: