更新时间:2024-10-16 GMT+08:00
分享

创建有监督训练任务

创建有监督微调训练任务

  1. 登录盘古大模型套件平台。
  2. 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
    图1 模型训练列表
  3. 在训练配置中,选择模型类型、训练类型、训练方式、训练模型与训练参数。

    其中,训练配置选择LLM(大语言模型),训练类型选择有监督训练,根据所选模型配置训练参数。

    表1 有监督微调参数说明

    参数名称

    说明

    模型类型

    选择“LLM”。

    训练类型

    选择“有监督微调”。

    训练方式

    • 全量微调:在模型有监督微调过程中,对大模型的全部参数进行更新。这种方法通常会带来最优的模型性能,但需要大量的计算资源和时间,计算开销较高。
    • 局部微调(LoRA):在模型微调过程中,只对特定的层或模块的参数进行更新,而其余参数保持冻结状态。这种方法在很多情况下可以显著减少计算资源和时间消耗,且依旧可以保持较好的模型性能。

    训练模型

    选择训练所需要的模型。支持选择“预置模型”或者“我的模型”。

    • 预置模型:系统提供的LLM(大语言)预置模型。
    • 我的模型:经过用户预训练或者微调训练后的模型。

    模型详细介绍请参见选择模型与训练方法

    训练参数

    指定用于训练模型的超参数。

    训练参数说明和调参策略请参见有监督微调(全量微调)训练参数说明表5

  4. 在数据配置中,选择训练数据集、验证数据等参数。
    验证数据可选择“从训练数据拆分”和“从已有数据导入”。
    • 从训练数据拆分:取值范围[1%-50%]。设置1%即从训练数据中随机拆分出1%的数据作为验证集,验证集中最多使用100条数据用于模型训练效果评估。数据按比例拆分后,如果超过100条,会随机取100条数据。
    • 从已有数据导入:从已有的数据集中选择数据用于模型训练效果评估,如果数据超过100条,会取前100条数据。
    图2 从训练数据拆分
  5. 完成训练任务基本信息。设置模型的名称、描述以及订阅提醒。
    设置订阅提醒后,模型训练和部署过程产生的事件可以通过手机或邮箱发送给用户。
    图3 基本信息
  6. 单击“立即创建”,创建有监督微调训练任务。

有监督微调(全量微调)训练参数说明

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

表2 有监督微调(全量微调)参数说明

训练参数

默认值

范围

说明

数据批量大小

8

>=1

数据集进行分批读取训练,设定每个批次数据的大小。

一般来说,批大小越大,训练速度越快,但会占用更多的内存资源,且可能导致收敛困难或过拟合。批大小越小,训练速度越慢,但会减少内存消耗,且可能提高泛化能力。因此,批大小需要根据数据集的规模和特点,以及模型的复杂度和性能进行调整。同时,批大小还与学习率相关。学习率是指每次更新参数时,沿着梯度方向移动的步长。一般来说,批大小和学习率成正比。如果批大小增大,学习率也相应增大;如果批大小减小,那么学习率也应减小。

训练轮数

1

1~50

完成全部训练数据集训练的次数。

学习率

0.0001

0~1

学习率用于控制每个训练步数(step)参数更新的幅度。需要选择一个合适的学习,因为学习率过大会导致模型难以收敛,学习率过小会导致收敛速度过慢。

优化器

adamw

adamw

用于更新模型权重的优化算法参数,可以选择adamw。

  • adamw是一种改进的Adam优化器,它在原有的基础上加入了权重衰减(weight decay)的机制,可以有效地防止过拟合(overfitting)的问题。

学习率衰减比率

0.00001

0~1

学习率衰减后,最小不会低于的学习率。计算公式为:学习率*学习率衰减比率。

热身比例

0.1

0~1

热身阶段占整体训练的比例。

模型刚开始训练时,如果选择一个较大的学习率,可能导致模型训练不稳定。选择使用warmup热身的方式,可以使开始训练的热身阶段内学习率较小,模型可以慢慢趋于稳定,待模型相对稳定后再逐渐提升至预设的最大学习率进行训练。使用热身可以使得模型收敛速度更快,效果更佳。

模型保存步数

1000

1000~2000中10的倍数

每训练一定数量的步骤(或批次)后,模型的状态就会被保存下来。

可以通过token_num = step * batch_size * sequence公式进行预估。其中:

  • token_num:已训练的数据量。
  • step:已完成的训练步数。
  • batch_size:每个训练步骤中使用的样本数据量。
  • sequence:每个数据样本中的token数量。

数据量以token为单位。

当前盘古-NLP-N2-基模型与盘古-NLP-N4-基模型支持有监督微调。

表3 盘古-NLP-N2-基模型训练参数推荐

应用场景

参数

推荐值

基础场景(文本分析、文本生成、文本翻译、query生成、开放问答、知识问答、改写、总结聚合、聊天)

数据批量大小

8

训练轮数

4

学习率

0.000075

优化器

adamw

学习率衰减比率

0.067

热身比例

0.01

NL2SQL场景

数据批量大小

8

训练轮数

4

学习率

0.00001

优化器

adamw

学习率衰减比率

0.067

热身比例

0.013

NL2JSON场景

数据批量大小

8

训练轮数

3

学习率

0.000075

优化器

adamw

学习率衰减比率

0.01

热身比例

0.01

NL2CODE场景

数据批量大小

8

训练轮数

4

学习率

0.00001

优化器

adamw

学习率衰减比率

0.067

热身比例

0.013

表4 盘古-NLP-N4-基础功能模型-4K训练参数推荐

应用场景

参数

推荐值

基础场景(文本分析、文本生成、文本翻译、query生成、开放问答、知识问答、改写、总结聚合、聊天)

数据批量大小

8

训练轮数

6

学习率

0.000003

模型保存步数

1000

优化器

adamw

学习率衰减比率

0.01

热身比例

0.05

有监督微调(局部微调)训练参数说明

表5 有监督微调(局部微调)参数说明

训练参数

默认值

范围

说明

LoRA轶值

/

8、16、32、64

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

训练轮数

4

1~50

完成全部训练数据集训练的次数。

学习率

0.0001

0~1

学习率用于控制每个训练步数(step)参数更新的幅度。需要选择一个合适的学习,因为学习率过大会导致模型难以收敛,学习率过小会导致收敛速度过慢。

优化器

adamw

adamw

优化器参数指的是用于更新模型权重的优化算法的相关参数,可以选择adamw。

  • adamw是一种改进的Adam优化器,它在原有的基础上加入了权重衰减(weight decay)的机制,可以有效地防止过拟合(overfitting)的问题。

学习率衰减比率

0.1

0~1

学习率衰减后,最小不会低于的学习率,计算公式为:学习率*学习率衰减比率。

热身比例

0.01

0~1

热身阶段占整体训练的比例。

模型刚开始训练时,如果选择一个较大的学习率,可能导致模型训练不稳定。选择使用warmup热身的方式,可以使开始训练的热身阶段内学习率较小,模型可以慢慢趋于稳定,待模型相对稳定后再逐渐提升至预设的最大学习率进行训练。使用热身可以使得模型收敛速度更快,效果更佳。

相关文档