Skip to main content
Penyetelan model Qwen

Lakukan fine-tune dengan API atau CLI

Lakukan fine-tune model Qwen di Model Studio melalui API (HTTP) atau CLI (shell). Tiga metode fine-tuning didukung: supervised fine-tuning (SFT), continual pre-training (CPT), dan direct preference optimization (DPO).

Prasyarat

API hanya mendukung penagihan berbasis token. Untuk menggunakan unit pelatihan model (prabayar atau pascabayar), buat pekerjaan di konsol.

Unggah file fine-tuning

Menyiapkan file fine-tuning

  • Set pelatihan SFT
Data pelatihan dalam format SFT ChatML (Chat Markup Language) mendukung percakapan multi-putaran dan berbagai pengaturan role.
Parameter OpenAI name dan weight tidak didukung. Semua output assistant akan dilatih.
# Satu baris data pelatihan (dalam format JSON) memiliki struktur khas berikut saat diekspansi:
{"messages": [
  {"role": "system", "content": "Input sistem 1"},
  {"role": "user", "content": "Input pengguna 1"},
  {"role": "assistant", "content": "Output model yang diharapkan 1"},
  {"role": "user", "content": "Input pengguna 2"},
  {"role": "assistant", "content": "Output model yang diharapkan 2"}
  ...
]}
Untuk informasi tentang perbedaan antara system, user, dan assistant, lihat Ikhtisar. Contoh set data pelatihan: SFT-ChatML_format_example.jsonl, SFT-ChatML_format_example.xlsx. Format XLS dan XLSX hanya mendukung percakapan satu putaran.Semua baris assistant dalam satu entri data pelatihan mendukung parameter "loss_weight", yang mengatur tingkat kepentingan relatif baris tersebut selama pelatihan. (Rentang: 0,0 hingga 1,0. Nilai yang lebih besar menunjukkan kepentingan yang lebih tinggi.)
Parameter ini tersedia untuk pratinjau undangan. Untuk menggunakannya, hubungi manajer akun Anda.
 {"role": "assistant", "content": "Output model yang diharapkan 1", "loss_weight": 1.0},
 {"role": "assistant", "content": "Output model yang diharapkan 2", "loss_weight": 0.5}

Anda juga dapat mengunduh templat data dari konsol Model Studio.

Di bawah area unggah file pada halaman Create Dataset, Anda dapat menemukan tautan unduh data template.

Unggah file fine-tuning ke Model Studio

  • API Files yang kompatibel dengan OpenAI
import os
from pathlib import Path
from openai import OpenAI

client = OpenAI(
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan api_key="sk-xxx" dan gunakan Kunci API Studio Model Anda.
    # Kunci API untuk wilayah Singapura dan China (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut adalah URL untuk wilayah Singapura. Jika Anda menggunakan layanan di wilayah China (Beijing), ganti URL dengan: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

# test.jsonl adalah file contoh lokal.
file_object = client.files.create(file=Path("test.jsonl"), purpose="fine-tune")

print(file_object.model_dump_json())
Batasan:
  • Ukuran maksimum satu file adalah 300 MB.
  • Ukuran total semua file yang tidak dihapus dibatasi hingga 5 GB.
  • Anda dapat menyimpan maksimal 100 file yang tidak dihapus.
  • File disimpan tanpa batas waktu.

Model fine-tuning

Buat pekerjaan fine-tuning

  • HTTP
Untuk Windows CMD, ganti ${DASHSCOPE_API_KEY} dengan %DASHSCOPE_API_KEY%. Untuk PowerShell, gunakan $env:DASHSCOPE_API_KEY.
curl --location "https://dashscope.aliyuncs.com/api/v1/fine-tunes" \
--header "Authorization: Bearer ${DASHSCOPE_API_KEY}" \
--header 'Content-Type: application/json' \
--data '{
    "model":"qwen3-8b",
    "training_file_ids":[
        "<your_training_file_id_1>",
        "<your_training_file_id_2>"
    ],
    "hyper_parameters":
    {
        "n_epochs": 3,
        "batch_size": 16,
        "max_length": 8192,
        "learning_rate": "1.6e-5",
        "lr_scheduler_type": "linear",
        "split": 0.9,
        "warmup_ratio": 0.05,
        "eval_steps": 50,
        "data_augmentation": true,
        "augmentation_ratio": "0.1,0.05,0.15",
        "augmentation_types": "dialogue_CN,general_purpose_CN,NLP",
        "save_strategy": "epoch",
        "save_total_limit": 10
    },
    "training_type":"sft"
}'

