更新时间:2025-01-14 GMT+08:00
分享

创建NLP大模型训练任务

创建NLP大模型预训练任务

创建NLP大模型预训练任务步骤如下:

  1. 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
  2. 在左侧导航栏中选择“模型开发 > 模型训练”,单击右上角“创建训练任务”。
  3. 在“创建训练任务”页面,参考表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数量。

    数据预处理并发个数

    定义了在预处理数据时,能够同时处理文件的并行进程数量。设定这个参数的主要目的是通过并发处理来加速数据预处理,从而提升训练效率。

    数据配置

    训练数据

    选择训练模型所需的数据集。

    资源配置

    训练单元

    创建当前训练任务所需的训练单元数量。

    订阅提醒

    订阅提醒

    该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。

    基本信息

    名称

    训练任务名称。

    描述

    训练任务描述。

  4. 参数填写完成后,单击“立即创建”。
  5. 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。

创建NLP大模型增量预训练任务

在模型完成创建NLP大模型预训练任务预训练后,可以对训练后的模型继续训练,该过程称为“增量预训练”。

创建NLP大模型增量预训练任务前,请确保有已完成预训练的NLP大模型。

创建NLP大模型增量预训练任务的步骤如下:

  1. 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
  2. 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
  3. 在“创建训练任务”页面,选择“盘古大模型 > NLP大模型 > 预训练”。
  4. 选择基础模型,可选“从资产选模型”、“从任务选模型”,在弹窗中支持从“本空间”或“其他空间”选择预训练好的NLP大模型,单击“确定”。
  5. 其余参数配置等步骤同创建NLP大模型预训练任务

创建NLP大模型全量微调任务

创建NLP大模型全量微调任务步骤如下:

  1. 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
  2. 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
  3. 在“创建训练任务”页面,参考表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优化器,增加了权重衰减机制,有效防止过拟合。

    数据配置

    训练数据

    选择训练模型所需的数据集。

    验证数据

    • 若选择“从训练数据拆分”,则需进一步配置数据拆分比例。
    • 若选择“从已有数据导入”,则需选择导入的数据集。

    资源配置

    训练单元

    创建当前训练任务所需的训练单元数量。

    订阅提醒

    订阅提醒

    该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。

    基本信息

    名称

    训练任务名称。

    描述

    训练任务描述。

    不同模型训练参数默认值存在一定差异,请以前端页面展示的默认值为准。

  4. 参数填写完成后,单击“立即创建”。
  5. 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。

创建NLP大模型LoRA微调任务

创建NLP大模型LoRA微调任务步骤如下:

  1. 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
  2. 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
  3. 在“创建训练任务”页面,参考表3完成训练参数设置。
    表3 NLP大模型LoRA微调参数说明

    参数分类

    训练参数

    参数说明

    训练配置

    模型来源

    选择“盘古大模型”。

    模型类型

    选择“NLP大模型”。

    训练类型

    选择“微调”。

    训练目标

    选择“LoRA微调”。

    • LoRA微调:在模型微调过程中,只对特定的层或模块的参数进行更新,而其余参数保持冻结状态。这种方法可以显著减少计算资源和时间消耗,同时在很多情况下,依然能够保持较好的模型性能。

    基础模型

    选择全量微调训练所用的基础模型, 可从“已发布模型”或“未发布模型”中进行选择。

    训练参数

    数据批量大小

    数据批量是指训练过程中将数据集分成小批次进行读取,并设定每个批次的数据大小。

    通常,较大的批量能够使梯度更加稳定,有助于模型的收敛。然而,较大的批量也会占用更多显存,可能导致显存不足,并延长每次训练时间。

    学习率衰减比率

    用于控制训练过程中学习率下降的幅度。

    计算公式为:最低学习率 = 初始学习率 × 学习率衰减比率。

    学习率

    学习率决定每次训练中模型参数更新的幅度。

    选择合适的学习率至关重要:

    • 如果学习率过大,模型可能无法收敛。
    • 如果学习率过小,模型的收敛速度将变得非常慢。

    训练轮数

    表示完成全部训练数据集训练的次数。每个轮次都会遍历整个数据集一次。

    Lora矩阵的轶

    较高的取值意味着更多的参数被更新,模型具有更大的灵活性,但也需要更多的计算资源和内存。较低的取值则意味着更少的参数更新,资源消耗更少,但模型的表达能力可能受到限制。

    Agent微调

    在训练Agent所需的NLP大模型时,可以开启此参数。通过调整训练数据中的Prompt,引导模型在特定领域或任务上生成更符合预期的回答。

    在使用此参数前,请先联系盘古客服,调整Prompt和训练数据。

    权重衰减系数

    通过在损失函数中加入与模型权重大小相关的惩罚项,鼓励模型保持较小的权重,防止过拟合或模型过于复杂。

    优化器

    优化器参数用于更新模型的权重,常见包括adamw。
    • adamw是一种改进的Adam优化器,增加了权重衰减机制,有效防止过拟合。

    数据配置

    训练数据

    选择训练模型所需的数据集。

    验证数据

    • 若选择“从训练数据拆分”,则需进一步配置数据拆分比例。
    • 若选择“从已有数据导入”,则需选择导入的数据集。

    资源配置

    训练单元

    创建当前训练任务所需的训练单元数量。

    订阅提醒

    订阅提醒

    该功能开启后,系统将在任务状态更新时,通过短信或邮件将提醒发送给用户。

    基本信息

    名称

    训练任务名称。

    描述

    训练任务描述。

    不同模型训练参数默认值存在一定差异,请以前端页面展示的默认值为准。

  4. 参数填写完成后,单击“立即创建”。
  5. 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。

相关文档