logologo
售前咨询
快手万擎
开始使用
模型介绍
产品计费
API说明
控制台介绍
模型定制
场景示例
相关协议
文档中心
控制台介绍模型定制模型微调

模型微调


若模型表现不能满足您的需要,您可以使用模型微调能力,通过监督学习等方式对模型参数进行优化,使其更加适配业务场景。

微调方式

SFT(Supervised Fine-tuning,有监督微调):指采用预先训练好的神经网络模型,针对用户自己的专门任务在少量的监督数据上对其进行重新训练的技术。

SFT的作用

  • 任务适应:预训练模型往往是在大规模无标注或自监督数据上训练的,虽然具备了一定的通用能力,但可能并不完全适应特定任务。通过有监督微调,模型可以学习到特定任务的数据分布和模式,从而提升在该任务上的性能。
  • 提升性能:微调能够进一步调整模型的参数,以优化在特定任务上的性能。
  • 减少数据需求:相对于从头开始训练模型,有监督微调可以在预训练模型的基础上进行,因此通常能够更快地收敛,减少训练时间和训练成本。

训练方法

  • 全量更新:指在预训练模型的基础上,对其全部可训练参数进行重新训练,使模型整体适配新的任务或数据分布。
  • LoRA:一种参数高效微调方法,在固定预训练大模型本身的参数的基础上,在保留自注意力模块中原始权重矩阵的基础上,对权重矩阵进行低秩分解,训练过程中只更新低秩部分的参数。

创建微调任务

  • 新建微调任务

在左侧导航栏模型定制板块,选择「模型微调」,点击「新建微调服务」进入信息填写页面

页面截图

配置项

用途

基本信息

任务名称

必填,标识任务。

任务类型

必填,可选择文本生成或图像理解。

任务描述

非必填,描述当前任务。

任务标签

非必填,有自定义分组诉求的,可利用标签进行分类。

微调方式

SFT:通过有监督的方式微调模型,提升模型在特定任务上的指令遵循能力。

DPO:训练数据集数据同时提供正负样本,通过引入负反馈,降低幻觉,对bad case进行针对性优化。

添加模型

必填,选择微调的基础模型及其版本。

训练配置

训练方法

LoRA:在固定预训练大模型本身的参数的基础上,在保留自注意力模块中原始权重矩阵的基础上,对权重矩阵进行低秩分解,训练过程中只更新低秩部分的参数。

全量更新:全量更新在训练过程中对大模型的全部参数进行更新。

参数配置

必填,携带默认参数,参数说明可见下方表格。

数据配置

数据集

必填,来源为平台已发布数据集版本或内置数据集。

验证集

必填,选择的数据集进行拆分作为验证集,或者指定数据作为验证集。

模型发布

自动发布

默认开启,开启后,模型在训练完成后会自动发布至模型仓库;若模型训练失败,则不自动发布模型。

发布方式

发布为新模型:此次训练的模型发布后使用新的模型名称。

已有模型新版本:同系列模型仅更新版本,不更新模型名称。需保持基础模型一致、微调方式一致、任务类型一致、训练方法一致。

版本

仅用于展示,当前模型发布的版本。

模型描述

非必填,描述发布的模型特征。

训练配置-参数说明:

超参数

参数说明

迭代轮次

迭代轮次(Epoch),控制模型训练过程中遍历整个数据集的次数。建议设置在1-5之间,小数据集可增大Epoch以促进模型收敛。

学习率

学习率(Learning Rate),控制模型参数更新步长的速度。过高会导致模型难以收敛,过低则会导致模型收敛速度过慢,平台已给出默认推荐值,可根据经验调整。

单卡批大小

单卡批大小(Per Device Batch Size),单卡每次训练迭代使用的样本数,为了加快训练效率。全局批大小 = 单卡批大小 * 卡数

序列长度

序列长度(Sequence Length),单条数据的最大长度,包括输入和输出。超过该长度的数据在训练将被自动截断,单位为token。如果数据集中的文本普遍较短,建议选择较短的序列长度以提高计算效率。

预热比例

预热比例(Learning Rate Warmup),训练初期学习率预热步数占用总的训练步数的比例。学习率预热可以提高模型稳定性和收敛速度。

LoRA Ranks

