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 训练范式的文档
此食谱中可以使用我们许多其他内存优化功能。您可以在我们的 内存优化概述 中了解更多关于我们所有内存优化功能的信息。
想看看此食谱的实际应用?查看我们的一些教程,展示如何使用它