模型微调使用LLaMA-Factory教程

如果你正在处理 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 处于开启状态。
相关推荐
workflower2 小时前
相比传统聊天式AI,AI Agent具备的核心能力
人工智能·语言模型·集成测试·软件工程·软件构建·软件需求
大模型任我行3 小时前
清华:Agent记忆框架AdaMem
人工智能·语言模型·自然语言处理·论文笔记
落落落sss4 小时前
大规模语言模型预训练全链路深度解析:从语料工程到自回归推断
人工智能·语言模型·回归
硅谷秋水4 小时前
世界链:潜运动中的世界模型思维
深度学习·计算机视觉·语言模型·机器人
linzᅟᅠ4 小时前
狼人杀 Agent:让 LLM 在信息不对称博弈中推理、欺骗与协作
人工智能·python·语言模型
CHPCWWHSU5 小时前
模型加载与初始化(3)
llm·llama·cpp·cudatoolkit
roman_日积跬步-终至千里5 小时前
【大语言模型基础(2)】自注意力与多头机制:QKV、缩放与因果掩码
人工智能·语言模型·自然语言处理
Lugas Luo7 小时前
如何处理命令行AI 助手的“天敌”-PDF 文件
语言模型
reesn18 小时前
qwen3.5 0.8B纠正任务实践
人工智能·语言模型