Buat pekerjaan fine-tuning model.
Buat pekerjaan fine-tuning
Untuk Windows CMD, ganti${DASHSCOPE_API_KEY}dengan%DASHSCOPE_API_KEY%. Di PowerShell, gunakan$env:DASHSCOPE_API_KEY.
Generasi teks
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":[
"<Ganti dengan ID file set data pelatihan Anda>",
"<Ganti dengan ID file set data validasi Anda>"
],
"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"
}'
Generasi video
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": [
"<Ganti dengan ID file set data pelatihan Anda>"
],
"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
}
}'
Generasi gambar
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": ["<ID-file-set-data-pelatihan-anda>"],
"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
}
}'
Parameter input
|
Parameter |
Wajib |
Tipe |
Lokasi |
Deskripsi |
|
training_file_ids |
Ya |
Array |
Body |
Daftar ID file untuk set pelatihan. ID file dihasilkan oleh File Management API. |
|
validation_file_ids |
Tidak |
Array |
Body |
Daftar ID file untuk set validasi. ID file dihasilkan oleh File Management API. |
|
model |
Ya |
String |
Body |
ID model yang akan di-fine-tune. Ini bisa berupa atau ID model dari pekerjaan fine-tuning sebelumnya. Model generasi video/gambar mendukung nilai
|
|
hyper_parameters |
Tidak |
Map |
Body |
Objek yang berisi hiperparameter untuk pekerjaan fine-tuning. Parameter yang didukung beserta nilai default-nya bervariasi tergantung model. Untuk melihat nilai default, pilih model dan metode fine-tuning di konsol.
|
|
training_type |
Tidak |
String |
Body |
Metode fine-tuning. Nilai yang valid adalah |
|
job_name |
Tidak |
String |
Body |
Nama untuk pekerjaan fine-tuning. |
|
model_name |
Tidak |
String |
Body |
Nama model hasil fine-tuning. |
Model generasi teks
hyper_parameters pengaturan yang didukung
Hiperparameter untuk model generasi video
Hiperparameter ini hanya berlaku untuk model generasi video (seri Wan). Jika performa model buruk atau pelatihan gagal konvergen, pertimbangkan untuk menyesuaikan n_epochs atau learning_rate. Disarankan minimal 800 langkah pelatihan total.
|
Parameter |
Tipe |
Wajib |
Deskripsi |
Nilai yang direkomendasikan |
|
batch_size |
int |
Ya |
Ukuran batch. Jumlah sampel data yang diproses dalam satu iterasi pelatihan.
|
Bervariasi tergantung model |
|
n_epochs |
int |
Ya |
Jumlah epoch pelatihan. Total langkah dihitung sebagai: langkah = n_epochs × ⌈ukuran dataset / batch_size⌉. Disarankan minimal 800 langkah total. Contoh: Jika dataset memiliki 5 sampel dan |
400 |
|
learning_rate |
float |
Ya |
Tingkat pembelajaran. Mengontrol besarnya pembaruan bobot model selama pelatihan. Nilai terlalu tinggi dapat menurunkan performa model, sedangkan nilai terlalu rendah mungkin menghasilkan perubahan tidak signifikan. |
2e-5 |
|
eval_epochs |
int |
Ya |
Interval validasi. Interval, dalam epoch, untuk melakukan validasi dan menyimpan checkpoint. Nilainya harus ≥ |
50 |
|
max_pixels |
int |
Ya |
Resolusi maksimum untuk video pelatihan (total piksel = lebar × tinggi). Sistem hanya mengubah ukuran video yang melebihi nilai ini.
|
Bervariasi tergantung model |
|
split |
float |
Tidak |
Rasio pemisahan set pelatihan. Proporsi dataset yang digunakan untuk pelatihan, dengan rentang valid (0, 1). Parameter ini diabaikan jika |
0.9 |
|
max_split_val_dataset_sample |
int |
Tidak |
Jumlah sampel maksimum untuk set validasi auto-split. Ukuran set validasi adalah nilai terkecil dari dua hal: hasil total_sampel × (1 − split) atau nilai parameter ini. |
5 |
|
save_total_limit |
int |
Tidak |
Batas penyimpanan checkpoint. Jumlah maksimum checkpoint terbaru yang disimpan. Sistem menghapus checkpoint lama setelah batas ini terlampaui. |
10 |
|
lora_rank |
int |
Tidak |
Rank LoRA. Rank (dimensi) matriks low-rank LoRA. Harus merupakan pangkat 2 (2n), seperti 16, 32, atau 64. |
32 |
|
lora_alpha |
int |
Tidak |
Alpha LoRA. Faktor penskalaan untuk bobot LoRA. Harus merupakan pangkat 2 (2n), seperti 16, 32, atau 64. |
32 |
Hiperparameter untuk model generasi gambar
Model generasi gambar menggunakan max_steps dan eval_steps untuk mengontrol total langkah pelatihan dan interval validasi, berbeda dengan model video yang menggunakan n_epochs dan eval_epochs. Jika model berperforma buruk atau gagal konvergen, pertimbangkan untuk menyesuaikan max_steps atau learning_rate.
|
Parameter |
Tipe |
Wajib |
Deskripsi |
Nilai yang direkomendasikan |
|
max_steps |
int |
Ya |
Total langkah pelatihan. Parameter inti yang menentukan jumlah total iterasi pelatihan. Disarankan minimal 500 langkah untuk memastikan konvergensi model, dengan nilai lebih tinggi untuk dataset yang lebih besar. |
800 |
|
eval_steps |
int |
Ya |
Interval validasi. Nilainya harus ≥ 0 dan menentukan frekuensi evaluasi model selama pelatihan (dalam satuan langkah). Checkpoint juga disimpan pada setiap interval tersebut. |
200 |
|
learning_rate |
float |
Ya |
tingkat pembelajaran. Mengontrol besarnya pembaruan bobot model. Nilai terlalu tinggi dapat menurunkan performa model, sedangkan nilai terlalu rendah mungkin tidak menghasilkan perubahan signifikan. Disarankan menggunakan nilai default. |
3e-5 |
|
generation_type |
string |
Ya |
mode generasi. Gunakan |
t2i |
|
max_pixels |
string |
Ya |
Resolusi maksimum untuk gambar pelatihan. Misalnya, "1k" atau "2k" (1K = 1024×1024, 2K = 2048×2048). Menetapkan batas atas jumlah total piksel (lebar × tinggi) untuk gambar dalam set pelatihan. Sistem hanya memperkecil gambar yang melebihi nilai ini; gambar di bawah batas tetap tidak berubah. Disarankan menjaga konsistensi tiga parameter terkait resolusi ( |
teks-ke-gambar: "2k" |
|
val_img_size |
string |
Ya |
Resolusi generasi gambar validasi. Misalnya, "1k" atau "2k" (1K = 1024×1024, 2K = 2048×2048). Merupakan resolusi target untuk gambar yang dihasilkan selama evaluasi validasi. |
teks-ke-gambar: "2k" |
|
max_token_length |
string |
Ya |
Panjang token maksimum per langkah. Misalnya, "1k" atau "2k". Parameter ini, bersama dengan |
teks-ke-gambar: "2k" |
|
gradient_clip |
float |
Ya |
pemotongan gradien. Ambang batas untuk pemotongan norma gradien global di seluruh parameter yang dapat dilatih, digunakan untuk mencegah exploding gradients. Atur ke -1 untuk menonaktifkan pemotongan. |
0.5 |
|
weight_decay |
float |
Ya |
peluruhan bobot. Koefisien peluruhan bobot terpisah untuk pengoptimal AdamW. Diterapkan pada semua parameter yang dapat dilatih dan digunakan sebagai regularisasi untuk mencegah overfitting. |
0.02 |
|
lora_rank |
int |
Ya |
Rank LoRA. Rank (dimensi) matriks low-rank LoRA. Nilai ini menentukan jumlah parameter yang dapat dilatih untuk fine-tuning. Nilai yang lebih besar meningkatkan kemampuan fitting model tetapi memperlambat pelatihan. Nilainya harus merupakan pangkat 2 (misalnya, 16, 32, 64). |
32 |
|
save_total_limit |
int |
Tidak |
Batas penyimpanan checkpoint. Jumlah maksimum checkpoint model yang disimpan. Sistem hanya menyimpan N checkpoint terbaru, di mana N adalah nilai parameter ini. |
10 |
|
split |
float |
Tidak |
Rasio pemisahan set pelatihan. Rentang nilainya (0, 1). Parameter ini hanya berlaku jika |
0.9 |
Contoh respons
Model generasi teks
{
"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"
}
}
Model generasi video
Fokus pada output.job_id (ID pekerjaan) dan output.finetuned_output (nama model hasil fine-tuning, digunakan untuk penerapan).
{
"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"
}
}
Model generasi gambar
Fokus pada output.job_id (ID pekerjaan) dan output.finetuned_output (nama model hasil fine-tuning, digunakan untuk penerapan).
{
"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"
}
}
Parameter respons
|
Parameter |
Tipe |
Deskripsi |
|
request_id |
String |
ID permintaan. |
|
output |
Object |
Detail pekerjaan fine-tuning. |
|
output.job_id |
String |
ID pekerjaan fine-tuning. Anda dapat menggunakan ID ini dengan API lain, seperti menanyakan detail pekerjaan fine-tuning, menanyakan log pekerjaan fine-tuning, membatalkan pekerjaan fine-tuning, dan menghapus pekerjaan fine-tuning. Format: |
|
output.job_name |
String |
Sama dengan |
|
output.status |
String |
|
|
output.model |
String |
ID model yang difine-tune. |
|
output.base_model |
String |
ID model dasar yang digunakan untuk fine-tuning. Contoh: Untuk pekerjaan fine-tuning |
|
output.training_file_ids |
Array |
Array ID file fine-tuning. |
|
output.validation_file_ids |
Array |
Array ID file validasi. |
|
output.hyper_parameters |
Object |
Hiperparameter yang secara eksplisit diatur untuk pekerjaan. |
|
output.training_type |
String |
Metode fine-tuning. |
|
output.create_time |
String |
Waktu pembuatan pekerjaan fine-tuning. |
|
output.workspace_id |
String |
ID ruang kerja yang berisi pekerjaan fine-tuning. |
|
output.user_identity |
String |
UID akun utama pemilik. |
|
output.modifier |
String |
UID akun yang terakhir memodifikasi pekerjaan. Contoh: Jika sub-akun membatalkan pekerjaan, bidang ini mengembalikan UID sub-akun tersebut. |
|
output.creator |
String |
UID pengguna yang membuat pekerjaan. |
|
output.group |
String |
Kategori pekerjaan fine-tuning. |
|
Status Pekerjaan |
Deskripsi |
|
PENDING |
Pekerjaan fine-tuning sedang menunggu untuk dimulai. |
|
QUEUING |
Pekerjaan fine-tuning sedang dalam antrian. (Hanya satu pekerjaan fine-tuning yang dapat berjalan sekaligus.) |
|
RUNNING |
Pekerjaan fine-tuning sedang berjalan. |
|
CANCELING |
Pekerjaan fine-tuning sedang dibatalkan. |
|
SUCCEEDED |
Pekerjaan fine-tuning berhasil. |
|
FAILED |
Pekerjaan fine-tuning gagal. |
|
CANCELED |
Pekerjaan fine-tuning telah dibatalkan. |
Kode kesalahan permintaan
Dikembalikan ketika permintaan gagal.
|
Parameter |
Tipe |
Deskripsi |
Contoh |
|
code |
String |
Kode kesalahan. |
NotFound |
|
request_id |
String |
ID unik yang dihasilkan sistem untuk permintaan ini. |
6332fb02-3111-43f0-bf79-f9e8c5ffa7f9 |
|
message |
String |
Pesan kesalahan. |
Not Found! |
Contoh respons
{
"code": "NotFound",
"request_id": "BE213CDD-8A5C-59EE-9A67-055EAB0CB59B",
"message": "Not Found!"
}
Kode kesalahan
|
Kode status HTTP |
Kode kesalahan |
Contoh |
Deskripsi |
Solusi |
|
400 |
InvalidParameter |
Missing training files |
Parameter tidak valid karena parameter wajib hilang atau nilainya memiliki format yang salah. |
Periksa pesan kesalahan dan perbaiki parameter dalam permintaan Anda. |
|
400 |
UnsupportedOperation |
Pekerjaan fine-tune tidak dapat dihapus karena sudah berhasil, gagal, atau dibatalkan. |
Sumber daya berada dalam kondisi yang tidak memungkinkan operasi ini dilakukan. |
Lakukan kembali operasi setelah sumber daya berada dalam kondisi operasional. |
|
404 |
NotFound |
Not found! |
Sumber daya yang diminta tidak ditemukan. |
Verifikasi bahwa ID sumber daya yang digunakan benar. |
|
409 |
Conflict |
Instans model xxxxx sudah ada, harap tentukan sufiks |
Instans penerapan dengan nama yang ditentukan telah ada. |
Tentukan sufiks unik untuk penerapan tersebut. |
|
429 |
Throttling |
|
Permintaan ditolak karena batas platform telah tercapai. |
|
|
500 |
InternalError |
Internal server error! |
Terjadi kesalahan internal pada server. |
Catat request_id dan kirimkan tiket ke dukungan Alibaba Cloud untuk troubleshooting. |