LLaMA-Factory微调功能及应用解析
以下是 LLaMA-Factory 的详细安装和使用指南,涵盖环境配置、模型训练、推理部署全流程,适用于开发者和企业用户:
一、环境安装
1. 硬件与系统要求
- 推荐配置:NVIDIA GPU(如RTX 3090/4090,显存≥24GB)、CUDA 11.8+、Ubuntu 20.04+/Windows WSL2
- 最低配置:CPU(需≥32GB内存)或低端GPU(如GTX 1660,显存≥6GB)
2. 安装步骤
步骤1:安装Python与依赖
# 创建虚拟环境(建议Python 3.10+)
conda create -n llama_factory python=3.10
conda activate llama_factory
# 安装PyTorch(根据CUDA版本选择)
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118
步骤2:安装LLaMA-Factory
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]" # 安装核心依赖(GPU模式)
步骤3:下载预训练模型
- 从Hugging Face下载模型(如Llama3-8B-Instruct):
# 示例:下载Qwen1.5-1.8B-Chat
git lfs install
git clone https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat ./models/Qwen1.5-1.8B-Chat
二、快速使用
1. 数据准备
- 数据集格式:支持Alpaca/ShareGPT格式,示例文件
data/identity.json
:
[
{
"instruction": "你是谁?",
"output": "我是企业AI助手Archer。"
}
]
2. 启动训练
命令行模式(LoRA微调示例):
llamafactory-cli train \
--model_name_or_path ./models/Qwen1.5-1.8B-Chat \
--stage sft \
--finetuning_type lora \
--dataset identity \
--template qwen \
--output_dir ./saves/lora \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 4 \
--lr_scheduler_type cosine \
--logging_steps 10 \
--save_steps 200 \
--fp16
WebUI模式(可视化操作):
llamafactory-cli webui
- 访问
http://localhost:7860
配置参数并启动训练。
三、模型验证与部署
1. 交互式测试
llamafactory-cli chat \
--model_name_or_path ./models/Qwen1.5-1.8B-Chat \
--adapter_path ./saves/lora \
--template qwen
输入问题测试输出效果:
用户:你是谁?
模型:我是企业AI助手Archer。
2. 导出完整模型(合并LoRA权重)
llamafactory-cli export \
--model_name_or_path ./models/Qwen1.5-1.8B-Chat \
--adapter_path ./saves/lora \
--export_dir ./merged_model
3. 部署为API服务
llamafactory-cli api \
--model_name_or_path ./merged_model \
--api_host 0.0.0.0 \
--api_port 8000
调用示例(Python):
import requests
response = requests.post(
"http://localhost:8000/v1/chat/completions",
json={"messages": [{"role": "user", "content": "你是谁?"}]}
)
print(response.json()["choices"][0]["message"]["content"]) # 输出:我是企业AI助手Archer。
四、常见问题解决
-
显存不足(OOM)
- 启用QLoRA:添加
--quantization_bit 4
- 减少批量大小:
--per_device_train_batch_size 1
- 启用QLoRA:添加
-
依赖冲突
- 使用纯净虚拟环境,避免与其他项目共用Python环境。
-
模型加载失败
- 检查模型路径是否包含
config.json
和pytorch_model.bin
。
- 检查模型路径是否包含
五、核心优势总结
- 高效微调:LoRA/QLoRA减少显存占用50%以上,单卡即可训练7B模型。
- 企业级支持:支持多模型、多任务场景,快速适配客服、营销等业务需求。
- 开箱即用:预置数据集模板和训练配置,降低技术门槛。
通过上述步骤,开发者可在1小时内完成从安装到模型部署的全流程。建议参考官方文档(LLaMA-Factory GitHub)获取最新配置参数和高级功能。
评论区