九章智算云

LLaMA Factory 基本概念

在使用 LLaMA Factory 之前,建议先熟悉本节列出的核心概念,以便在后续单机/多机实验中快速上手。

WebUI

LLaMA Factory 支持通过 WebUI 零代码微调大语言模型。执行 llamafactory-cli webui 即可进入。WebUI 包含 训练/评估与预测/对话/导出 四个界面:

  • 训练:配置模型路径、训练阶段、微调方法、数据集、学习率、训练轮数、输出目录等
  • 评估与预测:指定数据路径、截断长度、Top-p、温度系数、输出目录后启动评估
  • 对话:选择推理引擎与数据类型,输入对话内容观察模型效果
  • 导出:指定最大分块大小、量化等级、设备和目录后,一键导出模型

数据处理

LLaMA Factory 支持 AlpacaShareGPT 两种数据集格式。使用自定义数据集时,必须在 dataset_info.json 中添加数据集定义,该文件包含所有预处理本地数据集与在线数据集。

训练方法

支持预训练(Pre-training)与后训练(Post-training)。后训练技术包括:

  • Supervised Fine-Tuning(SFT)
  • RLHF(Reinforcement Learning from Human Feedback)
  • DPO(Direct Preference Optimization)
  • KTO(Kahneman-Tversky Optimization)

训练参数

下表列出常用训练参数:

参数名描述
model_name_or_path模型名称或路径
stage训练阶段,可选 rm / pt / sft / PPO / DPO / KTO / ORPO
do_traintrue 训练,false 评估
finetuning_type微调方式:freeze / lora / full
lora_targetLoRA 目标模块,默认 all
dataset使用的数据集,多个用 , 分隔
template数据集模板,须与模型对应
output_dir输出路径
logging_steps日志输出步数间隔
save_steps模型断点保存间隔
overwrite_output_dir是否允许覆盖输出目录
per_device_train_batch_size每设备训练批次大小
gradient_accumulation_steps梯度累积步数
max_grad_norm梯度裁剪阈值
learning_rate学习率
lr_scheduler_type学习率曲线:linear / cosine / polynomial / constant
num_train_epochs训练周期数
bf16是否使用 bf16
warmup_ratio学习率预热比例
warmup_steps学习率预热步数
push_to_hub是否推送模型到 Hugging Face

训练加速

LLaMA Factory 支持多种加速技术:FlashAttentionUnslothLiger Kernel。在训练配置文件中添加对应参数即可启用。

调优算法

支持多种参数高效与全参数算法:

  • Full Parameter Fine-tuning
  • Freeze
  • LoRA
  • GaLore
  • BAdam

分布式训练

支持单机多卡与多机多卡分布式训练,兼容三种分布式引擎:

  • DDP(PyTorch DistributedDataParallel)
  • DeepSpeed(ZeRO 各级)
  • FSDP(Fully Sharded Data Parallel)

合并

基于预训练模型训练好 LoRA 适配器后,可将预训练模型与 LoRA 适配器合并导出为一个独立模型,避免每次推理时分别加载。合并时还可选择是否量化。

量化

通过精度压缩有效减少显存占用并加速推理。LLaMA Factory 支持的量化方法:

  • AQLM
  • AWQ
  • GPTQ
  • QLoRA

推理

支持的推理方式:

  • 原始模型推理
  • 微调模型推理配置
  • 多模态模型推理
  • 批量推理

通用能力评估

模型训练完成后,可通过下述命令评估效果:

llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml

NLG 评估

获取 BLEU/ROUGE 评分以评价生成质量:

llamafactory-cli train examples/extras/nlg_eval/llama3_lora_predict.yaml

实验监控

LLaMA Factory 与多种训练可视化工具集成:

  • TensorBoard
  • Wandb
  • MLflow
  • SwanLab(本节后续实验示例使用)

在 WebUI 的 其他参数设置 → 启用外部记录面板 中开启对应工具即可。

License:请遵守 LLaMA Factory 的版权要求,详情见 LLaMA-Factory Apache-2.0 协议

最后更新于

这篇文档对你有帮助吗?

目录