跳到主要内容

基本概念

在使用LLaMA Factory之前,用户可能需要了解该产品所涉及的概念。本文为用户介绍LLaMA Factory的基本概念,以便于用户更好地使用LLaMA Factory。

WebUI

LLaMA-Factory 支持通过 WebUI 零代码微调大语言模型。您可以通过llamafactory-cli webui指令进入 WebUI,WebUI主要分为四个界面:训练、评估与预测、对话、导出。 在开始训练模型之前,您需要指定参数的参数都需要在训练界面进行配置。涉及的参数有:模型名称及路径、训练阶段、微调方法、训练数据集、学习率、训练轮数、输出目录及配置路径、微调参数等其他参数。模型训练完毕后,您可通过在评估与预测界面通过指定的数据路径、截断长度、Top-p采样值、温度系数、输出目录等参数。您可通过在对话界面指定推理引擎、推理数据类型后,输入对话内容与模型进行对话观察效果。如果您对模型效果满意并需要导出模型,您可在导出界面通过指定最大分块大小、导出量化等级数据集、导出设备和目录等参数后,点击导出按钮导出模型。

数据处理

LLaMA Factory 支持Alpaca格式和ShareGPT格式的数据集。如果您希望使用自定义数据集,请务必 在dataset_info.json文件中添加对数据集及其内容的定义,dataset_info.json 包含了所有经过预处理的本地数据集以及在线数据集。

训练方法

LLaMA Factory 支持预训练(Pre-training)和后训练(Post-training)。LLaMA Factory支持多种后训练技术,包括:Supervised Fine-Tuning、RLHF(Reinforcement Learning from Human Feedback) 、DPO、KTO(Kahneman-Taversky Optimization)等。

训练参数

下表为部分训练参数描述:

名称描述
model_name_or_path模型名称或路径
stage训练阶段,可选: rm(reward modeling), pt(pretrain), sft(Supervised Fine-Tuning), PPO, DPO, KTO, ORPO
do_traintrue用于训练, false用于评估
finetuning_type微调方式。可选: freeze, lora, full
lora_target采取LoRA方法的目标模块,默认值为 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是否推送模型到 Huggingface

训练加速

LLaMA-Factory 支持多种加速技术,包括:FlashAttention、Unsloth、Liger Kernel。如果用户想体验加速技术,您可以在启动训练时在训练配置文件中添加参数。

调优算法

LLaMA-Factory 支持多种调优算法,包括:Full Parameter Fine-tuning、Freeze、LoRA、Galore、BAdam。

分布式训练

LLaMA-Factory 支持单机多卡和多机多卡分布式训练,同时支持 DDP、DeepSpeed和FSDP三种分布式引擎。

合并

当基于预训练模型训练好 LoRA 适配器后,如您不希望在每次推理的时候分别加载预训练模型和 LoRA 适配器。因此需要将预训练模型和 LoRA 适配器合并导出成一个模型,并根据需要选择是否量化。

量化

量化通过数据精度压缩有效地减少了显存使用并加速推理。LLaMA-Factory 支持多种量化方法,包括:AQLM、AWQ、GPTQ、QLoRA等。

推理 LLaMA-Factory 支持多种推理方式,包括:原始模型推理、微调模型推理配置、多模态模型、批量推理。

通用能力评估

在完成模型训练后,您可以通过 llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml 来评估模型效果。

NLG评估

此外,用户还可以通过llamafactory-cli train examples/extras/nlg_eval/llama3_lora_predict.yaml来获得模型的BLEU和ROUGE分数以评价模型生成质量。

实验监控

LLaMA-Factory 支持多种训练可视化工具,包括:TensorBoard、Wandb、MLflow等。如果您想使用WandbTensorBoard、MLflow等工具,您可以在WebUI的 其他参数设置 模块中的 启用外部记录面板 中开启。

信息

关于license,请按照LLama Factory的版权要求使用,请参考该链接内容