logologo
logo
热门活动
HOT
产品
解决方案
客户价值
文档
支持与帮助
售前咨询
快手万擎(Vanchin)
开始使用
产品介绍
模型介绍
模型服务
模型定制
模型研发
模型托管
模型评测
数据管理
系统管理
产品计费
API说明
常见问题
相关协议
文档中心
模型服务模型定制模型精调

模型精调


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

体验链接:模型精调

一、判断精调必要性

精调限制

  • 难以通过精调实现模型通用基础能力,如推理能力优化、长上下文理解等能力的大幅提升;
  • 难以通过精调提高模型对高时效性信息的检索能力,建议您使用Function Call调用支持联网搜索的插件;
  • 难以通过精调提高模型对特定领域信息的检索能力,建议您使用知识库能力。

精调成本

  • 需高质量标注数据(如问答对、偏好排序),数据清洗和标注可能消耗大量人力;
  • 超参数调优、验证集迭代可能需多次试验,耗时数天至数周。


二、精调方式介绍

2.1 SFT(有监督微调)

2.1.1 什么是 SFT

SFT(Supervised Fine-Tuning,有监督微调):是使用标注好的问答数据对预训练模型进行进一步训练的技术。通过让模型在特定领域的高质量数据上学习,使其掌握该领域的知识、术语和回答规范。

2.1.2 SFT 核心价值

  • 任务适应:使通用模型快速适应特定业务场景
  • 性能提升:在特定任务上,经过微调的小模型可能超越通用大模型
  • 数据高效:不需要海量数据,数百至数千条高质量数据即可产生明显效果
  • 成本可控:微调成本远低于从零训练一个模型

2.1.3 典型应用场景

  • 场景 1:企业客服对话优化
    • 痛点:通用模型不了解公司产品和话术规范
    • 方案:使用公司历史客服数据进行 SFT,使模型掌握公司话术和产品知识
    • 效果:回答准确率和客户满意度可显著提升


  • 场景 2:垂直领域文本生成
    • 痛点:法律文书、医疗问诊、金融报告等场景需要专业知识
    • 方案:使用领域专业数据进行 SFT,使模型掌握行业术语和业务逻辑
    • 效果:输出内容的专业性和准确性可大幅提升


  • 场景 3:特定格式输出适配
    • 痛点:需要模型输出 JSON、XML 等结构化数据,通用模型格式正确率不高
    • 方案:使用标准格式示例进行 SFT,训练模型严格按格式输出
    • 效果:结构化输出的格式正确率可显著提高


  • 场景 4:品牌语气风格定制
    • 痛点:品牌有独特调性(如活泼、专业、温暖),通用模型风格不匹配
    • 方案:使用符合品牌风格的问答数据进行 SFT
    • 效果:模型输出风格与品牌调性高度一致

2.1.4 核心能力

1)模型支持

SFT 仅支持【文本生成】模型(如 Qwen、DeepSeek 等系列的对话/文本生成模型)。图像模型、语音模型等暂不支持(如有需求可及时支持:点击申请)。

2)训练方法:全量更新 vs LoRA

建议用户先使用【 LoRA 】快速验证效果,满意后再评估是否需要【全量更新】。

对比维度

全量更新(Full Fine-Tuning)

LoRA(低秩适应)

原理

更新模型所有参数

仅更新少量新增的低秩参数

训练速度

较慢

较快

显存占用

效果上限

更高,参数充分调整

略低,但大多数场景可满足需求

适用场景

数据量大、追求极致效果

数据量适中、快速迭代、成本敏感

推荐程度

适合大客户、高要求场景

大多数客户的首选方案

3)超参数

以下参数对训练效果有直接影响,万擎平台为上述参数提供了合理的默认值,客户无需具备深度学习调参经验即可完成微调。对于有经验的技术团队,平台也支持自定义参数配置。

参数

含义

说明

学习率(Learning Rate)

模型每次参数更新的幅度

过大易导致训练不稳定,过小则收敛缓慢。平台提供默认推荐值

训练轮次(Epochs)

对训练数据的完整遍历次数

一般 2-5 轮,过多可能导致过拟合

批量大小(Batch Size)

每次参数更新使用的样本数

影响训练速度和显存占用

LoRA Rank

LoRA 低秩矩阵的维度

值越大学习能力越强,但计算成本也越高

4)数据集管理

训练集:支持两种数据来源:

    • 平台已发布数据集:万擎内置的公开数据集,客户可直接使用或参考其格式
    • 自定义数据集:客户上传自己的业务数据

