Skip to main content
Text Generation

Generasi Teks - Buat Pekerjaan Fine-Tuning

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-tunes
Untuk Windows CMD, ganti $DASHSCOPE_API_KEY dengan %DASHSCOPE_API_KEY%. Untuk PowerShell, ganti dengan $env:DASHSCOPE_API_KEY

Parameter permintaan

Header
Content-Type string (Wajib)Nilai tetap: application/jsonAuthorization string (Wajib)Otentikasi API Key, dalam format Bearer sk-xxxx.
Body Permintaan
model string (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:
  • sft
  • efficient_sft
hyper_parameters 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.
  • Volume data < 10.000: direkomendasikan 3–5 epoch.
  • Volume data > 10.000: direkomendasikan 1–2 epoch.
Parameter ini memengaruhi penagihan pelatihan. Epoch yang lebih banyak berarti waktu pelatihan lebih lama dan biaya lebih tinggi.
batch_size 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.
  • Jika terlalu tinggi, parameter model berubah secara drastis, berpotensi menurunkan performa.
  • Jika terlalu rendah, performa model tidak akan berubah secara signifikan.
lr_scheduler_type 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.
  • Jika terlalu besar: efeknya sama seperti tingkat pembelajaran terlalu rendah, mengakibatkan perubahan performa model yang minimal setelah fine-tuning.
  • Jika terlalu kecil: efeknya sama seperti tingkat pembelajaran terlalu tinggi, berpotensi menyebabkan performa model lebih buruk setelah fine-tuning.
Parameter ini tidak berlaku untuk penjadwal tingkat pembelajaran Constant.
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 ketika freeze_vit diatur ke true, model dapat ditagih berdasarkan token usage.
lora_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_rank, lora_alpha, dan lora_dropout harus tetap konsisten.
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.
  • Nilai alpha yang lebih besar memberikan bobot lebih besar pada koreksi LoRA, membuat model lebih bergantung pada informasi spesifik tugas.
  • Nilai alpha yang lebih kecil membuat model lebih cenderung mempertahankan pengetahuan pretrained aslinya.
Hanya berlaku ketika 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.
training_datasets Array of Dataset (Wajib)Daftar file set data pelatihan.

Struktur Dataset

data_source_type string (Wajib)Jenis sumber data. Nilai yang tersedia:
  • oss_mount (Mount file OSS)
  • file_id (File yang diunggah melalui File Management API)
mount_storage 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.
file_id string (Wajib bersyarat)Diperlukan ketika jenis sumber data adalah file_id. ID file, dihasilkan oleh Upload File API.
validation_datasets 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.
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_datasets":[
        {
            "data_source_type":"file_id",
            "file_id":"<Ganti dengan ID file set data pelatihan Anda>"
        }
    ],
    "validation_datasets":[
        {
            "data_source_type":"file_id",
            "file_id":"<Ganti dengan ID file set data validasi Anda>"
        }
    ],
    "hyper_parameters":{
        "n_epochs":1,
        "learning_rate":"1.6e-5",
        "batch_size":32,
        "max_length":8192,
        "split":0.8
    },
    "training_type":"sft",
    "finetuned_output_suffix":"suffix"
}'

Parameter respons

request_id stringID 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:
  • PENDING: Pelatihan tertunda.
  • QUEUING: Pelatihan sedang dalam antrian (hanya satu pekerjaan fine-tuning yang dapat berjalan sekaligus).
  • RUNNING: Pelatihan sedang berlangsung.
  • SUCCEEDED: Pelatihan berhasil.
  • FAILED: Pelatihan gagal.
  • CANCELED: Pelatihan dibatalkan.
  • CANCELING: Pelatihan sedang dibatalkan.
finetuned_output 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.
code stringKode kesalahan. Dikembalikan ketika panggilan gagal. Lihat tabel kode kesalahan di bawah.message stringDetail pesan kesalahan. Dikembalikan ketika panggilan gagal.
{
    "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": [],
        "training_datasets": [
            {
                "data_source_type": "file_id",
                "file_id": "976bd01a-f30b-4414-86fd-50c54486e3ef"
            }
        ],
        "validation_file_ids": [],
        "validation_datasets": [],
        "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"
    }
}

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.

Langkah berikutnya

Fine-tuning adalah operasi asinkron. Setelah memanggil API ini, Anda dapat mengkueri status pekerjaan fine-tuning melalui API Kueri dan kelola pekerjaan fine-tuning.
Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan