赞
踩
阶段成果展示
LLamA-Factory 是一个高效的模型训练工具,支持多种大规模语言模型(如LLaMA、ChatGLM等)的微调。该工具集成了增量预训练、指令监督微调、奖励模型训练等多种方法,支持多种精度和先进算法(如LoRA、QLoRA)。LLamA-Factory 提供丰富的实验监控工具(如TensorBoard、Wandb),并优化了训练和推理速度。通过结合多种模型和训练方法,LLamA-Factory 能显著提升训练效率和模型性能。详细内容请访问 LLamA-Factory (GitHub)。
创建DSW,模型和LLamA-Factory安装过程详见脚注文章
启动LLamA-Factory web界面(命令可能因版本不同而异,以下为v0.6.0
版本)
cd LLaMA-Factory
CUDA_VISIBLE_DEVICE=0 USE_MODELSCOPE_HUB=1 python src/train_web.py
点击即可运行
在使用LLamA-Factory训练ChatGLM-6B时,可以调节以下关键超参数:
学习率(Learning Rate):
训练轮数(Epochs):
最大梯度范数(Max Gradient Norm):
最大样本数(Max Samples):
批处理大小(Batch Size):
梯度累积(Gradient Accumulation Steps):
计算类型(Precision Type):
截断长度(Max Sequence Length):
上述设置完成后选取数据集进行训练
结合损失函数图,从图中可以看到损失值在训练过程中逐步下降,且趋于平稳。这表明模型在逐渐收敛。监控训练和验证集的损失值可以帮助判断训练进度和调整策略。例如,如果在多个epoch内验证集损失不再下降,则可以触发早停策略,停止训练以避免过拟合
从上图中的损失函数来看,可以观察到:1. 波动性:损失函数的值有显著的波动。这可能表明模型在训练过程中存在一定的不稳定性,可能是由于数据噪声或者模型参数调整引起的。2. 原始与平滑值:图中展示了原始损失函数值和经过平滑处理后的损失函数值。平滑处理后的曲线波动较小,更能反映出损失函数的总体趋势。这种处理有助于更好地观察损失函数的收敛情况。3. 趋势分析:从平滑后的曲线来看,损失函数并没有明显的单调下降趋势,这可能意味着模型尚未收敛到一个较优的状态。这种情况可能需要调整学习率、模型结构或者进一步优化训练数据。
一般此类情况出现在训练的刚开始阶段(因为横坐标步数很少的情况下纵坐标的改变微乎其微),此时可以继续观察损失函数是否呈下降趋势(如上图);否则可以及时采取早停策略。
[^ 1 ]参考组员文章:ChatGlm3-6B的部署及微调流程 ↩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。