跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

LLaMA-Factory 本地部署与微调指南

在本地环境部署 LLaMA-Factory 并进行大语言模型微调的完整流程。首先检查硬件环境,确保 GPU 驱动及 CUDA 版本符合要求。接着创建 Conda 虚拟环境并安装项目依赖。通过 WebUI 界面加载预训练模型,配置 QLoRA 微调参数,选择数据集进行训练。支持实时监控 Loss 曲线与显存占用。训练完成后,执行模型合并与导出,并提供命令行推理及 API 服务部署方案,实现个性化模型的本地化应用。

乱七八糟发布于 2026/4/6更新于 2026/9/473 浏览

LLaMA-Factory 本地部署与微调指南

在大模型技术快速发展的背景下,LLaMA-Factory 等开源项目使得大语言模型的微调不再局限于顶级实验室。本文将介绍如何搭建环境、加载模型、配置训练参数,并生成支持中文指令的个性化模型。

硬件与环境检查

虽然 LLaMA-Factory 支持 CPU 推理,但为了跑通微调任务,GPU 是必要的。

打开终端执行以下命令检查 NVIDIA 显卡驱动和 CUDA 环境:

nvidia-smi

如果输出包含 GPU 信息,说明环境基本正常。重点关注三点:

  1. CUDA 版本 ≥ 11.8:PyTorch 训练的底线要求;
  2. 显存 ≥ 16GB:推荐用于 7B 模型的 QLoRA 微调;若只跑 3B 模型,12GB 显存勉强够用;
  3. 多卡支持:如果有多个 GPU,可以并行加速训练。

注意:如果命令报错或显示'NVIDIA-SMI has failed',可能是驱动未安装。请前往 NVIDIA 官网下载对应驱动,并安装 CUDA Toolkit。

开始部署:从零搭建运行环境

克隆项目源码

创建专属工作目录并克隆仓库。建议使用 Gitee 镜像源以优化国内网络访问:

mkdir llama-factory-project && cd llama-factory-project
git clone https://gitee.com/hiyouga/LLaMA-Factory.git

如果 GitHub 访问稳定,也可以直接拉取官方仓库(带 --depth 1 可节省时间):

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

创建 Conda 虚拟环境

为避免依赖冲突,建议使用 Conda 管理 Python 环境:

conda create -n llama_factory python=3.10 -y
conda activate llama_factory

激活后,命令行提示符前会出现 (llama_factory) 标识。

安装核心依赖

进入项目根目录,执行安装命令:

cd LLaMA-Factory
pip install --upgrade pip
pip install -e ".[torch,metrics]"

该命令会自动安装 transformers, datasets, peft, accelerate, trl, sentencepiece, safetensors, bitsandbytes 等关键库。

安装完成后,验证是否成功:

llamafactory-cli version

如果返回版本号,说明核心组件已就位。

验证 GPU 可用性

确认 PyTorch 是否识别到了你的 GPU:

 torch
(, torch.cuda.is_available())
(, torch.cuda.device_count())
(, torch.cuda.current_device())
(, torch.cuda.get_device_name())
(, torch.__version__)
import
print
"CUDA Available:"
print
"GPU Count:"
print
"Current Device:"
print
"Device Name:"
0
print
"PyTorch Version:"

只要 CUDA Available 为 True,就可以进入下一步。

启动 WebUI:开启可视化操作

LLaMA-Factory 提供图形化界面,可在浏览器中完成模型微调。

启动服务只需一条命令:

llamafactory-cli webui

首次运行时会自动下载 Gradio 并启动本地服务器,默认地址是:

http://127.0.0.1:7860

打开浏览器访问该链接,可以看到功能完整的控制台,支持中英文切换,实时展示 loss 曲线、GPU 利用率等信息。

提示:添加 --host 0.0.0.0 --port 8080 参数可以让局域网内的其他设备访问你的服务。

获取预训练模型

LLaMA-Factory 本身不包含模型权重,需自行从 Hugging Face 或 ModelScope 下载。

平台地址特点
Hugging Facehttps://huggingface.co/models国际主流平台,模型丰富
魔搭社区 (ModelScope)https://modelscope.cn/models国内高速访问,适合中文用户

我们以阿里云的 Qwen2.5-3B-Instruct 为例进行演示。

方法一:使用 Git LFS 下载

git lfs install
git clone https://www.modelscope.cn/qwen/Qwen2.5-3B-Instruct.git models/qwen2.5-3b-instruct

建议将模型统一放在项目下的 models/ 目录中。

方法二:通过 ModelScope SDK 下载

先安装 SDK:

pip install modelscope

再运行 Python 脚本:

from modelscope.hub.snapshot_download import snapshot_download
model_dir = snapshot_download('qwen/Qwen2.5-3B-Instruct', cache_dir='./models')
print(f"Model saved to {model_dir}")

配置并启动 QLoRA 微调任务

设置模型参数

打开 WebUI 的【训练】页面,填写以下内容:

字段值
模型名称qwen/Qwen2.5-3B-Instruct
模型路径./models/qwen2.5-3b-instruct
适配器名称lora_rank_8
微调方法LoRA
量化等级bitsandbytes-int4

使用 int4 量化能显著降低显存占用,非常适合消费级显卡用户。

选择训练数据集

LLaMA-Factory 内置了多个常用数据集模板,例如 alpaca_zh, firefly, dolly-chinese 等。

本次选用 alpaca_zh 中文指令数据集,包含 instruction, input, output 三字段。

