当前位置: 首页 > article >正文

大模型管理工具: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 文档。


http://www.kler.cn/a/572513.html

相关文章:

  • ssm_mysql_小型企业人事管理系统
  • c++进阶--继承
  • 【数据结构-图】
  • PostgreSQL 创建表格
  • 3D Web轻量化引擎HOOPS Communicator的核心优势解析:高性能可视化与灵活部署!
  • MQ消息丢失解决方案
  • 影刀RPA开发拓展--正则表达式
  • Git是什么
  • 仿12306项目(4)
  • 【入门Web安全之前端学习的侧重点和针对性的建议】
  • 掌握 findIndex、push 和 splice:打造微信小程序的灵活图片上传功能✨
  • CSS的列表属性
  • 网线水晶头接法
  • 牙齿缺陷分割数据集labelme格式2495张4类别
  • 05类加载机制篇(D7_类加载及执行子系统的案例与实战)
  • 20250304在飞凌OK3588-C的linux R4下提高温度控制阈值为95度
  • 阿里万相,正式开源
  • Rk3568驱动开发_自动创建设备节点_8
  • Qt 文件操作+多线程+网络
  • git的恢复命令