AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微调LLAMA3,启动!
发布日期:2024-04-21 08:36:59 浏览次数: 1930 来源:思源数据科学


torchtune是PyTorch新开源的LLM微调工具库,并原生支持LLAMA3微调!参考之前推送:

微调自己的大模型:PyTorch开源torchtune

洗数据干翻GPT4?解读LLAMA3!

Llama3-8B


Llama3-8B 是 Meta AI 发布的新型模型,它在一系列不同的基准测试中提高了 Llama2 模型系列的性能。Llama2-7B 和 Llama3-8B 模型之间有几个主要的变化:

  • Llama3-8B 使用分组查询注意力机制,而不是 Llama2-7B 中的标准多头注意力机制。

  • Llama3-8B 拥有更大的词汇表大小(128,256,而不是 Llama2 模型的 32,000)。

  • Llama3-8B 使用了与 Llama2 模型不同的分词器(tiktoken 而非 sentencepiece)。

  • Llama3-8B 在其 MLP(多层感知机)层中使用了比 Llama2-7B 更大的中间维度。

  • Llama3-8B 在计算其旋转位置嵌入(rotary positional embeddings)中的 theta 时使用了更大的值。


获取Llama3-8B

tune download meta-llama/Meta-Llama-3-8B \    --output-dir <checkpoint_dir> \    --hf-token <ACCESS TOKEN>

https://github.com/meta-llama/llama3/blob/main/README.md

微调Llama3-8B

单卡LoRA微调样例:

tune run lora_finetune_single_device --config llama3/8B_lora_single_device

在我们的实验中,我们观察到18.5GB的峰值内存使用量。默认配置可以在具有24 GB VRAM的消费级GPU上进行训练。

如果您有多个可用的GPU,您可以运行分布式版本。torchtune使用PyTorch Distributed的FSDP API来分割模型、优化器状态和梯度。这将使您能够增加批量,从而更快地进行整体培训。例如,在两个设备上:

tune run --nproc_per_node 2 lora_finetune_distributed --config llama3/8B_lora

由于我们的默认配置支持完整的bfloat16训练,因此所有上述命令都可以在具有至少24 GB 显存的设备上运行,事实上,如果使用QLoRA,峰值分配内存甚至低于10 GB。您还可以尝试使用LoRA和QLoRA的不同配置,甚至可以进行全量参数微调。试试看!比如QLoRA微调方法如下:

tune run lora_finetune_single_device --config llama3/8B_qlora_single_device

使用torchtune完全可以实现0代码大模型微调、评测、量化、推理,所要做的仅需要确定微调的YAML配置文件!


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询