

若模型表现不能满足您的需要,您可以使用模型精调能力,通过SFT、DPO的方式对模型参数进行优化,使其更加适配业务场景。
体验链接:模型精调
精调限制
精调成本
SFT(Supervised Fine-Tuning,有监督微调):是使用标注好的问答数据对预训练模型进行进一步训练的技术。通过让模型在特定领域的高质量数据上学习,使其掌握该领域的知识、术语和回答规范。
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)模型发布
训练完成后,模型可通过两种方式发布:
训练过程中,平台会展示以下关键指标:
指标 | 含义 | 判读方式 |
loss(训练损失) | 模型在训练数据上的预测误差 | 应持续下降,表示模型在有效学习 |
eval_loss(验证损失) | 模型在验证数据上的预测误差 | 应持续下降,且与 loss 趋势一致 |
lr(学习率) | 当前的学习率数值 | 一般按预设策略自动调整 |
注意:如果 loss 持续下降但 eval_loss 开始上升,表明模型出现过拟合(仅记住训练数据而非学到通用规律),需调整参数或增加训练数据。
背景:某电商平台使用通用大模型构建智能客服系统,存在以下问题:产品信息回答不准确、话术不符合公司规范、无法处理退换货等特定流程。
目标:定制一个掌握公司业务知识和话术规范的专属客服模型。
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 将推理接入点对接到企业客服系统,定制模型即可上线服务。
预期效果:产品信息回答准确率和话术规范符合度可显著提升,客户服务体验得到明显改善。具体提升幅度视数据质量和业务场景而定。
DPO(Direct Preference Optimization,直接偏好优化):是一种通过正负样本对比来优化模型输出质量的训练方法。与 SFT 教模型「如何回答」不同,DPO 教模型「什么样的回答更好」——通过学习大量「优质回答 vs 低质回答」的对比数据,使模型倾向于生成更高质量的输出。
与 SFT 的区别和互补关系
精调方式并不互斥,而是递进的、相辅相成的。在通过SFT完成特定业务场景适配后,可再通过DPO进行偏好的对齐,提升输出质量。
维度 | SFT | DPO |
训练目标 | 使模型掌握特定领域的回答能力 | 使模型学会区分输出质量的优劣 |
数据格式 | 问题 + 标准答案 | 问题 + 优质回答 + 低质回答 |
适合阶段 | 先做 SFT 建立基础能力 | 再做 DPO 提升输出质量 |
SFT + DPO 组合使用效果最佳:先用 SFT 注入领域知识,再用 DPO 优化输出质量。
1)数据格式:正负样本对
DPO 的训练数据由三元组构成:一个问题 + 一个优质回答(chosen)+ 一个低质回答(rejected)。
{
"prompt": "请介绍一下你们的退货政策",
"chosen": "我们支持7天无理由退货。收到商品后7天内,保持商品完好即可申请退货,运费由我们承担。退款会在收到退货后3个工作日内原路退回。",
"rejected": "可以退的,你去找客服吧。"
}
2)其他能力参考SFT
指标 | 含义 | 判读方式 |
rewards accuracies(奖励准确率) | 模型正确区分优质回答和低质回答的比例 | 越高越好,接近 1.0 表示模型已能有效区分 |
rewards margins(奖励差距) | 模型对优质回答和低质回答的评分差距 | 越大越好,表示区分能力越强 |
rewards chosen(优质回答奖励值) | 模型对优质回答的评分 | 应为正值且逐步提高 |
rewards rejected(低质回答奖励值) | 模型对低质回答的评分 | 应为负值且逐步降低 |
logps chosen(优质回答对数概率) | 模型生成优质回答的概率 | 应逐步提高 |
logps rejected(低质回答对数概率) | 模型生成低质回答的概率 | 应逐步降低 |
简要判断标准:rewards accuracies 持续上升且趋近 1.0,rewards margins 持续扩大,即表示训练效果良好。
背景:某内容平台已通过 SFT 训练了一个写作助手,能生成文章,但输出质量不稳定——有时内容优质,有时存在冗余表达或事实错误。
目标:提升写作助手的输出质量稳定性,使其更符合平台内容标准。
Step 1:收集偏好对比数据
由内容审核团队对 AI 生成的文章进行评判,收集优质内容和低质内容的对比数据:
{
"prompt": "写一段关于春季护肤的建议",
"chosen": "春季气温回升,皮肤容易出现干燥脱皮。建议:1)将冬季厚重面霜换成清爽乳液;2)加强防晒,春季紫外线已经较强;3)每周做1-2次补水面膜。注意观察肌肤状态,及时调整护肤方案。",
"rejected": "春天来了,大家要注意护肤哦。护肤很重要的,可以用一些护肤品,比如面霜啊、乳液啊什么的。总之要好好爱护自己的皮肤。"
}
建议准备 500-1000 条偏好对比数据。
Step 2:上传偏好数据集
将整理好的正负样本对数据上传至万擎平台。
Step 3:创建 DPO 训练任务
Step 4:查看效果指标
Step 5:发布并部署模型
训练完成后发布模型,创建推理接入点并上线。
预期效果:模型输出的内容质量稳定性可显著提升,冗余表达减少,事实准确性增强。具体提升幅度视数据质量和业务场景而定。
【⚠️当前仅支持文本生成类模型进行精调】
进入模型精调页面,点击「新建精调任务」,进入创建页面:
超参数 | 参数说明 |
迭代轮次 | 迭代轮次(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值则使输出更具多样性。 |
当项目下存在精调任务时,用户可在模型精调页面查看该项目下的所有精调任务信息,点击某个任务名称将进入该任务详情,可查看任务的详情信息、效果指标、训练日志。
任务详情页面展示该精调任务的以下信息:
【⚠️若任务处于排队中状态 ,将无法查看效果指标】
【⚠️若任务处于排队中状态 ,将无法查看训练日志】
在训练日志页面,您可查看该精调任务的日志详情: