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

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

相关文章:

  • 深入理解C++ stl::list 底层实现+模拟实现
  • 多线程与异步任务处理(二):Kotlin协程
  • 深入解析EfficientNet:高效深度学习网络与ResNet的对比(使用keras进行代码复现,并使用cifar10数据集进行实战)
  • 小型充气泵方案:充气泵pcba结构组成
  • Chrome扩展background.js访问剪贴板指南
  • 文本处理Bert面试内容整理-BERT的预训练任务是什么?
  • VulnHub-FristiLeaks_1.3靶机-信息泄露图片base加解密+文件上传+反向shel
  • Qt命名规范制-name() or getName()
  • springboot宠物服务系统-计算机毕业设计源码29146
  • 计算机毕业设计SpringBoot+Vue.js网上服装商城(源码+文档+PPT+讲解)
  • 在 Ubuntu 系统 22.04 上安装 Docker
  • 让 LabVIEW 程序更稳定
  • Python:函数,return返回值与形参实参
  • Excel-to-JSON v2.0.0发布,可以在Excel内部,把Excel表格转换成JSON,嵌套的JSON也能转
  • 我如何从 Java 和 Python 转向 Golang 的脚本和 GUI 工具开发
  • 日历c++自增/自减操作详解
  • MybatisPlus的简单应用与常见功能
  • 自学网络安全(黑客技术)2025年 —三个月学习计划
  • Python在实际工作中的运用-提取Pdf文件内容
  • P10904 [蓝桥杯 2024 省 C] 挖矿
  • 二次开发培训/网站关键词排名seo
  • 贵州省都匀市网站建设/怎么做推广网络
  • 案例学——网页设计与网站建设/无锡网站制作无锡做网站
  • 邢台头条新闻/百度seo优化怎么做
  • 莱芜网站建设设计外包/网络市场营销策划书
  • 网站群建设工作/淘宝网页版