验证集:用于在训练过程中评估模型效果,防止过拟合:

    • 数据拆分:从训练数据中自动按比例拆出一部分作为验证集
    • 指定数据集:客户单独上传一份验证数据集

5)模型发布

训练完成后,模型可通过两种方式发布:

    • 发布为新模型:创建一个全新的定制模型
    • 发布为已有模型的新版本:在现有定制模型基础上迭代更新

2.1.5 效果指标

训练过程中,平台会展示以下关键指标:

指标

含义

判读方式

loss(训练损失)

模型在训练数据上的预测误差

应持续下降,表示模型在有效学习

eval_loss(验证损失)

模型在验证数据上的预测误差

应持续下降,且与 loss 趋势一致

lr(学习率)

当前的学习率数值

一般按预设策略自动调整

注意:如果 loss 持续下降但 eval_loss 开始上升,表明模型出现过拟合(仅记住训练数据而非学到通用规律),需调整参数或增加训练数据。

2.1.6 场景示例:电商客服模型定制全流程

背景:某电商平台使用通用大模型构建智能客服系统,存在以下问题:产品信息回答不准确、话术不符合公司规范、无法处理退换货等特定流程。

目标:定制一个掌握公司业务知识和话术规范的专属客服模型。

Step 1:准备训练数据

整理公司历史客服对话记录,制作「问题-标准回答」配对数据,格式示例:

{
"messages": [
{"role": "system", "content": "你是XX电商的智能客服,请根据公司政策回答客户问题。"},
{"role": "user", "content": "这件衣服有M码吗?"},
{"role": "assistant", "content": "这款商品有S/M/L/XL四个尺码。M码适合身高160-170cm、体重50-60kg的顾客。您可以参考商品详情页的尺码表选择,也可以告知您的身高体重,我为您推荐合适的尺码。"}
]
}

建议准备 500-2000 条高质量问答数据,覆盖主要问题类型。

1.如果已有处理好可直接训练的数据,直接上传即可。

2.若原始数据质量不高、格式不对、分布不均等,需要处理后,才能用于训练,可通过平台产品化工具,对原始数据进行分析、清洗、格式化、增强,生成高质量的「问题-回答」配对数据集,然后再微调。

a. 质量不高:部分对话包含无效信息、重复内容、脏数据

b. 格式不对:原始数据为非结构化文本,未按「问题-标准回答」配对

c. 分布不均:高频问题(如退换货)样本多,低频问题(如跨境物流)样本极少,模型微调后可能偏向高频问题

3.具体处理方法

a. 数据预览与质量分析

操作:「数据集」→ 导入原始客服对话数据(CSV/JSON)→ 提交「数据分析」任务 → 查看数据分析结果(分布、字段统计、空值比例、重复占比等) → 筛选正常符合预期的数据保存为新版本

b. 新建数据工作流进行清洗与格式化

操作:「数据工作流」→ 新建工作流 → 选择「数据清洗」模版,配置清洗规则(去重、过滤空值、过滤特殊字符、去除Email地址等)→设置结束后保存到训练集/文本生成/SFT的列映射 → 发布工作流→ 执行工作流

c. 数据增强与平衡处理

操作:在工作流中继续添加「数据增强」节点 → 选择用于增强的推理点(模型),配置增强策略(大模型生成相似问法),设置保存数据列映射配置&输出策略(新增/覆盖)→ 运行工作流,生成增强后的平衡数据集

d. 数据集保存与版本管理

操作:「数据工作流」运行完成后 → 将结果数据集保存至平台「数据集」→ 发布数据集,供后续微调任务直接使用

Step 2:上传数据集

在万擎平台「数据集」模块上传数据文件,平台将自动校验数据格式。

Step 3:创建 SFT 微调任务

1.选择基础模型(如 Qwen 系列对话模型)

2.选择训练方法(推荐先用 LoRA做验证)

3.关联训练数据集

4.配置验证方式(推荐使用数据拆分)

5.设置超参数(可使用平台默认值)

6.提交训练任务

Step 4:监控训练过程

1.实时查看 loss 和 eval_loss 曲线

2.确认 loss 持续下降,表明模型在有效学习

3.查看训练日志,了解训练进度

Step 5:发布模型

训练完成后,将模型发布为新模型或已有模型的新版本,可在【模型仓库】对已发布模型执行继续增量训练、量化、部署操作。

Step 6:模型部署

