PAI Model Distillation (ModelDistill) mengompresi model besar menjadi model yang lebih kecil dan hemat biaya melalui transfer pengetahuan dari guru ke siswa. Layanan ini menyediakan templat serbaguna dan templat skenario-spesifik untuk tugas seperti reasoning, coding, dan generasi multimodal.
Apa itu model distillation
Model distillation adalah teknik kompresi model yang mentransfer pengetahuan dari model besar (guru) ke model yang lebih kecil (siswa). Model siswa mempertahankan sebagian besar performa guru dengan jumlah parameter yang jauh lebih sedikit, sehingga mengurangi biaya inferensi dan mempercepat waktu respons. PAI ModelDistill dibangun di atas framework open-source PAI-EasyDistill dan menyediakan distilasi satu klik—tanpa perlu menulis kode.
Cara kerja
ModelDistill menggunakan black-box distillation, yaitu bentuk generative data augmentation: model guru menghasilkan data berlabel berkualitas tinggi, lalu data tersebut digunakan untuk melakukan fine-tuning pada model siswa melalui supervised fine-tuning (SFT).
Alur kerja terdiri dari dua tahap:
-
Generasi data distilasi: pilih set data sumber, perluas melalui sintesis data (seperti ekspansi dan penyempurnaan instruksi), lalu gunakan model guru untuk menghasilkan data distilasi berkualitas tinggi. Model guru dapat berasal dari PAI Token Service atau PAI-EAS.
-
Pelatihan model siswa: latih model siswa pada set data distilasi melalui SFT. Tiga metode pelatihan didukung: LoRA, QLoRA, dan full-parameter fine-tuning.
Kasus penggunaan
Kapan menggunakan model distillation:
-
Penerapan di edge: kompresi model besar menjadi model ringan untuk lingkungan dengan sumber daya terbatas seperti perangkat mobile dan IoT.
-
Pengurangan biaya: ganti model inferensi mahal dengan model hasil distilasi yang lebih kecil ketika biaya inferensi produksi terlalu tinggi.
-
Optimasi latensi: untuk aplikasi yang sensitif terhadap latensi, kurangi latensi inferensi dan konsumsi GPU sambil mempertahankan akurasi.
-
Transfer pengetahuan domain: transfer pengetahuan spesifik domain (misalnya keahlian medis atau hukum) dari model besar ke model yang lebih kecil dan hemat biaya untuk tugas tertentu.
Kapan model distillation mungkin tidak cocok:
-
Diperlukan kesetiaan performa 100%: distilasi selalu melibatkan sedikit penurunan performa. Jika penurunan apa pun tidak dapat diterima, distilasi bukan pendekatan yang tepat.
-
Tugas yang sangat sederhana: untuk tugas langsung seperti klasifikasi atau pencocokan teks, melakukan fine-tuning langsung pada model kecil mungkin lebih hemat biaya daripada distilasi.
-
Tidak ada data seed berkualitas tinggi: kualitas distilasi sangat bergantung pada data seed. Jika data seed tidak merepresentasikan skenario bisnis Anda dengan baik, hasilnya mungkin buruk.
Templat distilasi
Templat distilasi mengemas pipeline standar dengan konfigurasi algoritma default (dalam format YAML). Setelah memilih templat, langkah dan parameter pipeline telah dikonfigurasi sebelumnya—Anda hanya perlu mengisi pengaturan dasar sebelum mengirimkan tugas.
Jenis templat
ModelDistill menyediakan dua jenis templat: General dan Scenario-Based.
-
General Distillation Template: mengikuti pipeline standar tiga langkah (konfigurasi dasar → generasi data distilasi → pelatihan model siswa) dengan fleksibilitas parameter penuh. Lihat General distillation.
-
Scenario-Based Distillation Templates: pipeline dan parameter algoritma yang telah dikonfigurasi sebelumnya dan dioptimalkan untuk skenario tertentu seperti reasoning Rantai-pikiran (chain-of-thought), tugas multimodal, dan Pemanggilan alat (tool calling) oleh Agen. Pilih skenario untuk menggunakan kembali konfigurasi praktik terbaik dan cepat menghasilkan data pelatihan SFT / DPO / multimodal.
CatatanBeberapa templat hanya mendukung generasi data distilasi. Templat lain mendukung baik generasi data maupun pelatihan model siswa, dengan pelatihan sebagai langkah opsional—Anda dapat menjalankan hanya generasi data.
Templat
Kasus penggunaan
Deskripsi
Instruction distillation
Kemampuan mengikuti instruksi
Mentransfer kemampuan model guru dalam mengikuti instruksi ke model siswa. Untuk detailnya, lihat Instruction distillation.
Chain-of-thought reasoning distillation
Kemampuan reasoning CoT
Mentransfer kemampuan model guru dalam reasoning Rantai-pikiran (chain-of-thought) ke model siswa. Untuk detailnya, lihat Chain-of-thought reasoning distillation.
Agent tool-call distillation
Pemanggilan tool/fungsi
Mentransfer kemampuan model guru dalam pemanggilan tool dan fungsi ke model siswa. Untuk detailnya, lihat Agent tool call distillation.
Text-to-video distillation
Generasi teks-ke-video
Mentransfer kemampuan model guru dalam generasi teks-ke-video ke model siswa. Untuk detailnya, lihat Text-to-video distillation.
Coding Agent distillation
Kemampuan Coding Agent
Coding Agent memodifikasi kode dalam sandbox remote dan menjalankan ulang verifikasi pengujian untuk menghasilkan set data SFT berkualitas tinggi. Model siswa belajar menemukan masalah, memodifikasi kode, dan memverifikasi hasil dalam codebase nyata. Untuk detailnya, lihat Coding Agent Distillation.
Pemilihan templat
Pertama, evaluasi apakah templat skenario-spesifik sesuai dengan kasus penggunaan Anda. Jika ya, gunakan templat tersebut. Jika tidak ada yang sesuai, gunakan templat serbaguna untuk konfigurasi kustom.
Manajemen tugas
Di tab Task List, lihat status dan progres semua tugas distilasi:
-
Task stage: menampilkan tahap saat ini dari setiap tugas (generasi data distilasi, konfirmasi data, atau pelatihan model siswa).
-
Distillation artifacts: setelah distilasi, baik set data distilasi maupun model siswa disimpan ke path OSS. Anda dapat mengambil path model dari halaman detail tugas dan menerapkannya sebagai layanan inferensi online.
-
Evaluasi: setelah penerapan, gunakan fitur evaluasi model untuk membandingkan performa model guru dan siswa pada set data evaluasi yang sama serta mengkuantifikasi hasil distilasi. Sebelum rilis, jalankan uji canary dengan persentase trafik kecil untuk memverifikasi bahwa model siswa berperforma sesuai harapan di bawah trafik produksi.
Penagihan
Tugas distilasi dijalankan sebagai pekerjaan pelatihan DLC, ditagih berdasarkan skema bayar sesuai penggunaan atau langganan. Baik tahap generasi data (sumber daya CPU) maupun tahap pelatihan model siswa (sumber daya GPU) dikenai biaya komputasi. Untuk detailnya, lihat Billing for DLC.
Distilasi juga melibatkan biaya berikut:
-
Biaya model guru: saat menggunakan PAI Token Service, Anda ditagih per token yang dikonsumsi. Untuk detailnya, lihat PAI Token Service pricing. Saat menggunakan PAI-EAS, berlaku biaya sumber daya EAS. Untuk detailnya, lihat Elastic Algorithm Service (EAS) billing.
-
Biaya penyimpanan OSS: data distilasi (set data, artefak antara, dan output pelatihan) disimpan di OSS dan ditagih sesuai aturan harga OSS.
FAQ
Bagaimana cara memilih model guru dan model siswa?
-
Model guru: pilih model besar yang telah divalidasi dalam skenario bisnis Anda dan berperforma baik. Secara umum, model yang lebih besar memiliki lebih banyak pengetahuan dan meningkatkan batas atas kualitas distilasi.
-
Model siswa: pilih model yang lebih kecil dari family model yang sama dengan guru. Misalnya, distil dari
Qwen-30BkeQwen-8B. Hal ini memastikan kompatibilitas arsitektur dan memaksimalkan efisiensi transfer pengetahuan.
Berapa lama waktu yang dibutuhkan untuk menyelesaikan tugas distilasi?
Durasi tergantung pada ukuran set data, skala model, metode pelatihan, dan sumber daya komputasi. Untuk set data kecil (ribuan entri) dan model berukuran menengah (7B–14B), tugas biasanya selesai dalam hitungan puluhan menit hingga beberapa jam.
Apakah saya dapat melanjutkan tugas yang terganggu karena timeout?
Tidak. Jika tugas terganggu karena mencapai maximum runtime, tugas tersebut gagal dan tidak dapat dilanjutkan. Tinjau log tugas untuk menentukan apakah masalahnya adalah sumber daya tidak mencukupi (eksekusi lambat) atau pengaturan timeout terlalu singkat. Kemudian, tingkatkan maximum runtime atau gunakan sumber daya spesifikasi lebih tinggi dan kirim ulang tugas.
Tugas gagal dengan error CUDA out of memory. Apa yang harus saya lakukan?
Ini adalah error kehabisan memori GPU. Ikuti langkah-langkah berikut untuk mengatasinya:
-
Kurangi batch size: di konfigurasi Student model training, temukan Hyperparameter dan bagi dua nilai
per_device_train_batch_size(misalnya, dari 2 menjadi 1), lalu coba lagi. -
Ganti metode pelatihan: jika mengurangi batch size tidak membantu, kembali ke halaman konfigurasi dan ganti metode pelatihan dari
LoRAataufull-parameter fine-tuningkeQLoRA. QLoRA secara signifikan mengurangi penggunaan Memori GPU. -
Tingkatkan spesifikasi GPU: jika kedua cara di atas tidak berhasil, skala model dan data memerlukan perangkat keras lebih besar. Di Compute Resource, pilih instans GPU dengan Memori GPU lebih besar.