Buat pekerjaan fine-tuning model untuk generasi teks. Set data dapat diunggah melalui API atau dimount dari OSS.
Prasyarat
- Wilayah yang didukung: Fitur yang dijelaskan dalam topik ini hanya tersedia di wilayah Singapura, dan Anda harus menggunakan API Key dari wilayah ini.
- Izin akun: Jika Anda menggunakan sub-akun Alibaba Cloud (RAM user), Anda perlu memberikan izin kepada sub-akun tersebut untuk invokasi model, pelatihan, dan penerapan.
- Konfigurasikan variabel lingkungan: Anda telah berhasil memperoleh API Key dan mengonfigurasikannya sebagai variabel lingkungan.
- Persiapan: Anda telah membaca fine-tuning model Qwen untuk memahami model yang didukung untuk fine-tuning, langkah-langkah fine-tuning, format data, dan penagihan.
Buat pekerjaan fine-tuning
- Singapura
POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunesUntuk Windows CMD, ganti$DASHSCOPE_API_KEYdengan%DASHSCOPE_API_KEY%. Untuk PowerShell, ganti dengan$env:DASHSCOPE_API_KEY
Parameter permintaanHeaderContent-Typestring (Wajib)Nilai tetap: application/jsonAuthorization string (Wajib)Otentikasi API Key, dalam format Bearer sk-xxxx.Body Permintaanmodelstring (Wajib)untuk fine-tuning, atau ID model yang dihasilkan oleh pekerjaan fine-tuning lain (untuk melakukan fine-tuning ulang pada model yang sudah difine-tune).training_type string (Opsional)Metode fine-tuning. Nilai yang tersedia:
object (Opsional)Pengaturan hiperparameter. Model yang berbeda mendukung kumpulan parameter yang berbeda dengan nilai default yang berbeda pula. Silakan periksa Konsol dengan model dan metode fine-tuning yang sama untuk melihat nilai default aktual. Di antaranya, n_epochs, batch_size, dan max_length memengaruhi biaya fine-tuning dan harus ditentukan.
Properti hiperparameter n_epochs int (Wajib)Jumlah epoch pelatihan. Jumlah iterasi model terhadap data pelatihan. Sesuaikan berdasarkan pengalaman fine-tuning Anda.
int (Wajib)Ukuran batch. Jumlah sampel data yang dikirim ke model untuk pelatihan sekaligus. Nilai yang terlalu kecil akan secara signifikan meningkatkan waktu pelatihan. Nilai default bervariasi tergantung model, silakan periksa Konsol.max_length int (Wajib)Panjang urutan. Nilai yang direkomendasikan: 8192. Panjang token maksimum yang didukung untuk satu sampel pelatihan. Jika satu sampel melebihi panjang token ini, sampel tersebut akan dibuang dan tidak digunakan untuk pelatihan.Untuk hubungan antara karakter dan token, lihat Konversi Token dan string.learning_rate float (Opsional)Tingkat pembelajaran. Disarankan menggunakan nilai default Model Studio. Mengontrol intensitas koreksi bobot model.
string (Opsional)Jenis penjadwal tingkat pembelajaran. Direkomendasikan: linear atau inverse_sqrt. Strategi untuk menyesuaikan tingkat pembelajaran secara dinamis selama pelatihan. Untuk detail masing-masing strategi, lihat Deskripsi penjadwal tingkat pembelajaran.split float (Opsional)Proporsi data pelatihan dalam file pelatihan. Disarankan menggunakan nilai default Model Studio.Ketika validation_datasets tidak diatur, Model Studio secara otomatis menggunakan 80% sebagai set pelatihan dan 20% sebagai set validasi. Parameter ini tidak berlaku ketika validation_datasets diatur.max_split_val_dataset_sample int (Opsional)Ukuran maksimum set data validasi. Disarankan menggunakan nilai default Model Studio.Ketika validation_datasets tidak diatur, set validasi yang dipisahkan secara otomatis berisi paling banyak 1.000 sampel. Parameter ini tidak berlaku ketika validation_datasets diatur.eval_steps int (Opsional)Langkah validasi. Interval validasi selama pelatihan, digunakan untuk evaluasi berkala terhadap akurasi pelatihan model dan loss pelatihan.Parameter ini memengaruhi frekuensi tampilan Validation Loss dan Validation Token Accuracy selama fine-tuning.logging_steps int (Opsional)Langkah logging. Interval langkah untuk mencetak log fine-tuning.warmup_ratio float (Opsional)Rasio warmup. Disarankan menggunakan nilai default Model Studio. Proporsi dari total proses pelatihan yang digunakan untuk warmup tingkat pembelajaran. Warmup tingkat pembelajaran berarti tingkat pembelajaran meningkat secara linear dari nilai kecil ke nilai yang ditetapkan setelah pelatihan dimulai, membantu model berlatih lebih stabil.
Parameter ini tidak berlaku untuk penjadwal tingkat pembelajaran weight_decay float (Opsional)Weight decay (kekuatan regularisasi L2). Disarankan menggunakan nilai default Model Studio. Membantu mempertahankan kemampuan umum model sampai batas tertentu. Nilai yang terlalu besar akan membuat efek fine-tuning kurang terlihat.freeze_vit boolean (Opsional)Apakah jaringan tulang punggung vision dibekukan. Membekukan parameter jaringan tulang punggung vision sehingga bobotnya tidak diperbarui selama pelatihan. Hanya berlaku untuk model Qwen-VL (pemahaman visual).Hanya ketikalora_rank int (Opsional)Rank LoRA. Nilai yang direkomendasikan: 64. Rank dari matriks low-rank dalam pelatihan LoRA. Rank yang lebih besar menghasilkan hasil fine-tuning yang lebih baik tetapi pelatihan sedikit lebih lambat.Hanya berlaku ketika training_type adalah efficient_sft atau dpo_lora.Ketika melakukan fine-tuning efisien kedua pada model yang sudah difine-tune secara efisien,lora_alpha int (Opsional)Faktor penskalaan LoRA. Disarankan menggunakan nilai default Model Studio. Mengontrol faktor penskalaan antara bobot model asli dan koreksi low-rank LoRA.
training_type adalah efficient_sft atau dpo_lora.lora_dropout float (Opsional)Laju dropout LoRA. Disarankan menggunakan nilai default Model Studio. Laju dropout nilai matriks low-rank dalam pelatihan LoRA. Menggunakan nilai yang direkomendasikan meningkatkan generalisasi model. Nilai yang terlalu besar akan membuat efek fine-tuning kurang terlihat.Hanya berlaku ketika training_type adalah efficient_sft atau dpo_lora.save_strategy string (Opsional)Strategi penyimpanan checkpoint. Dapat diatur ke epoch atau steps. Ketika diatur ke steps, Anda dapat menyesuaikan interval penyimpanan dengan parameter save_steps.Hanya berlaku ketika training_type adalah efficient_sft atau sft.save_steps int (Opsional)Langkah penyimpanan. Atur berapa banyak langkah pelatihan antara setiap penyimpanan checkpoint model. Disarankan mengatur sebagai kelipatan bilangan bulat dari eval_steps.Hanya berlaku ketika training_type adalah efficient_sft atau sft.save_total_limit int (Opsional)Batas penyimpanan checkpoint. Nilai yang direkomendasikan: 10. Membatasi jumlah maksimum checkpoint yang disimpan untuk penerapan.Hanya berlaku ketika training_type adalah efficient_sft atau sft.Array of Dataset (Wajib)Daftar file set data pelatihan.
Struktur Dataset data_source_type string (Wajib)Jenis sumber data. Nilai yang tersedia:
object (Wajib bersyarat)Diperlukan ketika jenis sumber data adalah oss_mount. Informasi mount OSS.
Properti region string (Wajib)Wilayah bucket OSS yang akan dimount. Mendukung Beijing (cn-beijing) dan Singapura (ap-southeast-1).bucket string (Wajib)Nama bucket OSS yang akan dimount.file_path string (Wajib)Jalur file OSS (kunci objek) yang akan dimount. Untuk set data yang berisi beberapa file, gunakan jalur ke data.jsonl. Berbeda dengan metode file_id, Anda perlu mengunggah folder set data yang tidak dikompresi ke OSS. File zip tidak didukung.string (Wajib bersyarat)Diperlukan ketika jenis sumber data adalah file_id. ID file, dihasilkan oleh Upload File API.Array of Dataset (Opsional)Daftar file set data validasi. Struktur sama dengan training_datasets.job_name string (Opsional)Nama pekerjaan fine-tuning.model_name string (Opsional)Nama model setelah fine-tuning selesai. |
Parameter responsrequest_idstringID permintaan ini.output objectDetail pekerjaan.
Properti job_id stringIdentifikasi unik untuk pekerjaan fine-tuning, digunakan untuk mengkueri detail pekerjaan, log, membatalkan, atau menghapus pekerjaan. Aturan pembuatan: ft-{yyyyMMddHHmm}-{4 char uuid}.job_name stringNama pekerjaan fine-tuning.status stringStatus pekerjaan fine-tuning:
stringID model baru yang dihasilkan setelah fine-tuning. Dikembalikan ketika status pekerjaan adalah SUCCEEDED.model stringModel dasar yang digunakan.base_model stringModel dasar yang digunakan.training_file_ids arrayBidang lawas untuk kompatibilitas mundur; selalu mengembalikan array kosong untuk pekerjaan baru. Gunakan training_datasets.training_datasets Array of DatasetDaftar set data pelatihan.validation_file_ids arrayBidang lawas untuk kompatibilitas mundur; selalu mengembalikan array kosong untuk pekerjaan baru. Gunakan validation_datasets.validation_datasets Array of DatasetDaftar set data validasi. Array kosong jika set validasi tidak ditentukan.hyper_parameters objectHiperparameter aktual yang digunakan.training_type stringMetode pelatihan untuk fine-tuning.create_time stringWaktu pembuatan pekerjaan.end_time stringWaktu akhir pekerjaan. Dikembalikan ketika status pekerjaan adalah SUCCEEDED, FAILED, atau CANCELED.usage integerJumlah token yang dikonsumsi oleh pekerjaan fine-tuning. Untuk rumus perhitungan penagihan, lihat: Penagihan. Dikembalikan ketika status pekerjaan adalah SUCCEEDED atau CANCELED.workspace_id stringID ruang kerja pekerjaan fine-tuning.user_identity stringIdentitas pengguna, yaitu ID akun Alibaba Cloud.creator stringID akun Alibaba Cloud pembuat.modifier stringID akun Alibaba Cloud pengubah.group stringKelompok pekerjaan fine-tuning.stringKode kesalahan. Dikembalikan ketika panggilan gagal. Lihat tabel kode kesalahan di bawah.message stringDetail pesan kesalahan. Dikembalikan ketika panggilan gagal. |
Kode kesalahan
Jika panggilan gagal dan mengembalikan pesan kesalahan, rujuk tabel berikut untuk troubleshooting.
Kode status HTTP | Kode kesalahan | Solusi |
|---|---|---|
400 | InvalidParameter | Parameter tidak valid: parameter tidak lengkap atau terdapat masalah pada formatnya. Perbaiki parameter sesuai dengan pesan kesalahan. |
400 | UnsupportedOperation | Operasi tidak dapat dilakukan karena resource berada dalam status tertentu. Tunggu hingga resource mencapai status yang memungkinkan operasi, lalu coba lagi. |
404 | NotFound | Resource yang akan dikueri atau dioperasikan tidak ditemukan. Periksa apakah ID resource yang dimasukkan salah. |
409 | Conflict | Instans penerapan dengan nama tersebut sudah ada. Gunakan sufiks untuk membedakannya. |
429 | Throttling | Pembuatan resource telah mencapai batas platform. Hapus model yang tidak lagi digunakan. |
500 | InternalError | Terjadi kesalahan internal. Catat request_id dan hubungi engineer Alibaba Cloud melalui Tiket untuk investigasi lebih lanjut. |