大模型管理工具:LLaMA-Factory
目录
一、安装与环境配置
二、启动 Web 界面
三、数据准备
四、模型训练
五、模型评估
七、模型导出
八、API服务部署
LLaMA-Factory 是一个开源的大语言模型(LLM)微调框架,旨在简化大规模模型的训练、微调和部署流程。它支持多种主流模型(如 LLaMA、Qwen、ChatGLM 等),提供命令行和可视化 WebUI 两种交互方式,并集成了 LoRA、QLoRA 等高效微调技术,显著降低了模型定制化的技术门槛。
一、安装与环境配置
# 克隆仓库
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
# 创建 Conda 环境
conda create -n llamafactory python=3.11
conda activate llamafactory
# 安装依赖(含 PyTorch 和评估工具)
pip install -e ".[all]"
# 安装 DeepSpeed(可选)
pip install deepspeed
若需从 ModelScope 下载模型,可设置环境变量:
export USE_MODELSCOPE_HUB=1
(Linux)或set USE_MODELSCOPE_HUB=1
(Windows)
二、启动 Web 界面
llamafactory-cli webui # 自动启动可视化操作台,支持参数配置与训练启动
三、数据准备
支持多种数据格式(JSON、CSV、TXT)转换成训练所需的格式(如Alpaca、ShareGPT等),需按如下格式组织:
[
{"instruction": "问题1", "input": "输入1", "output": "答案1"},
{"instruction": "问题2", "output": "答案2"}
]
将数据转换为训练所需的格式:
python src/llamafactory/data/convert_data.py \
--input_path data/raw.json \
--output_path data/processed.json \
--format alpaca
四、模型训练
llamafactory-cli train \
--model_name_or_path meta-llama/Llama-2-7b-hf \
--train_file data/train.json \
--output_dir ./output \
--num_train_epochs 3 \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 8 \
--learning_rate 2e-4 \
--deepspeed config/ds_config.json \
--fp16
五、模型评估
llamafactory-cli evaluate \
--model_name_or_path ./output \
--eval_file data/val.json \
--per_device_eval_batch_size 8 \
--predict_with_generate
六、模型推理
llamafactory-cli generate \
--model_name_or_path ./output \
--prompt "请解释量子力学的基本原理。" \
--max_new_tokens 256 \
--temperature 0.7
七、模型导出
在 LLaMA-Factory 中,导出训练后的模型可以通过 llamafactory-cli export
命令完成。支持导出为多种格式(如 GGUF 、ONNX 、Hugging Face 格式 ),以下是具体用法和示例:
导出为 GGUF 格式(支持量化)
# 导出为 GGUF 格式(不量化)
llamafactory-cli export \
--model_name_or_path ./output/llama-3-finetuned \
--export_dir ./exported/gguf \
--export_format gguf
# 导出为 GGUF 格式并量化(如 q4_k_m)
llamafactory-cli export \
--model_name_or_path ./output/llama-3-finetuned \
--export_dir ./exported/gguf-quantized \
--export_format gguf \
--quantization q4_k_m
导出为 ONNX 格式 :
llamafactory-cli export \
--model_name_or_path ./output \
--export_dir ./onnx \
--export_format onnx
导出为 Hugging Face 格式(原生格式)
llamafactory-cli export \
--model_name_or_path ./output/llama-3-finetuned \
--export_dir ./exported/hf-model \
--export_format hf
八、API服务部署
# 启动 OpenAI 风格 API
CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.yaml
# 使用 VLLM 加速推理(需先合并模型)
llamafactory-cli api --model_name_or_path merged_model --infer_backend vllm
通过 http://localhost:8000/docs 访问 API 文档。