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

LLaMA-Factory 推理实战指南:从配置到生产部署

LLaMA-Factory 推理全流程涵盖环境准备、YAML 配置、命令行与 Web 交互、批量生成及 API 服务化部署。重点介绍 vLLM 引擎优化显存与吞吐量,解决 CUDA OOM、模板匹配等常见问题,并提供不同场景下的推理策略建议,助力大模型高效落地。

橘子海发布于 2026/4/8更新于 2026/5/2318 浏览

LLaMA-Factory 推理实战:从配置到生产部署的全流程指南

LLaMA-Factory 是一个标准化的大语言模型运行时平台。支持通义千问、百川、ChatGLM 和 Llama 3 等模型,以统一方式加载、对话、批量生成甚至发布为 API。

环境准备

推荐使用 Python ≥ 3.10 和 PyTorch 2.0+ 环境。项目克隆后安装依赖:

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt

若追求高吞吐量,建议额外安装 vllm:

pip install vllm

vLLM 的 PagedAttention 技术能显著提升显存利用率,在高并发场景下性能可达 Hugging Face 默认生成器的 3~5 倍。初期调试建议先用 Hugging Face 后端,特别是多模态或结构特殊的模型。

模型支持

支持稳定运行的模型包括 Meta 的 LLaMA 系列、阿里云 Qwen 系列、百川 Baichuan2、智谱 ChatGLM3 及多模态代表 LLaVA、Qwen-VL 等。可通过 Hugging Face Hub 直接拉取或本地路径加载。无论原始模型还是微调结果(LoRA、QLoRA、全参数),只需修改配置文件中的 finetuning_type 和适配器路径即可切换。

配置文件

使用 YAML 文件定义模型行为。典型配置包含以下字段:

参数名作用说明
model_name_or_path模型来源,支持 HF 仓库名或本地路径
template对话模板,决定输入拼接方式,必须与模型匹配
adapter_name_or_path微调后产生的适配器权重路径(LoRA/QLoRA)
finetuning_type微调类型,可选 lora, qlora, full
infer_backend推理引擎,huggingface 或 vllm
load_in_4bit是否启用 4-bit 量化加载,节省显存

template 最容易出问题。例如 Qwen 系列必须使用 qwen 模板,ChatGLM 要用 chatglm3,Llama 3 需对应 llama3。如果官方未提供合适模板,可自定义分隔符格式:

custom_template:
  system: "<|system|>\n{content}<|end|>\n"
  user: "<|user|>\n{content}<|end|>\n"
  assistant: "<|assistant|>\n{content}<|end|>\n"

推理任务

命令行交互模式

使用 Qwen-7B-Instruct 进行即兴对话:

# qwen_original.yaml
model_name_or_path: Qwen/Qwen-7B-Instruct
template: qwen
infer_backend: huggingface

执行:

llamafactory-cli chat qwen_original.yaml
Web 界面测试

对于微调后的模型,如医学数据训练的 Baichuan2-13B-Chat + LoRA:

# baichuan2_lora_medical.yaml
model_name_or_path: baichuan-inc/Baichuan2-13B-Chat
adapter_name_or_path: saves/baichuan2-lora-medical
template: baichuan2
finetuning_type: lora
infer_backend: vllm

启动 Web 界面:

llamafactory-cli webchat baichuan2_lora_medical.yaml

浏览器打开 http://0.0.0.0:7860 输入专业问题验证效果。

批量推理

准备 JSON 格式数据集:

[
  {"instruction": "高血压的诊断标准是什么?"},
  {"instruction": "冠心病的主要症状有哪些?"},
  {"instruction": "如何预防脑卒中?"}
]

建议先将适配器合并进原模型:

python src/llmtuner/export_model.py \
  --model_name_or_path baichuan-inc/Baichuan2-13B-Chat \
  --adapter_name_or_path saves/baichuan2-lora-medical \
  --output_dir models/baichuan2-13b-medical-merged \
  --finetuning_type lora

利用 vLLM 脚本进行高速批量生成:

