全部产品
Search
文档中心

Platform For AI:Latih, evaluasi, kompres, dan terapkan model Qwen2.5-Coder

更新时间:Mar 03, 2026

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

  1. Buka halaman Model Gallery.

    1. Login ke Konsol PAI.

    2. Di pojok kiri atas, pilih wilayah Anda.

    3. Di panel navigasi sebelah kiri, klik Workspaces. Lalu klik nama ruang kerja Anda.

    4. Di panel navigasi sebelah kiri, klik Getting Started > Model Gallery.

  2. Di daftar model di sisi kanan halaman Model Gallery, klik kartu model Qwen2.5-Coder-32B-Instruct untuk membuka halaman detail model.

  3. 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.

  4. Gunakan layanan inferensi.

    Setelah penerapan berhasil, gunakan metode inferensi yang ditampilkan di halaman detail model untuk memanggil layanan model dan memverifikasi performanya.image

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)"
  }
]
  1. Di daftar model di sisi kanan halaman Model Gallery, klik kartu model Qwen2.5-Coder-32B-Instruct untuk membuka halaman detail model.

  2. 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.

  3. Klik Train. Model Gallery secara otomatis membuka halaman detail tugas dan memulai pelatihan. Anda dapat memantau status pekerjaan pelatihan dan log-nya.

    image

    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.

Referensi terkait