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. 最佳实践建议

  1. 优先级选择

    • 交互调试 → webchat
    • 批量推理 → vllm_infer.py
    • 生产部署 → API服务
  2. 性能口诀

    • 小规模用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官方文档

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