Layer sparse mixture-of-experts tidak mengirim setiap token melalui setiap blok parameter. Router memberi skor pada expert yang tersedia, memilih subset kecil untuk setiap token, lalu melakukan dispatch representasi token hanya ke expert terpilih. Conditional computation ini menjadi daya tarik utama desain sparse MoE, tetapi sekaligus menciptakan masalah alokasi sumber daya di dalam model.
Router dapat memilih expert yang sama untuk banyak token. Hardware, sementara itu, memiliki buffer dan kapasitas komunikasi yang terbatas. Kebijakan routing yang tampak masuk akal dari skor token saja dapat menghasilkan expert yang overload, expert yang menganggur, komunikasi tidak merata, atau assignment yang dibuang.
Detail implementasi utamanya adalah kualitas routing dan keseimbangan routing saling terkait tetapi berbeda. Router memilih expert berdasarkan skor model; mekanisme kapasitas menentukan berapa banyak pilihan tersebut yang benar-benar dapat dilayani sistem eksekusi.
Routing token mengubah layer dense menjadi conditional computation
Pertimbangkan layer MoE dengan E expert. Untuk representasi token x, router menghasilkan logit
r = W_router xdan mengubahnya menjadi skor expert, biasanya dengan softmax. Router top-k kemudian memilih sekumpulan kecil expert dengan skor terbesar.
Untuk routing top-1, expert yang dipilih adalah
expert(x) = argmax_i p_i(x)dengan p_i(x) sebagai probabilitas router untuk expert i.
Hanya expert terpilih yang memproses token pada layer sparse tersebut. Pada routing top-k dengan k > 1, beberapa output expert dapat berkontribusi pada representasi token, biasanya dengan bobot routing saat kombinasi.
Seleksi ini mengubah computational graph per token. Dua token dalam batch yang sama dapat mengaktifkan blok parameter berbeda meskipun melewati layer MoE yang sama. Jumlah parameter tersimpan karena itu dapat jauh lebih besar daripada subset parameter yang dipakai satu token.
Sifat tersebut tidak menjamin pekerjaan yang seimbang. Router mengoptimalkan objektif model melalui skornya; utilisasi hardware yang merata adalah constraint terpisah kecuali arsitektur atau objektif memperkenalkan mekanisme untuk itu.
Preferensi router dapat memusatkan traffic
Misalkan sebuah layer memiliki empat expert dan delapan token. Assignment top-1 yang sepenuhnya merata akan mengirim dua token ke setiap expert:
expert 0: 2
expert 1: 2
expert 2: 2
expert 3: 2Router tidak diwajibkan menghasilkan pola tersebut. Skornya dapat menghasilkan:
expert 0: 5
expert 1: 2
expert 2: 1
expert 3: 0Semua delapan assignment valid sebagai pilihan top-1 dari perspektif router. Dari perspektif eksekusi, expert pertama kini membutuhkan slot token jauh lebih banyak daripada expert keempat.
Konsentrasi yang bertahan juga memiliki konsekuensi saat training. Expert yang menerima lebih banyak token ikut dalam lebih banyak komputasi pada level token, sedangkan expert yang jarang dipakai menerima traffic lebih sedikit. Hal ini mengubah jumlah sinyal tugas yang mencapai kumpulan parameter expert berbeda.
Masalah balancing bukan sekadar simetri. Ia memengaruhi hubungan antara kapasitas model tersimpan, komputasi aktif, komunikasi, dan jumlah data yang dirutekan melalui setiap expert.
Auxiliary balancing bekerja pada statistik router
Salah satu pendekatan yang mapan menambahkan auxiliary objective yang menghambat routing terkonsentrasi. Formulasi Switch Transformer menggunakan fraksi dispatch aktual dan mean probabilitas router.
Untuk E expert dan T token, definisikan f_i sebagai fraksi token yang dikirim ke expert i, dan P_i sebagai mean probabilitas router yang diberikan ke expert tersebut di seluruh batch. Balancing term sebanding dengan
E * sum_i(f_i * P_i)Pada routing top-1, f_i bergantung pada assignment expert yang diskret. P_i, sebaliknya, berasal dari probabilitas router dan tetap terhubung ke komputasi router yang differentiable. Produk keduanya memberi objektif training sebuah sinyal yang berkaitan dengan utilisasi expert.
Koefisien yang diterapkan pada term ini penting. Nilainya menetapkan tekanan relatif antara objektif utama model dan keseimbangan routing. Memperlakukan koefisien sebagai konstanta universal tidak tepat; nilai yang sesuai bergantung pada arsitektur, scaling objektif, formulasi router, dan implementasi yang dipakai.
Jumlah agregat yang seimbang juga tidak berarti expert menjadi saling dapat dipertukarkan. Routing dapat terdistribusi merata sementara region token berbeda diarahkan ke expert berbeda. Sebaliknya, balancing term yang mendominasi objektif tugas dapat mendorong utilisasi menuju uniformity bahkan saat sinyal tugas memilih distribusi lain.
Kapasitas expert adalah constraint eksekusi yang keras
Balancing loss memengaruhi perilaku router selama optimisasi, tetapi tidak memberi batas atas ketat pada jumlah token yang diarahkan ke satu expert dalam batch tertentu. Sistem eksekusi sering memerlukan batas semacam itu agar buffer expert memiliki shape yang dapat diprediksi.
Model kapasitas yang umum berawal dari jumlah token rata-rata per expert:
average load = tokens / experts
capacity = ceil(average load * capacity_factor)Jika 128 token dirutekan ke 8 expert, rata-ratanya 16 token per expert. Capacity factor di atas 1 menyediakan slack untuk ketidakseimbangan routing. Detail pembulatan dan semantik kapasitas bergantung pada implementasi dan perlu diperiksa pada framework yang digunakan.
Kapasitas mengubah makna assignment expert. Router dapat memilih satu expert, tetapi sistem dispatch mungkin tidak dapat menempatkan token ke buffer expert yang terbatas. Pada desain yang membuang overflow assignment, komputasi expert terpilih dilewati untuk token yang melebihi kapasitas.
Ini adalah batas keras, bukan preferensi. Auxiliary loss dapat mengurangi frekuensi overload, tetapi tidak menjamin setiap batch terbatas akan selalu muat sempurna dalam kapasitas expert tetap.
Capacity factor menukar slack dengan overflow
Menaikkan kapasitas tidak menambah pengetahuan model. Tindakan ini mengalokasikan lebih banyak slot token ke setiap expert untuk satu routing batch.
Dengan slack lebih besar, expert dapat menyerap konsentrasi sementara yang lebih tinggi sebelum overflow. Biayanya adalah buffer expert tetap dapat berisi posisi yang tidak terpakai ketika traffic seimbang atau ringan. Bergantung pada implementasi terdistribusi, posisi padding tersebut dapat memengaruhi penggunaan memori, volume komunikasi, atau shape kernel.
Mengurangi kapasitas memperketat batas eksekusi. Slack yang lebih kecil dapat mengurangi kebutuhan buffer, tetapi batch yang skewed akan lebih cepat mencapai batas.
Capacity factor karena itu menjadi parameter sistem yang terhubung ke statistik routing model. Mengevaluasinya hanya dari utilisasi rata-rata mengabaikan tail distribusi. Dua kebijakan routing dengan mean load expert yang sama dapat memiliki peak load berbeda antar-batch, dan kebijakan dengan peak lebih besar membutuhkan lebih banyak slack untuk mencapai overflow rate yang sama.
Konstruksi batch juga mengubah distribusi yang terlihat. Jika token dengan preferensi routing serupa terkumpul dalam dispatch group yang sama, permintaan expert lokal dapat lebih terkonsentrasi daripada yang ditunjukkan histogram seluruh dataset.
MoE terdistribusi membuat keseimbangan menjadi persoalan komunikasi
Model MoE besar sering menempatkan expert berbeda pada device berbeda. Routing token kemudian menjadi perpindahan data: representasi harus mencapai device yang menampung expert terpilih, lalu output expert harus kembali ke jalur eksekusi token.
Assignment yang tidak merata dapat menciptakan komunikasi dan komputasi tidak merata antar-device. Device yang menampung expert populer dapat menerima traffic token lebih banyak daripada peer yang menampung expert yang jarang dipilih. Jalur partisipan paling lambat kemudian dapat memengaruhi durasi operasi MoE yang tersinkronisasi.
Domain keseimbangan yang relevan bergantung pada implementasi. Statistik yang dihitung per device, per expert-parallel group, per microbatch, atau di seluruh batch yang lebih besar tidak menggambarkan distribusi routing yang persis sama. Balancing objective yang dihitung pada satu scope dapat menyembunyikan imbalance pada scope lain yang berpengaruh pada jadwal komunikasi.
Hal ini terutama relevan saat menafsirkan metrik utilisasi. Histogram expert yang merata secara global tidak membuktikan bahwa setiap dispatch group seimbang secara lokal.
Metrik routing memiliki makna yang berbeda
Satu persentase utilisasi tidak cukup untuk menggambarkan router MoE. Beberapa pengukuran menjawab pertanyaan berbeda:
- assignment fraction mencatat berapa banyak rute token yang menargetkan setiap expert;
- router probability mass mencatat distribusi skor sebelum constraint dispatch keras;
- overflow rate mencatat assignment yang tidak dapat dilayani di bawah kapasitas terkonfigurasi;
- active expert count mencatat seberapa luas batch menggunakan pool expert;
- jumlah token per expert memperlihatkan skew yang tersembunyi oleh rata-rata agregat.
Besaran tersebut tidak boleh dilebur menjadi satu konsep kualitas router. Overflow rendah dapat berasal dari routing seimbang, kapasitas longgar, atau keduanya. Jumlah assignment yang merata dapat berdampingan dengan probabilitas router yang tidak pasti. Confidence tinggi dapat berdampingan dengan konsentrasi berat.
Perbedaan ini juga penting saat mengubah k. Routing top-2 menciptakan lebih banyak assignment expert per token dibanding top-1, sehingga jumlah token mentah dan perhitungan kapasitas harus ditafsirkan berdasarkan konvensi routing implementasi.
Keseimbangan tidak menentukan spesialisasi semantik
Histogram routing yang merata tidak membuktikan bahwa expert telah membentuk peran yang bersih dan berbeda.
Statistik load menjelaskan ke mana token dikirim, bukan apa yang dihitung setiap expert. Dua expert dapat menerima volume traffic serupa sambil menerapkan transformasi redundan. Pasangan lain dapat menerima jenis token sangat berbeda meskipun jumlahnya sama.
Spesialisasi semantik karena itu memerlukan analisis terpisah atas pola routing dan perilaku expert. Load balancing terutama menangani alokasi. Ia dapat menjaga conditional capacity tetap terpakai, tetapi tidak menentukan representasi internal yang harus dibentuk setiap expert.
Batas yang sama berlaku dari arah sebaliknya. Routing tidak merata tidak otomatis menjadi bukti model yang cacat. Sebagian distribusi input secara alami dapat menghasilkan permintaan expert yang tidak sama. Pertanyaan rekayasanya adalah apakah permintaan itu kompatibel dengan objektif optimisasi dan kapasitas eksekusi terbatas yang dituju.
Evaluasi yang sadar kapasitas menghubungkan perilaku model dan sistem
Routing MoE perlu dievaluasi dengan constraint dispatch yang benar-benar dipakai saat eksekusi. Skor router yang diamati tanpa batas kapasitas dapat menyembunyikan perilaku yang muncul setelah buffer expert penuh.
Evaluasi yang berguna mencatat load expert sebelum capacity enforcement, assignment yang diterima setelah enforcement, dan penanganan overflow secara terpisah. Pemisahan ini menunjukkan apakah sebuah perubahan memperbaiki routing itu sendiri atau hanya mengubah seberapa besar imbalance yang ditoleransi sistem.
Pemisahan tersebut juga menjaga klaim pada level model dan sistem tetap presisi. Modifikasi routing dapat mengurangi peak expert load tanpa meningkatkan kualitas tugas. Capacity factor yang lebih besar dapat mengurangi assignment yang dibuang tanpa mengubah preferensi router. Kebijakan batching berbeda dapat mengubah overload lokal tanpa menyentuh parameter model.
Layer sparse MoE menghubungkan mekanisme tersebut dengan erat, tetapi semuanya tetap merupakan kontrol yang berbeda. Skor router menentukan komputasi yang dipilih, balancing objective membentuk alokasi agregat, dan kapasitas expert menentukan apa yang dapat dilayani sistem eksekusi. Memisahkan lapisan-lapisan ini membuat kegagalan routing lebih mudah didiagnosis dan mencegah capacity slack disalahartikan sebagai router yang lebih baik.