模型微调使用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 处于开启状态。
相关推荐
AndrewHZ1 小时前
【LLM技术全景】混合精度与分布式训练:训练大模型的工程奥秘
人工智能·分布式·深度学习·算法·ai·语言模型·llm
CIO_Alliance17 小时前
企业级AI化转型基础认知(2):大语言模型、RAG、Agent与微调核心概念一次厘清
人工智能·深度学习·机器学习·语言模型·ipaas·系统集成·企业cio联盟
heroboyluck1 天前
AI工程师第四课 - 深度学习入门
人工智能·python·深度学习·llama
夜雪一千2 天前
Qwen3全解析:通义千问第三代开源大模型,重新平衡推理能力与落地成本
语言模型·开源
城中南小2 天前
零基础认识大语言模型(LLM)工作原理(5.Transformer的FFN模块到底是什么?)
人工智能·语言模型·transformer
MartinYeung53 天前
[论文学习]PrivacyLens:评估语言模型在行动中的隐私规范意识
人工智能·学习·语言模型
牧濑红莉3 天前
零基础认识大语言模型(LLM)工作原理(2.Token 到底是什么?)
人工智能·语言模型·chatgpt
MartinYeung53 天前
[论文学习]揭示大语言模型智能体记忆模块中的隐私风险
人工智能·学习·语言模型
forestsea3 天前
GLM-4-9B-Chat-1M 模型在 openEuler 系统上的完整部署文档
人工智能·ai·语言模型
硅谷秋水4 天前
World Engine:迈向自动驾驶的后训练时代
人工智能·深度学习·机器学习·计算机视觉·语言模型·自动驾驶