画像生成モデルのファインチューニングジョブを作成します。データセットはAPI経由でアップロードするか、OSSからマウントできます。
前提条件
- サポートされているリージョン:本ドキュメントに記載されている機能は、Singaporeリージョンでのみ利用可能です。このリージョンのAPI Keyを使用する必要があります。
- アカウント権限:Alibaba Cloud サブアカウント(RAM ユーザー)を使用する場合は、サブアカウントにモデル呼び出し、トレーニング、およびデプロイメントの権限を付与する必要があります。
- 環境変数の設定:API Keyの取得および環境変数としての設定が正常に完了していること。
- 準備:画像生成モデルのファインチューニングを読み、ファインチューニングをサポートするモデル、ファインチューニングの手順、データ形式、および課金に関する説明を理解していること。
ファインチューニングジョブの作成
- 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 Key認証。形式:Bearer sk-xxxx。リクエストボディmodelstring (必須)ファインチューニング用のベースモデルを指定します。
array[string] (条件付き必須)トレーニングデータセットのファイルIDの配列。複数のIDを渡すことができます。training_datasetsとは排他的です。training_datasetsを使用する場合、このパラメータは不要です。ファイルIDはUpload File APIを通じて取得します。validation_file_ids array[string](任意)検証データセットファイルIDの配列です。複数のIDを渡すことができます。validation_datasetsとは排他的です。validation_datasetsを使用する場合、このパラメータは不要です。どちらも指定されていない場合、システムはトレーニングセットから自動的に分割します。ファイルIDはファイルアップロードAPIを通じて取得します。training_type string (必須)ファインチューニングタイプ。現在はefficient_sft(LoRA効率的ファインチューニング)のみをサポートしています。hyper_parameters object(任意)ハイパーパラメータ設定。初期トレーニングでは、デフォルトのハイパーパラメータを使用することを推奨します。モデルのパフォーマンスが低い場合やトレーニングが収束しない場合は、トレーニング量(Wanの場合はmax_steps、qwen-image-2.0とqwen-image-2.0-proの場合はn_epochs)またはlearning_rateの調整を試してください。サポートされるハイパーパラメータはベースモデルによって異なります。以下の対応するハイパーパラメータのプロパティを参照してください。
ハイパーパラメータのプロパティ(wan2.7-image-pro、wan2.7-image) max_steps int (必須)合計トレーニングステップ数。トレーニング期間を制御する主要なパラメータです。推奨値:800。max_stepsはトレーニングの反復回数を決定し、max_token_lengthはステップごとに処理されるデータ量を決定します。モデルが十分に収束するように、少なくとも500ステップを使用することを推奨します。データセットが大きい場合はステップ数を増やすことができます。eval_steps int (必須)検証間隔。推奨値:200。値は>= 0である必要があります。トレーニング中の検証評価の間隔ステップ数を指定し、モデルのトレーニング進捗を定期的に評価するために使用されます。現在のステップのモデルファイルも保存されます。learning_rate float (必須)学習率。推奨値:3e-5。モデルの重みの更新幅を制御します。高すぎるとモデルの性能が低下し、低すぎると変化がほとんど見られなくなる可能性があります。generation_type string (必須)生成モード。トレーニングデータの形式と推論方法を決定します。有効な値は以下の通りです。
string (必須)トレーニング画像の最大解像度です。トレーニングセット内の画像の総ピクセル数(幅 x 高さ)の上限を設定します。システムはこの値を超える画像のみをスケーリングし、制限内の画像は変更されません。3つの解像度パラメータ(max_pixels、max_token_length、val_img_size)を一致させることを推奨します。
string (必須)検証用画像の生成解像度。トレーニングプロセス中の検証評価時に生成される画像のターゲット解像度です。有効な値はmax_pixelsと同じです。推奨値:テキストから画像へは2k、画像から画像へは1kです。max_token_length string (必須)トレーニングステップごとの最大トークン長で、ステップごとの計算量と課金に影響します。max_stepsとともにトレーニングプロセスを制御します。max_stepsは反復回数を決定し、max_token_lengthはステップごとのデータ量を決定します。有効な値は以下の通りです。
float (必須)勾配クリッピング。推奨値:0.5。勾配爆発を防ぐために、すべての学習可能なパラメータに対するグローバル勾配ノルムのクリッピング閾値です。クリッピングを無効にするには-1を設定してください。weight_decay float (必須)Weight decay。推奨値:0.02。AdamWの分離型Weight decay係数で、過学習を防ぐためにすべての学習可能なパラメータに適用される正則化です。lora_rank int (必須)LoRA低ランク行列のランク。推奨値:32。この値はファインチューニングパラメータの数を決定します。値が大きいほどモデルの適合能力は強くなりますが、トレーニング速度は低下します。値は2のn乗である必要があります(例:16、32、64)。save_total_limit int(任意)保存するチェックポイントの最大数。推奨値:10。保存されるモデルの最大数を制限します。システムはトレーニング中に生成された最後のN個のチェックポイントのみを保持します。split float(任意)トレーニングセットの分割比率です。推奨値は0.9です。値の範囲は(0, 1)です。validation_file_idsとvalidation_datasetsのいずれも指定されていない場合にのみ有効になります。このパラメータは、トレーニングセットの一部を自動的に検証セットとして分割するために使用されます。例えば、0.9はトレーニングセット90%、検証セット10%を意味します。
ハイパーパラメータのプロパティ(qwen-image-2.0、qwen-image-2.0-pro) qwen-image-2.0とqwen-image-2.0-proは、エポック(n_epochs)の数によってトレーニングプロセスを制御します。これらはmax_steps、eval_steps、またはmax_token_lengthをサポートしていません。2つのモデルは同じハイパーパラメータを共有しますが、推奨される学習率は異なります。qwen-image-2.0の場合は5e-5、qwen-image-2.0-proの場合は1e-4です。n_epochs int (必須)トレーニングのエポック数。トレーニングセット全体を完全に通過する回数です。推奨値:10。有効範囲:[1, 10000]。エポック数を増やすと適合度が向上しますが、多すぎると過学習を引き起こす可能性があります。eval_epochs int (必須)エポック単位の検証間隔。推奨値:10。有効範囲:[1, 1000]。トレーニング中の検証評価の間隔エポック数を指定し、モデルのトレーニング進捗を定期的に評価するために使用されます。現在のエポックのモデルファイルも保存されます。batch_size int(任意)バッチサイズ。各パラメータ更新に使用されるサンプル数。推奨値:8。有効範囲:[1, 2048]。このパラメータは課金や総トレーニングトークン数には影響しません。learning_rate float (必須)学習率。qwen-image-2.0の推奨値は5e-5、qwen-image-2.0-proの推奨値は1e-4です。モデルの重みの更新幅を制御します。高すぎるとモデルの性能が低下し、低すぎると変化がほとんど見られなくなる可能性があります。generation_type string (必須)生成モード。トレーニングデータの形式と推論方法を決定します。有効な値は以下の通りです。
string (必須)トレーニング画像の最大解像度。トレーニングセット内の画像の総ピクセル数(幅×高さ)の上限を設定する文字列ティアです。システムはこの値を超える画像のみをスケーリングし、制限内の画像は変更されません。有効な値は以下の通りです。
string (必須)検証用画像の生成解像度。トレーニングプロセス中の検証評価時に生成される画像のターゲット解像度です。有効な値はmax_pixelsと同じです。推奨値:2k。gradient_clip float (必須)勾配クリッピング。推奨値:0.5。有効範囲:[0, 10.0]。勾配爆発を防ぐために使用される、すべての学習可能なパラメータに対するグローバル勾配ノルムクリッピングの閾値です。weight_decay float (必須)Weight decay。推奨値:0.02。有効範囲:[0, 1.0]。AdamWの分離型Weight decay係数です。すべての学習可能なパラメータに適用され、過学習を防ぐための正則化に使用されます。lora_rank int (必須)LoRA低ランク行列のランク(次元)。推奨値:32。有効範囲:[8, 128]。この値は学習可能なパラメータの数を決定します。値が大きいほど適合能力は向上しますが、トレーニング速度は低下します。save_total_limit int(任意)チェックポイントの保存上限。推奨値:20。有効範囲:[1, 40]。保存するモデルチェックポイントの最大数です。システムは最新のN個のチェックポイントのみを保持します。split float(任意)トレーニングセットの分割比率です。推奨値は0.9です。有効範囲は[0, 1]です。validation_file_idsまたはvalidation_datasetsが指定されていない場合にのみ有効になります。トレーニングセットの一部を自動的に検証セットとして分割します。例えば、0.9はトレーニングセット90%、検証セット10%を意味します。Array of Dataset (条件付き必須)トレーニングデータセットのファイルリスト。training_file_idsとは排他的です。training_file_idsを使用する場合、このパラメータは不要です。
データセット構造 data_source_type string (必須)データソースタイプ。有効な値:
object(条件付き必須)data_source_typeがoss_mountの場合に必須です。OSSマウント情報。
プロパティ region string (必須)マウントするOSSバケットのリージョン。北京(cn-beijing)およびシンガポール(ap-southeast-1)をサポートします。bucket string (必須)マウントするOSSバケットの名前。file_path string (必須)マウントするOSSファイルパス(オブジェクトキー)。複数のファイルを含むデータセットの場合は、data.jsonlのファイルパスを使用してください。file_idアプローチとは異なり、圧縮されていないデータセットフォルダ全体をOSSにアップロードする必要があります。Zipファイルはサポートされていません。string(条件付き必須)data_source_typeがfile_idの場合に必須です。Upload File APIによって生成されたファイルID。Array of Dataset(任意)検証用データセットのファイルリスト。構造はtraining_datasetsと同じです。validation_file_idsとは排他的です。どちらも指定されていない場合、システムは自動的にトレーニングセットから分割します。job_name string(任意)チューニングジョブの名前。model_name string(任意)チューニング完了後のモデル名。 |
レスポンスパラメーターrequest_idstringリクエストの一意な識別子。output objectジョブの詳細。
プロパティ job_id stringファインチューニングジョブの一意な識別子で、ジョブの詳細やログのクエリ、ジョブのキャンセルまたは削除に使用されます。生成ルール:ft-{yyyyMMddHHmm}-{4-digit 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 Keyに関連付けられたワークスペースID。ワークスペースIDの取得を参照してください。user_identity stringユーザーID、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 | 競合 | 同じ名前のデプロイメントインスタンスが既に存在します。区別するためにサフィックスを指定してください。 |
429 | スロットリング | リソースの作成がプラットフォームの制限に達しました。使用していないモデルを削除してください。 |
500 | InternalError | 内部エラー。request_idを記録し、チケットを通じてAlibaba Cloudエンジニアにお問い合わせください。 |