在【模型仓库】选择已发布的定制模型进行部署,部署流程将会默认选中当前模型,点击提交部署完成后,可进行模型效果评测和性能评测。

Step 7:模型评测

已部署的模型可通过点击评测进入效果评测流程,支持人工评测和自动评测(LLM as a Judge),自动评测可大幅提升评测效率,评测完成后可通过评测详情和评测结果对比模型表现。

通过模型性能评测能够了解模型在不同压力条件下的推理性能表现,包括延迟、吞吐量、成功率等关键指标,可基于此制定合理的调用策略和限流配置。

Step 8:创建推理点

在万擎平台创建推理接入点(Endpoint),选择已发布的定制模型进行部署。

Step 9:接入业务系统

通过 API 将推理接入点对接到企业客服系统,定制模型即可上线服务。

预期效果:产品信息回答准确率和话术规范符合度可显著提升,客户服务体验得到明显改善。具体提升幅度视数据质量和业务场景而定。


2.2 DPO(直接偏好优化)

2.2.1 什么是 DPO

DPO(Direct Preference Optimization,直接偏好优化):是一种通过正负样本对比来优化模型输出质量的训练方法。与 SFT 教模型「如何回答」不同,DPO 教模型「什么样的回答更好」——通过学习大量「优质回答 vs 低质回答」的对比数据,使模型倾向于生成更高质量的输出。

与 SFT 的区别和互补关系

精调方式并不互斥,而是递进的、相辅相成的。在通过SFT完成特定业务场景适配后,可再通过DPO进行偏好的对齐,提升输出质量。

维度

SFT

DPO

训练目标

使模型掌握特定领域的回答能力

使模型学会区分输出质量的优劣

数据格式

问题 + 标准答案

问题 + 优质回答 + 低质回答

适合阶段

先做 SFT 建立基础能力

再做 DPO 提升输出质量

SFT + DPO 组合使用效果最佳:先用 SFT 注入领域知识,再用 DPO 优化输出质量。

2.2.2 DPO 的核心价值

  • 偏好对齐:使模型输出更符合人类期望和业务标准
  • 质量提升:在多种可能的回答中,引导模型选择质量更高的回答
  • 流程简化:相比传统 RLHF 方法,DPO 无需训练额外的奖励模型,实现成本更低

2.2.3 典型应用场景

  • 场景 1:减少幻觉
    • 痛点:模型有时会生成不准确或编造的信息
    • 方案:收集「事实准确的回答」vs「包含编造信息的回答」进行 DPO 训练
    • 效果:模型在不确定时更倾向于如实表达,减少幻觉输出


  • 场景 2:安全对齐
    • 痛点:模型可能生成不当或有害内容
    • 方案:收集「安全回答」vs「不当回答」进行 DPO 训练
    • 效果:模型学会识别和拒绝不当请求,提升安全性


  • 场景 3:输出质量提升
    • 痛点:模型回答质量参差不齐
    • 方案:收集高质量和低质量回答的对比数据进行 DPO 训练
    • 效果:模型输出的平均质量显著提升,回答更准确、更有条理

2.2.4 核心能力

1)数据格式:正负样本对

DPO 的训练数据由三元组构成:一个问题 + 一个优质回答(chosen)+ 一个低质回答(rejected)。

{
"prompt": "请介绍一下你们的退货政策",
"chosen": "我们支持7天无理由退货。收到商品后7天内,保持商品完好即可申请退货,运费由我们承担。退款会在收到退货后3个工作日内原路退回。",
"rejected": "可以退的,你去找客服吧。"
}

2)其他能力参考SFT

2.2.5 效果指标详解

指标

含义

判读方式

rewards accuracies(奖励准确率)

模型正确区分优质回答和低质回答的比例

越高越好,接近 1.0 表示模型已能有效区分

rewards margins(奖励差距)

模型对优质回答和低质回答的评分差距

越大越好,表示区分能力越强

rewards chosen(优质回答奖励值)

模型对优质回答的评分

应为正值且逐步提高

rewards rejected(低质回答奖励值)

模型对低质回答的评分

应为负值且逐步降低

logps chosen(优质回答对数概率)

模型生成优质回答的概率

应逐步提高

logps rejected(低质回答对数概率)

模型生成低质回答的概率

应逐步降低

简要判断标准:rewards accuracies 持续上升且趋近 1.0,rewards margins 持续扩大,即表示训练效果良好。

2.2.6 场景示例:内容平台 AI 写作助手质量优化

背景:某内容平台已通过 SFT 训练了一个写作助手,能生成文章,但输出质量不稳定——有时内容优质,有时存在冗余表达或事实错误。

