如果你正在处理 XXX 数据集,LLaMA-Factory 几乎是目前最推荐的配套工具。它是一个集成了模型训练、微调、评估和推理的一站式开源框架,支持几乎所有主流的开源大模型(如 LLaMA, Qwen, ChatGLM, Baichuan 等)。
简单来说,如果你有数据集但不知道怎么写训练代码,LLaMA-Factory 让你通过可视化界面 或简单的命令就能完成微调。
一、 LLaMA-Factory 是什么?
LLaMA-Factory 的核心优势在于:
- 零代码/低代码:提供 WebUI 界面(一步步点选参数)。
- 全集成:支持预训练、指令微调(SFT)、奖励模型训练(RM)、PPO/DPO 强化学习。
- 高性能优化:原生支持 LoRA、QLoRA、DeepSpeed、FlashAttention-2 等加速技术。
- 丰富的数据格式 :完美支持你下载的
DISC-Law-SFT这种 Alpaca 格式的数据。
二、 如何下载与安装
由于你使用的是 Conda 环境,建议按照以下步骤操作:
1. 克隆仓库
bash
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
2. 安装依赖
建议先进入你的 Conda 环境,然后执行安装:
bash
conda activate your_env_name
pip install -e ".[torch,metrics]"
注意 :
-e表示以可编辑模式安装,这样你修改框架代码会立即生效。[torch,metrics]会安装必要的深度学习库和评估工具。
3. 验证安装
执行以下命令,如果不报错并显示版本号,则安装成功:
bash
llamafactory-cli version
三、 结合 DISC-Law-SFT 的实操流程
下载完 LLaMA-Factory 后,你可以按照以下步骤接入你的法律数据集:
1. 注册数据集
你需要告诉 LLaMA-Factory 你的数据集在哪。打开 data/dataset_info.json,添加一条记录:
json
"disc_law_sft": {
"file_name": "/你的路径/DISC-Law-SFT/disc_law_sft.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output"
}
}
2. 启动可视化界面 (WebUI)
这是对新手最友好的方式,直接在浏览器操作:
bash
export GRADIO_SERVER_PORT=7860 # 设置端口
llamafactory-cli webui
然后在浏览器访问 服务器IP:7860,在界面里选择 disc_law_sft 数据集即可开始微调。
四、 常用命令总结
| 操作 | 命令 |
|---|---|
| 启动 WebUI | llamafactory-cli webui |
| 单卡训练 (SFT) | llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml |
| 模型推理 (Chat) | llamafactory-cli chat examples/inference/llama3_lora_sft.yaml |
| 模型导出 (Merge) | llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml |
避坑指南:
- 显存不足 :如果你的显卡显存小于 24G,训练时务必开启
QLoRA(4-bit) 模式。 - 镜像加速 :在微调开始时,框架可能会去 Hugging Face 下载基础模型(如 LLaMA3),记得保持
export HF_ENDPOINT=https://hf-mirror.com处于开启状态。