Qwen2.5-Coder adalah seri model bahasa besar (LLM) terbaru dari Alibaba Cloud yang dioptimalkan untuk tugas-tugas pemrograman dan juga dikenal sebagai CodeQwen. Seri ini mencakup enam ukuran model: 0,5B, 1,5B, 3B, 7B, 14B, dan 32B, yang mendukung berbagai kebutuhan tim pengembang. Dilatih pada dataset kode skala besar, Qwen2.5-Coder mempertahankan kemampuan matematika dan penalaran yang kuat sekaligus meningkatkan performa secara signifikan dalam skenario terkait kode. PAI mendukung penuh seri model ini. Topik ini menggunakan model Qwen2.5-Coder-32B-Instruct untuk menunjukkan cara menerapkan, melakukan fine-tune, mengevaluasi, dan mengompresi model di Model Gallery.
Ikhtisar
Qwen2.5-Coder adalah model coding berkinerja tinggi yang diluncurkan oleh Alibaba Cloud. Model ini mendukung panjang konteks hingga 128K token dan bekerja dengan 92 bahasa pemrograman. Model ini unggul dalam berbagai tugas pemrograman, termasuk generasi kode multibahasa, penyelesaian kode, dan perbaikan kode. Berdasarkan Qwen2.5-Coder, Alibaba Cloud merilis Qwen2.5-Coder-Instruct melalui instruction tuning. Versi ini lebih meningkatkan performa tugas dan menunjukkan kemampuan generalisasi yang kuat.
-
Dukungan pemrograman multibahasa
Qwen2.5-Coder-Instruct menunjukkan kemampuan luar biasa dalam pemrograman multibahasa. McEval, tolok ukur evaluasi luas yang mencakup lebih dari 40 bahasa pemrograman—termasuk bahasa-bahasa niche—menunjukkan performa kuat di berbagai tugas multibahasa.
-
Penalaran kode
Qwen2.5-Coder-Instruct berkinerja sangat baik dalam tugas penalaran kode. Menggunakan CRUXEval sebagai tolok ukur, model ini menunjukkan kemampuan penalaran yang tangguh. Seiring peningkatan penalaran kode, performa dalam eksekusi instruksi kompleks juga meningkat. Hal ini memberikan wawasan baru tentang bagaimana kemampuan kode memengaruhi penalaran umum.
-
Kemampuan matematika
Qwen2.5-Coder-Instruct unggul baik dalam tugas matematika maupun pemrograman. Karena matematika menjadi dasar pemrograman, performa kuat di kedua bidang tersebut mencerminkan kompetensi ilmiah dan teknis yang solid.
-
Kemampuan inti
Dalam evaluasi kemampuan umum, Qwen2.5-Coder-Instruct mempertahankan keunggulan Qwen2.5. Hal ini menegaskan penerapannya yang luas dan stabilitasnya di berbagai tugas.
Bersama-sama, fitur-fitur ini menjadikan seri Qwen2.5-Coder sebagai alat yang andal untuk pengembangan multibahasa dan penanganan tugas kompleks.
Persyaratan lingkungan
-
Contoh ini saat ini berjalan di wilayah-wilayah berikut menggunakan modul Model Gallery: Tiongkok (Beijing), Tiongkok (Shanghai), Tiongkok (Shenzhen), Tiongkok (Hangzhou), Tiongkok (Ulanqab), dan Singapura.
-
Persyaratan sumber daya:
Ukuran model
Persyaratan sumber daya
Qwen2.5-Coder-0.5B/1.5B
-
Pelatihan: Gunakan GPU dengan VRAM minimal 16 GB, seperti T4, P100, atau V100.
-
Penerapan: GPU minimum adalah satu P4. GPU yang direkomendasikan mencakup satu GU30, A10, V100, atau T4.
Qwen2.5-Coder-3B/7B
-
Pelatihan: Gunakan GPU dengan VRAM minimal 24 GB, seperti A10 atau T4.
-
Penerapan: GPU minimum adalah satu P100, T4, atau V100 (gn6v). GPU yang direkomendasikan mencakup satu GU30 atau A10.
Qwen2.5-Coder-14B
-
Pelatihan: Gunakan GPU dengan VRAM minimal 32 GB, seperti V100.
-
Untuk penerapan, konfigurasi kartu minimum adalah L20 single-card, GU60 single-card, dan GU30 dual-card. Model penerapan yang direkomendasikan adalah GU60 dual-card dan L20 dual-card.
Qwen2.5-Coder-32B
-
Pelatihan: Gunakan GPU dengan VRAM minimal 80 GB, seperti A800 atau H800.
-
Penerapan: Konfigurasi minimum adalah dua GPU GU60, dua GPU L20, atau empat GPU A10. Konfigurasi yang direkomendasikan mencakup empat GPU GU60, empat GPU L20, atau delapan GPU V100-32G.
-
Gunakan model dengan PAI-Model Gallery
Terapkan dan panggil model
-
Buka halaman Model Gallery.
-
Login ke Konsol PAI.
-
Di pojok kiri atas, pilih wilayah Anda.
-
Di panel navigasi sebelah kiri, klik Workspaces. Lalu klik nama ruang kerja Anda.
-
Di panel navigasi sebelah kiri, klik Getting Started > Model Gallery.
-
-
Di daftar model di sisi kanan halaman Model Gallery, klik kartu model Qwen2.5-Coder-32B-Instruct untuk membuka halaman detail model.
-
Di pojok kanan atas, klik Deploy. Konfigurasikan metode penerapan, nama layanan inferensi, dan pengaturan sumber daya. Model akan diterapkan ke platform layanan inferensi EAS. Untuk solusi ini, atur vLLM accelerated deployment sebagai metode penerapan.
-
Gunakan layanan inferensi.
Setelah penerapan berhasil, gunakan metode inferensi yang ditampilkan di halaman detail model untuk memanggil layanan model dan memverifikasi performanya.

