若模型表现不能满足您的需要,您可以使用模型微调能力,通过监督学习等方式对模型参数进行优化,使其更加适配业务场景。
SFT(Supervised Fine-tuning,有监督微调):指采用预先训练好的神经网络模型,针对用户自己的专门任务在少量的监督数据上对其进行重新训练的技术。
SFT的作用:
在左侧导航栏模型定制板块,选择「模型微调」,点击「新建微调服务」进入信息填写页面
页面截图 | 配置项 | 用途 |
基本信息 | ||
任务名称 | 必填,标识任务。 | |
任务类型 | 必填,可选择文本生成或图像理解。 | |
任务描述 | 非必填,描述当前任务。 | |
任务标签 | 非必填,有自定义分组诉求的,可利用标签进行分类。 | |
微调方式 | 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后付费”。
当项目下存在多个微调任务时,用户可在模型微调页面查看该项目下的所有微调任务信息,点击某个任务名称将进入该任务详情,可查看任务的详情信息、效果指标、训练日志。
任务详情页面展示该微调任务的以下信息:
提示:若任务处于排队中状态 ,将无法查看效果指标。
提示:若任务处于排队中状态 ,将无法查看训练日志。
在训练日志页面,您可查看该微调任务的日志详情:
页面截图 | 配置项 | 说明 |
关键字检索 | 可输入关键字对日志内容进行检索。 | |
自动刷新 | 默认关闭,打开后日志将自动刷新。 | |
自动换行 | 默认打开,日志自动换行。 |