python scripts/vllm_infer.py \
  --model_name_or_path models/baichuan2-13b-medical-merged \
  --dataset data/medical_qa.json \
  --output_dir results/medical_answers.json \
  --tensor_parallel_size 2 \
  --max_num_batched_tokens 4096

服务化部署

将模型封装为 RESTful API,内置 OpenAI 兼容接口。

创建配置文件:

# chatglm3_lora_api.yaml
model_name_or_path: THUDM/chatglm3-6b
adapter_name_or_path: saves/chatglm3-lora-finance
template: chatglm3
finetuning_type: lora
infer_backend: huggingface

启动 API 服务:

API_PORT=8000 CUDA_VISIBLE_DEVICES=0 llamafactory-cli api chatglm3_lora_api.yaml

服务启动后会显示 Uvicorn 运行地址,可直接使用 OpenAI SDK 调用。

常见问题排查

  • CUDA out of memory:启用 4-bit 量化 (load_in_4bit: true),调整 vLLM 显存利用率 (--gpu_memory_utilization 0.8),极端情况启用 CPU 卸载 (device_map: auto)。
  • 模型下载失败:检查仓库名称拼写及网络访问 HF 情况,受限可手动下载改为本地路径。
  • 输出重复或乱码:源于 template 不匹配,查阅文档确认模板名或自定义分隔符规则。

推理策略建议

场景推荐引擎理由
快速测试、多模态模型huggingface兼容性强,调试方便
高并发 API 或批量任务vllm吞吐量高,支持连续批处理
显存紧张设备huggingface + load_in_4bit可运行 QLoRA 70B 级模型

最佳实践是在开发阶段用 Hugging Face 快速迭代,上线前切换至 vLLM 提升性能。

拓展方向

  • 尝试多模态推理:结合 LLaVA 或 Qwen-VL,实现图文联合理解;
  • 引入监控体系:通过 Prometheus + Grafana 跟踪 QPS、延迟、GPU 利用率;
  • 构建自动化流水线:把数据清洗 → 微调 → 推理打包为 CI/CD 流程;
  • 探索边缘部署:配合 GGUF 量化与 llama.cpp,在树莓派等低功耗设备运行小型模型。

目录

  1. LLaMA-Factory 推理实战:从配置到生产部署的全流程指南
  2. 环境准备
  3. 模型支持
  4. 配置文件
  5. 推理任务
  6. 命令行交互模式
  7. qwen_original.yaml
  8. Web 界面测试
  9. baichuan2loramedical.yaml
  10. 批量推理
  11. 服务化部署
  12. chatglm3loraapi.yaml
  13. 常见问题排查
  14. 推理策略建议
  15. 拓展方向
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • AI 产品经理产品开发全流程解析
  • Mac Mini M4 本地 AI 模型实战:从 Ollama 到 Stable Diffusion 配置指南
  • 在嵌入式中实现 O(1) 的字符串 Switch-Case (编译期哈希)
  • C++ 泛型编程与模板技术详解
  • 基于 Spring Boot 的智驿 AI 系统毕业设计项目详解
  • Python 逆向:PyInstaller 反编译实战指南
  • KrLongAI 旗博士:本地部署 AI 数字人口播视频自动化工程
  • AI 写作辅助平台指南:炼字工坊与蛙蛙写作
  • 支持国内股票分析的 AI 开源项目 GitHub 精选
  • 无人机多源融合定位:GPS/北斗标定、抗干扰与精度提升
  • FastGPT 结合 MCP 协议构建工具增强型智能体
  • NVIDIA Jetson Orin Nano 8GB 开发套件测评:AI 识别与边缘计算性能解析
  • 本地瓦片地图服务器搭建与配置实战指南
  • AI Copilot 代码推荐出错率高?掌握调试技巧提升准确率
  • 基于 Python Django Vue3 的网上鲜花商城系统设计与实现
  • AIGC 在现代教育技术中的应用与展望
  • Kiro 安装与使用指南:AWS 新一代 AI IDE 两种部署方式
  • Tomcat 安装与配置指南
  • 无监督学习的原理、算法与结构发现
  • Coze ChatSDK 纯前端实现会话隔离

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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