Parameter

Parameter

Required

Type

Location

Description

training_file_ids

Yes

Array

Body

Daftar ID file untuk set pelatihan.

validation_file_ids

No

Array

Body

Daftar ID file untuk set validasi.

model

Yes

String

Body

ID model dasar, atau ID model yang sebelumnya telah difine-tune.

hyper_parameters

No

Map

Body

Hiperparameter untuk pekerjaan fine-tuning. Nilai default bervariasi tergantung model; periksa konsol untuk detail spesifik.

Parameter berikut wajib karena memengaruhi biaya pelatihan: n_epochs, batch_size, dan max_length.

training_type

No

String

Body

Metode fine-tuning. Nilai yang valid:

cpt

sft

efficient_sft

dpo_full

dpo_lora

job_name

No

String

Body

Nama pekerjaan fine-tuning.

model_name

No

String

Body

Nama model yang telah difine-tune (bukan ID model yang dihasilkan sistem).

Respons

{
    "request_id": "635f7047-003e-4be3-b1db-6f98e239f57b",
    "output":
    {
        "job_id": "ft-202511272033-8ae7",
        "job_name": "ft-202511272033-8ae7",
        "status": "PENDING",
        "finetuned_output": "qwen3-8b-ft-202511272033-8ae7",
        "model": "qwen3-8b",
        "base_model": "qwen3-8b",
        "training_file_ids":
        [
            "9e9ffdfa-c3bf-436e-9613-6f053c66aa6e"
        ],
        "validation_file_ids":
        [],
        "hyper_parameters":
        {
            "n_epochs": 3,
            "batch_size": 16,
            "max_length": 8192,
            "learning_rate": "1.6e-5",
            "lr_scheduler_type": "linear",
            "split": 0.9,
            "warmup_ratio": 0.05,
            "eval_steps": 50,
            "data_augmentation": true,
            "augmentation_ratio": "0.1,0.05,0.15",
            "augmentation_types": "dialogue_CN,general_purpose_CN,NLP",
            "save_strategy": "epoch",
            "save_total_limit": 10
        },
        "training_type": "sft",
        "create_time": "2025-11-27 20:33:15",
        "workspace_id": "llm-8v53etv3hwb8orx1",
        "user_identity": "1654290265984853",
        "modifier": "1654290265984853",
        "creator": "1654290265984853",
        "group": "llm",
        "max_output_cnt": 10
    }
}
Model yang didukung
  • Singapura
  • China Utara 2 (Beijing)
  • Generasi teks
  • Pemahaman visual (Qwen-VL)

Nama model

Kode model

Pelatihan full-parameter SFT (sft)

Pelatihan efisien SFT (efficient_sft)

Qwen3-14B

qwen3-14b

×

Didukung

Perbandingan metode fine-tuning

Fitur

CPT (Continual Pre-training)

SFT (Supervised Fine-tuning)

DPO (Direct Preference Optimization)

Rangkuman

Melengkapi pengetahuan (Menyuntikkan pengetahuan domain)

Belajar melakukan tugas (Mengikuti instruksi)

Menjalankan tugas lebih baik (Menyelaraskan dengan preferensi manusia)

Data input

Lebih dari 10 juta token

Teks domain tanpa label

Lebih dari 1.000 entri

Pasangan "pertanyaan-jawaban" berkualitas tinggi

Lebih dari 100 set

Pasangan respons "lebih baik-lebih buruk" untuk instruksi yang sama

Tujuan inti

Adaptasi domain. Mempelajari kosakata dan fakta khusus.

Mengajarkan model format percakapan dan kemampuan eksekusi tugas.

Menyelaraskan output model lebih baik dengan nilai dan preferensi manusia.

Metode pembelajaran

Pembelajaran self-supervised (Memprediksi kata berikutnya)

Supervised learning (Meniru ground truth)

Pembelajaran preferensi langsung (Meningkatkan probabilitas respons baik dan mengurangi probabilitas respons buruk)

Tahap model

Umumnya sebelum SFT

Setelah CPT dan sebelum DPO

Umumnya setelah SFT, sebagai langkah terakhir untuk penyelarasan.

Perbandingan pola pelatihan

Pelatihan full-parameter

Pelatihan efisien (LoRA, direkomendasikan)

Skenario

• Model perlu memperoleh kemampuan baru

• Mencapai kinerja global optimal.

