For the complete documentation index, see llms.txt. This page is also available as Markdown.

LLaMA-Factory

在 Clore.ai GPU 上使用 LLaMA-Factory 通过 LoRA/QLoRA 和网页界面微调 100+ 个 LLM

LLaMA-Factory 是最全面的开源微调框架,支持 100+ 种语言模型,包括所有 LLaMA 变体、Qwen、Mistral、Phi、Falcon、ChatGLM 等。它提供 LoRA、QLoRA、全量微调、RLHF、DPO 和 PPO —— 全部可通过直观的网页界面(LLaMA Board)或 CLI 完成。CLORE.AI 的按需 GPU 服务器使其成为以远低于云服务商成本启动微调任务的理想平台。

服务器要求

参数
最低
推荐

内存

16 GB

32 GB+

显存

8 GB(QLoRA)

24 GB+

磁盘

50 GB

200 GB+

GPU

NVIDIA RTX 2080+

A100,RTX 4090

训练方式决定 GPU 需求:

  • QLoRA(4 位):7B 模型需 8 GB VRAM,13B 需 16 GB

  • LoRA(float16):7B 模型需 16 GB VRAM,13B 需 40 GB

  • 全量微调:每 7B 参数约需 ~14 GB VRAM(+ 优化器状态)

  • 多 GPU(DeepSpeed/FSDP)可扩展到任意数量的 GPU

在 CLORE.AI 上快速部署

Docker 镜像: hiyouga/llamafactory:latest

端口: 22/tcp, 7860/http

环境变量:

变量
示例
描述

HF_TOKEN

hf_xxx...

用于受限模型的 HuggingFace 令牌

WANDB_API_KEY

xxx...

用于实验跟踪的 Weights & Biases

CUDA_VISIBLE_DEVICES

0,1

要使用的 GPU

逐步设置

1. 在 CLORE.AI 上租用 GPU 服务器

访问 CLORE.AI 市场 并根据你的任务选择:

任务
显存
推荐 GPU

QLoRA 7B

8 GB

RTX 3070/2080

QLoRA 13B

16 GB

RTX 3090/A4000

LoRA 7B

16 GB

RTX 3090/A4000

LoRA 13B

40 GB

A6000/A100 40GB

全量 FT 7B

80 GB

A100 80GB

多 GPU

视情况而定

任意 GPU 的 2-8 倍

2. SSH 登录到你的服务器

3. 创建工作目录

4. 拉取 Docker 镜像

5. 启动 LLaMA-Factory

使用 Web UI(LLaMA Board)启动:

使用 Weights & Biases 跟踪:

使用 DeepSpeed 的多 GPU(4 张 GPU):

6. 访问网页界面

查看日志并获取 URL:

你的 CLORE.AI http_pub URL,端口 7860:


使用示例

示例 1:通过网页 UI 进行 LoRA 微调(LLaMA Board)

  1. 在你的 CLORE.AI URL 上打开 LLaMA Board

  2. 前往 训练 标签页

  3. 配置:

    • 模型名称: LLaMA-3Meta-Llama-3-8B-Instruct

    • 训练阶段: 监督微调

    • 数据集:选择你的数据集(或上传自定义数据集)

    • 微调方式: lora

    • LoRA rank: 8 (越高 = 训练参数越多)

    • 学习率: 1e-4

    • 轮数: 3

    • 输出目录: llama3-finetuned

  4. 点击 开始 开始训练

  5. 在以下位置监控 loss 曲线: Loss 图表

示例 2:基于 CLI 的 QLoRA 微调

准备一个训练配置 YAML:

示例 3:上传自定义数据集

以 Alpaca 格式创建一个自定义数据集:

然后在 my_dataset 在 LLaMA Board 的数据集下拉菜单中选择。

示例 4:DPO(直接偏好优化)

示例 5:使用微调后的模型进行推理

训练完成后,测试你的模型:

或者导出合并后的模型:


配置

关键训练参数

参数
典型值
描述

lora_rank

8–64

LoRA rank(越高 = 表达能力越强)

lora_alpha

rank 的 2 倍

LoRA alpha 缩放

lora_dropout

0.0–0.1

LoRA 层的 dropout

lora_target

all

应用 LoRA 的层

learning_rate

1e-4

初始学习率

num_train_epochs

1–5

训练轮数

per_device_train_batch_size

1–4

每个 GPU 的批大小

gradient_accumulation_steps

4–16

等效批量倍数

cutoff_len

1024–4096

最大序列长度

quantization_bit

4 或 8

QLoRA 量化位数

warmup_ratio

0.05–0.1

学习率预热比例

lr_scheduler_type

cosine

学习率调度

支持的微调方法

方法
显存占用
质量
适用场景

full

非常高

最佳

无限显存

freeze

中等

冻结基础层

lora

非常好

默认选择

qlora (lora+量化)

最低

有限显存

多 GPU DeepSpeed 训练

在多 GPU 上训练时,使用以下方式启动 torchrun:


性能提示

1. 按 GPU 类型优化的 QLoRA 设置

8 GB VRAM(RTX 3070):

24 GB VRAM(RTX 3090/4090):

80 GB VRAM(A100):

2. 使用 Flash Attention 2 处理更长上下文

这可以让你在相同显存下使用 2 倍长度的序列进行训练。

3. 梯度检查点

以约 20% 更慢的训练速度换取显存节省:

4. 选择合适的 LoRA 目标

5. 冻结顶层以快速适配

对于简单任务适配,比完整 LoRA 快得多。

6. 使用 TensorBoard 监控

在你的 CLORE.AI 订单中添加 6006 端口即可访问 TensorBoard。


故障排查

问题:训练时出现“CUDA 显存不足”

  1. 减小批大小: per_device_train_batch_size: 1

  2. 启用梯度检查点: gradient_checkpointing: true

  3. 减少上下文长度: cutoff_len: 512

  4. 使用 QLoRA(4 位): quantization_bit: 4

  5. 降低 LoRA rank: lora_rank: 4

问题:训练损失不下降

  • 检查学习率——尝试 5e-52e-4

  • 验证数据集格式是否与模板匹配

  • 增大 lora_rank (8→16→32)

  • 检查 lora_target: all 是否已设置

问题:训练速度慢

如果 GPU 利用率 < 80%:

  • 增大批大小

  • 使用 Flash Attention: flash_attn: fa2

  • 移除 gradient_checkpointing 如果显存允许

问题:Web UI 中找不到模型

然后刷新 LLaMA Board 中的模型列表。

问题:数据集格式错误

所有数据集格式都必须匹配 dataset_info.json 规范:

问题:无法访问 WebUI 端口

确保 LLaMA-Factory 已启动 Gradio 服务器:

--share 作为替代方案,可使用 public Gradio URL 标志。


链接


Clore.ai GPU 推荐

使用场景
推荐 GPU
Clore.ai 预计成本

开发/测试

RTX 3090(24GB)

$0.07–0.21/gpu/hr

微调(7B–13B)

RTX 4090(24GB)

$0.14–0.42/gpu/hr

大模型(70B+)

A100 80GB

多 GPU 训练

2-4 张 A100 80GB

💡 本指南中的所有示例都可以部署在 Clore.ai GPU 服务器上。浏览可用 GPU 并按小时租用——无需承诺,拥有完整 root 访问权限。

最后更新于

这有帮助吗?