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"

