创建NLP大模型训练任务
创建NLP大模型预训练任务
创建NLP大模型预训练任务步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击右上角“创建训练任务”。
- 在“创建训练任务”页面,参考表1完成训练参数设置。
表1 NLP大模型预训练参数说明 参数分类
训练参数
参数说明
训练配置
模型来源
选择“盘古大模型”。
模型类型
选择“NLP大模型”。
训练类型
选择“预训练”。
基础模型
选择预训练所需的基础模型,可从“已发布模型”或“未发布模型”中进行选择。
高级设置
checkpoints:在模型训练过程中,用于保存模型权重和状态的机制。
- 关闭:关闭后不保存checkpoints,无法基于checkpoints执行续训操作。
- 自动:自动保存训练过程中的所有checkpoints。
- 自定义:根据设置保存指定数量的checkpoints。
训练参数
训练轮数
表示完成全部训练数据集训练的次数。每个轮次都会遍历整个数据集一次。
数据批量大小
数据集进行分批读取训练,设定每个批次数据的大小。
通常情况下,较大的数据批量可以使梯度更加稳定,从而有利于模型的收敛。然而,较大的数据批量也会占用更多的显存资源,这可能导致显存不足,并且会延长每次训练的时长。
学习率
学习率决定每次训练中模型参数更新的幅度。
选择合适的学习率至关重要:
- 如果学习率过大,模型可能无法收敛。
- 如果学习率过小,模型的收敛速度将变得非常慢。
热身比例
热身比例是指在模型训练初期逐渐增加学习率的过程。
由于训练初期模型的权重通常是随机初始化的,预测能力较弱,若直接使用较大的学习率,可能导致更新过快,进而影响收敛。为解决这一问题,通常在训练初期使用较小的学习率,并逐步增加,直到达到预设的最大学习率。通过这种方式,热身比例能够避免初期更新过快,从而帮助模型更好地收敛。
学习率衰减比率
用于控制训练过程中学习率下降的幅度。
计算公式为:最低学习率 = 初始学习率 × 学习率衰减比率。
权重衰减系数
通过在损失函数中加入与模型权重大小相关的惩罚项,鼓励模型保持较小的权重,防止过拟合或模型过于复杂。
优化器
优化器参数用于更新模型的权重,常见包括adamw。
- adamw是一种改进的Adam优化器,增加了权重衰减机制,有效防止过拟合。
模型保存步数
每训练一定数量的步骤(或批次),模型的状态将会被保存。可以通过以下公式预估已训练的数据量:
token_num = step * batch_size * sequence
- token_num:已训练的数据量(以Token为单位)。
- step:已完成的训练步数。
- batch_size:每个训练步骤中使用的样本数量。
- sequence:每个数据样本中的Token数量。
数据预处理并发个数
定义了在预处理数据时,能够同时处理文件的并行进程数量。设定这个参数的主要目的是通过并发处理来加速数据预处理,从而提升训练效率。
数据配置
训练数据
选择训练模型所需的数据集。
资源配置
训练单元
创建当前训练任务所需的训练单元数量。
订阅提醒
订阅提醒
该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。
基本信息
名称
训练任务名称。
描述
训练任务描述。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。
创建NLP大模型增量预训练任务
在模型完成创建NLP大模型预训练任务预训练后,可以对训练后的模型继续训练,该过程称为“增量预训练”。
创建NLP大模型增量预训练任务前,请确保有已完成预训练的NLP大模型。
创建NLP大模型增量预训练任务的步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“创建训练任务”页面,选择“盘古大模型 > NLP大模型 > 预训练”。
- 选择基础模型,可选“从资产选模型”、“从任务选模型”,在弹窗中支持从“本空间”或“其他空间”选择预训练好的NLP大模型,单击“确定”。
- 其余参数配置等步骤同创建NLP大模型预训练任务。
创建NLP大模型全量微调任务
创建NLP大模型全量微调任务步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“创建训练任务”页面,参考表2完成训练参数设置。
表2 NLP大模型全量微调参数说明 参数分类
训练参数
参数说明
训练配置
模型来源
选择“盘古大模型”。
模型类型
选择“NLP大模型”。
训练类型
选择“微调”。
训练目标
选择“全量微调”。
- 全量微调:在模型进行有监督微调时,对大模型的所有参数进行更新。这种方法通常能够实现最佳的模型性能,但需要消耗大量计算资源和时间,计算开销较大。
基础模型
选择全量微调所用的基础模型, 可从“已发布模型”或“未发布模型”中进行选择。
高级设置
checkpoints:在模型训练过程中,用于保存模型权重和状态的机制。
- 关闭:关闭后不保存checkpoints,无法基于checkpoints执行续训操作。
- 自动:自动保存训练过程中的所有checkpoints。
- 自定义:根据设置保存指定数量的checkpoints。
训练参数
热身比例
热身比例是指在模型训练初期逐渐增加学习率的过程。
由于训练初期模型的权重通常是随机初始化的,预测能力较弱,若直接使用较大的学习率,可能导致更新过快,进而影响收敛。为解决这一问题,通常在训练初期使用较小的学习率,并逐步增加,直到达到预设的最大学习率。通过这种方式,热身比例能够避免初期更新过快,从而帮助模型更好地收敛。
数据批量大小
数据批量是指训练过程中将数据集分成小批次进行读取,并设定每个批次的数据大小。
通常,较大的批量能够使梯度更加稳定,有助于模型的收敛。然而,较大的批量也会占用更多显存,可能导致显存不足,并延长每次训练时间。
单步迭代时处理的数据批量大小
指定每次迭代时处理的数据批量大小。
学习率
学习率决定每次训练中模型参数更新的幅度。
选择合适的学习率至关重要:
- 如果学习率过大,模型可能无法收敛。
- 如果学习率过小,模型的收敛速度将变得非常慢。
训练轮数
表示完成全部训练数据集训练的次数。每个轮次都会遍历整个数据集一次。
学习率衰减比率
用于控制训练过程中学习率下降的幅度。
计算公式为:最低学习率 = 初始学习率 × 学习率衰减比率。
Agent微调
在训练Agent所需的NLP大模型时,可以开启此参数。通过调整训练数据中的Prompt,引导模型在特定领域或任务上生成更符合预期的回答。
在使用此参数前,请先联系盘古客服,调整Prompt和训练数据。
模型保存步数
每训练一定数量的步骤(或批次),模型的状态将会被保存。可以通过以下公式预估已训练的数据量:
token_num = step * batch_size * sequence
- token_num:已训练的数据量(以Token为单位)。
- step:已完成的训练步数。
- batch_size:每个训练步骤中使用的样本数量。
- sequence:每个数据样本中的Token数量。
权重衰减系数
通过在损失函数中加入与模型权重大小相关的惩罚项,鼓励模型保持较小的权重,防止过拟合或模型过于复杂。
优化器
优化器参数用于更新模型的权重,常见包括adamw。
- adamw是一种改进的Adam优化器,增加了权重衰减机制,有效防止过拟合。
数据配置
训练数据
选择训练模型所需的数据集。
验证数据
- 若选择“从训练数据拆分”,则需进一步配置数据拆分比例。
- 若选择“从已有数据导入”,则需选择导入的数据集。
资源配置
训练单元
创建当前训练任务所需的训练单元数量。
订阅提醒
订阅提醒
该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。
基本信息
名称
训练任务名称。
描述
训练任务描述。
不同模型训练参数默认值存在一定差异,请以前端页面展示的默认值为准。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。
创建NLP大模型LoRA微调任务
创建NLP大模型LoRA微调任务步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“创建训练任务”页面,参考表3完成训练参数设置。
表3 NLP大模型LoRA微调参数说明 参数分类
训练参数
参数说明
训练配置
模型来源
选择“盘古大模型”。
模型类型
选择“NLP大模型”。
训练类型
选择“微调”。
训练目标
选择“LoRA微调”。
- LoRA微调:在模型微调过程中,只对特定的层或模块的参数进行更新,而其余参数保持冻结状态。这种方法可以显著减少计算资源和时间消耗,同时在很多情况下,依然能够保持较好的模型性能。
基础模型
选择全量微调训练所用的基础模型, 可从“已发布模型”或“未发布模型”中进行选择。
训练参数
数据批量大小
数据批量是指训练过程中将数据集分成小批次进行读取,并设定每个批次的数据大小。
通常,较大的批量能够使梯度更加稳定,有助于模型的收敛。然而,较大的批量也会占用更多显存,可能导致显存不足,并延长每次训练时间。
学习率衰减比率
用于控制训练过程中学习率下降的幅度。
计算公式为:最低学习率 = 初始学习率 × 学习率衰减比率。
学习率
学习率决定每次训练中模型参数更新的幅度。
选择合适的学习率至关重要:
- 如果学习率过大,模型可能无法收敛。
- 如果学习率过小,模型的收敛速度将变得非常慢。
训练轮数
表示完成全部训练数据集训练的次数。每个轮次都会遍历整个数据集一次。
Lora矩阵的轶
较高的取值意味着更多的参数被更新,模型具有更大的灵活性,但也需要更多的计算资源和内存。较低的取值则意味着更少的参数更新,资源消耗更少,但模型的表达能力可能受到限制。
Agent微调
在训练Agent所需的NLP大模型时,可以开启此参数。通过调整训练数据中的Prompt,引导模型在特定领域或任务上生成更符合预期的回答。
在使用此参数前,请先联系盘古客服,调整Prompt和训练数据。
权重衰减系数
通过在损失函数中加入与模型权重大小相关的惩罚项,鼓励模型保持较小的权重,防止过拟合或模型过于复杂。
优化器
优化器参数用于更新模型的权重,常见包括adamw。- adamw是一种改进的Adam优化器,增加了权重衰减机制,有效防止过拟合。
数据配置
训练数据
选择训练模型所需的数据集。
验证数据
- 若选择“从训练数据拆分”,则需进一步配置数据拆分比例。
- 若选择“从已有数据导入”,则需选择导入的数据集。
资源配置
训练单元
创建当前训练任务所需的训练单元数量。
订阅提醒
订阅提醒
该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。
基本信息
名称
训练任务名称。
描述
训练任务描述。
不同模型训练参数默认值存在一定差异,请以前端页面展示的默认值为准。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。