• Mengoptimalkan kinerja model untuk skenario tertentu.

• Untuk skenario yang sensitif terhadap biaya dan waktu.

Waktu pelatihan

Lebih lama, dengan konvergensi lebih lambat.

Lebih singkat, dengan konvergensi lebih cepat.

Parameter yang didukung dan nilai default-nya bervariasi tergantung model. Untuk melihat nilai default spesifik, buka konsoldan pilih model serta metode pelatihan
ParameterPengaturan yang direkomendasikanTypeDescription
n_epochs(Jumlah epoch) [Wajib]Ukuran data < 10.000: 3–5Ukuran data > 10.000: 1–2IntegerBerapa kali model melakukan iterasi penuh terhadap set pelatihan.Epoch lebih banyak meningkatkan waktu dan biaya pelatihan.
learning_rate(Tingkat pembelajaran)Gunakan nilai default yang direkomendasikan oleh Model Studio.FloatMengontrol ukuran langkah untuk pembaruan bobot selama pelatihan.
  • Terlalu tinggi: pelatihan mungkin divergen.
  • Terlalu rendah: konvergensi lambat dengan peningkatan minimal.
freeze_vit(Membekukan jaringan tulang punggung visual)Atur sesuai kebutuhanBooleanMembekukan jaringan tulang punggung visual sehingga bobotnya tidak diperbarui selama pelatihan. Hanya berlaku untuk model Qwen-VL.
Penagihan berbasis token hanya tersedia ketika freeze_vit diatur ke “true”.
batch_size(Ukuran batch) [Wajib]Gunakan nilai default yang direkomendasikan oleh Model Studio.IntegerJumlah contoh pelatihan per iterasi. Nilai kecil secara signifikan meningkatkan waktu pelatihan. Nilai default bervariasi tergantung model.
eval_steps(Langkah evaluasi)Atur sesuai kebutuhanIntegerInterval langkah untuk mengevaluasi akurasi dan loss pelatihan.Mengontrol seberapa sering Validation Loss dan Validation Token Accuracy dilaporkan.
logging_steps(Langkah pencatatan log)Atur sesuai kebutuhanIntegerInterval langkah untuk mencatat perkembangan pelatihan.
lr_scheduler_type(Penjadwal tingkat pembelajaran)Direkomendasikan linear/Inverse_sqrtStringStrategi untuk menyesuaikan tingkat pembelajaran selama pelatihan.Setiap strategi dijelaskan dalam Fine-tune model di konsol.
max_length(Panjang urutan) [Wajib]8192IntegerPanjang urutan maksimum (dalam token) per contoh pelatihan. Contoh yang lebih panjang akan dibuang.Cara mengonversi antara token dan karakter.
max_split_val_dataset_sample(Jumlah sampel set validasi maksimum)Gunakan nilai default yang direkomendasikan oleh Model Studio.IntegerKetika "validation_file_ids" tidak diatur, set validasi yang secara otomatis dipisahkan oleh Model Studio berisi maksimal 1.000 entri.Parameter ini tidak berpengaruh ketika "validation_file_ids" diatur.
split(Rasio set pelatihan)Gunakan nilai default yang direkomendasikan oleh Model Studio.FloatJika "validation_file_ids" tidak diatur, Model Studio membagi file pelatihan: 80% untuk pelatihan, 20% untuk validasi.Ketika "validation_file_ids" diatur, parameter ini tidak berpengaruh.
warmup_ratio(Rasio pemanasan)Gunakan nilai default yang direkomendasikan oleh Model Studio.FloatPersentase langkah pelatihan yang digunakan untuk pemanasan tingkat pembelajaran (kenaikan linear dari hampir nol ke tingkat target).Menstabilkan pelatihan awal dengan membatasi pembaruan bobot besar.Terlalu tinggi: menyerupai tingkat pembelajaran rendah dengan perubahan kinerja minimal.Terlalu rendah: menyerupai tingkat pembelajaran tinggi dan dapat menurunkan kinerja.
Parameter ini tidak berpengaruh jika penjadwal tingkat pembelajaran diatur ke constant.
weight_decay(Peluruhan bobot)Gunakan nilai default yang direkomendasikan oleh Model Studio.FloatKekuatan regularisasi L2. Membantu mempertahankan generalisasi, tetapi nilai yang terlalu tinggi mengurangi efektivitas fine-tuning.
Parameter untuk fine-tuning efisien (mendukungefficient_sft dan dpo_lora)
Ketika Anda melakukan fine-tuning efisien putaran kedua pada model yang sudah difine-tune secara efisien, parameter lora_rank, lora_alpha, dan lora_dropout harus tetap konsisten.
lora_rank(Rank LoRA)64IntegerRank matriks low-rank LoRA. Rank yang lebih tinggi dapat meningkatkan hasil tetapi sedikit meningkatkan waktu pelatihan.
lora_alpha(Alpha LoRA)Gunakan nilai default yang direkomendasikan oleh Model Studio.IntegerFaktor penskalaan untuk menggabungkan bobot model dasar dengan koreksi LoRA.Alpha lebih besar: lebih banyak bobot pada pembaruan LoRA spesifik tugas.Alpha lebih kecil: lebih banyak mempertahankan pengetahuan model dasar.
lora_dropout(Dropout LoRA)Gunakan nilai default yang direkomendasikan oleh Model Studio.FloatTingkat dropout untuk matriks low-rank LoRA. Nilai default menyeimbangkan generalisasi; nilai yang terlalu besar mengurangi efektivitas fine-tuning.
Parameter untuk menerbitkan snapshot parameter model (hanya untukefficient_sft dan sft)
save_strategy(Strategi penyimpanan snapshot)Dapat diatur ke epoch atau steps.
  • Ketika diatur ke steps, Anda dapat menyesuaikan interval penyimpanan dengan mengatur parameter save_steps.
