モデルのファインチューニングジョブを作成します。
ファインチューニングジョブの作成
Windows CMD の場合、${DASHSCOPE_API_KEY}を%DASHSCOPE_API_KEY%に置き換えてください。PowerShell では、$env:DASHSCOPE_API_KEYを使用します。
テキスト生成
curl --location --request POST "https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes" \
--header "Authorization: Bearer ${DASHSCOPE_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{
"model":"qwen3-14b",
"training_file_ids":[
"<トレーニングデータセットのファイル ID に置き換えてください>",
"<検証データセットのファイル ID に置き換えてください>"
],
"hyper_parameters":{
"n_epochs":3,
"batch_size":32,
"max_length":8192,
"learning_rate":"1.6e-5",
"lr_scheduler_type":"linear",
"split":0.9
},
"training_type":"sft",
"finetuned_output_suffix":"suffix"
}'
動画生成
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.7-i2v",
"training_file_ids": [
"<トレーニングデータセットのファイル ID に置き換えてください>"
],
"training_type": "efficient_sft",
"hyper_parameters": {
"n_epochs": 400,
"batch_size": 1,
"learning_rate": 2e-5,
"split": 0.9,
"max_split_val_dataset_sample": 5,
"eval_epochs": 50,
"max_pixels": 102400,
"save_total_limit": 10,
"lora_rank": 32,
"lora_alpha": 32
}
}'
画像生成
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.7-image-pro",
"training_file_ids": ["<your-training-dataset-file-id>"],
"training_type": "efficient_sft",
"hyper_parameters": {
"learning_rate": 3e-5,
"max_steps": 800,
"eval_steps": 200,
"max_token_length": "1k",
"gradient_clip": 0.5,
"weight_decay": 0.02,
"max_pixels": "1k",
"val_img_size": "1k",
"generation_type": "t2i",
"lora_rank": 32,
"save_total_limit": 10
}
}'
入力パラメーター
|
パラメーター |
必須 |
型 |
場所 |
説明 |
|
training_file_ids |
はい |
配列 |
本文 |
トレーニングセットのファイル ID のリスト。ファイル ID は ファイル管理 API によって生成されます。 |
|
validation_file_ids |
いいえ |
配列 |
本文 |
検証データセットのファイル ID のリスト。ファイル ID は ファイル管理 API によって生成されます。 |
|
model |
はい |
文字列 |
本文 |
ファインチューニングするモデルの ID。これは または以前のファインチューニングジョブのモデル ID にすることができます。 動画/画像生成モデルは、以下の
|
|
hyper_parameters |
いいえ |
Map |
本文 |
ファインチューニングジョブのハイパーパラメーターを含むオブジェクト。サポートされているパラメーターとそのデフォルト値はモデルによって異なります。デフォルト値を表示するには、コンソールでモデルとファインチューニングメソッドを選択します。
|
|
training_type |
いいえ |
文字列 |
本文 |
ファインチューニングメソッド。有効な値は |
|
job_name |
いいえ |
文字列 |
本文 |
ファインチューニングジョブの名前。 |
|
model_name |
いいえ |
文字列 |
本文 |
結果として得られるファインチューニング済みモデルの名前。 |
テキスト生成モデル
hyper_parameters のサポートされている設定
動画生成モデルのハイパーパラメーター
これらのハイパーパラメーターは、動画生成モデル (Wan シリーズ) にのみ適用されます。モデルのパフォーマンスが低い場合や、トレーニングが収束しない場合は、n_epochs または learning_rate の調整を検討してください。合計で 800 以上のトレーニングステップが推奨されます。
|
パラメーター |
型 |
必須 |
説明 |
推奨値 |
|
batch_size |
int |
はい |
バッチサイズ。1 回のトレーニング反復で処理されるデータサンプルの数。
|
モデルによって異なります |
|
n_epochs |
int |
はい |
トレーニングエポック数。合計ステップ数は、ステップ数 = n_epochs × ⌈データセットサイズ / batch_size⌉ として計算されます。合計で 800 ステップ以上を推奨します。 例:データセットに 5 つのサンプルがあり、 |
400 |
|
learning_rate |
float |
はい |
学習率。トレーニング中のモデルの重み更新の大きさを制御します。値が高すぎるとモデルのパフォーマンスが低下する可能性があり、低すぎると変化が著しくない場合があります。 |
2e-5 |
|
eval_epochs |
int |
はい |
検証間隔。検証を実行し、チェックポイントを保存するエポック単位の間隔。値は ≥ |
50 |
|
max_pixels |
int |
はい |
トレーニング動画の最大解像度 (総ピクセル数 = 幅 × 高さ)。システムは、この値を超える動画のみサイズ変更します。
|
モデルによって異なります |
|
split |
float |
いいえ |
トレーニングセットの分割比率。トレーニングに使用されるデータセットの割合で、有効な範囲は (0, 1) です。このパラメーターは、 |
0.9 |
|
max_split_val_dataset_sample |
int |
いいえ |
自動分割検証セットの最大サンプル数。検証セットのサイズは、total_samples × (1 − split) の結果とこのパラメーターの値の小さい方です。 |
5 |
|
save_total_limit |
int |
いいえ |
チェックポイント保存制限。保持する最近のチェックポイントの最大数。この制限を超えると、システムは古いチェックポイントを削除します。 |
10 |
|
lora_rank |
int |
いいえ |
LoRA ランク。LoRA の低ランク行列のランク (ディメンション)。2 のべき乗 (2n) である必要があります (16、32、64 など)。 |
32 |
|
lora_alpha |
int |
いいえ |
LoRA アルファ。LoRA の重みのスケーリング係数。2 のべき乗 (2n) である必要があります (16、32、64 など)。 |
32 |
画像生成モデルのハイパーパラメーター
画像生成モデルは、max_steps と eval_steps を使用して総トレーニングステップと検証間隔を制御しますが、動画モデルは n_epochs と eval_epochs を使用します。モデルのパフォーマンスが低い場合や収束しない場合は、max_steps または learning_rate の調整を検討してください。
|
パラメーター |
型 |
必須 |
説明 |
推奨値 |
|
max_steps |
int |
はい |
総トレーニングステップ数。トレーニングの総反復回数を決定するコアパラメーターです。モデルの収束を確実にするために少なくとも 500 ステップを推奨し、より大きなデータセットにはより高い値を推奨します。 |
800 |
|
eval_steps |
int |
はい |
検証間隔。値は ≥ 0 である必要があります。トレーニング中にモデルを評価する頻度 (ステップ単位) を指定します。各間隔でチェックポイントも保存されます。 |
200 |
|
learning_rate |
float |
はい |
学習率。モデルの重み更新の大きさを制御します。値が高すぎるとモデルのパフォーマンスが低下する可能性があり、低すぎると変化が著しくない場合があります。デフォルト値を使用することを推奨します。 |
3e-5 |
|
generation_type |
string |
はい |
生成モード。Text-to-Image には |
t2i |
|
max_pixels |
string |
はい |
トレーニング画像の最大解像度。例:「1k」または「2k」(1K = 1024×1024、2K = 2048×2048)。トレーニングセット内の画像の総ピクセル数 (幅 × 高さ) の上限を設定します。システムは、この値を超える画像のみをスケールダウンします。上限を下回る画像は変更されません。3 つの解像度関連パラメーター ( |
Text-to-Image:「2k」 |
|
val_img_size |
string |
はい |
検証画像生成解像度。例:「1k」または「2k」(1K = 1024×1024、2K = 2048×2048)。検証評価中に生成される画像の目標解像度。 |
Text-to-Image:「2k」 |
|
max_token_length |
string |
はい |
ステップごとの最大トークン長。例:「1k」または「2k」。このパラメーターは、 |
Text-to-Image:「2k」 |
|
gradient_clip |
float |
はい |
勾配クリッピング。すべてのトレーニング可能なパラメーターにわたるグローバルな勾配ノルムクリッピングのしきい値で、勾配爆発を防ぐために使用されます。クリッピングを無効にするには -1 に設定します。 |
0.5 |
|
weight_decay |
float |
はい |
重み減衰。AdamW オプティマイザーの分離された重み減衰係数。すべてのトレーニング可能なパラメーターに適用され、過学習を防ぐための正則化に使用されます。 |
0.02 |
|
lora_rank |
int |
はい |
LoRA ランク。LoRA の低ランク行列のランク (ディメンション)。この値は、ファインチューニングのためのトレーニング可能なパラメーターの数を決定します。値が大きいほどモデルの適合能力が向上しますが、トレーニングが遅くなります。値は 2 のべき乗 (例:16、32、64) である必要があります。 |
32 |
|
save_total_limit |
int |
いいえ |
チェックポイント保存制限。保存するモデルチェックポイントの最大数。システムは、この値である N 個の最新のチェックポイントのみを保持します。 |
10 |
|
split |
float |
いいえ |
トレーニングセットの分割比率。値の範囲は (0, 1) です。このパラメーターは、 |
0.9 |
レスポンスの例
テキスト生成モデル
{
"request_id": "9654e55a-d74b-4113-aee1-fa19c9384fcc",
"output": {
"job_id": "ft-202410291653-1c7f",
"job_name": "ft-202410291653-1c7f",
"status": "PENDING",
"model": "qwen3-14b",
"base_model": "qwen3-14b",
"training_file_ids": [
"976bd01a-f30b-4414-86fd-50c54486e3ef"
],
"validation_file_ids": [
],
"hyper_parameters": {
"n_epochs": 3,
"batch_size": 32,
"max_length": 8192,
"learning_rate": "1.6e-5",
"lr_scheduler_type": "linear",
"split": 0.9
},
"training_type": "sft",
"create_time": "2024-10-29 16:53:53",
"workspace_id":"llm-v71tlv***",
"user_identity": "1396993924585947",
"modifier": "1396993924585947",
"creator": "1396993924585947",
"group": "llm"
}
}
動画生成モデル
output.job_id (ジョブ ID) と output.finetuned_output (デプロイメントに使用されるファインチューニング済みモデルの名前) に注目してください。
{
"request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
"output": {
"job_id": "ft-202511111122-xxxx",
"job_name": "ft-202511111122-xxxx",
"status": "PENDING",
"finetuned_output": "wan2.5-i2v-preview-ft-202511111122-xxxx",
"model": "wan2.5-i2v-preview",
"base_model": "wan2.5-i2v-preview",
"training_file_ids": [
"xxxxxxxxxxxx"
],
"validation_file_ids": [],
"hyper_parameters": {
"n_epochs": 400,
"batch_size": 4,
"learning_rate": 2.0E-5,
"split": 0.9,
"eval_epochs": 50
},
"training_type": "efficient_sft",
"create_time": "2025-11-11 11:22:22"
}
}
画像生成モデル
output.job_id (ジョブ ID) と output.finetuned_output (デプロイメントに使用されるファインチューニング済みモデルの名前) に注目してください。
{
"request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
"output": {
"job_id": "ft-202606030110-xxxx",
"job_name": "ft-202606030110-xxxx",
"status": "PENDING",
"finetuned_output": "wan2.7-image-pro-ft-202606030110-xxxx",
"model": "wan2.7-image-pro",
"base_model": "wan2.7-image-pro",
"training_file_ids": [
"xxxxxxxxxxxx"
],
"validation_file_ids": [],
"hyper_parameters": {
"max_steps": 800,
"learning_rate": 3.0E-5,
"eval_steps": 200,
"max_token_length": "1k",
"max_pixels": "1k",
"val_img_size": "1k",
"generation_type": "t2i",
"lora_rank": 32
},
"training_type": "efficient_sft",
"create_time": "2026-06-03 01:10:47"
}
}
レスポンスパラメーター
|
パラメーター |
型 |
説明 |
|
request_id |
文字列 |
リクエストの ID。 |
|
output |
オブジェクト |
ファインチューニングジョブの詳細。 |
|
output.job_id |
文字列 |
ファインチューニングジョブの ID。この ID は、ファインチューニングジョブの詳細のクエリ、ファインチューニングジョブのログのクエリ、ファインチューニングジョブのキャンセル、ファインチューニングジョブの削除などの他の API で使用できます。 フォーマット: |
|
output.job_name |
文字列 |
|
|
output.status |
文字列 |
|
|
output.model |
文字列 |
ファインチューニングされたモデルの ID。 |
|
output.base_model |
文字列 |
ファインチューニングに使用されたベースモデルの ID。 例:ファインチューニングジョブ |
|
output.training_file_ids |
配列 |
ファインチューニングファイル ID の配列。 |
|
output.validation_file_ids |
配列 |
検証ファイル ID の配列。 |
|
output.hyper_parameters |
オブジェクト |
ジョブに明示的に設定されたハイパーパラメーター。 |
|
output.training_type |
文字列 |
ファインチューニングメソッド。 |
|
output.create_time |
文字列 |
ファインチューニングジョブが作成された時刻。 |
|
output.workspace_id |
文字列 |
ファインチューニングジョブを含むワークスペースの ID。 |
|
output.user_identity |
文字列 |
所有者であるメインアカウントの UID。 |
|
output.modifier |
文字列 |
ジョブを最後に変更したアカウントの UID。 たとえば、サブアカウントがジョブをキャンセルした場合、このフィールドはそのサブアカウントの UID を返します。 |
|
output.creator |
文字列 |
ジョブを作成したユーザーの UID。 |
|
output.group |
文字列 |
ファインチューニングジョブのカテゴリ。 |
|
ジョブステータス |
説明 |
|
PENDING |
ファインチューニングジョブは開始を待っています。 |
|
QUEUING |
ファインチューニングジョブはキューに入っています。(一度に実行できるファインチューニングジョブは 1 つだけです。) |
|
RUNNING |
ファインチューニングジョブは実行中です。 |
|
CANCELING |
ファインチューニングジョブはキャンセル中です。 |
|
SUCCEEDED |
ファインチューニングジョブは成功しました。 |
|
FAILED |
ファインチューニングジョブは失敗しました。 |
|
CANCELED |
ファインチューニングジョブはキャンセルされました。 |
リクエストエラーコード
リクエストが失敗したときに返されます。
|
パラメーター |
型 |
説明 |
例 |
|
code |
文字列 |
エラーコード。 |
NotFound |
|
request_id |
文字列 |
このリクエストに対してシステムが生成した一意の ID。 |
6332fb02-3111-43f0-bf79-f9e8c5ffa7f9 |
|
message |
文字列 |
エラーメッセージ。 |
Not Found! |
レスポンスの例
{
"code": "NotFound",
"request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
"message": "Not Found!"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
例 |
説明 |
解決策 |
|
400 |
InvalidParameter |
トレーニングファイルがありません |
必須パラメーターが欠落しているか、値の形式が正しくないため、パラメーターが無効です。 |
エラーメッセージを確認し、リクエストのパラメーターを修正してください。 |
|
400 |
UnsupportedOperation |
ファインチューニングジョブはすでに成功、失敗、またはキャンセルされているため、削除できません。 |
リソースがこの操作を妨げる状態にあります。 |
リソースが操作可能な状態になった後、操作を再試行してください。 |
|
404 |
NotFound |
見つかりません! |
リクエストされたリソースは存在しません。 |
リソース ID が正しいことを確認してください。 |
|
409 |
Conflict |
モデルインスタンス xxxxx はすでに存在します。サフィックスを指定してください |
指定された名前のデプロイメントインスタンスはすでに存在します。 |
デプロイメントに一意のサフィックスを指定してください。 |
|
429 |
Throttling |
|
プラットフォームの制限に達したため、リクエストは拒否されました。 |
|
|
500 |
InternalError |
内部サーバーエラー! |
内部エラーが発生しました。 |
request_id を記録し、Alibaba Cloud サポートにトラブルシューティングのためのチケットを送信してください。 |