一、LLaMA-Factory
支持的模型:LLaMA-Factory支持多种大型语言模型,包括但不限于LLaMA、BLOOM、Mistral、Baichuan、Qwen、ChatGLM等。
集成方法:包括(增量)预训练、指令监督微调、奖励模型训练、PPO训练、DPO训练和ORPO训练等多种方法。
运算精度与优化算法:提供32比特全参数微调、16比特冻结微调、16比特LoRA微调和基于AQLM/AWQ/GPTQ/LLM.int8的2/4/8比特QLoRA微调等多种精度选择,以及GaLore、DoRA、LongLoRA、LLaMA Pro、LoRA+、LoftQ和Agent微调等先进算法。
LLaMA-Factory
二、模型微调(Fine-Tuning)
设置语言:进入WebUI后,可以切换到中文(zh)。
配置模型:选择LLaMA3-8B-Chat模型。
配置微调方法:微调方法则保持默认值lora,使用LoRA轻量化微调方法能极大程度地节约显存。
LLaMA-Factory项目内置了丰富的数据集,放在了 data
目录下。同时也可以自己准备自定义数据集,将数据处理为框架特定的格式,放到指定的data目录下。
学习率+梯度累积:设置学习率为1e-4,梯度累积为2,有利于模型拟合。
计算类型:如果是NVIDIA V100显卡,计算类型保持为fp16;如果使用了AMD A10系列显卡,可以更改计算类型为bf16。
LoRA参数设置:设置LoRA+学习率比例为16,LoRA+被证明是比LoRA学习效果更好的算法。在LoRA作用模块中填写all,即将LoRA层挂载到模型的所有线性层上,提高拟合效果。
输出目录:将输出目录修改为train_llama3,训练后的LoRA权重将会保存在此目录中。
预览命令:点击「预览命令」可展示所有已配置的参数,如果想通过代码运行微调,可以复制这段命令,在命令行运行。
开始:点击「开始」启动模型微调。
训练完毕:启动微调后需要等待一段时间,待模型下载完毕后可在界面观察到训练进度和损失曲线。模型微调大约需要20分钟,显示“训练完毕”代表微调成功。
刷新适配器:微调完成后,点击页面顶部的「刷新适配器」
适配器路径:点击适配器路径,即可弹出刚刚训练完成的LoRA权重,点击选择下拉列表中的train_llama3选项,在模型启动时即可加载微调结果。
评估模型:选择「Evaluate&Predict」栏,在数据集下拉列表中选择「eval」(验证集)评估模型。
输出目录:更改输出目录为
eval_llama3
,模型评估结果将会保存在该目录中。开始评估:最后点击开始按钮启动模型评估。
评估分数:模型评估大约需要5分钟左右,评估完成后会在界面上显示验证集的分数。
ROUGE分数:其中ROUGE分数衡量了模型输出答案(predict)和验证集中标准答案(label)的相似度,ROUGE分数越高代表模型学习得更好。
加载模型:选择「Chat」栏,确保适配器路径是 train_llama3
,点击「加载模型」即可在Web UI中和微调模型进行对话。
卸载模型:点击「卸载模型」,点击“×”号取消适配器路径,再次点击「加载模型」,即可与微调前的原始模型聊天。