创建一个视频生成的模型微调训练任务。数据集支持通过API上传数据集或OSS挂载。
适用范围
- 适用地域:本文描述的功能仅在华北2(北京)地域可用,且必须使用该地域的API Key。
- 开通账号权限:若使用阿里云子账号(RAM用户),需要为子账号授予模型调用、训练和部署权限。
- 配置环境变量:已成功获取 API Key,并配置到环境变量。
- 准备工作:已阅读视频生成模型调优,了解支持微调的模型、微调步骤、数据格式以及计费说明。
创建微调任务
- 华北2(北京)
POST https://dashscope.aliyuncs.com/api/v1/fine-tunesWindows CMD 请将$DASHSCOPE_API_KEY替换为%DASHSCOPE_API_KEY%,PowerShell请替换为$env:DASHSCOPE_API_KEY
请求参数请求头(Headers)Content-Typestring (必选)固定值:application/jsonAuthorization string (必选)API Key鉴权,格式为Bearer sk-xxxx。请求体(Request Body)modelstring (必选)指定微调所用的基准模型。图生视频-基于首帧:
array[string] (条件必选)训练集文件ID数组,可传入多个ID。与 training_datasets 二选一,若使用 training_datasets 则无需传此参数。文件ID通过上传文件 API 获取。validation_file_ids array[string] (可选)验证集文件ID数组,可传入多个ID。与 validation_datasets 二选一,若使用 validation_datasets 则无需传此参数。若两者均不提供,系统会从训练集中自动划分。文件ID通过上传文件 API 获取。training_type string (必选)微调类型,当前仅支持efficient_sft(LoRA高效微调)。hyper_parameters object (可选)超参数配置。初次训练时,推荐使用默认的超参数。若模型效果不佳或训练不收敛,可以尝试调整 n_epochs 或 learning_rate 等参数。
超参数属性 batch_size int (必选)批次大小。一次性送入模型进行训练的数据条数。
int (必选)训练循环次数。推荐值:50。steps = n_epochs × ⌈数据集大小 / batch_size⌉。建议总步数 ≥ 800。例如:数据集 5 条,batch_size=2,每轮步数=⌈5/2⌉=3,最小 n_epochs = 800/3 ≈ 267。
float (必选)学习率。推荐值:2e-5。控制模型权重更新的幅度。过高可能导致模型变差,过低则变化不明显。eval_epochs int (必选)验证间隔。推荐值:20。取值需≥n_epochs/10。训练期间每隔多少个epoch进行一次验证评估。max_pixels int (必选)训练视频的最大分辨率。设置训练视频分辨率的像素总数(宽×高)限制。系统仅对超过该值的视频进行缩放处理。
float (可选)训练集划分比例。推荐值:0.9。取值范围为 (0, 1)。仅在未指定validation_file_ids时生效。此参数用于从训练集中自动按比例拆分出验证集。例如,0.9表示90%训练集,10%验证集。max_split_val_dataset_sample int (可选)从训练集中自动划分验证集的最大样本数。推荐值:5。取值需≥1。仅在未指定validation_file_ids时生效。该参数为验证集数量设置上限:验证集数量 = min(数据集总数 × (1 − split), max_split_val_dataset_sample)save_total_limit int (可选)Checkpoint 保存数量上限。推荐值:10。限制最多保存的模型数量,系统将只保存最后 N 个 Checkpoint。lora_rank int (可选)LoRA 低秩矩阵的维数。推荐值:32。该值决定了微调参数量的大小,数值越大拟合能力越强,但训练速度会变慢。取值必须为2n(如 16、32、64)。lora_alpha int (可选)LoRA 权重的缩放系数。推荐值:32。用于调节微调后的参数对原模型权重的影响程度。取值必须为2n(如 16、32、64)。Array of Dataset (条件必选)训练集文件列表。与 training_file_ids 二选一,若使用 training_file_ids 则无需传此参数。
Dataset 结构 data_source_type string (必选)数据源类型,可选值:
object (条件必选)数据源类型为 oss_mount 时必填。OSS 挂载信息。
属性 region string (必选)要挂载的 OSS Bucket 所属地域。支持北京(cn-beijing)和新加坡(ap-southeast-1)。bucket string (必选)要挂载的 OSS Bucket 名称。file_path string (必选)要挂载的 OSS 文件路径(object key)。对包含多个文件的数据集,使用其 data.jsonl 的文件路径。与使用 file_id 的方式不同,需要将未经压缩的数据集文件夹整体上传到 OSS,不支持 zip 文件。string (条件必选)数据源类型为 file_id 时必填。文件 ID,由上传文件 API 产生。Array of Dataset (可选)验证集文件列表。结构同training_datasets。与 validation_file_ids 二选一。若两者均不提供,系统会从训练集中自动划分。job_name string (可选)调优任务名称。model_name string (可选)调优完成后的模型名称。 |
响应参数request_idstring请求的唯一标识符。output object任务详情。
属性 job_id string模型微调任务唯一标识,用于查询任务详情、日志、取消或删除任务。生成规则:ft-{yyyyMMddHHmm}-{4位uuid}。job_name string模型微调任务名称。status string微调训练任务的状态:
string微调后产出的新模型ID,部署和调用时需要用到。任务状态为 SUCCEEDED 时返回。model string使用的基准模型。base_model string使用的基准模型。training_file_ids array兼容旧版字段,新任务始终返回空数组,请使用 training_datasets。training_datasets Array of Dataset训练数据集列表。validation_file_ids array兼容旧版字段,新任务始终返回空数组,请使用 validation_datasets。validation_datasets Array of Dataset验证数据集列表。若未指定验证集,为空数组。hyper_parameters object实际使用的超参数。training_type string模型微调的训练方式。create_time string任务创建时间。end_time string任务结束时间。任务状态为 SUCCEEDED、FAILED 或 CANCELED 时返回。usage integer微调任务消耗的 Token 数。任务状态为 SUCCEEDED 或 CANCELED 时返回。workspace_id string阿里云百炼API Key所属的业务空间ID。请参见获取Workspace ID。user_identity string用户标识,阿里云账号ID。creator string创建人的阿里云账号ID。modifier string修改人的阿里云账号ID。group string模型微调任务分组。max_output_cnt integer训练期间最多保存的 checkpoint 数量。等同于超参数 save_total_limit 的值。string错误码。调用失败时返回。请参见下方错误码表。message string错误详情描述。调用失败时返回。 |
重点关注: output.job_id(任务ID)、output.finetuned_output(微调后产出的新模型名称)。 |
错误码
如果调用失败并返回报错信息,请参见下表进行排查。
HTTP 状态码 | 错误码 | 解决方案 |
|---|---|---|
400 | InvalidParameter | 参数错误,缺少参数或者参数格式问题等。根据错误信息修正您的参数。 |
400 | UnsupportedOperation | 当资源处于特定状态时,无法对其进行操作。待要操作的资源到达可操作状态时再进行操作。 |
404 | NotFound | 要查询/操作的资源不存在。检查资源ID是否错误。 |
409 | Conflict | 已存在同名部署实例,需要指定后缀进行区分。 |
429 | Throttling | 资源的创建触发平台限制。删除不再使用的模型。如您确实需要提高调优任务的并发量或保留更多调优成功的模型,请联系商务经理。 |
500 | InternalError | 内部错误。记录 request_id,通过工单联系阿里云工程师进行排查。 |