LoRA 策略中的秩(LoRA Rank),决定了微调过程中引入的低秩矩阵的复杂度。较小的秩可以减少参数数量,降低过拟合风险,但可能不足以捕捉任务所需的所有特征;较大的秩可能增强模型的表示能力,但会增加计算和存储负担。

LoRA Alpha

LoRA微调中的缩放系数(LoRA Alpha),定义了LoRA适应的学习率缩放因子。该参数过高,可能会导致模型的微调过度,失去原始模型的能力;改参数过低,可能达不到预期的微调效果。

LoRA Dropout

LoRA微调中的Dropout系数(LoRA Dropout),用于防止lora训练中的过拟合。

学习率调整计划

学习率调整计划(Scheduler Type),用于在训练过程中动态调整学习率,以优化模型的收敛速度和性能。根据模型的训练情况和任务需求,选择合适的学习率调整方式。

正则化系数

正则化系数(Weight Decay),控制正则化项对模型参数的影响强度。适当增大系数可以增强正则化效果,防止过拟合,但过高的系数可能导致模型欠拟合。

验证步数

验证步数(Validation Steps),计算验证集Loss的间隔步数;为0时不开启验证,没有相关指标。

Checkpoint保存间隔数

Checkpoint保存间隔数(Checkpoint Interval),训练过程中保存Checkpoint的间隔Step数。间隔太短可能导致频繁的Checkpoint操作增加训练时长,间隔太长则可能在故障时丢失更多的数据。

Packing

数据拼接(Packing),将多条训练样本拼接到一个seqLen长度内。

  • 计量计费

微调配置选择完毕后,页面将展示「计量计费」详情:

预估条件(微调方式、基础模型、基础模型版本、训练方法、数据集、验证集)均填写后,将展示折合后的具体金额范围;若预估条件不充分,将提示“按token后付费”。

查看微调任务

当项目下存在多个微调任务时,用户可在模型微调页面查看该项目下的所有微调任务信息,点击某个任务名称将进入该任务详情,可查看任务的详情信息、效果指标、训练日志。

任务详情

任务详情页面展示该微调任务的以下信息:

  • 剩余时间:若任务处于运行状态,将展示任务已持续时间及预估剩余时间。
  • 基本信息:任务名称、ID、类型、描述、微调方式、基础模型名称、创建人、创建时间。
  • 训练配置:展示任务的训练方法及参数配置,点击「查看详情」将展示对应任务所配置的超参数。
  • 数据配置:数据集展示数据集表格;验证集:若为数据拆分将展示数据拆分、拆分比例,选择数据集将展示数据集表格。
  • 模型发布:已发布模型将展示已发布模型名称,点击将展示模型仓库中该模型详情。

效果指标

提示:若任务处于排队中状态 ,将无法查看效果指标。

基础指标
  • loss:模型在数据集上计算得到的损失值,衡量模型对训练数据的拟合程度。
  • eval_loss:模型在验证集上计算得到的损失值,模拟模型在未知数据上的表现。
  • lr:学习率(Learning Rate),控制模型参数更新步长的速度。过高会导致模型难以收敛,过低则会导致模型收敛速度过慢。
dpo指标
  • rewards/accuracies:模型预测的偏好与标注一致(rewards/chosen > rewards/rejected)的频率。值越大效果越好。
  • rewards/margins:偏好选中和偏好拒绝奖励的平均差值(rewards/chosen - rewards/rejected)。值越大代表效果越好。
  • rewards/chosen:偏好选中(chosen)的回复奖励值,值越大代表效果越好。
  • rewards/rejected:偏好拒绝(rejected)的回复奖励值。值越小代表效果越好。
  • logps/rejected:选择偏好选中(chosen)的对数概率平均值。值越大效果越好。
  • logps/chosen:选择偏好拒绝(rejected)的对数概率平均值。值越小效果越好。

训练日志

提示:若任务处于排队中状态 ,将无法查看训练日志。

在训练日志页面,您可查看该微调任务的日志详情:

页面截图

配置项

说明

关键字检索

可输入关键字对日志内容进行检索。

自动刷新

默认关闭,打开后日志将自动刷新。

自动换行

默认打开,日志自动换行。

上一篇:API KEY管理下一篇:模型部署
该篇文档内容是否对您有帮助?
有帮助没帮助