目标:提升写作助手的输出质量稳定性,使其更符合平台内容标准。

Step 1:收集偏好对比数据

由内容审核团队对 AI 生成的文章进行评判,收集优质内容和低质内容的对比数据:

{
"prompt": "写一段关于春季护肤的建议",
"chosen": "春季气温回升,皮肤容易出现干燥脱皮。建议:1)将冬季厚重面霜换成清爽乳液;2)加强防晒,春季紫外线已经较强;3)每周做1-2次补水面膜。注意观察肌肤状态,及时调整护肤方案。",
"rejected": "春天来了,大家要注意护肤哦。护肤很重要的,可以用一些护肤品,比如面霜啊、乳液啊什么的。总之要好好爱护自己的皮肤。"
}

建议准备 500-1000 条偏好对比数据。

Step 2:上传偏好数据集

将整理好的正负样本对数据上传至万擎平台。

Step 3:创建 DPO 训练任务

  • 选择基础模型(推荐使用已完成 SFT 的模型,也可直接使用预置模型)
  • 关联偏好数据集
  • 配置训练参数
  • 提交训练任务

Step 4:查看效果指标

  • 关注 rewards accuracies 是否持续上升
  • 关注 rewards margins 是否持续扩大
  • 确认模型逐步学会区分输出质量

Step 5:发布并部署模型

训练完成后发布模型,创建推理接入点并上线。

预期效果:模型输出的内容质量稳定性可显著提升,冗余表达减少,事实准确性增强。具体提升幅度视数据质量和业务场景而定。


三、平台操作指引

3.1 新建任务

【⚠️当前仅支持文本生成类模型进行精调】

进入模型精调页面,点击「新建精调任务」,进入创建页面:

  1. 选择精调方式
  • SFT(Supervised Fine-tuning):指采用预先训练好的神经网络模型,针对用户自己的专门任务在少量的监督数据上对其进行重新训练的技术。
  • DPO(Direct Preference Optimization):训练数据集数据同时提供正负样本,通过引入负反馈,降低幻觉,对bad case进行针对性优化。
  1. 选择精调模型,支持选择模型广场模型及用户自有模型;
  2. 选择训练方法
  • 全量更新:指在预训练模型的基础上,对其全部可训练参数进行重新训练,使模型整体适配新的任务或数据分布。
  • LoRA:一种参数高效精调方法,在固定预训练大模型本身参数的基础上,保留自注意力模块中原始权重矩阵,对权重矩阵进行低秩分解,训练过程中只更新低秩部分的参数。
  1. 参数配置:见下方表格。
  2. 选择数据集:可选择平台已发布数据集版本或内置数据集。
  3. 选择验证集:可从当前选择的数据集中随机拆分作为验证集,或选择指定数据集作为验证集。
  4. 选择发布方式
  • 发布为新模型:此次训练的模型发布后使用新的模型名称。
  • 已有模型新版本:同系列模型仅更新版本,不更新模型名称。需保持基础模型一致、精调方式一致、任务类型一致、训练方法一致。
  1. 计量计费:精调配置选择完毕后,页面将展示计费详情。预估条件(精调方式、基础模型、基础模型版本、训练方法、数据集、验证集)均填写后,将展示折合后的具体金额范围;若预估条件不充分,将提示“按token后付费”。

超参数

参数说明

迭代轮次

迭代轮次(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长度内。

DPO偏好损失类型

DPO中偏好损失类型(Loss Type),可选择的类型包括sigmoid、ipo、kto_pair。sigmoid适用于一般情况,提供稳定训练过程,ipo可以纠正模型过度自信的问题,kto可以使模型更符合用户偏好。

beta

温度超参(Beta),温度超参beta用于控制模型输出分布的集中程度。较高的beta值会使输出更具确定性,而较低的beta值则使输出更具多样性。

3.2 查看任务

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

3.2.1 任务详情

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

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

3.2.2 效果指标

【⚠️若任务处于排队中状态 ,将无法查看效果指标】

基础指标
  • 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 chosen:选择偏好选中(chosen)的对数概率平均值。值越大效果越好。
  • logps rejected:选择偏好拒绝(rejected)的对数概率平均值。值越小效果越好。

3.2.3 训练日志

【⚠️若任务处于排队中状态 ,将无法查看训练日志】

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

上一篇:模型定制下一篇:模型蒸馏
该篇文档内容是否对您有帮助?
有帮助没帮助