Fine-tune model
Model Gallery menyertakan algoritma supervised fine-tuning (SFT) dan direct preference optimization (DPO) bawaan untuk model Qwen2.5-Coder-32B-Instruct. Anda dapat langsung melakukan fine-tune model tanpa konfigurasi tambahan.
SFT supervised fine-tuning
Algoritma pelatihan SFT menerima input berformat JSON. Setiap sampel berisi instruksi dan output, yang diwakili oleh field "instruction" dan "output". Contohnya:
[
{
"instruction": "Create a function to calculate the sum of a sequence of integers.",
"output": "# Python code\ndef sum_sequence(sequence):\n sum = 0\n for num in sequence:\n sum += num\n return sum"
},
{
"instruction": "Generate a Python code for crawling a website for a specific type of data.",
"output": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n response = requests.get(website)\n phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n return phone_numbers\n \nif __name__ == '__main__':\n print(crawl_website_for_phone_numbers('www.example.com'))"
}
]
DPO direct preference optimization
Algoritma pelatihan DPO menerima input berformat JSON. Setiap sampel berisi prompt, respons yang dipilih, dan respons yang ditolak, yang diwakili oleh field "prompt", "chosen", dan "rejected". Contohnya:
[
{
"prompt": "Create a function to calculate the sum of a sequence of integers.",
"chosen": "# Python code\ndef sum_sequence(sequence):\n sum = 0\n for num in sequence:\n sum += num\n return sum",
"rejected": "[x*x for x in [1, 2, 3, 5, 8, 13]]"
},
{
"prompt": "Generate a Python code for crawling a website for a specific type of data.",
"chosen": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n response = requests.get(website)\n phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n return phone_numbers\n \nif __name__ == '__main__':\n print(crawl_website_for_phone_numbers('www.example.com'))",
"rejected": "def remove_duplicates(string): \n result = \"\" \n prev = '' \n\n for char in string:\n if char != prev: \n result += char\n prev = char\n return result\n\nresult = remove_duplicates(\"AAABBCCCD\")\nprint(result)"
}
]
-
Di daftar model di sisi kanan halaman Model Gallery, klik kartu model Qwen2.5-Coder-32B-Instruct untuk membuka halaman detail model.
-
Di halaman detail model, klik Train di pojok kanan atas. Konfigurasi utama adalah sebagai berikut:
-
Konfigurasi dataset: Setelah menyiapkan dataset Anda, unggah ke Bucket OSS. Atau pilih objek dataset yang disimpan di NAS atau CPFS. Anda juga dapat menggunakan dataset publik yang telah dimuat di PAI untuk menguji algoritma.
-
Konfigurasi sumber daya komputasi: Algoritma ini memerlukan GPU dengan VRAM minimal 80 GB. Pastikan kuota sumber daya Anda memiliki cukup sumber daya komputasi. Untuk ukuran model lainnya, lihat Persyaratan lingkungan.
-
Konfigurasi hiperparameter: Tabel berikut mencantumkan hiperparameter yang didukung. Sesuaikan berdasarkan dataset dan sumber daya komputasi Anda—atau gunakan nilai default.
Hiperparameter
Tipe
Nilai default
Wajib
Deskripsi
training_strategy
string
sft
Ya
Algoritma pelatihan. Nilai yang valid: sft atau dpo.
learning_rate
float
5e-5
Ya
Learning rate. Mengontrol seberapa besar penyesuaian bobot model selama pelatihan.
num_train_epochs
int
1
Ya
Jumlah iterasi terhadap set data pelatihan.
per_device_train_batch_size
int
1
Ya
Jumlah sampel yang diproses per GPU dalam satu iterasi pelatihan. Ukuran batch yang lebih besar meningkatkan efisiensi tetapi meningkatkan penggunaan VRAM.
seq_length
int
128
Ya
Panjang urutan. Jumlah maksimum token yang diproses dalam satu langkah pelatihan.
lora_dim
int
32
Tidak
Dimensi LoRA. Ketika lora_dim > 0, pelatihan ringan LoRA atau QLoRA digunakan.
lora_alpha
int
32
Tidak
Bobot LoRA. Berlaku ketika lora_dim > 0 dan pelatihan ringan LoRA atau QLoRA digunakan.
dpo_beta
float
0.1
Tidak
Tingkat ketergantungan model terhadap sinyal preferensi selama pelatihan.
load_in_4bit
bool
false
Tidak
Apakah model dimuat dalam presisi 4-bit.
Ketika lora_dim > 0, load_in_4bit bernilai true, dan load_in_8bit bernilai false, pelatihan ringan QLoRA 4-bit digunakan.
load_in_8bit
bool
false
Tidak
Apakah model dimuat dalam presisi 8-bit.
Ketika lora_dim > 0, load_in_4bit bernilai false, dan load_in_8bit bernilai true, pelatihan ringan QLoRA 8-bit digunakan.
gradient_accumulation_steps
int
8
Tidak
Jumlah langkah untuk mengakumulasi gradien sebelum memperbarui bobot.
apply_chat_template
bool
true
Tidak
Apakah menerapkan templat chat default model ke data pelatihan. Untuk model seri Qwen2, formatnya adalah:
-
Masalah:
<|im_end|>\n<|im_start|>user\n + instruction + <|im_end|>\n -
Tanggapan:
<|im_start|>assistant\n + output + <|im_end|>\n
system_prompt
string
You are a helpful assistant
Tidak
Prompt sistem yang digunakan selama pelatihan model.
-
-
-
Klik Train. Model Gallery secara otomatis membuka halaman detail tugas dan memulai pelatihan. Anda dapat memantau status pekerjaan pelatihan dan log-nya.

Model yang telah dilatih secara otomatis terdaftar di AI Assets > Model Management. Anda dapat melihat atau menerapkannya. Untuk detail selengkapnya, lihat Daftarkan dan kelola model.
Evaluasi model
Evaluasi model yang ilmiah dan efisien membantu pengembang mengukur dan membandingkan performa model. Evaluasi ini juga memandu pemilihan dan optimasi model secara tepat, sehingga mempercepat inovasi AI dan adopsi di dunia nyata.
Model Gallery menyertakan algoritma evaluasi bawaan untuk model Qwen2.5-Coder-32B-Instruct. Anda dapat langsung mengevaluasi model ini—atau versi yang telah difine-tune—tanpa konfigurasi tambahan. Untuk petunjuk lengkap, lihat Evaluasi model dan Praktik Terbaik Evaluasi Model Bahasa Besar.
Kompresi model
Sebelum penerapan, Anda dapat mengkuantisasi dan mengompresi model yang telah dilatih untuk mengurangi penggunaan penyimpanan dan sumber daya komputasi. Untuk petunjuk lengkap, lihat Kompresi model.