StringStrategi untuk menyimpan snapshot parameter model (checkpoint): epoch (setelah setiap epoch) atau steps (pada interval langkah tertentu).
save_steps(Simpan langkah-langkah)Jika Anda perlu mengubahnya secara manual, atur ke kelipatan bilangan bulat dari parameter eval_steps.IntegerInterval, dalam langkah pelatihan, antara penyimpanan snapshot.
save_total_limit(Batas penyimpanan snapshot)10IntegerJumlah maksimum snapshot yang disimpan. Snapshot lama akan dihapus otomatis ketika batas tercapai.

Ambil pekerjaan fine-tuning

Gunakan job_id dari respons pembuatan untuk mengambil detail pekerjaan.
  • HTTP
curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

Parameter permintaan

Parameter

Type

Location

Required

Description

job_id

String

Path

Yes

ID job fine-tuning.

Respons sukses

{
    "request_id": "d100cddb-ac85-4c82-bd5c-9b5421c5e94d",
    "output":
    {
        "job_id": "ft-202511272033-8ae7",
        "job_name": "ft-202511272033-8ae7",
        "status": "RUNNING",
        "finetuned_output": "qwen3-8b-ft-202511272033-8ae7",
        "model": "qwen3-8b",
        "base_model": "qwen3-8b",
        "training_file_ids":
        [
            "9e9ffdfa-c3bf-436e-9613-6f053c66aa6e"
        ],
        "validation_file_ids":
        [],
        "hyper_parameters":
        {
            "n_epochs": 3,
            "batch_size": 16,
            "max_length": 8192,
            "learning_rate": "1.6e-5",
            "lr_scheduler_type": "linear",
            "split": 0.9,
            "warmup_ratio": 0.05,
            "eval_steps": 50,
            "data_augmentation": true,
            "augmentation_ratio": "0.1,0.05,0.15",
            "augmentation_types": "dialogue_CN,general_purpose_CN,NLP",
            "save_strategy": "epoch",
            "save_total_limit": 10
        },
        "training_type": "sft",
        "create_time": "2025-11-27 20:33:15",
        "workspace_id": "llm-8v53etv3hwb8orx1",
        "user_identity": "1654290265984853",
        "modifier": "1654290265984853",
        "creator": "1654290265984853",
        "group": "llm",
        "max_output_cnt": 10
    }
}

Status pekerjaan

Description

PENDING

Pekerjaan sedang menunggu untuk dimulai.

QUEUING

Pekerjaan sedang dalam antrian. Hanya satu pekerjaan fine-tuning yang dapat berjalan pada satu waktu.

RUNNING

Pekerjaan sedang berjalan.

CANCELING

Pekerjaan sedang dibatalkan.

SUCCEEDED

Pekerjaan berhasil.

FAILED

Pekerjaan gagal.

CANCELED

Pekerjaan dibatalkan.

Setelah pekerjaan berhasil, field finetuned_output berisi ID model untuk penerapan.

Dapatkan log pekerjaan fine-tuning

  • HTTP
curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>/logs?offset=0&line=1000' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'
Gunakan offset (baris awal) dan line (jumlah maksimum baris yang dikembalikan) untuk membagi output log menjadi halaman.
Contoh respons:
{
    "request_id":"1100d073-4673-47df-aed8-c35b3108e968",
    "output":{
        "total":57,
        "logs":[
            "{Log fine-tuning 1}",
            "{Log fine-tuning 2}",
            ...
            ...
            ...
        ]
    }
}

Kueri dan publikasikan checkpoint model

Hanya fine-tuning SFT (efficient_sft dan sft) yang mendukung penyimpanan dan penerbitan checkpoint dari status pelatihan antara.

Daftar checkpoint untuk pekerjaan fine-tuning

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>/checkpoints' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'
Parameter permintaan

Parameter

Type

Lokasi parameter

Required

Description

job_id

String

Path Parameter

Yes

ID pekerjaan fine-tuning.

Contoh respons
Field checkpoint berisi ID checkpoint yang menentukan checkpoint yang akan diterbitkan dalam API Penerbitan model (opsional). Field model_name berisi ID model yang digunakan untuk penerapan model. Nilai field finetuned_output dalam respons pekerjaan fine-tuning asli merupakan model_name dari checkpoint terakhir.
{
    "request_id": "c11939b5-efa6-4639-97ae-ed4597984647",
    "output":
    [
        {
            "create_time": "2025-11-11T16:25:42",
            "full_name": "ft-202511272033-8ae7-checkpoint-20",
            "job_id": "ft-202511272033-8ae7",
            "checkpoint": "checkpoint-20",
            "model_name": "qwen3-8b-instruct-ft-202511272033-8ae7",
            "status": "SUCCEEDED"
        }
    ]
}

Status

Description

PENDING

Checkpoint sedang menunggu penerbitan. Anda harus menerbitkannya menggunakan API Penerbitan model sebelum dapat menggunakannya untuk penerapan dan pemanggilan model.

PROCESSING

Checkpoint sedang dalam proses penerbitan.

SUCCEEDED

Checkpoint berhasil diterbitkan. Anda kini dapat menggunakannya untuk penerapan dan pemanggilan model.

FAILED

Checkpoint gagal diterbitkan.

Penerbitan model (opsional)

Setelah pekerjaan fine-tuning selesai, ekspor checkpoint sebelum menerapkan model.Checkpoint yang diekspor disimpan di penyimpanan cloud dan tidak dapat diunduh.
curl --request GET 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>/export/<checkpoint_id>?model_name=<model_name>' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'
Parameter permintaan

Parameter

Type

Lokasi Parameter

Required

Description

job_id

String

Path Parameter

Yes

ID pekerjaan fine-tuning.

checkpoint_id

String

Path Parameter

Yes

ID checkpoint yang akan diterbitkan.

model_name

String

Path Parameter

Yes

Nama model kustom yang akan diberikan kepada model yang diterbitkan.

Contoh respons
{
    "request_id": "ed3faa41-6be3-4271-9b83-941b23680537",
    "output": true
}
Penerbitan bersifat asinkron. Gunakan API Daftar checkpoint untuk pekerjaan fine-tuning untuk memantau status.

Operasi fine-tuning lainnya

Daftar pekerjaan fine-tuning

curl 'https://dashscope.aliyuncs.com/api/v1/fine-tunes' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

Batalkan pekerjaan fine-tuning

Membatalkan pekerjaan fine-tuning yang sedang berjalan.
curl --request POST 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>/cancel' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

Hapus pekerjaan fine-tuning

Anda tidak dapat menghapus pekerjaan fine-tuning yang sedang berjalan.
curl --request DELETE 'https://dashscope.aliyuncs.com/api/v1/fine-tunes/<job_id>' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY} \
--header 'Content-Type: application/json'

Penerapan dan pemanggilan model

Penerapan model

Untuk menerapkan model, buka konsol penerapan model.

Pemanggilan model

Setelah status penerapan menjadi RUNNING, panggil model yang telah difine-tune seperti model lainnya. Anda juga dapat memperoleh Model Code dari konsol penerapan model. Penggunaan dan parameter: Referensi API DashScope.
curl 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer '${DASHSCOPE_API_KEY}  \
--header 'Content-Type: application/json' \
--data '{
    "model": "<your_model_instance_id>",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": "Siapa kamu?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'
Rencana Token (Team Edition)
Model playground
  • Pembuatan audio
  • Pembuatan musik
Statistik dan Pemantauan
Asset Center
Dukungan layanan