当使用万相进行图生视频时,若通过Prompt 优化或调用官方视频特效仍无法满足对特定动作、特效或风格的定制需求,请使用模型微调。
适用范围
如何微调模型
图生视频-基于首帧
微调目标:训练一个“金钱雨特效”LoRA模型。
预期效果:输入一张首帧图像,无需提示词,模型自动生成一段带有“金钱雨特效”的视频。
输入首帧图像
| 输出视频(微调前) 无法通过提示词每次生成固定运动的“金钱雨”特效(运动画面不可控)。 | 输出视频(微调后) 微调后的模型无需提示词即能稳定复现训练集中的特定“金钱雨”特效。 |
图生视频-基于首尾帧
微调目标:训练一个“时尚杂志特效”LoRA模型。
预期效果:输入一张首帧和尾帧图像,无需提示词,模型自动生成一段带有“时尚杂志特效”的视频。
输入首帧图像
| 输入尾帧图像
| 输出视频(微调前) 无法通过提示词每次生成固定运动的“时尚杂志”特效(运动画面不可控)。 | 输出视频(微调后) 微调后的模型无需提示词即能稳定复现训练集中的特定“时尚杂志”特效。 |
运行下述代码前,请获取API Key,并配置API Key。
步骤1:上传数据集
将本地的数据集(.zip 格式)上传到阿里云百炼平台,并获取文件 ID (id)。
训练集样例数据:格式请参见训练集。
图生视频-基于首帧:wan-i2v-training-dataset.zip。
图生视频-基于首尾帧:wan-kf2v-training-dataset.zip。
请求示例
本示例使用图生视频-基于首帧模型,仅上传训练集,系统将自动从训练集中划分一部分作为验证集。上传数据集耗时约数分钟,具体时间根据文件大小而定。
curl --location --request POST 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/files' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--form 'file=@"./wan-i2v-training-dataset.zip"' \
--form 'purpose="fine-tune"'响应示例
请保存 id,这是上传数据集的唯一标识。
{
"id": "file-ft-b2416bacc4d742xxxx",
"object": "file",
"bytes": 73310369,
"filename": "wan-i2v-training-dataset.zip",
"purpose": "fine-tune",
"status": "processed",
"created_at": 1766127125
}步骤2:微调模型
步骤2.1 创建微调任务
使用步骤1中的文件ID启动训练任务。
请求示例
请将<替换为训练数据集的文件id>完整替换为上一步获取的id。
图生视频-基于首帧
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model":"wan2.6-i2v",
"training_file_ids":[
"<替换为训练数据集的文件id>"
],
"training_type":"efficient_sft",
"hyper_parameters":{
"n_epochs":400,
"batch_size":2,
"learning_rate":2e-5,
"split":0.9,
"eval_epochs": 50,
"max_pixels": 36864
}
}'图生视频-基于首尾帧
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model":"wan2.2-kf2v-flash",
"training_file_ids":[
"<替换为训练数据集的文件id>"
],
"training_type":"efficient_sft",
"hyper_parameters":{
"n_epochs":400,
"batch_size":4,
"learning_rate":2e-5,
"split":0.9,
"eval_epochs": 50,
"max_pixels": 262144
}
}'响应示例
关注 output 中的三个关键参数:
job_id:任务ID,用于查询进度。finetuned_output:微调后的新模型名称,后续部署和调用时必须使用此名称。status:模型训练状态。创建微调任务后,初始状态为PENDING,表示训练待开始。
{
...
"output": {
"job_id": "ft-202511111122-xxxx",
"status": "PENDING",
"finetuned_output": "xxxx-ft-202511111122-xxxx",
...
}
}步骤2.2 查询微调任务状态
通过步骤2.1获得的 job_id 查询任务进度,轮询以下接口直到 status 变为 SUCCEEDED。
本文示例的微调任务训练需要数小时,具体耗时根据微调模型而定,请耐心等待。
请求示例
请将 URL 中的 <替换为微调任务job_id> 完整替换为job_id的值。
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes/<替换为微调任务job_id>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json'响应示例
关注output 字段的两个参数:
status:当它的值变为 SUCCEEDED 时,表示模型已训练完毕,可以进行模型部署。usage:模型训练消耗的总Token数量,用于模型训练计费。
{
...
"output": {
"job_id": "ft-202511111122-xxxx",
"status": "SUCCEEDED",
"usage": 432000,
...
}
}步骤3:部署微调后的模型
步骤3.1 部署模型为在线服务
当微调任务的状态为 SUCCEEDED 后,将模型部署为在线服务。
请求示例
请将<替换为模型名称model_name> 完整替换为创建微调任务的输出参数finetuned_output的值。
图生视频-基于首帧
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model_name": "<替换为模型名称model_name>",
"aigc_config": {
"use_input_prompt": false,
"prompt": "Provide a video description based on the image content. The description must include the phrase “Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.“\nOutput Template:\nThe video begins with a shot of [subject description]. [Environment description]. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.\nExample:\nThe video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.",
"lora_prompt_default": "Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she/he stretches her/his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain."
},
"capacity": 1,
"plan": "lora"
}'图生视频-基于首尾帧
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model_name": "<替换为模型名称model_name>",
"aigc_config": {
"use_input_prompt": false,
"prompt": "Provide a video description based on the image content. The description must include the phrase “Then she/he begins the s86b5p transformation.“\nOutput Template:\nThe video begins with a shot of [subject description]. [Environment description]. Then she/he begins the s86b5p transformation.\nExample:\nThe video begins with a young woman in an outdoor setting. She has short, curly dark brown hair and a friendly smile. She is wearing a black Polo shirt with colorful floral embroidery. The background features green vegetation and distant mountains. Then she begins the s86b5p transformation.",
"lora_prompt_default": "Then she/he begins the s86b5p transformation."
},
"capacity": 1,
"plan": "lora"
}'响应示例
关注 output 中的两个参数:
deployed_model:部署的模型名称,用于查询部署状态和调用模型。status:模型部署状态。部署微调模型后,初始状态为PENDING,表示部署未开始。
{
...
"output": {
"deployed_model": "xxxx-ft-202511111122-xxxx",
"status": "PENDING",
...
}
}步骤3.2 查询部署状态
查询部署状态,轮询以下接口直到 status 变为 RUNNING。
本文示例的微调模型,部署过程预计需要 5~10分钟。
请求示例
请将<替换为deployed_model>完整替换为步骤3.1输出参数deployed_model的值。
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/deployments/<替换为deployed_model>' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' 响应示例
关注output字段的两个参数:
status:当状态变为 RUNNING 时,表示模型已部署成功,可以开始调用。deployed_model:部署的模型名称。
{
...
"output": {
"status": "RUNNING",
"deployed_model": "xxxx-ft-202511111122-xxxx",
...
}
}步骤4:调用模型生成视频
模型部署成功后(即部署状态status为 RUNNING ),即可发起调用。
构建自定义数据集
除了使用本文示例数据体验微调流程外,您也可以构建自己的数据集进行微调。
数据集应包含 训练集(必须)和 验证集(可选,支持从训练集自动划分)。所有文件请打包为.zip 格式,文件名建议仅使用英文、数字、下划线或短横线。
数据集格式
训练集:必须提供
图生视频-基于首帧
训练集包括首帧图像、训练视频和标注文件(data.jsonl)。
训练集样例:wan-i2v-training-dataset.zip。
zip包目录结构:
wan-i2v-training-dataset.zip ├── data.jsonl # 必须固定命名为data.jsonl,最大支持 20MB ├── image_1.jpeg # 图像最大分辨率为4096*4096,支持BMP、JPEG、PNG、WEBP格式 ├── video_1.mp4 # 视频最大分辨率为4096*4096,支持MP4、MOV格式 ├── image_2.jpeg └── video_2.mp4标注文件(data.jsonl):每一行代表一条训练数据,必须为JSON 对象。一行训练数据的结构如下:
{ "prompt": "The video begins showing a young woman standing in front of a brick wall covered with ivy. She has long, smooth reddish-brown hair, wearing a white sleeveless dress, a shiny silver necklace, and a smile on her face. The brick wall in the background is covered with green vines, appearing rustic and natural. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding her. The bills continue to fall, she stretches her arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.", "first_frame_path": "image_1.jpg", "video_path": "video_1.mp4" }
图生视频-基于首尾帧
训练集包括首帧图像、尾帧图像、训练视频和标注文件(data.jsonl)。
zip包目录结构:
wan-kf2v-training-dataset.zip ├── data.jsonl # 必须固定命名为data.jsonl,最大支持 20MB ├── image/ # 存放首帧和尾帧图像 │ ├── image_1_first.jpg # 图像最大分辨率为4096*4096,支持BMP、JPEG、PNG、WEBP格式 │ └── image_1_last.png └── video/ # 存放作为“训练目标”的视频文件 ├── video_1.mp4 # 视频最大分辨率为4096*4096,支持MP4、MOV格式 └── video_2.mov标注文件(data.jsonl):每一行代表一条训练数据,必须为JSON 对象。一行训练数据的结构如下:
{ "prompt": "The video begins by showing a young woman in an outdoor setting. She has short, curly dark brown hair, a smile on her face, and looks very friendly. She is wearing a black polo shirt with colorful floral embroidery, with a background of green vegetation and distant mountains. Then she begins the s86b5p transformation.", "first_frame_path": "image/image_1_first.jpg", "last_frame_path": "image/image_1_last.jpg", "video_path": "video/video_1.mp4" }
验证集:可选
图生视频-基于首帧
验证集包括首帧图像和标注文件(data.jsonl),无需提供视频。训练任务会在每个评估节点,自动调用模型服务,使用验证集的图像和 Prompt 生成预览视频。
验证集样例:wan-i2v-valid-dataset.zip。
zip包目录结构:
wan-i2v-valid-dataset.zip ├── data.jsonl # 必须固定命名为data.jsonl,最大支持 20MB ├── image_1.jpeg # 图像最大分辨率为4096*4096,支持BMP、JPEG、PNG、WEBP格式 └── image_2.jpeg标注文件(data.jsonl):每一行代表一条验证数据,必须为JSON 对象。一行验证数据的结构如下:
{ "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.", "first_frame_path": "image_1.jpg" }
图生视频-基于首尾帧
验证集包括首帧图像、尾帧图像和标注文件(data.jsonl),无需提供视频。训练任务会在每个评估节点,自动调用模型服务,使用验证集的图像和 Prompt 生成预览视频。
验证集样例:wan-kf2v-valid-dataset.zip。
zip包目录结构:
wan-kf2v-valid-dataset.zip ├── data.jsonl # 必须固定命名为data.jsonl,最大支持 20MB └── image/ # 存放首帧和尾帧图像 ├── image_1_first.jpg # 图像最大分辨率为4096*4096,支持BMP、JPEG、PNG、WEBP格式 └── image_1_last.jpg标注文件(data.jsonl):每一行代表一条验证数据,必须为JSON 对象。一行验证数据的结构如下:
{ "prompt": "The video begins showing a scene of a young man standing in front of a cityscape. He is wearing a black and white checkered jacket over a black hoodie, with a smile on his face and a confident expression. The background is a city skyline at sunset, with a famous domed building and layered roofs visible in the distance, the sky filled with clouds showing warm orange-yellow hues. Then the s86b5p money rain effect begins, countless huge-sized US dollar bills (beige background/dark green patterns) pour down like a torrential rain, densely hitting and surrounding him. The bills continue to fall while the camera slowly zooms in, he stretches his arms upward, neck slightly tilted back, expression surprised, completely immersed in this wild money rain.", "first_frame_path": "image/image_1_first.jpg", "last_frame_path": "image/image_1_last.jpg", }
数据规模与限制
数据量:建议至少提供 10条 数据。训练数据量越大越好,推荐 20-100 条以获得稳定效果。
Zip压缩包:通过 API 上传时,总包大小 ≤ 1GB。
训练图像要求:
图像格式支持BMP、JPEG、PNG、WEBP。
图像分辨率 ≤ 4096×4096。
单个图像文件大小无硬性限制(系统将自动预处理)
训练视频要求:
视频格式支持 MP4、MOV。
视频分辨率 ≤ 4096×4096。
单个视频文件大小无硬性限制(系统将自动预处理)。
单个视频时长:wan2.2模型 ≤ 5秒;wan2.5模型 ≤ 10秒;wan2.6模型 ≤ 10秒。
数据收集和清洗
1. 确定微调场景
万相支持图生视频的微调场景包括:
固定视频特效:让模型学会某种特定的视觉变化,如旋转木马、魔法换装等。
固定人物动作:提升模型对特定肢体动作的复现度,如特定的舞蹈动作、武术招式。
固定视频运镜:复刻复杂的镜头语言,如推拉摇移、环绕拍摄等固定模板。
2. 获取原始素材
AI 生成筛选:利用“万相”基础模型批量生成视频,再人工挑选出最符合目标效果的优质样本。这是最常用的方法。
真实拍摄:如果您的目标是追求高真实感的互动场景(如拥抱、握手等),使用实拍素材是最佳选择。
三维软件渲染:对于需要控制细节的特效或抽象动画,建议使用 3D 软件(如 Blender、C4D)制作素材。
3. 清洗数据
维度 | 正面要求 | 负面案例 |
一致性 | 核心特征必须高度统一。 例如:训练“360度旋转”,所有视频必须都是顺时针旋转,且旋转速度基本一致。 | 方向混杂。 数据集中既有顺时针,又有逆时针。模型不知道该学哪个方向。 |
多样性 | 主体与场景越丰富越好。 覆盖不同主体(男女老少、猫狗建筑)和不同构图(远近景、俯仰拍)。同时,分辨率和长宽比应尽可能多样化。 | 单一场景或主体。 所有视频都是“穿红衣的人在白墙前旋转”。模型会误以为“红衣”和“白墙”是特效的一部分,换了衣服就不会转了。 |
均衡性 | 各类型数据比例均衡。 如果包含多种风格,数量应大致相等。 | 比例严重失调。 90%是人像视频,10%是风景视频。模型可能在生成风景视频时效果不佳。 |
纯净度 | 画面干净清晰。 使用无干扰的原始素材。 | 有干扰元素。 视频中带有字幕、台标、水印、明显的黑边或噪点。模型可能会把水印当成特效学进去。 |
时长 | 素材时长 ≤ 目标时长。 若期望生成5秒视频,素材最好裁剪为4-5秒。 | 素材过长。 期望生成5秒,却喂给模型8秒的素材,会导致动作学习不完整,产生截断感。 |
视频标注:为视频编写Prompt
在数据集的标注文件(data.jsonl)中,每个视频都有对应的一段 Prompt。Prompt 是用来描述视频的画面内容,Prompt 的质量直接决定模型“学什么”。
Prompt示例 视频开头展示了一位年轻女性站在一堵爬满常春藤的砖墙前。她有着一头柔顺的红棕色长发,穿着一件白色的无袖连衣裙,佩戴着一条闪亮的银色项链,面带微笑。背景是被绿色的藤蔓覆盖的砖墙,显得古朴而自然。然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她。钞票持续落下,她双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。 |
Prompt编写公式
Prompt = [主体描述] + [背景描述] + [触发词] + [运动描述]
Prompt描述项 | 说明 | 填写建议 | 示例 |
主体描述 | 描述画面中原本存在的人或物 | 必填 | 视频开头展示了一位年轻女性... |
背景描述 | 描述画面中主体所处的环境 | 必填 | 背景是被绿色的藤蔓覆盖的砖墙... |
触发词 | 一个无实际意义的稀有词汇 | 推荐填写 | s86b5p 或 m01aa |
运动描述 | 详细描述视频中特效发生的运动变化 | 推荐填写 | 无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下... |
如何写好Prompt
遵循特效描述的一致性原则
所有包含该特效的样本,其特效的运动描述部分应尽量保持一致。训练集和验证集均遵守此规则。
目的:当模型发现
s86b5p出现时,后面总是跟着一段固定的描述,且画面总是出现金钱雨,它就能记住:s86b5p = 金钱雨视觉效果。示例:无论是“年轻女性”还是“西装男性”,只要是金钱雨特效,Prompt 后半段都统一写为:“...然后开始展示 s86b5p 金钱雨特效,无数美元钞票如暴雨般倾泻而下...”
样本类型
Prompt 内容(注意下划线部分的描述一致性)
训练集样本1
视频开头展示了一位年轻女性站在砖墙前...(省略环境描述)...然后开始展示 s86b5p 金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕她。钞票持续落下,她双臂舒展上扬,表情惊喜,完全沉浸在这场狂野的金钱雨中。
训练集样本2
视频开头展示了一位西装男性在高档餐厅内...(省略环境描述)...然后开始展示 s86b5p 金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕他。钞票持续落下,他双臂舒展上扬,表情惊喜,完全沉浸在这场狂野的金钱雨中。
验证集样本1
视频开头展示了一位年轻小孩站在城市景观前...(省略环境描述)...然后开始展示s86b5p金钱雨特效,无数巨大尺寸的美元钞票(米黄底/深绿图案)如暴雨般倾泻而下,密集地砸向并环绕他。钞票持续落下,同时镜头缓缓拉进,他双臂舒展上扬,脖颈微仰,表情惊喜,完全沉浸在这场狂野的金钱雨中。
借助 AI 生成 Prompt
为了获得质量较高的Prompt,推荐使用Qwen-VL等多模态大模型来辅助生成视频的Prompt。
使用 AI 辅助生成初始描述
自由发散(寻找灵感):如果不知道该如何描述特效,可以先让 AI 自由发挥。
直接发送“
详细描述视频内容”,观察模型输出了什么。重点看模型用了哪些词汇来形容特效的运动轨迹(如“暴雨般倾泻而下”、“镜头缓缓拉进”),这些词汇可以作为后续优化的素材。
固定句式(规范输出):当有了大概思路后,可基于标注公式设计一套固定句式,引导 AI 生成符合格式的 Prompt。
提炼特效模板
建议对多个包含相同特效的样本重复运行,找出描述特效时共同使用的高频、准确词组,从中提炼出一段通用的“特效描述”。
将这段标准化的特效描述复制粘贴到该特效的所有数据集中。
保留每个样本独特的“主体”和“背景”描述,仅将“特效描述”部分替换为统一模板。
人工检查
AI 可能会产生幻觉或识别错误,最后请进行人工检查,例如:确认主体和背景的描述是否符合画面真实情况等。
使用验证集评估模型
指定验证集
微调任务必须包含训练集,验证集则是可选项。您可以选择由系统自动划分或手动上传验证集,具体指定方式如下:
方式一:未上传验证集(系统自动划分)
在创建微调任务时,如果没有单独上传验证集,即未传入validation_file_ids参数,系统将根据以下两个超参数,自动从训练集中划分出一部分作为验证集:
split:训练集划分比例。例如,0.9 表示将90%的数据用于训练,剩余的10%用作验证。max_split_val_dataset_sample:自动划分验证集的最大样本数。
验证集切分规则:系统会选取 数据集总数×(1 - split) 和 max_split_val_dataset_sample 中的较小值。
示例:假设仅上传训练集,且训练集有 100 条数据,split=0.9(即验证集切分10%),max_split_val_dataset_sample=5。
理论切分:100 × 10% = 10 条。
实际切分:min(10, 5)=5,所以系统只取 5 条作为验证集。
方式二:主动上传验证集(通过 validation_file_ids 指定)
如果您希望使用一套自己准备的数据来评估Checkpoint,而不是依赖系统随机划分,可以上传自定义验证集。
注意:一旦选择主动上传,系统将完全忽略上述自动划分规则,仅使用您上传的数据进行验证。
挑选最佳Checkpoint进行部署
在训练过程中,系统会定期保存模型的“快照”(即 Checkpoint)。默认情况下,系统会输出最后一个Checkpoint作为最终的微调模型。但中间过程产出的Checkpoint效果可能优于最终版本,您可以从中挑选出最满意的一个进行部署。
系统将按照超参数eval_epochs设定的间隔,在验证集上运行Checkpoint并生成预览视频。
如何评估:通过直接观察生成的预览视频来判断效果。
挑选标准:找到效果最好、且没有动作变形的那个 Checkpoint 。
操作步骤
步骤1:查看Checkpoint生成的预览效果
步骤2:导出Checkpoint,并获取待部署的模型名称
步骤3:部署并调用模型
应用于生产环境
在实际生产中,如果初次训练的模型效果不佳(如画面崩坏、特效不明显、动作不准确),可参考以下维度调优:
1. 检查数据与Prompt
数据一致性:数据一致性是核心。检查是否有方向相反、风格差异过大的“差样本”。
样本数量:建议将高质量数据增加至 20条以上。
Prompt:确保触发词为无意义稀有词(如 s86b5p),避免使用常用词(如 running)造成干扰。
2. 调整超参数:参数说明请参见超参数。
n_epochs (训练轮数)
默认值:400,推荐使用默认值。若需调整,请遵循 “总训练步数 (Steps) ≥ 800” 的原则。
总步数计算公式:
steps = n_epochs × 向上取整(训练集大小 / batch_size)。因此,n_epochs最小值计算公式:
n_epochs = 800 / 向上取整(数据集大小 / batch_size)。示例:假设训练集有5条数据,使用Wan2.5模型(batch_size=2)。
每轮训练步数:5 / 2 = 2.5,向上取整为3。总的训练轮数: n_epochs = 800 / 3 ≈ 267。此值为推荐的最小值,可根据实际业务适当调高,比如300。
learning_rate (学习率)、batch_size (批次大小)推荐使用默认值,通常无需修改。
计费说明
API文档
常见问题
Q:如何计算训练集和验证集的数据量?
A: 训练集必须提供,验证集可选。具体计算方式如下:
当未传入验证集时:上传的训练集即为“数据集总数”,系统会自动从训练集中划出一部分数据用于验证。
验证集数量 =
min(数据集总数 × (1 − split), max_split_val_dataset_sample)。计算示例请参见指定验证集。训练集数量 =
数据集总数 − 验证集数量。
当主动上传验证集时:系统不再从训练数据中划分验证集。
训练集数量 = 上传的训练集数据量。
验证集数量 = 上传的验证集数据量。
Q:如何设计一个好的触发词?
A: 规则如下:
使用无意义的字母组合,如 sksstyle, a8z2_bbb。
避免使用常用英语单词(如 beautiful, fire, dance),否则会污染模型原本对这些词的理解。
Q:微调能改变视频的分辨率或时长吗?
A: 不能。微调是学习“内容”和“动态”,不是改变“规格”。输出视频的格式(分辨率、帧率、时长上限)依然由基础模型决定。


