LLaMA Factory 微调 Llama3 模型实战指南
LLaMA Factory 是一款开源低代码大模型微调框架,集成了业界广泛使用的微调技术,支持通过 Web UI 界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架之一。
本文介绍了使用 LLaMA Factory 框架对 Llama3-8B 模型进行微调的完整流程。涵盖环境搭建、数据集格式准备、WebUI 界面配置训练参数、模型评估及对话测试等关键步骤,旨在帮助开发者快速掌握开源大模型的本地化微调方法。

LLaMA Factory 是一款开源低代码大模型微调框架,集成了业界广泛使用的微调技术,支持通过 Web UI 界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架之一。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
建议使用显存 24GB 及以上的 GPU(如 A10),以确保微调过程流畅运行。
推荐使用 DSW 官方镜像:modelscope:1.14.0-pytorch2.1.2-gpu-py310-cu121-ubuntu22.04。
首先拉取项目源码:
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
然后安装依赖环境:
pip uninstall -y vllm
pip install llamafactory[metrics]==0.7.1
pip install accelerate==0.30.1
安装完成后,可通过以下命令检查版本:
llamafactory-cli version
LLaMA-Factory 内置了丰富的数据集,位于 data 目录下。用户也可以准备自定义数据集,将数据处理为框架特定的格式放入 data 下,并修改 dataset_info.json 文件。
标准的数据结构如下:
[
{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]
在 dataset_info.json 中,数据集描述应配置为:
"数据集名称": {
"file_name": "data.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output",
"system": "system",
"history": "history"
}
}
可从官方获取示例数据进行测试:
%cd LLaMA-Factory
!wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama_factory/data.zip
!mv data rawdata && unzip data.zip -d data
除了命令行,还可以启动 Web UI 进行微调推理。
设置环境变量并使用 CLI 启动:
export USE_MODELSCOPE_HUB=1 && llamafactory-cli webui
其中 USE_MODELSCOPE_HUB=1 表示模型来源为 ModelScope。
进入 Web 界面后:
train.json 作为数据集,点击「预览数据集」确认数据格式。1e-4,梯度累积步数为 2,这有利于模型拟合。其他参数可根据显存情况按需调整。train_llama3,训练后的 LoRA 权重将保存于此。微调完成后,可进行评估和对话测试:
train_llama3,点击「加载模型」即可在 Web UI 中和微调后的模型进行对话。微调完成后,也可使用命令行直接加载 LoRA 权重进行推理:
llamafactory-cli train \
--stage sft \
--do_predict \
--model_name_or_path meta-llama/Llama-3-8B-Instruct \
--adapter_name_or_path ./train_llama3 \
--dataset alpaca_demo \
--template llama3 \
--finetuning_type lora \
--output_dir ./infer_output
per_device_train_batch_size 或使用 fp16 / bf16 混合精度训练。num_train_epochs)。通过以上步骤,即可完成基于 LLaMA Factory 的 Llama3 模型微调工作。