Apa itu model mixture of experts (MoE)?
Model mixture of experts (MoE) mengganti satu feed-forward layer besar dengan banyak network yang lebih kecil, yang disebut expert, ditambah router yang mengirim tiap token hanya ke beberapa expert. Model bisa menyimpan parameter jauh lebih banyak daripada yang dipakai untuk satu token. Komputasi per token bergantung pada jumlah expert yang berjalan, sedangkan kapasitas total bergantung pada jumlah expert yang ada.
Layer MoE berada di dalam blok transformer pada banyak large language model, termasuk Switch Transformer, Mixtral 8x7B, dan DeepSeek-V3. Layer ini memungkinkan sebuah lab melatih model dengan ratusan miliar parameter dengan biaya per token kira-kira setara model dense yang jauh lebih kecil. Harganya ada di memori dan rekayasa: semua expert harus disimpan, router harus menyebar kerja secara merata, dan expert biasanya dibagi ke banyak GPU.
Ide utama
- Layer MoE mengganti blok feed-forward transformer dengan banyak expert dan sebuah router.
- Router adalah linear layer dan softmax yang memberi skor pada setiap expert untuk tiap token.
- Hanya expert top-k yang berjalan, dan output-nya dicampur dengan gate weight.
- Total parameter tumbuh mengikuti jumlah expert, sedangkan komputasi per token tumbuh mengikuti k.
- Auxiliary loss atau routing bias menjaga beban tetap tersebar merata di semua expert.
- Semua expert harus berada di memori, jadi model MoE menukar memori dengan komputasi per token yang lebih murah.
Ulasan singkat tentang topik ini
Pertanyaan umum
Apakah model MoE sama dengan ensemble?
Tidak. Ensemble menjalankan beberapa model utuh pada setiap input dan merata-ratakan prediksinya. MoE menjalankan satu model yang tiap layer-nya memilih beberapa expert per token, dan expert dilatih bersama router. Pilihan itu terjadi di dalam network, per token, bukan sekali per input.
Apakah expert MoE mengkhususkan diri pada topik seperti matematika atau kode?
Tidak dengan cara yang dikenali manusia. Penulis Mixtral menemukan pilihan expert hampir sama untuk paper arXiv, abstrak biologi, dan teks filsafat. Routing lebih mengikuti jenis token dan sintaksis daripada pokok bahasan, jadi expert lebih tepat dilihat sebagai irisan feed-forward layer yang dipelajari, bukan sebagai spesialis.
Kenapa model MoE sulit di-fine-tune dan di-serve?
Seluruh parameter harus muat di memori GPU walaupun hanya sedikit expert yang berjalan per token. Routing bisa bergeser saat fine-tuning, yang bisa membuat beban timpang atau membuat overfit pada dataset kecil. Serving butuh expert parallelism dan komunikasi antar-GPU, dan batch kecil membuat sebagian besar expert menganggur tetapi tetap mengisi memori.
Apakah MoE mempercepat inference?
Per token, MoE mengerjakan hitungan kira-kira sebanyak model dense seukuran bagian aktifnya, jadi bisa lebih cepat dari model dense seukuran totalnya. Pada batch size kecil, decode dibatasi pembacaan memori, dan membaca beberapa expert lebih murah daripada membaca satu dense layer penuh. Pada batch size besar, sebagian besar expert tetap terbaca, dan kenaikan kecepatannya bergantung pada seberapa baik sistem menyebar token ke banyak GPU.
Penjelasan terkait
- Arsitektur Transformer · Panduan visual untuk paper "Attention Is All You Need"
- Decoder-Only Transformer · Arsitektur di balik GPT dan LLM modern
- Softmax, Logit, dan Temperature · Mengubah skor mentah menjadi probabilitas
- KV Cache · Kenapa LLM menyimpan key dan value di cache, dan berapa biayanya
- Quantization · Mengecilkan weight model menjadi 8 dan 4 bit
- Sampling: Temperature, Top-k, dan Top-p · Cara model bahasa memilih token berikutnya
Referensi
- Shazeer et al. (2017), "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer"
- Fedus, Zoph and Shazeer (2021), "Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity"
- Jiang et al. (2024), "Mixtral of Experts"
- DeepSeek-AI (2024), "DeepSeek-V3 Technical Report"
- Gale et al. (2022), "MegaBlocks: Efficient Sparse Training with Mixture-of-Experts"
Terakhir diperbarui