建立一個視頻產生的模型微調訓練任務。資料集支援通過API上傳資料集或OSS掛載。
適用範圍
- 適用地區:本文描述的功能僅在新加坡地區可用,且必須使用該地區的API Key。
- 開通帳號許可權:若使用阿里雲子帳號(RAM使用者),需要為子帳號授予模型調用、訓練和部署許可權。
- 配置環境變數:已成功擷取 API Key,並配置到環境變數。
- 準備工作:已閱讀視頻產生模型調優,瞭解支援微調的模型、微調步驟、資料格式以及計費說明。
建立微調任務
- 新加坡
POST https://dashscope-intl.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 (必選)批次大小。一次性送入模型進行訓練的資料條數。該參數為單一實例配置,建議使用各模型的推薦值,非必要請勿調整。
訓練任務實際啟動並執行執行個體數量由平台調度決定,訓練日誌中輸出的Global Step可能與估算結果不一致,但不會改變實際訓練資料總量,不影響模型最終效果。 int (必選)訓練迴圈次數。推薦值:50。steps = n_epochs × ⌈資料集大小 / batch_size⌉。建議總步數 ≥ 800。例如:資料集 5 條,batch_size=4,每輪步數=⌈5/4⌉=2,最小 n_epochs = 800/2 = 400。
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,通過工單聯絡阿里雲工程師進行排查。 |