模型精调是指基于一个基础模型,通过特定的训练方法进行优化,以提升其在具体任务中表现的过程。精调主要适用于以下场景:
- 提升特定任务表现:针对您的具体业务场景或任务,优化模型性能。
- 降低延迟与成本:通过精调一个小模型,使其在特定任务上的表现能媲美甚至超越大模型,从而实现更低的推理延迟和成本。
- 如效果问题集中、判定规则清晰,建议先尝试通过PE优化提示词。如优化后效果仍不及预期,积累的数据集和评估框架也可用于进一步的精调优化。
- 精调训练、数据构造成本较高(建议最少 SFT数百样本 、DPO百条样本、CPT一千万 tokens),更大的业务规模能有效摊销训练成本
- 精调模型推理成本较基础模型更高,如对推理成本非常敏感,请评估后再进行精调或等待基础模型优化。
- 模型精调 页面,点击左上角 创建精调任务 按钮,填写必填字段;
- 选择精调类型、待训练的模型及训练方式,可参考精调选型指南;
- 准备数据集,针对不同精调方法及模型能力,格式规范详见格式总览。
- 训练集:上传 JSONL 文件,支持本地上传、从 TOS 导入、选择已上传数据集三种方式;从 TOS 导入需先创建存储桶,步骤见 对象存储控制台快速入门。
- 验证集:支持上述三种上传方式,也可直接从训练集中按比例分割;按比例分割不额外增加总 tokens,与训练集共同计算总 tokens。
- 功能支持:数据集混入预制数据、数据容错;数据安全支持平台默认密钥或自定义密钥,自定义密钥将在火山 KMS 产品管理私有密钥,计费参见 密钥管理计费说明。
- 在 模型精调 任务列表中,您可以查看任务状态,并执行终止、复制或删除操作。进入任务详情页,即可查看任务概览、训练观测、日志、时间线、模型产出和精调安全等审计信息。
- 此外,您还可以在任务详情页配置状态通知,以便及时获取任务的开始、完成或失败等状态更新。请根据详情页 概览信息 > 训练配置 > 全栈可观测平台 进行设置。平台支持多种通知渠道,您可以根据事件的紧急程度,选择通过电话、短信、邮件、飞书、企业微信、钉钉、Slack、告警回调、飞书应用、运维编排、日志服务或消息队列 Kafka 接收通知。
- 使用与管理精调模型,在 模型产出 页签将模型导出至 模型仓库 ,支持量化、体验、评测、在线推理、批量推理,操作见管理自定义模型。
在选择用于精调的模型时,我们建议您遵循以下筛选步骤:
- 确定模型模态:根据您的业务需求,明确模型需要处理的输入和输出类型。
- 例如,如果只需处理文本,可以选择文本生成模型或多模态模型;如果需要处理文本和图片,则应选择多模态模型。
- 筛选模型特性:根据所需的功能(例如 function calling、thinking 模式、是否开源)筛选支持的模型。
- 匹配训练方法:根据您计划采用的训练方法,筛选出兼容的模型。
- 考虑推理需求:根据预期的推理方式和所需的上下文窗口大小,进一步缩小选择范围。
- 调整筛选条件:如果找不到完全满足所有条件的模型,您可以尝试放宽部分条件后再次查找。
接下来,我们将从选择模型、选择精调类型、选择训练方式以及选择精调后推理方式四个方面展开详细说明。
强烈建议 前期方案验证时 选用较小尺寸的模型 进行精调,成本更低、训练更快、迭代效率更高;当方案验证后,如小尺寸精调模型效果无法满足需求,可再使用更大尺寸的模型进行精调。
推荐使用以下主力模型。支持范围会随模型版本和配置调整,创建任务时请以控制台可选项为准。
语言及多模态理解模型
说明
音频输入支持范围与模型版本及训练方式有关:
- SFT、DPO 和 CPT 支持通过 audio_url 传入音频。
- GRPO、PPO 等 RL 训练不支持音频输入。
图片生成模型
图片生成模型支持 SFT,具体模型 ID 和版本以创建精调任务时控制台可选项为准。
视频生成模型
文本向量化模型
文本向量化模型支持 SFT,具体模型 ID 和版本以创建精调任务时控制台可选项为准。
继续预训练、强化学习以及更多模型的精调需求,请 提交工单 进行咨询。 从参数更新范围的角度划分,模型精调主要包含全量精调与 LoRA 精调两种方式。
LoRA(Low-Rank Adaptation)通过冻结预训练模型的全部权重,并在每个 Transformer 块中注入可训练的低秩适配层,大幅减少了可训练参数的总量。该方式训练速度更快、机器资源消耗更低,成本远低于全量精调;且在大多数场景下,LoRA 精调效果可达到全量精调的 98% 以上。
计费方式有按 token 后付费或者按算力付费,详情请参见精调计费。 精调训练、精调后在线推理、精调后批量推理计费单价信息请参见模型精调。 方舟平台使用潮汐闲时资源训练,主要在夜间训练,日间高峰期会被在线负载抢占。
当训练任务较多时,可能会出现一整天都没有训练进度的情况。如有高优重保需求,请 提交工单 处理。 具体进度可参考 精调任务详情页-时间线。
SFT、DPO、CPT 默认启用 dyn_bsz参数(Dynamic Batch Size),会将多个样本组合尽量填满seq_len以加快训练效率,实际一个batch训练token数约等于seq_len*batch_size。
如有明确的关闭dyn_bsz需求(如样本量过小且无法获取更多样本),请 提交工单 处理。 影响因素较多,常见的包括但不限于:
- 训练集样本内容不符合预期(如训练和推理样本格式不一致;thinking能力训练缺少reasoning content;FunctionCall训练带的tools信息有误)。
若排查后怀疑为系统或镜像问题,请 提交工单,我们将安排研发协助排查。 请查看报错信息,如为系统原因请 提交工单 处理。