Layer sparse mixture-of-experts dapat memiliki banyak jaringan expert sambil hanya mengevaluasi sebagian kecil untuk setiap token. Router memungkinkan sparsitas ini: router memberi skor pada expert, memilih sejumlah kecil expert, lalu mengirim setiap token melalui jalur komputasi yang dipilih.

Pemilihan tersebut bukan sekadar detail optimisasi. Jika banyak token terkonsentrasi pada sedikit expert, sebagian device dapat menerima jauh lebih banyak pekerjaan daripada yang lain, batas kapasitas dapat membuang atau mengalihkan assignment, dan expert yang menerima sedikit traffic memperoleh lebih sedikit gradient dari task. Karena itu, keseimbangan router memengaruhi komputasi sekaligus fungsi yang direpresentasikan model.

Routing mengubah satu layer dense menjadi komputasi kondisional

Pertimbangkan layer dengan E expert. Untuk representasi token x, router menghasilkan satu skor per expert. Bentuk yang umum memakai proyeksi linear yang diikuti softmax:

p = softmax(W_r x)

Model kemudian memilih k expert teratas berdasarkan p. Pada routing top-1, satu expert memproses token. Pada routing top-2, dua expert dapat berkontribusi, biasanya dengan bobot yang diturunkan dari skor router masing-masing.

Jaringan expert dapat memakai arsitektur yang sama tetapi memiliki parameter terpisah. Router menentukan subset parameter mana yang berpartisipasi dalam forward path token. Akibatnya, dua token pada layer yang sama dapat memakai parameter expert berbeda meskipun keduanya melewati block model yang sama.

Aktivasi sparse mengurangi komputasi expert dibandingkan mengevaluasi setiap expert untuk setiap token. Namun routing tidak menjadi gratis. Implementasi tetap harus menghitung skor expert, mengelompokkan assignment token, memindahkan representasi token ke device yang menampung expert terpilih, menjalankan komputasi expert, dan menggabungkan output yang dikembalikan.

Preferensi router dan beban expert adalah dua besaran berbeda

Router dapat menghasilkan probabilitas yang tampak cukup tersebar sementara pilihan top-k diskret tetap terkonsentrasi. Hal sebaliknya juga dapat terjadi di dekat decision boundary. Karena itu, hanya memantau rata-rata probabilitas router tidak sepenuhnya menggambarkan pekerjaan yang dikirim ke setiap expert.

Untuk batch yang berisi T token yang dirutekan, definisikan jumlah assignment untuk expert i:

n_i = jumlah token yang di-assign ke expert i

Untuk routing top-1, fraksi bebannya adalah n_i / T. Jika beberapa expert dipilih per token, denominator dan aturan penghitungan harus sesuai implementasi karena jumlah assignment melebihi jumlah token.

Jumlah beban langsung memperlihatkan ketimpangan operasional. Probabilitas router memperlihatkan distribusi preferensi model sebelum atau di sekitar seleksi diskret. Keduanya penting selama pelatihan karena objective balancing tambahan dapat dihitung dari probabilitas router, frekuensi assignment, atau kombinasi keduanya.

Beban yang benar-benar seragam tidak selalu menjadi target bagi setiap state model. Spesialisasi expert dapat menghasilkan traffic yang tidak seragam. Masalah engineering muncul ketika konsentrasi cukup besar untuk menimbulkan tekanan kapasitas, utilisasi device yang buruk, atau expert dengan traffic terlalu sedikit untuk memperoleh update yang berguna.

Kapasitas membentuk batas keras setelah routing

Implementasi terdistribusi umumnya mengalokasikan kapasitas token terbatas per expert untuk sebuah routing group. Secara konseptual, kapasitas dapat ditulis sebagai:

capacity = ceil(capacity_factor * expected_assignments_per_expert)

Rumus persisnya berbeda antarimplementasi, terutama untuk routing top-k dan skema grouping yang berbeda. Sifat utamanya tetap sama: setiap expert memiliki jumlah slot token terbatas untuk group yang sedang di-dispatch.

Jika sebuah expert menerima assignment melebihi kapasitasnya, sistem memerlukan kebijakan overflow. Implementasi dapat membuang assignment expert yang berlebih, merutekannya melalui pilihan lain, atau memakai fallback eksplisit lain. Pilihan-pilihan ini tidak ekuivalen. Membuang assignment mengubah komputasi yang dilakukan untuk token tersebut, sedangkan rerouting mengubah parameter expert mana yang memprosesnya.

Menaikkan capacity factor memberi routing lebih banyak ruang untuk menyerap ketimpangan, tetapi mencadangkan ruang buffer expert tambahan dan dapat meningkatkan komunikasi atau komputasi terkait kapasitas yang dipadding. Menurunkannya memperketat penggunaan resource sambil meningkatkan kemungkinan overflow ketika routing terkonsentrasi. Kapasitas karena itu merupakan bagian dari konfigurasi training dan serving model, bukan sekadar konstanta memori.

Balance loss memengaruhi router, bukan menyamakan expert secara langsung

Objective routing dapat menambahkan term tambahan yang mengurangi kecenderungan konsentrasi persisten. Term tersebut mengubah gradient router agar penggunaan expert menjadi kurang timpang menurut statistik yang dipilih.

