您将通过 API 完成通义万相图生视频模型的微调任务,涵盖数据集上传、模型训练和模型部署,并调用微调后的模型生成视频。
本文档仅适用于中国大陆版(北京地域)。
前提条件
已经阅读了模型微调介绍,并了解模型微调的基本流程。
支持微调的模型
模型服务 | 模型名称 | 微调方式 |
图生视频-基于首帧 | wan2.2-i2v-flash | SFT-LoRA高效微调 |
wan2.5-i2v-preview | SFT-LoRA高效微调 |
微调任务及效果
当前仅支持“图生视频-基于首帧”模型进行微调。
本文将以训练一个“金钱雨特效”模型为例。期望的效果是,无需输入提示词,只需输入一张静态图片,模型就能自动为其生成一段带有“金钱雨特效”的视频。
输入首帧图像
| 输出视频(微调前) 基模无法通过提示词每次生成固定运动的“金钱雨”特效(运动画面不可控)。 | 输出视频(微调后) 微调后的模型无需提示词即能稳定复现训练集中的特定“金钱雨”特效。 |
微调模型并部署
步骤一:上传数据集
首先,将本地的数据集(.zip 格式)上传到阿里云百炼平台,并获取唯一的文件ID(file_id)。
1. 准备本地文件
训练集:图生视频-基于首帧
数据集样例:wan-i2v-training-dataset.zip。
图生视频训练集需要打包成一个 .zip 压缩文件,其包含训练首帧图片、训练视频和标注文件(data.jsonl)。
data.jsonl 文件的每一行是一个 JSON 对象。一行训练数据展开后结构如下:
{
"prompt": "视频开头展示了一位年轻女性站在一堵爬满常春藤的砖墙前。她有着一头柔顺的红棕色长发,穿着一件白色的无袖连衣裙,佩戴着一条闪亮的银色项链,面带微笑。背景中的砖墙被绿色的藤蔓覆盖,显得古朴而自然。然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她。钞票持续落下,她双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。",
"first_frame_path": "image_1.jpeg", //图片相对路径
"video_path": "video_1.mp4" //视频相对路径
}2. 将数据集上传至阿里云百炼
批量上传请参见上传文件API。
HTTP
请求示例
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/files' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--form 'files=@"./wan-i2v-training-dataset.zip"' \
--form 'purpose="fine-tune"'\
--form 'descriptions="a fine-tune training data file for wan"'响应示例
请复制并保存 file_id,这是上传数据集的唯一标识。
{
"data": {
"uploaded_files": [
{
"name": "wan-i2v-training-dataset.zip",
"file_id": "3bff1ef7-f72d-4285-bb75-xxxxxx"
}
],
"failed_uploads": []
},
"request_id": "1f3f1c5b-7418-4976-aaea-xxxxxx"
}步骤二:创建微调任务
基于指定的基准模型和上传的数据集,启动一个模型微调训练任务,并获取任务ID(job_id)。
HTTP
请求示例
请将<替换为训练数据集的file_id>完整替换为步骤一获取的file_id。
wan2.2模型
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model":"wan2.2-i2v-flash",
"training_file_ids":[
"<替换为训练数据集的file_id>"
],
"training_type":"efficient_sft",
"task":"i2v",
"hyper_parameters":{
"n_epochs":400,
"batch_size":4,
"learning_rate":2e-5,
"split":0.9,
"eval_epochs": 20,
"max_pixels": 262144
}
}'wan2.5模型
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model":"wan2.5-i2v-preview",
"training_file_ids":[
"<替换为训练数据集的file_id>"
],
"training_type":"efficient_sft",
"task":"i2v",
"hyper_parameters":{
"n_epochs":400,
"batch_size":2,
"learning_rate":2e-5,
"split":0.9,
"eval_epochs": 20,
"max_pixels": 36864
}
}'响应示例
创建微调任务成功后,需要关注 output 中的三个关键参数:
job_id:任务ID。请复制并保存job_id,这是本次训练任务的唯一标识。finetuned_output:训练出的新模型的名称,是后续模型部署和调用的必要参数。status:任务状态。创建微调任务后,此时状态为PENDING,表示训练待开始。
{
"request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
"output": {
"job_id": "ft-202511111122-xxxx",
"job_name": "ft-202511111122-xxxx",
"status": "PENDING",
"finetuned_output": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"model": "wan2.2-i2v-flash",
"base_model": "wan2.2-i2v-flash",
"training_file_ids": [
"3bff1ef7-f72d-4285-bb75-xxxxxxxxx"
],
"validation_file_ids": [],
"hyper_parameters": {
"n_epochs": 400,
"batch_size": 4,
"learning_rate": 2e-5,
"split": 0.9,
"eval_epochs": 20
},
"training_type": "efficient_sft",
"create_time": "2025-11-11 11:22:22",
"workspace_id": "llm-xxxxxxxxx",
"user_identity": "xxxxxxxxx",
"modifier": "xxxxxxxxx",
"creator": "xxxxxxxxx",
"group": "llm",
"max_output_cnt": 20
}
}入参说明
基础参数
字段 | 类型 | 必选 | 描述 | 示例值 |
model | string | 是 | 指定微调所用的基准模型。 当前仅支持图生视频任务,模型名称可选值为:wan2.2-i2v-flash、wan2.5-i2v-preview。 | wan2.2-i2v-flash |
training_file_ids | array[string] | 是 | 训练集file_id数组,可传入多个file_id。 | ["3bff1ef7-f72d-4285-bb75-xxxxxx"] |
validation_file_ids | array[string] | 否 | 验证集file_id数组,可传入多个file_id。若不提供,系统会从训练集中自动划分。 | - |
training_type | string | 是 | 微调类型,当前仅支持 | efficient_sft |
task | string | 是 | 任务类型,图生视频任务固定为 | i2v |
超参数(hyper_parameters)
初次训练时,推荐使用默认的超参数。若模型效果不佳或训练不收敛,可以尝试调整 n_epochs或learning_rate等参数。
字段 | 类型 | 必选 | 描述 | 默认值 |
batch_size | int | 否 | 批次大小。 一次性送入模型进行训练的数据条数。
| wan2.2:4 wan2.5:2 |
n_epochs | int | 否 | 训练循环次数。 训练总步数(steps)由训练轮数(n_epochs)、数据集大小和批大小(batch_size)共同决定,计算公式为:steps = n_epochs × 向上取整(数据集大小 / batch_size)。 为确保模型充分训练,建议总训练步数不少于 800 步。推荐的最小训练轮数可按此公式估算: 例如:数据集有10条数据,batch_size为4,则每轮训练步数=向上取整(10/4)= 3,所需最小训练轮数n_epochs = 800 / 3 ≈ 267。此值为推荐最小值,可根据实际需求适当调高。 | 400 |
learning_rate | float | 否 | 学习率。控制模型权重更新的幅度。 过高可能导致模型变差,过低则变化不明显。推荐使用默认值。 | 2e-5 |
split | float | 否 | 训练集划分比例。取值范围为 (0, 1]。 仅在未指定 此参数用于从训练集中自动按比例拆分出验证集。例如,0.9表示90%训练集,10%验证集。最终验证集的数量还会受到 | 0.9 |
max_split_val_dataset_sample | int | 否 | 自动划分验证集的最大样本数。取值需≥1。 仅在未指定 该参数为通过split参数划分出的验证集数量设置了一个上限,具体为: 系统会取 (数据集总数×(1-split)) 和该值中的较小值作为最终的验证集数量。 例如:数据集共100条,split为0.9 (即取10%作验证集),max_split_val_dataset_sample为5。计算出的验证集为10条(100×0.1),但由于上限为5,最终只会使用5条数据作为验证集。 | 5 |
eval_epochs | int | 否 | 验证间隔。取值需≥10。 训练期间每隔多少个epoch进行一次验证评估,用于阶段性评估模型训练效果。 | 20 |
max_pixels | int | 否 | 训练视频的最大分辨率。 设置训练集中输入视频分辨率的像素总数(宽×高)限制。系统仅对超过该值的视频进行缩放处理,未超限的视频将保持原样。
| wan2.2:262144 wan2.5:36864 |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.job_id | string | 模型微调任务唯一标识,用于后续查询任务状态。 | ft-202511111122-xxxx |
output.status | string | 微调训练任务的状态。
| PENDING |
output.finetuned_output | string | 微调后产出的新模型名称,部署时需要用到。 | wan2.2-i2v-flash-ft-202511111122-xxxx |
步骤三:查询微调任务状态
模型训练需要一定时间。通过上一步获得的 job_id 定期查询任务进度,直到任务成功完成。
本文示例的微调任务训练耗时约6~8个小时,请耐心等待。
HTTP
请求示例
请将 URL 中的 <替换为微调任务job_id> 完整替换为创建微调任务接口的输出参数job_id的值。
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'响应示例
请持续轮询此接口,重点关注 status 字段。当它的值变为 SUCCEEDED 时,表示模型已训练完毕,可以进行下一步的部署。
{
"request_id": "9bbb953c-bef2-4b59-9fc5-xxxxxxxxx",
"output": {
"job_id": "ft-202511111122-xxxx",
"job_name": "ft-202511111122-xxxx",
"status": "SUCCEEDED",
"finetuned_output": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"model": "wan2.2-i2v-flash",
"base_model": "wan2.2-i2v-flash",
"training_file_ids": [
"3bff1ef7-f72d-4285-bb75-xxxxxxxxx"
],
"validation_file_ids": [],
"hyper_parameters": {
"n_epochs": 400,
"batch_size": 4,
"learning_rate": 2e-5,
"split": 0.9,
"eval_epochs": 20
},
"training_type": "efficient_sft",
"create_time": "2025-11-11 11:22:22",
"workspace_id": "llm-xxxxxxxxx",
"user_identity": "xxxxxxxxx",
"modifier": "xxxxxxxxx",
"creator": "xxxxxxxxx",
"end_time": "2025-11-11 16:49:01",
"group": "llm",
"usage": 4096000,
"max_output_cnt": 20,
"output_cnt": 20
}
}步骤四:部署模型为在线服务
训练完成后,将模型发布为一个在线API服务。
HTTP
请求示例
请将请求体中的 <替换为模型名称model_name> 完整替换为创建微调任务接口的输出参数finetuned_output的值。
curl --location 'https://dashscope.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model_name": "<替换为模型名称model_name>",
"aigc_config": {
"prompt": "根据图像内容提供视频描述,描述必须包含“然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她(他)。钞票持续落下,同时镜头缓缓拉进,她(他)双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中”。\n输出模版:\n视频开头展示了[主体描述]。[环境描述]。然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她(他)。钞票持续落下,同时镜头缓缓拉进,她(他)双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。\n示例:\n视频开头展示了一位年轻女性在海滩上的场景。她的头发湿漉漉的,呈现出深棕色,卷曲且略显凌乱。她的脸上带着灿烂的笑容。背景是波涛汹涌的海浪和远处的山脉。然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她。钞票持续落下,同时镜头缓缓拉进,她双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。",
"lora_prompt_default": "然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕主角。钞票持续落下,同时镜头缓缓拉进,主角双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。"
},
"capacity": 1,
"plan": "lora"
}'响应示例
部署请求提交成功后,初始状态为 PENDING(排队部署中)。同时返回model_name参数,后续将在模型查询和模型调用中使用。
{
"request_id": "96020b2e-9072-4c8a-9981-xxxxxxxxx",
"output": {
"deployed_model": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"gmt_create": "2025-11-11T17:46:53.294",
"gmt_modified": "2025-11-11T17:46:53.294",
"status": "PENDING",
"model_name": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"base_model": "wan2.2-i2v-flash",
"workspace_id": "llm-xxxxxxxxx",
"charge_type": "post_paid",
"creator": "xxxxxxxxx",
"modifier": "xxxxxxxxx",
"plan": "lora"
}
}步骤五:查询模型部署状态
与训练任务类似,需要轮询查询部署状态,确认模型服务已成功启动并准备好接收请求。
本文示例的微调模型,部署过程预计需要 15~20分钟。
HTTP
请求示例
请将<替换为模型名称model_name>完整替换为上一步输出参数model_name的值。
curl --location 'https://dashscope.aliyuncs.com/api/v1/deployments/<替换为模型名称model_name>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 响应示例
轮询此查询接口,关注返回结果中的status字段。当状态变为 RUNNING 时,表示模型已部署成功,可以开始调用了。
{
"request_id": "66d15f35-0772-409f-bc70-xxxxxxxxx",
"output": {
"deployed_model": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"gmt_create": "2025-11-11T17:46:53",
"gmt_modified": "2025-11-11T18:02:24",
"status": "RUNNING",
"model_name": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"base_model": "wan2.2-i2v-flash",
"workspace_id": "llm-xxxxxxxxx",
"charge_type": "post_paid",
"creator": "xxxxxxxxx",
"modifier": "xxxxxxxxx",
"plan": "lora"
}
}步骤六:调用微调后的模型
调用部署好的模型服务来生成视频。预期是:只需输入一张静态图片,模型就能自动为其生成一段带有“金钱雨特效”的视频,无需额外输入提示词。
HTTP
由于视频生成耗时较长,API 采用异步模式,调用流程分两步:
1. 创建任务
创建视频生成任务,并获得任务ID(task_id)。
请求示例
请将<替换为模型名称model_name>完整替换为上一步输出的model_name值。
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--header 'X-DashScope-Async: enable' \
--data '{
"model": "<替换为模型名称model_name>",
"input": {
"img_url": "https://img.alicdn.com/imgextra/i4/O1CN015obBUk1FAJkNAbeXg_!!6000000000446-2-tps-928-1232.png"
},
"parameters": {
"resolution": "480P",
"prompt_extend": false
}
}'响应示例
请复制并保存task_id,用于下一步结果查询。
{
"output": {
"task_status": "PENDING",
"task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
},
"request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}2. 根据任务ID查询结果
使用task_id轮询任务状态,直到 task_status 变为 SUCCEEDED,并获取视频URL。
请求示例
请将86ecf553-d340-4e21-xxxxxxxxx替换为真实的task_id。
curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"响应示例
视频URL有效期为24小时,请及时下载视频。
{
"request_id": "c87415d2-f436-41c3-9fe8-xxxxxx",
"output": {
"task_id": "a017e64c-012b-431a-84fd-xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2025-11-12 11:03:33.672",
"scheduled_time": "2025-11-12 11:03:33.699",
"end_time": "2025-11-12 11:04:07.088",
"orig_prompt": "",
"video_url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.mp4?Expires=xxxx"
},
"usage": {
"duration": 5,
"video_count": 1,
"SR": 480
}
}进阶:挑选最佳Checkpoint进行部署
在训练过程中,系统会定期保存模型的“快照”,我们称之为 Checkpoint。默认情况下,系统会使用最后一个Checkpoint作为最终模型。但有时,中间某个Checkpoint的效果可能才是最好的。您可以从中挑选出最满意的一个进行部署。
默认自动划分验证集
在创建微调任务时,若未传入validation_file_ids参数,系统将根据以下两个超参数,自动从训练集中划分出一部分作为验证集:
split: 训练集划分比例。例如,0.9 表示将90%的数据用于训练,剩余的10%用作验证。max_split_val_dataset_sample: 自动划分验证集的最大样本数。这是一个上限,最终验证集的数量会取 (数据集总数 * (1-split)) 和该值中的较小者。
此外,系统会按照超参数eval_epochs设定的间隔,在验证集上运行Checkpoint并生成预览视频。这些预览视频可以用来判断Checkpoint效果好坏的依据。
查看Checkpoint验证效果
1. 查询已通过验证的Checkpoint列表
该接口仅返回在训练中通过验证集验证、且成功生成预览视频的 Checkpoint;验证失败的不会列出。
该接口需在模型微调训练完成后调用,否则将返回空列表。
HTTP
请求示例
请将<替换为微调任务job_id>完整替换为创建微调任务接口的输出参数job_id。
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>/validation-results' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 响应示例
接口返回一个仅包含成功通过验证的Checkpoint名称的列表。
{
"request_id": "da1310f5-5a21-4e29-99d4-xxxxxx",
"output": [
{
"checkpoint": "checkpoint-160"
},
{
"checkpoint": "checkpoint-20"
},
{
"checkpoint": "checkpoint-40"
},
{
"checkpoint": "checkpoint-60"
}
]
}2. 查询Checkpoint对应的验证集结果
从上一步返回的 Checkpoint 列表中选择一个(例如“checkpoint-160”),查看其生成的视频效果。
HTTP
请求示例
<替换为微调任务job_id>:完整替换为创建微调任务接口的输出参数job_id的值。<替换为选择的checkpoint>:完整替换为在上一步列表中选定的Checkpoint名称,例如“checkpoint-160”。
接口支持分页查询,可通过 page_no 和 page_size 参数控制分页。
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>/validation-details/<替换为选择的checkpoint>?page_no=1&page_size=10' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"响应示例
通过返回的 video_path,可以直接下载该Checkpoint生成的视频。重复此步骤,比较多个Checkpoint的效果,找出最满意的一个。
{
"request_id": "375b3ad0-d3fa-451f-b629-xxxxxxx",
"output": {
"page_no": 1,
"page_size": 10,
"total": 1,
"list": [
{
"video_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.mp4?Expires=xxxx",
"prompt": "视频开头展示了一位年轻男性坐在咖啡馆的场景。他穿着一件米色的Polo衫,神情专注且略显沉思,手指轻轻托着下巴。他的面前摆放着一杯热气腾腾的咖啡,背景是木质条纹的墙壁和一个装饰牌。然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕他。钞票持续落下,他双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。",
"first_frame_path": "https://finetune-swap-wulanchabu.oss-cn-wulanchabu.aliyuncs.com/xxx.jpeg"
}
]
}
}video_path有效期为24小时,请及时下载视频。
导出并部署最佳Checkpoint
假设checkpoint-160 的验证效果最佳,接下来的目标就是将它导出,并部署为在线服务。
1. 导出模型
将选定的Checkpoint正式转换为一个可部署的独立模型。
HTTP
请求示例
<替换为微调任务job_id>:完整替换为创建微调任务接口的输出参数job_id的值。<替换为模型名称model_name>:完整替换创建微调任务接口的输出参数finetuned_output的值。<替换为待导出的checkpoint>:完整替换为checkpoint的值,例如“checkpoint-160”。
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>/export/<替换为待导出的checkpoint>?model_name=<替换为模型名称model_name>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"响应示例
output.true表示导出请求已成功创建。
{
"request_id": "0817d1ed-b6b6-4383-9650-xxxxx",
"output": true
}2. 查询模型列表和状态
导出操作需要一些时间。您需要查询所有Checkpoint的状态,确认导出已完成,并获取它专属的、用于部署的新模型名称(model_name)。
HTTP
请求示例
请将<替换为微调任务job_id>完整替换为创建微调任务接口的输出参数job_id的值。
curl --location 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>/checkpoints' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"响应示例
在返回的列表中找到导出的那个Checkpoint(如checkpoint-160)。
当它的状态变为 SUCCEEDED 时,表示成功导出Checkpoint,并会包含model_name字段,未导出的Checkpoint则没有此字段。后续将使用model_name进行模型部署和调用。
{
"request_id": "b0e33c6e-404b-4524-87ac-xxxxxx",
"output": [
......,
{
"create_time": "2025-11-11T13:42:31",
"full_name": "ft-202511111122-496e-checkpoint-180",
"job_id": "ft-202511111122-496e",
"checkpoint": "checkpoint-180",
"status": "PENDING" // 未导出的checkpoint,没有model_name字段
},
{
"create_time": "2025-11-11T13:27:29",
"full_name": "ft-202511111122-496e-checkpoint-160",
"job_id": "ft-202511111122-496e",
"checkpoint": "checkpoint-160",
"model_name": "wan2.2-i2v-flash-ft-202511111122-xxxx-c160", // 重要字段,将用于模型部署和调用
"model_display_name": "wan2.2-i2v-flash-ft-202511111122-xxxx",
"status": "SUCCEEDED" // 成功导出的checkpoint
},
......
]
}3. 部署和调用模型
接下来,只需返回主流程,重复步骤四到步骤六,在所有需要填写模型名称(model_name)的地方,都使用这个全新的model_name即可。
使用自定义验证集(可选)
如果您希望使用一套固定的、自己精心准备的数据来评估Checkpoint,而不是依赖系统随机划分,可以使用自定义验证集。步骤如下:
准备验证集:将验证数据打包成一个独立的 .zip 文件。
上传验证集:调用上传数据集接口,上传这个验证集 .zip 文件,获得一个专属的
file_id。创建任务时指定验证集file_id:在调用创建微调任务接口时,将这个 file_id 填入
validation_file_ids参数中。{ "model":"wan2.2-i2v-flash", "training_file_ids":[ "<训练集的file_id>" ], "validation_file_ids": [ "<自定义验证集的file_id>" ], ... }注意:一旦提供了
validation_file_ids,系统将不再从训练集中自动划分验证集,split和max_split_val_dataset_sample参数也会被忽略。
完成以上操作后,后续模型部署和调用、以及挑选Checkpoint效果与导出的流程与前述完全一致。
微调任务管理API(可选)
以下接口的参数说明请参见模型调优 API参考。
