動画生成用のモデルファインチューニングのトレーニングジョブを作成します。データセットは API 経由でアップロードするか、 OSS からマウントできます。
前提条件
- 対応リージョン:このトピックで説明されている機能は、 Singapore リージョンでのみ利用可能です。このリージョンの API キー を使用する必要があります。
- アカウント権限: Alibaba Cloud サブアカウント (RAM ユーザー) を使用する場合は、モデルの呼び出し、トレーニング、およびデプロイメントに必要な権限をサブアカウントに付与する必要があります。
- 環境変数の設定: API キーを取得し、環境変数として設定済みであること。
- 準備:動画生成モデルのファインチューニングをお読みいただき、ファインチューニングでサポートされているモデル、ファインチューニングの手順、データフォーマット、および課金について理解していること。
ファインチューニングジョブの作成
- Singapore
POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunesWindows CMD の場合は、$DASHSCOPE_API_KEYを%DASHSCOPE_API_KEY%に置き換えてください。PowerShell の場合は、$env:DASHSCOPE_API_KEYに置き換えてください。
リクエストパラメーターヘッダーContent-Typestring (必須)固定値: application/jsonAuthorization string (必須)API キー認証。形式: Bearer sk-xxxxリクエストボディ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 (必須)トレーニングエポック数。推奨値:50steps = n_epochs × ⌈dataset_size / batch_size⌉。合計ステップ数は 800 以上を推奨します。例:データサンプルが 5 つで batch_size=4 の場合、エポックあたりのステップ数 = ceil(5/4) = 2、最小 n_epochs = 800/2 = 400 となります。
float (必須)学習率。推奨値:2e-5。モデルの重み更新の大きさを制御します。高すぎるとモデルが劣化する可能性があり、低すぎると変化が最小限になる可能性があります。eval_epochs int (必須)検証間隔。推奨値:20。n_epochs/10 以上である必要があります。トレーニング中に検証評価を実行するエポックの間隔を指定します。max_pixels int (必須)トレーニング動画の最大解像度。トレーニング動画の解像度の総ピクセル数 (幅 x 高さ) の上限を設定します。システムはこの値を超える動画のみをスケーリングします。
float (オプション)トレーニングセットの分割比率。推奨値:0.9。値の範囲:(0, 1)validation_file_ids が指定されていない場合にのみ有効です。このパラメーターは、トレーニングセットから検証セットを比例的に自動分割します。例えば、0.9 はトレーニングセット 90%、検証セット 10% を意味します。max_split_val_dataset_sample int (オプション)トレーニングセットから検証セットとして自動分割されるサンプルの最大数。推奨値:5。1 以上である必要があります。validation_file_ids が指定されていない場合にのみ有効です。このパラメーターは、検証セットサイズの上限を設定します: validation_count = min(total_dataset × (1 - split), max_split_val_dataset_sample)save_total_limit int (オプション)チェックポイントの保存上限。推奨値:10。保存されるモデルの最大数を制限します。システムは最後の N 個のチェックポイントのみを保持します。lora_rank int (オプション)LoRA 低ランク行列の次元。推奨値:32。この値はファインチューニングパラメーターのサイズを決定します。値が大きいほどフィッティング能力が強くなりますが、トレーニング速度は遅くなります。2 のべき乗 (例:16、32、64) である必要があります。lora_alpha int (オプション)LoRA 重みスケーリング係数。推奨値:32。ファインチューニングされたパラメーターが元のモデルの重みに与える影響を調整するために使用されます。2 のべき乗 (例:16、32、64) である必要があります。Array of Dataset (条件付き必須)トレーニングデータセットのファイルリスト。このパラメーターまたは training_file_ids のいずれかを使用します。training_file_ids を使用する場合、このパラメーターは不要です。
Dataset 構造 data_source_type string (必須)データソースタイプ。使用可能な値:
object (条件付き必須)データソースタイプが oss_mount の場合に必須です。OSS マウント情報。
プロパティ region string (必須)マウントする OSS バケットのリージョン。Beijing (cn-beijing) および Singapore (ap-southeast-1) をサポートしています。bucket string (必須)マウントする OSS バケットの名前。file_path string (必須)マウントする OSS ファイルパス (オブジェクトキー) 。複数のファイルを含むデータセットの場合は、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 char 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ファインチューニングジョブのトークン消費量。ジョブステータスが SUCCEEDED または CANCELED の場合に返されます。workspace_id stringAlibaba Cloud Model Studio API キーに関連付けられたワークスペース ID。「ワークスペース ID の取得」 をご参照ください。user_identity stringユーザーアイデンティティ。Alibaba Cloud アカウント ID。creator string作成者の Alibaba Cloud アカウント ID。modifier string変更者の Alibaba Cloud アカウント ID。group stringファインチューニングジョブグループ。max_output_cnt integerトレーニング中に保存されるチェックポイントの最大数。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 | 内部エラーです。リクエスト ID を記録し、チケットを通じて Alibaba Cloud のエンジニアに連絡してトラブルシューティングを依頼してください。 |