如需上传自定义数据:

  1. 把 .json 或 .csv 文件放入 data/ 目录;
  2. 在 WebUI 中选择【自定义数据集】;
  3. 配置字段映射规则即可。

配置超参数

设置一组典型的 QLoRA 参数:

参数值说明
学习率2e-4AdamW 默认初始值
批大小16Global batch size
梯度累积步数4提升有效批大小
训练轮数3防止过拟合
LoRA 秩 (r)8控制新增参数规模
LoRA Alpha16一般设为 2×r
Dropout0.1正则化防止过拟合
最大序列长度512平衡上下文长度与显存占用

还可以启用高级优化选项:

  • 使用 FlashAttention-2 加速注意力计算
  • 开启梯度检查点(Gradient Checkpointing)节省显存
  • 启用 WANDB 日志记录

启动训练

点击【预览命令】,系统会自动生成对应的 CLI 指令,例如:

CUDA_VISIBLE_DEVICES=0 llamafactory-cli train \
--model_name_or_path ./models/qwen2.5-3b-instruct \
--do_train \
--dataset alpaca_zh \
--finetuning_type lora \
--lora_rank 8 \
--output_dir output/qwen_lora_3b \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 4 \
--learning_rate 2e-4 \
--num_train_epochs 3.0 \
--max_seq_length 512 \
--quantization_bit 4 \
--fp16

确认无误后,点击【开始】按钮,训练正式开始。

实时监控

训练启动后,WebUI 会实时更新 Loss 曲线图、GPU 显存与利用率、实时日志输出及预估剩余时间。

通常情况下,每 100 步保存一次 checkpoint,文件位于 output/ 目录下。建议定期备份 output/ 文件夹。

模型合并与导出

训练结束后,LoRA 权重只是附加在原模型上的'补丁'。要想独立部署,必须将其与基础模型融合。

使用 WebUI 合并

进入【合并适配器】页面:

  • 基础模型路径:./models/qwen2.5-3b-instruct
  • 输出路径:merged_models/qwen2.5-3b-instruct-lora-merged
  • 点击【开始合并】

命令行方式(备用)

llamafactory-cli export \
--model_name_or_path ./models/qwen2.5-3b-instruct \
--adapter_name_or_path output/qwen_lora_3b \
--export_dir merged_models/qwen2.5-3b-instruct-lora-merged \
--export_quantization_bit 4 \
--export_device cuda

合并后的模型可用于本地交互测试、部署为 API 服务或上传至 Hugging Face。

推理与部署

本地交互式推理

快速测试微调效果:

llamafactory-cli chat \
--model_name_or_path merged_models/qwen2.5-3b-instruct-lora-merged

启动 API 服务

将模型暴露为 RESTful 接口:

llamafactory-cli api \
--model_name_or_path merged_models/qwen2.5-3b-instruct-lora-merged \
--port 8080

然后通过 curl 测试:

curl -X POST "http://127.0.0.1:8080" \
-H "Content-Type: application/json" \
-d '{ "messages": [{"role": "user", "content": "请介绍一下你自己"}] }'

响应示例:

{
  "response": "我是经过指令微调的 Qwen 模型,能够更好地理解和回答中文问题……"
}

这意味着你的模型已经准备好接入前端应用、聊天机器人或知识库系统。

目录

  1. LLaMA-Factory 本地部署与微调指南
  2. 硬件与环境检查
  3. 开始部署:从零搭建运行环境
  4. 克隆项目源码
  5. 创建 Conda 虚拟环境
  6. 安装核心依赖
  7. 验证 GPU 可用性
  8. 启动 WebUI:开启可视化操作
  9. 获取预训练模型
  10. 方法一:使用 Git LFS 下载
  11. 方法二:通过 ModelScope SDK 下载
  12. 配置并启动 QLoRA 微调任务
  13. 设置模型参数
  14. 选择训练数据集
  15. 配置超参数
  16. 启动训练
  17. 实时监控
  18. 模型合并与导出
  19. 使用 WebUI 合并
  20. 命令行方式(备用)
  21. 推理与部署
  22. 本地交互式推理
  23. 启动 API 服务

更多推荐文章

查看全部
  • MySQL MVCC 原理详解:从并发控制到隔离级别
  • Trae 集成 GitHub MCP Server 配置与自定义智能体
  • 提示词工程(Prompt Engineering)基础与实践指南
  • GitHub Copilot 学生开发者包申请与激活指南
  • Linux System V 共享内存深度解析与实战封装
  • GitHub 之外:国内外主流代码托管平台推荐与选型
  • C++ 继承机制详解:从基础到多继承
  • 2025 年学生常用 AI 降重工具指南
  • Mac Mini M4 本地 AI 模型实战:从 Ollama 到 Stable Diffusion 配置指南
  • 基于FPGA的五级积分梳状CIC滤波器Verilog设计
  • OpenCode + GitHub Copilot:国内开发者的 Claude Code 替代方案
  • Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测
  • jQuery 核心知识详解:语法、DOM 操作与插件应用
  • OpenClaw Zero Token:基于浏览器自动化的免 Token 大模型调用方案
  • CVPR2025 DEIM 目标检测模型训练教程:Windows 环境配置与数据集部署
  • WebAssembly 技术全景解析:核心机制与应用场景
  • Skills 智能体驱动开发:从使用到项目实战详解
  • 2024 年十大开源渗透测试工具详解
  • Whisper 语音识别模型定制化训练与部署指南
  • MuGo 源码逐行解读:从特征提取到蒙特卡洛树搜索

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online