创建NLP大模型训练任务
创建NLP大模型微调任务
- 登录ModelArts Studio大模型开发平台,进入所需操作空间。
图1 进入操作空间
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“创建训练任务”页面,模型类型选择“NLP大模型”,训练类型选择“微调”。模型选择完成后,参考表1完成训练参数设置。
表1 NLP大模型微调参数说明 参数分类
训练参数
参数说明
训练配置
模型来源
选择“盘古大模型”
模型类型
选择“NLP大模型”。
训练类型
选择“微调”。
训练目标
- 全量微调:在模型有监督微调过程中,对大模型的全部参数进行更新。这种方法通常会带来最优的模型性能,但需要大量的计算资源和时间,计算开销较高。
- LoRA微调:在模型微调过程中,只对特定的层或模块的参数进行更新,而其余参数保持冻结状态。这种方法可以显著减少计算资源和时间消耗,同时在很多情况下,依然能够保持较好的模型性能。
基础模型
选择微调训练所用的基础模型, 可在“从资产选模型”或者“从人物选模型”中进行选择。
高级设置
plog日志。plog日志是一种用来记录模型运行情况的信息。开启plog日志,能帮助开发者了解模型执行的状态、捕捉错误、分析问题。不同的日志级别表示日志的重要性和详细程度,从低到高依次是:DEBUG、INFO、WARNING、ERROR。
训练参数
数据批量大小
数据集进行分批读取训练,设定每个批次数据的大小。
通常情况下,较大的数据批量可以使梯度更加稳定,从而有利于模型的收敛。然而,较大的数据批量也会占用更多的显存资源,这可能导致显存不足,并且会延长每次训练的时长。
训练轮数
指完成全部训练数据集训练的次数。
学习率
学习率决定了每次训练时模型参数更新的幅度。选择合适的学习率非常重要:如果学习率太大,模型可能会无法收敛;如果学习率太小,模型的收敛速度会变得非常慢。
优化器
优化器参数指的是用于更新模型权重的优化算法的相关参数,可以选择adamw。
- adamw是一种改进的Adam优化器,它在原有的基础上加入了权重衰减(weight decay)的机制,可以有效地防止过拟合(overfitting)的问题。
学习率衰减比率
学习率衰减后的比率,用于控制训练过程中学习率的下降幅度。经过衰减后,学习率的最低值由初始学习率和衰减比率决定。其计算公式为:最低学习率 = 初始学习率 * 学习率衰减比率。也就是说,学习率在每次衰减后不会低于这个计算出来的最低值。
热身比例
热身比例是指在模型训练过程中逐渐增加学习率的过程。在训练的初始阶段,模型的权重通常是随机初始化的,此时模型的预测能力较弱。如果直接使用较大的学习率进行训练,可能会导致模型在初始阶段更新过快,从而影响模型的收敛。
为了解决这个问题,可以在训练的初始阶段使用较小的学习率,然后逐渐增加学习率,直到达到预设的最大学习率。这个过程就叫做热身比例。通过使用热身比例,可以避免模型在初始阶段更新过快,从而有助于模型更好地收敛。
Lora矩阵的轶
较高的取值意味着更多的参数被更新,模型具有更大的灵活性,但也需要更多的计算资源和内存。较低的取值则意味着更少的参数更新,资源消耗更少,但模型的表达能力可能受到限制。
模型保存步数
指每训练一定数量的步骤(或批次)后,模型的状态就会被保存下来。
可以通过token_num = step * batch_size * sequence公式进行预估。其中:
- token_num:已训练的数据量。
- step:已完成的训练步数。
- batch_size:每个训练步骤中使用的样本数据量。
- sequence:每个数据样本中的Token数量。
数据量以Token为单位。
流水线并行微批次大小
在流水线并行处理中,通过合理设置并行程度,可以减少各阶段之间的空闲等待时间,从而提升整个流水线的效率。
每个数据并行下的批处理大小
设置在并行训练中,每个微批次包含的数据批量大小,适当的数据批量大小能够确保训练各个阶段都能充分利用计算资源,提升并行效率。
数据配置
训练数据
选择训练模型所需的数据集。要求数据集经过发布操作,发布数据集操作方法请参见发布数据集。
资源配置
计费模式
选择训练模型所需的训练单元。
当前展示的完成本次训练所需要的最低训练单元要求。
基本信息
名称
训练任务名称。
描述
训练任务描述。
不同模型训练参数默认值存在一定差异,请以前端页面展示的默认值为准。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,返回“模型训练”页面,单击操作列“启动”,并在任务确认弹窗中单击“确定”启动训练任务。