LLaMA-Factory 模型推理指南
·
1. 核心推理方式
1.1 交互式对话
# 基础命令
llamafactory-cli chat inference_config.yaml
# 示例(原始模型)
llamafactory-cli chat examples/inference/llama3.yaml
# 示例(微调模型)
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
1.2 Web交互界面
# 启动Web聊天界面
llamafactory-cli webchat inference_config.yaml
# 多模态模型专用
llamafactory-cli webchat examples/inference/llava1_5.yaml
2. 配置文件详解
2.1 基础配置项
# 必须参数
model_name_or_path: "meta-llama/Meta-Llama-3-8B-Instruct" # 模型路径
template: "llama3" # 提示模板
# 可选参数
infer_backend: "huggingface" # 推理引擎 [huggingface|vllm]
device_map: "auto" # 设备分配
2.2 微调模型专用配置
adapter_name_or_path: "saves/llama3-8b/lora/sft" # 适配器路径
finetuning_type: "lora" # 微调类型 [lora|full|...]
3. 批量推理方案
3.1 使用vLLM引擎
python scripts/vllm_infer.py \
--model_name_or_path path_to_merged_model \
--dataset alpaca_en_demo \
--infer_backend vllm
3.2 API服务部署
# 启动服务
API_PORT=8000 CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.yaml
# Python调用示例
from openai import OpenAI
client = OpenAI(api_key="0", base_url="http://0.0.0.0:8000/v1")
response = client.chat.completions.create(
model="llama3",
messages=[{"role": "user", "content": "解释深度学习"}]
)
4. 性能优化指南
4.1 引擎选择对比
| 引擎 | 优点 | 适用场景 |
|---|---|---|
huggingface |
兼容性好 | 小规模推理 |
vllm |
吞吐量高 | 批量推理 |
4.2 关键优化参数
# 量化配置
load_in_4bit: true
bnb_4bit_compute_dtype: "float16"
# 内存优化
flash_attn: true
use_cache: false
5. 常见问题解决
5.1 模板不匹配错误
# 错误现象:生成内容异常
# 解决方案:检查template与模型匹配
template: "llama3" # 必须与模型类型对应
5.2 多模态支持
# 多模态专用配置示例
model_name_or_path: "llava-hf/llava-1.5-7b-hf"
template: "vicuna"
6. 最佳实践建议
-
优先级选择:
- 交互调试 →
webchat - 批量推理 →
vllm_infer.py - 生产部署 → API服务
- 交互调试 →
-
性能口诀:
- 小规模用HF,大规模用vLLM
- 显存不足必用量化
- 长文本务必开flash_attn
7. 环境变量关键配置(补充说明)
1. 多GPU训练/推理必备设置
# 指定使用的GPU编号(示例使用GPU 6)
export CUDA_VISIBLE_DEVICES=6
# 40系显卡专用:禁用NCCL点对点通信
export NCCL_P2P_DISABLE=1
# 40系显卡专用:禁用InfiniBand支持
export NCCL_IB_DISABLE=1
2. 各变量作用详解
| 变量 | 适用场景 | 必要性 | 典型值 |
|---|---|---|---|
CUDA_VISIBLE_DEVICES |
多卡环境 | 必需 | 0/0,1/0,1,2 |
NCCL_P2P_DISABLE |
RTX 40系显卡 | 推荐 | 1 |
NCCL_IB_DISABLE |
消费级GPU | 推荐 | 1 |
3. 持久化配置方法
# 写入 ~/.bashrc 永久生效
echo 'export CUDA_VISIBLE_DEVICES=0' >> ~/.bashrc
echo 'export NCCL_P2P_DISABLE=1' >> ~/.bashrc # 40系专用
echo 'export NCCL_IB_DISABLE=1' >> ~/.bashrc # 无IB设备时
source ~/.bashrc
4. 验证方法
# 检查GPU可见性
echo $CUDA_VISIBLE_DEVICES
# 检查NCCL设置
env | grep NCCL
注:单卡推理通常无需设置NCCL相关变量,多卡训练时40系显卡强烈建议配置
文档参考:LLaMA-Factory官方文档
更多推荐



所有评论(0)