
# 构建增量预训练任务
#### 创建增量预训练任务
创建NLP大模型增量预训练任务步骤如下：
1. 登录ModelArts Studio平台，在"我的空间"模块，单击进入所需空间。
2. 在左侧导航栏中选择"模型开发 \> 模型训练"，单击界面右上角"创建训练任务"。
3. 在"选择模型"页面，选择"我的资产 \> 大语言模型 \> 模型"，单击"确定"进入"创建训练任务"页面。
4. 在"创建训练任务"页面，参考[表1]完成训练参数设置，参数默认值在创建训练任务的时候会带出。
 表1NLP大模型预训练参数说明 
| 参数分类 | 训练参数      | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| 训练配置 | 模型类型      | 本案例中设置为**n2-32k-pretrain-pretrain--0**。 可以修改如下信息： - 来源：选择"我的资产"。  - 类型：选择"大语言模型"，并选择训练所用的模型。                                                                                                                                                                                                                                                                                                            |
| 训练配置 | 训练类型      | 选择"**预训练**"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 训练配置 | 高级设置      | 根据实际OBS大小设置即可。 checkpoints：在模型训练过程中，用于保存模型权重和状态的机制。 - 关闭：关闭后不保存checkpoints，无法基于checkpoints执行续训操作。  - 自动：自动保存训练过程中的所有checkpoints。  - 自定义：根据设置保存指定数量的checkpoints。                                                                                                                                                                 |
| 训练参数 | 热身比例      | 本案例中设置为**0.01**。如果发现初始的时候loss波动较大，可以适当增加warmup的比例。 热身比例是指在模型训练初期逐渐增加学习率的过程。由于增量预训练数据的分布和原有模型学习的数据分布存在偏差，训练初期若直接使用较大的学习率，可能导致更新过快，进而影响收敛。为解决这一问题，通常在训练初期使用较小的学习率，并逐步增加，直到达到预设的最大学习率。通过这种方式，热身比例能够避免初期更新过快，从而帮助模型更好地收敛                                                                                                                                                                                                                                                                                                                                                                                                  |
| 训练参数 | 数据批量大小    | 本案例中设置为**32**。通常来说预训练任务保持每个批次数据的token数在4M或8M即可。 数据集进行分批读取训练，设定每个批次数据的大小。通常情况下，较大的数据批量可以使梯度更加稳定，从而有利于模型的收敛。需要注意的是，批量大小应该根据实际数据量设置，并且需要联动修改学习率的大小，如果批量大小增大，学习率也可以适当增加，保证模型正常收敛。                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 训练参数 | 学习率衰减比率   | 本案例中设置为**0.1**。 学习率衰减后的比率，用于控制训练过程中学习率的下降幅度。经过衰减后，学习率的最低值由初始学习率和衰减比率决定。其计算公式为：最低学习率 = 初始学习率 \* 学习率衰减比率。也就是说，学习率在每次衰减后不会低于这个计算出来的最低值。在增量预训练任务中，可以保持恒定学习率来学习行业知识。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 训练参数 | 权重衰减系数    | 本案例中设置为**0.1**。 通过在损失函数中加入与模型权重大小相关的惩罚项，鼓励模型保持较小的权重，防止过拟合或模型过于复杂。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 训练参数 | 优化器       | 本案例中设置为**adamw**。 优化器参数用于更新模型的权重，常见包括adamw。 - adamw是一种改进的Adam优化器，增加了权重衰减机制，有效防止过拟合。                                                                                                                                                                                                                                                                                                                                                                                    |
| 训练参数 | 学习率       | 本案例中设置为**0.000005**。如果在训练中发现loss值有上升的趋势，可以适当调小学习率 学习率决定了每次训练时模型参数更新的幅度。选择合适的学习率非常重要：如果学习率太大，模型可能会无法收敛；如果学习率太小，模型的收敛速度会变得非常慢。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 训练参数 | 训练轮数      | 本案例中设置为**1**。 指完成全部训练数据集训练的次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 训练参数 | 模型保存步数    | 本案例中设置为**1000** **0**。 每训练一定数量的步骤（或批次），模型的状态将会被保存。可以通过以下公式预估已训练的数据量： token_num = step \* batch_size \* sequence - token_num：已训练的数据量（以Token为单位）。  - step：已完成的训练步数。  - batch_size：每个训练步骤中使用的样本数量。  - sequence：每个数据样本中的Token数量。   |
| 训练参数 | 数据预处理并发个数 | 本案例中设置为**50**。 files_processes，数据预处理并发个数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 训练参数 | 旋转位置编码    | 本案例中**使用默认值**。 rotary_base，位置编码的基底值，一般情况建议使用默认值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 数据配置 | 训练集       | 选择训练模型所需的数据集。要求数据集经过发布操作，操作方法请参见[配比并发布数据集](https://support.huaweicloud.com/bestpractice-pangulm/pangulm_04_0124.html#pangulm_04_0124__section9771143917102)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 资源配置 | 计费模式      | 本案例中**使用默认值。** 选择训练当前任务的计费模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 资源配置 | 训练单元      | 本案例中**使用默认值。** 选择训练模型所需的训练单元。 当前展示的完成本次训练所需要的最低训练单元要求。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 资源配置 | 单实例训练单元数  | 本案例中**使用默认值。** 选择单实例训练单元数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 资源配置 | 实例数       | 本案例中**使用默认值。** 选择实例数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 订阅提醒 | 订阅提醒      | 该功能开启后，系统将在任务状态更新时，通过短信或邮件将提醒发送给用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 发布模型 | 开启自动发布    | 开启自动发布后，模型训练完成的最终产物会自动发布为空间资产，以便对模型进行压缩、部署、评测等操作或共享给其他空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 基本信息 | 名称        | 训练任务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 基本信息 | 描述        | 训练任务描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
![](https://support.huaweicloud.com/bestpractice-pangulm/public_sys-resources/note_3.0-zh-cn.png)
表格中展示了本案例所需的微调训练参数，不同模型训练参数存在一定差异，请以前端页面展示为准。
5. 参数填写完成后，单击"立即创建"。
6. 创建好训练任务后，页面将返回"模型训练"页面，可随时查看当前任务的状态。
 
#### 查看训练任务详情
模型启动训练后，可以在模型训练列表中查看训练任务的状态，单击任务名称可以进入详情页查看训练结果、训练任务详情和训练日志等信息。
图1任务详情界面
![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002542765339.png)
- **查看训练结果：** 一个正常Loss曲线示例如[图2]，通过观察Loss曲线，其随着迭代步数的增加呈下降趋势直至稳定，证明整个训练状态是正常的。
  图2Loss曲线示例
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002511165400.png)
  
- **查看任务详情：**可以看到本次训练使用参数配置信息。
- **查看日志：**您可以看到全部的训练过程日志，可以帮助您更好地分析训练过程。
#### 发布训练后的大模型
NLP大模型训练完成后，需要执行发布操作，操作步骤如下：
1. 登录ModelArts Studio大模型开发平台，在"我的空间"模块，单击进入所需空间。
2. 在左侧导航栏中选择"模型开发 \> 模型训练"，单击模型名称进入任务详情页。
3. 单击进入"训练结果"页签，单击"发布"。
   图3发布模型   
   ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002542765353.png) 
4. 填写资产名称、描述，选择对应的可见性，单击"确定"发布模型。发布后的模型会作为模型资产同步显示在"空间资产 \> 模型"列表中。
   ![](https://support.huaweicloud.com/bestpractice-pangulm/public_sys-resources/note_3.0-zh-cn.png)
   发布后的模型，支持继续进行训练\&模型部署。
   
 
