欣淇
发布于 2026-05-11 / 0 阅读
0
0

⚡ LLaMA Factory:71k Stars 的开源微调框架,一行命令微调 100+ 大模型

⚡ LLaMA Factory:71k Stars 的开源微调框架,一行命令微调 100+ 大模型

项目地址:hiyouga/LLaMA-Factory | ⭐ 71k | 🛠 Python | 作者 hiyouga


老实说,模型微调这个事,圈子里一直挺分裂的。想微调 LLaMA 的得折腾一套脚本,想微调 Qwen 的又得换一套,DeepSeek、Gemma、GLM 各搞各的,配环境都能配一上午。

LLaMA Factory 就是冲着这个痛点来的——一个框架搞定 100+ 模型的微调,从 LLaMA 3、Qwen 3、DeepSeek R1 到 Gemma 3、GLM-4,全兼容。还支持 LoRA、QLoRA、全参微调、DPO、PPO 等各种训练方法。而且被 Amazon、NVIDIA、阿里云拿去生产用,不是玩具。

⚡ 安装:两条命令

git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git
cd LlamaFactory
pip install -e .

想要监控指标的话再加个依赖:

pip install -r requirements/metrics.txt

或者直接用官方 Docker 镜像,一行搞定:

docker run -it --rm --gpus=all --ipc=host hiyouga/llamafactory:latest

🚀 微调 + 推理 + 导出:各一行命令

LLaMA Factory 的用法简洁到离谱。用 3 条命令跑通 LoRA 微调的完整流程,以 Qwen3-4B-Instruct 为例:

微调:

llamafactory-cli train examples/train_lora/qwen3_lora_sft.yaml

推理聊天:

llamafactory-cli chat examples/inference/qwen3_lora_sft.yaml

合并 LoRA 权重:

llamafactory-cli export examples/merge_lora/qwen3_lora_sft.yaml

每个配置项都在 YAML 文件里,不用记一堆命令行参数,改个文件就行。LoRA、QLoRA、全参微调,换配置文件就能切。

🖥 Web UI 训练界面

不想写 YAML?LLaMA Factory 自带 Gradio Web UI:

llamafactory-cli webui

浏览器打开就能可视化选模型、调参数、点按钮开始训练,训练过程还实时显示 loss 曲线。适合刚入门微调的同学。

🔧 部署成 API

微调完的模型一行命令启动 OpenAI 兼容 API:

API_PORT=8000 llamafactory-cli api examples/inference/qwen3.yaml

启动后直接用 curl 调:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-4b",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

还能切到 vLLM 后端,推理速度拉满:

API_PORT=8000 llamafactory-cli api examples/inference/qwen3.yaml \
  infer_backend=vllm vllm_enforce_eager=true

🎯 支持的训练方法

LLaMA Factory 不是只能简单微调。它支持的训练方法覆盖了当前主流需求:

  • SFT(监督微调)— 给模型注入领域知识
  • DPO / KTO / ORPO / SimPO — 偏好对齐,让模型输出更符合人类口味
  • PPO — 强化学习对齐
  • Reward Modeling — 训练奖励模型
  • Pre-Training — 从零预训练(不太常见但支持)
  • 量化方面,LoRA + 4bit QLoRA 可以在单张 24GB 显卡上微调 70B 模型,原理是 FSDP+QLoRA 组合拳,官方博客有详细说明。

    💡 实用技巧

    训练时加几个 flag 能明显提升效果:

    # 启用 FlashAttention-2(需要 A100/H100 或 RTX4090)
    flash_attn: fa2
    
    # 用 Unsloth 加速 LoRA(训练速度提升 170%)
    use_unsloth: true
    
    # NEFTune 噪声增强(提升泛化)
    neftune_noise_alpha: 5
    
    # 用 Liger Kernel 省显存
    enable_liger_kernel: true
    

    总结

  • 一个框架覆盖 100+ 模型,LLaMA、Qwen、DeepSeek、Gemma、GLM 等都支持,不用每个模型配一套环境
  • 3 条命令跑通微调→推理→导出,Web UI 对新手友好,YAML 配置对老手灵活
  • LoRA/QLoRA/全参/DPO/PPO 全支持,量化到 4bit 都行,单卡也能玩 70B
  • 生产级部署,Amazon、NVIDIA 都在用,一行命令起 OpenAI 兼容 API + vLLM 后端
  • 别问为啥不早用这玩意儿——装完你就知道了

  • 评论