Koefisien pada auxiliary loss menentukan pengaruhnya relatif terhadap objective utama model. Jika terlalu kecil untuk skala yang terlibat, objective utama dapat mendominasi dan routing tetap terkonsentrasi. Jika dibuat terlalu besar, router dapat terdorong menuju assignment seimbang bahkan ketika spesialisasi yang lebih kuat akan menurunkan primary loss.

Karena itu, nilai auxiliary loss mentah tidak cukup sebagai diagnostik. Nilai tersebut perlu dipasangkan dengan beban expert yang teramati, jumlah overflow, statistik skor router, dan metrik task utama. Balance loss yang menurun tidak membuktikan dispatch bebas hotspot, dan jumlah assignment yang seragam tidak membuktikan model memakai expert secara efektif.

Formulasi balancing juga harus sesuai dengan cakupan routing. Statistik yang dihitung per local batch, per device, atau di seluruh routing group yang lebih besar dapat menghasilkan gradient berbeda karena setiap cakupan melihat distribusi token berbeda. Dalam distributed training, cakupan agregasi merupakan bagian dari definisi algoritme.

Routing group kecil membuat estimasi keseimbangan menjadi noisy

Beban expert bersifat diskret. Ketika routing group hanya memiliki sedikit token dibandingkan jumlah expert, proses routing yang unbiased sekalipun tidak dapat membagi assignment secara mulus ke setiap expert pada setiap group.

Sebagai contoh, 32 assignment top-1 pada 16 expert hanya menghasilkan rata-rata dua assignment per expert. Selisih satu token saja sudah merupakan perubahan relatif yang besar dari rata-rata tersebut. Menganggap setiap group kecil harus hampir seragam dapat melebih-lebihkan ketimpangan.

Routing group yang lebih besar menyediakan lebih banyak assignment untuk dirata-ratakan, tetapi dapat membutuhkan komunikasi lebih luas atau batching berbeda. Diagnostik yang berguna adalah distribusi beban pada batas grouping yang sama dengan dispatch, lalu mengagregasikannya di cukup banyak group untuk membedakan konsentrasi persisten dari variasi finite-sample biasa.

Komposisi sequence juga dapat menggeser routing. Batch yang didominasi satu pola token dapat secara sah menghasilkan distribusi expert berbeda dari batch heterogen. Membandingkan trace beban tanpa mencatat konstruksi routing group dapat membuat perubahan komposisi data tampak seperti regresi router.

Traffic expert memengaruhi optimisasi sekaligus throughput

Sebuah expert menerima gradient primary-task hanya dari token yang dirutekan melalui active path miliknya. Expert yang menerima sedikit traffic memiliki lebih sedikit kontribusi tersebut dalam interval itu. Sebaliknya, expert yang overload dapat menerima banyak assignment tetapi juga mengalami pemotongan kapasitas, bergantung pada kebijakan dispatch.

Hal ini menciptakan feedback antara routing dan parameter expert. Pilihan router memengaruhi data yang dilihat setiap expert; update expert mengubah output yang kemudian dapat membuat route tersebut berguna atau tidak. Router dan expert karena itu saling terhubung selama optimisasi meskipun parameternya disimpan terpisah.

Term load balancing hanya menangani sebagian coupling tersebut. Term ini dapat mendorong distribusi traffic, tetapi tidak menjamin spesialisasi semantik, magnitudo gradient yang sama, atau kualitas expert yang ekuivalen. Properti tersebut memerlukan pengukuran terpisah jika penting bagi aplikasi.

Ketidakstabilan router juga dapat muncul sebagai perubahan assignment token-ke-expert yang sering terjadi di dekat batas skor. Dua expert dengan skor router berdekatan dapat bertukar urutan setelah update parameter kecil. Seleksi top-k yang keras kemudian mengubah active computation path meskipun perubahan skor dasarnya kecil. Melacak routing entropy atau konsistensi assignment dapat memperlihatkan perilaku ini, tetapi tidak satu pun metrik tersebut sendirian mendefinisikan adanya masalah.

Constraint serving dapat mengekspos asumsi saat training

Model yang dilatih dengan layout expert tertentu dapat di-serve dengan batch size, routing-group size, topologi device, atau pengaturan kapasitas berbeda. Perubahan tersebut dapat mengubah efek operasional dari output router yang sama.

Jika serving memakai kapasitas expert yang lebih ketat daripada training, konsentrasi token yang tidak bermasalah selama training dapat mulai memicu overflow. Jika expert tersebar di beberapa device, skew dapat menciptakan straggler karena sebuah request batch tidak dapat menyelesaikan fase expert sampai seluruh pekerjaan dispatch yang dibutuhkan selesai. Distribusi router yang dapat diterima dari sudut pandang model loss tetap dapat mahal pada topologi serving.

Karena itu, evaluasi model sparse mixture-of-experts sebaiknya menempatkan pengukuran routing berdampingan dengan metrik model biasa. Histogram assignment expert, overflow rate, jumlah token yang di-dispatch, dan beban eksekusi per expert menggambarkan perilaku yang tidak terlihat dari accuracy atau loss agregat.

Batas utamanya adalah bahwa sparse expert menghemat komputasi dengan membuat eksekusi bersifat kondisional. Begitu eksekusi kondisional, distribusi kondisi tersebut menjadi bagian dari sistem. Skor router, assignment diskret, kapasitas expert, dan kebijakan overflow bersama-sama menentukan komputasi expert mana yang benar-benar mencapai setiap token.