
# 构建模型蒸馏训练任务
#### 创建微调训练任务
创建NLP大模型微调任务步骤如下：
1. 登录ModelArts Studio平台，在"我的空间"模块，单击进入所需空间。
2. 在左侧导航栏中选择"模型开发 \> 模型训练"，单击界面右上角"创建训练任务"。
3. 在"选择模型"页面，选择"模型广场 \> 大语言模型 \> 模型"，单击"确定"进入"创建训练任务"页面。
4. 在"创建训练任务"页面，参考[表1]完成训练参数设置，参数默认值在创建训练任务的时候会带出。
    表1NLP大模型微调参数说明 
   | 参数分类                                                        | 训练参数           | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|:---|
   | 训练配置                                                        | 选择模型           | 可以修改如下信息： - 来源：选择"模型广场"。  - 类型：选择"大语言模型"，并选择训练所用的基础模型和版本。本案例中选择：Pangu-NLP-N1-Reasoner-128K \| V3.0.1.1。                                                                                                                                                                                                                                                            |
   | 训练配置                                                        | 训练类型           | 选择"微调"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 训练配置                                                        | 训练目标           | 选择"全量微调" - 全量微调：在模型有监督微调过程中，对大模型的全部参数进行更新。这种方法通常会带来最优的模型性能，但需要大量的计算资源和时间，计算开销较高。  - LoRA微调：在模型微调过程中，只对特定的层或模块的参数进行更新，而其余参数保持冻结状态。这种方法可以显著减少计算资源和时间消耗，同时在很多情况下，依然能够保持较好的模型性能。                                                                                                                                                                                                |
   | 训练配置                                                        | 高级设置           | checkpoints：在模型训练过程中，用于保存模型权重和状态的机制。**本案例训练步数较少，因此选择关闭**，用户可按照需求进行设置。 开启断点续训后对于未训练完成的模型，可以通过单击训练任务名称，进入"训练结果"页签，通过"编辑训练"入口选中需要进行断点续训的checkpoints进行续训。 - 关闭：关闭后不保存checkpoints，无法基于checkpoints执行续训操作。  - 自动：自动保存训练过程中的所有checkpoints。  - 自定义：根据设置保存指定数量的checkpoints。   |
   | 训练参数                                                        | 热身比例           | 本案例中设置为**0.1**。 热身比例是指在模型训练过程中逐渐增加学习率的过程。在训练的初始阶段，模型的权重通常是随机初始化的，此时模型的预测能力较弱。如果直接使用较大的学习率进行训练，可能会导致模型在初始阶段更新过快，从而影响模型的收敛。 为了解决这个问题，可以在训练的初始阶段使用较小的学习率，然后逐渐增加学习率，直到达到预设的最大学习率。这个过程就叫做热身比例。通过使用热身比例，可以避免模型在初始阶段更新过快，从而有助于模型更好地收敛。                                                                                                                                                                                                                                                                                             |
   | 训练参数                                                        | 序列长度           | 本案例中设置为**32768**。 sequence_length，训练单条数据的最大长度，超过该长度的数据在训练时将被截断。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 训练参数                                                        | 数据批量大小         | 本案例中设置为**8**。 数据集进行分批读取训练，设定每个批次数据的大小。 通常情况下，较大的数据批量可以使梯度更加稳定，从而有利于模型的收敛。然而，较大的数据批量也会占用更多的显存资源，这可能导致显存不足，并且会延长每次训练的时长。                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 训练参数                                                        | 学习率衰减比率        | 本案例中设置为**0.1**。 学习率衰减后的比率，用于控制训练过程中学习率的下降幅度。经过衰减后，学习率的最低值由初始学习率和衰减比率决定。其计算公式为：最低学习率 = 初始学习率 \* 学习率衰减比率。也就是说，学习率在每次衰减后不会低于这个计算出来的最低值。                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 训练参数                                                        | 权重衰减系数         | 本案例中设置为**0.1**。 通过在损失函数中增加一个与模型权重大小相关的惩罚项，来鼓励模型保持权重较小，从而防止模型过于复杂或过拟合训练数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 训练参数                                                        | 学习率            | 本案例中设置为**0.00002**。 学习率决定了每次训练时模型参数更新的幅度。选择合适的学习率非常重要：如果学习率太大，模型可能会无法收敛；如果学习率太小，模型的收敛速度会变得非常慢。                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 训练参数                                                        | 训练轮数           | 本案例中由于在数据处理时已经对数据复制过三份，所以在此处设置为**1**。 指完成全部训练数据集训练的次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 训练参数                                                        | 模型保存策略         | 本案例中未开启checkpoints功能，**保持默认值即可**。 保存训练中间产物策略，支持按照步数或按照训练epoch保存。按需设置，如果设置为save_checkpoint_steps，会使用save_checkpoint_steps参数的设置。如果设置为save_checkpoint_epoch，会使用save_checkpoint_epoch参数的设置。                                                                                                                                                                                                                                                                                                                                                                  |
   | 训练参数                                                        | Checkpoint保存间隔 | 本案例中未开启checkpoints功能，**保持默认值即可**。 save_checkpoint_steps，训练过程中每隔多少个训练步长保存一次模型Checkpoint文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 训练参数                                                        | Checkpoint保存轮数 | 本案例中未开启checkpoints功能，**保持默认值即可**。 训练多少epoch的数据保存一份中间训练产物，可以和save_checkpoint_steps同时设置，根据checkpoint_save_strategy判断是否启用。 eg：2表示每训练2个epoch的数据保存一份中间产物                                                                                                                                                                                                                                                                                                                                                                     |
   | 训练参数                                                        | Agent微调        | 本案例中设置为关闭。 训练Agent模型时，可以开启此参数。通过调整训练数据中的Prompt来引导模型在特定领域或任务上，生成更符合预期的回答。 使用此参数前，请先联系盘古NLP模型工程师调整Prompt和训练数据。                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 训练数据配置               | 训练集            | 选择训练模型所需的数据集。要求数据集经过发布操作，操作方法请参见[构建模型蒸馏数据集](https://support.huaweicloud.com/bestpractice-pangulm/pangulm_04_0140.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 训练数据配置               | 验证集            | - 若选择"分割训练集"，则需进一步配置数据拆分比例。  - 若选择"选择数据集"，则需选择导入的数据集。                                                                                                                                                                                                                                                                                                                                                             |
   | 资源配置    | 计费模式           | 选择训练当前任务的计费模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 资源配置    | 训练单元           | 选择训练单元数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 资源配置    | 单实例训练单元数       | 选择单实例训练单元数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 资源配置    | 实例数            | 选择实例数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 订阅提醒                                                        | 订阅提醒           | 该功能开启后，系统将在任务状态更新时，通过短信或邮件将提醒发送给用户。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 发布模型                                                        | 开启自动发布         | 开启自动发布后，模型训练完成的最终产物会自动发布为空间资产，以便对模型进行压缩、部署、评测等操作或共享给其他空间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 基本信息                                                        | 名称             | 训练任务名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 基本信息                                                        | 描述             | 训练任务描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      
   ![](https://support.huaweicloud.com/bestpractice-pangulm/public_sys-resources/note_3.0-zh-cn.png)
   表格中展示了本案例所需的微调训练参数，不同模型训练参数存在一定差异，请以前端页面展示为准
   
#### 查看训练任务详情
模型启动训练后，可以在模型训练列表中查看训练任务的状态，单击任务名称可以进入详情页查看训练结果、训练任务详情和训练日志等。
- **查看训练结果：** 一个正常Loss曲线示例如，通过观察Loss曲线，其随着迭代步数的增加呈下降趋势直至稳定，证明整个训练状态是正常的。
  图1训练loss曲线   
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002542645485.png)
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002511165538.png)
  
- **查看任务详情：** 如[图2]，您可以看到任务的所有配置信息。
  图2训练任务配置信息   
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002542765485.png)
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002542765501.png)
  
- **查看日志：** 如[图3]，您可以看到全部的训练过程日志，可以帮助您更好地分析训练过程。
  图3训练日志信息
  ![](https://support.huaweicloud.com/bestpractice-pangulm/zh-cn_image_0000002511325544.png)
  
 
