创建图像问答大模型训练任务
创建多模态大模型预训练任务
创建多模态大模型预训练任务步骤如下:
- 登录ModelArts Studio平台,在“我的空间”模块,单击进入所需空间。
图1 我的空间
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击右上角“创建训练任务”。
- 在“创建训练任务”页面,模型来源选择“模型广场”,模型类型选择“多模态大模型”,训练类型选择“预训练”。模型选择完成后,参考表1完成训练参数设置。
表1 多模态大模型预训练参数说明 参数分类
训练参数
参数说明
训练配置
选择模型
可以修改如下信息:
- 来源:选择“模型广场”。
- 类型:选择“多模态大模型”,并选择训练所用的基础模型和版本。
训练类型
选择“预训练”。
高级设置checkpoints
断点续训,模型训练任务过程中,用于保存模型权重和状态的机制。
- 关闭:关闭后不保存checkpoints,无法基于checkpoints执行续训操作。
- 自动:自动保存训练过程中的所有checkpoints。
- 自定义:根据设置保存指定数量的checkpoints。
开启断点续训后对于未训练完成的模型,可以通过单击训练任务名称,进入“训练结果”页签,通过“编辑训练”入口选中需要进行断点续训的checkpoint进行续训。
说明:保存过多的checkpoint会占用较大的OBS存储。
训练参数
热身比例
热身阶段占整体训练的比例。刚开始训练时若选择一个较大的学习率,可能带来模型的不稳定,选择使用warmup热身的方式,可以使得开始训练的热身阶段内学习率较小,在热身阶段的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再逐渐提升至预设的最大学习率进行训练。使用热身可以使得模型收敛速度更快,效果更佳。
学习率
学习率决定了每次训练时模型参数更新的幅度。选择合适的学习率非常重要:如果学习率太大,模型可能会无法收敛;如果学习率太小,模型的收敛速度会变得非常慢。
模型保存步数
指每训练一定数量的步骤(或批次)后,模型的状态就会被保存下来。
单步迭代时处理的数据批量大小
全局batch_size,指定每次迭代时处理的数据批量大小。在数据并行和流水线并行开启情况下,全局batch_size等于local_batch_size乘micro_size乘data_parallelism。
训练轮数
指完成全部训练数据集训练的次数。
优化器
优化器参数指的是用于更新模型权重的优化算法的相关参数,可以选择adam优化器。
学习率衰减比率
学习率衰减后的比率,用于控制训练过程中学习率的下降幅度。经过衰减后,学习率的最低值由初始学习率和衰减比率决定。其计算公式为:最低学习率 = 初始学习率 * 学习率衰减比率。也就是说,学习率在每次衰减后不会低于这个计算出来的最低值。
数据配置
训练数据
选择训练模型所需的数据集。要求数据集经过发布操作,发布数据集操作方法请参见发布训练后的多模态大模型。
资源配置
资源池
选择训练模型所需的资源池,以及算力。
当前展示的完成本次训练所需要的最低算力要求,单击“+”可增加训练算力。如果无法增加则表明已经到达资源池的最高算力。
基本信息
名称
训练任务名称。
描述
训练任务描述。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。
创建多模态大模型增量预训练任务
在模型完成创建多模态大模型预训练任务后,可以对训练后的模型继续训练,该过程称为“增量预训练”。
创建多模态大模型增量预训练任务前,请确保有已完成预训练并发布的多模态大模型。
创建多模态大模型增量预训练任务的步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
图2 我的空间
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“选择模型”页面,“来源”选择“我的资产”,“类型”选择“多模态大模型” ,并从模型列表中,选择已完成预训练并发布的多模态大模型。
- 其余参数配置等步骤同创建多模态大模型预训练任务章节描述一致。
创建多模态大模型微调任务
创建多模态大模型全量微调任务步骤如下:
- 登录ModelArts Studio平台,在“我的空间”模块,单击进入所需空间。
图3 我的空间
- 在左侧导航栏中选择“模型开发 > 模型训练”,单击界面右上角“创建训练任务”。
- 在“创建训练任务”页面,模型类型选择“多模态大模型”,训练类型选择“微调”。模型选择完成后,设置plog日志,参考表3完成训练参数设置。
表2 设置plog日志 参数类别
参数名称
说明
高级设置
plog日志
开启后plog日志功能,会记录模型训练过程中的执行过程、状态、错误等信息,盘古技术支持人员可通过plog日志定位模型训练问题。训练任务开始后可以在承载租户的OBS桶中查看。plog日志分级如下:
- DEBUG:记录模型训练过程中代码的执行流、变量状态、参数的变化等。
- INFO:记录模型训练过程中的运行信息,通常包括一些重要的状态变化、执行的关键步骤、模型训练进度等。
- WARNING:记录模型训练过程中的告警信息,可用于识别潜在的问题或异常情况。
- ERROR:记录模型训练过程中的执行错误信息。
表3 多模态大模型微调训练参数说明 参数分类
训练参数
参数说明
训练配置
模型类型
选择“多模态大模型”
训练类型
选择“微调”。
基础模型
选择微调训练所用的基础模型, 可从“预置模型”或者“我的模型”中进行选择。
高级设置checkpoints
断点续训,模型训练任务过程中,用于保存模型权重和状态的机制。“关闭”则不开启断点续训;“自动”保存训练过程中所有的checkpoint;“自定义”保存指定数量的checkpoint。需要注意:保存过多的checkpoint会占用较大的OBS存储。
开启断点续训后对于未训练完成的模型,可以通过单击训练任务名称,进入“训练结果”页签,通过“编辑训练”入口选中需要进行断点续训的checkpoint进行续训。
训练参数
热身比例
热身阶段占整体训练的比例。刚开始训练时若选择一个较大的学习率,可能带来模型的不稳定,选择使用warmup热身的方式,可以使得开始训练的热身阶段内学习率较小,在热身阶段的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后再逐渐提升至预设的最大学习率进行训练。使用热身可以使得模型收敛速度更快,效果更佳。
学习率
学习率决定了每次训练时模型参数更新的幅度。选择合适的学习率非常重要:如果学习率太大,模型可能会无法收敛;如果学习率太小,模型的收敛速度会变得非常慢。
模型保存步数
指每训练一定数量的步骤(或批次)后,模型的状态就会被保存下来。
单步迭代时处理的数据批量大小
设置在并行训练中,每个微批次包含的数据批量大小,适当的数据批量大小能够确保训练各个阶段都能充分利用计算资源,提升并行效率。
训练轮数
指完成全部训练数据集训练的次数。
优化器
优化器参数指的是用于更新模型权重的优化算法的相关参数,可以选择adam优化器。
学习率衰减比率
学习率衰减后的比率,用于控制训练过程中学习率的下降幅度。经过衰减后,学习率的最低值由初始学习率和衰减比率决定。其计算公式为:最低学习率 = 初始学习率 * 学习率衰减比率。也就是说,学习率在每次衰减后不会低于这个计算出来的最低值。
数据配置
训练数据
选择训练模型所需的数据集。要求数据集经过发布操作,发布数据集操作方法请参见发布数据集。
资源配置
资源池
选择训练模型所需的资源池,以及算力。
当前展示的完成本次训练所需要的最低算力要求,单击“+”可增加训练算力。如果无法增加则表明已经到达资源池的最高算力。
基本信息
名称
训练任务名称。
描述
训练任务描述。
- 参数填写完成后,单击“立即创建”。
- 创建好训练任务后,页面将返回“模型训练”页面,可随时查看当前任务的状态。
微调CKPT产物发布成可部署资产
开启断点续训后的微调任务,在模型训练任务过程中,会依据用户设置的模型保存步数自动保存中间CKPT产物,用于后续的断点续训任务。
微调CKPT产物不仅支持微调的断点续训任务,也支持单独发布成推理资产,用于推理部署。原因是在一次训练任务中,可能由于训练数据量、学习率设置等因素,中间断点模型的泛化性以及推理效果更好。
微调CKPT产物发布成可部署资产,操作步骤如下: