XYZNOT

Makalah · arXiv 1701.06538

Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer

Terbit cs.LGcs.CLcs.NEstat.ML arXivPDF

Baca dengan terjemahan dan AI

Ringkasan tiga baris

  1. 🎯 Jaringan saraf dense mengalami lonjakan biaya kuadratik saat memperluas kapasitas model untuk menyerap kumpulan data masif.
  2. 🔧 Memperkenalkan layer Sparsely-Gated Mixture-of-Experts (MoE) menggunakan Noisy Top-K gating dan auxiliary load-balancing loss di seluruh shard GPU terdistribusi.
  3. 📈 Menskalakan model bahasa dan penerjemahan hingga 137 miliar parameter, mengungguli perplexity LM terbaik yang dipublikasikan sebesar 24% hingga 39% dengan biaya komputasi lebih rendah.

Abstrak

Kapasitas jaringan saraf untuk menyerap informasi dibatasi oleh jumlah parameternya. Komputasi kondisional, di mana bagian-bagian jaringan aktif berdasarkan basis per-contoh, telah diusulkan secara teoritis sebagai cara untuk meningkatkan kapasitas model secara dramatis tanpa peningkatan komputasi yang proporsional. Namun, dalam praktiknya, terdapat tantangan algoritmik dan performa yang signifikan. Dalam penelitian ini, kami mengatasi tantangan tersebut dan akhirnya mewujudkan potensi komputasi kondisional, mencapai peningkatan kapasitas model lebih dari 1000x dengan hanya sedikit penurunan efisiensi komputasi pada kluster GPU modern. Kami memperkenalkan layer Sparsely-Gated Mixture-of-Experts (MoE), yang terdiri dari hingga ribuan sub-jaringan feed-forward. Jaringan gating yang dapat dilatih menentukan kombinasi renggang (sparse) dari para pakar (experts) ini untuk digunakan pada setiap contoh. Kami menerapkan MoE pada tugas pemodelan bahasa dan penerjemahan mesin, di mana kapasitas model sangat penting untuk menyerap sejumlah besar pengetahuan yang tersedia dalam korpus pelatihan. Kami menyajikan arsitektur model di mana MoE dengan hingga 137 miliar parameter diterapkan secara konvolusional di antara lapisan-lapisan LSTM bertingkat. Pada tolok ukur pemodelan bahasa dan penerjemahan mesin berskala besar, model-model ini mencapai hasil yang jauh lebih baik daripada state-of-the-art dengan biaya komputasi yang lebih rendah.

Abstrak asli (bahasa Inggris)

The capacity of a neural network to absorb information is limited by its number of parameters. Conditional computation, where parts of the network are active on a per-example basis, has been proposed in theory as a way of dramatically increasing model capacity without a proportional increase in computation. In practice, however, there are significant algorithmic and performance challenges. In this work, we address these challenges and finally realize the promise of conditional computation, achieving greater than 1000x improvements in model capacity with only minor losses in computational efficiency on modern GPU clusters. We introduce a Sparsely-Gated Mixture-of-Experts layer (MoE), consisting of up to thousands of feed-forward sub-networks. A trainable gating network determines a sparse combination of these experts to use for each example. We apply the MoE to the tasks of language modeling and machine translation, where model capacity is critical for absorbing the vast quantities of knowledge available in the training corpora. We present model architectures in which a MoE with up to 137 billion parameters is applied convolutionally between stacked LSTM layers. On large language modeling and machine translation benchmarks, these models achieve significantly better results than state-of-the-art at lower computational cost.

Panduan membaca

Masalah dan motivasi

Model deep learning sangat diuntungkan oleh kapasitas parameter saat dilatih pada kumpulan data besar. Namun, arsitektur standar mengaktifkan seluruh jaringan untuk setiap token atau contoh input. Hal ini menyebabkan peningkatan biaya komputasi yang tidak praktis seiring dengan bertambahnya ukuran jaringan dan volume kumpulan data.

Meskipun komputasi kondisional (hanya mengaktifkan sebagian subset model per contoh) diusulkan secara teoretis, implementasi sebelumnya mengalami kendala pada akselerator modern karena:

  • GPU lebih menyukai aritmetika seragam dibanding percabangan (branching).
  • "Masalah batch yang menyusut" (shrinking batch problem), di mana perutean subset contoh menyisakan sub-jaringan individual dengan ukuran batch yang sangat kecil dan tidak efisien.
  • Hambatan bandwidth jaringan antar-perangkat.
  • Perutean yang tidak seimbang, di mana beberapa sub-jaringan mendominasi sementara yang lain kekurangan beban kerja.

Ide-ide utama

  • Sparsely-Gated MoE Layer: Sub-jaringan feed-forward ("experts") ditempatkan di antara layer rekuren (seperti stacked LSTM). Hanya seleksi top- yang renggang dari para pakar yang dievaluasi per posisi.
  • Noisy Top-K Gating: Derau Gaussian yang dapat disesuaikan ditambahkan ke logit gating sebelum seleksi top- dan softmax untuk memberikan gradien yang kontinu dan dapat di-backpropagate serta mendorong eksplorasi yang seimbang di antara para pakar.
  • Kombinasi Paralelisme Data dan Model: Layer standar dan gating berjalan secara paralel data di seluruh perangkat, sedangkan para pakar dipartisi secara paralel model di seluruh GPU. Batch di seluruh perangkat digabungkan sehingga pakar menerima mini-batch gabungan yang cukup besar.
  • Batasan Penyeimbangan (Balancing Constraints): Loss tambahan eksplisit pada kepentingan pakar (expert importance) dan beban pakar (expert load) mencegah jaringan gating runtuh ke solusi degeneratif yang menggunakan segelintir pakar secara berlebihan.

Metode (dengan persamaan-persamaan utama)

Sebuah layer MoE terdiri dari jaringan pakar feed-forward dan sebuah jaringan gating . Output dari layer tersebut adalah: Komputasi dapat dihindari setiap kali .

Noisy Top-K Gating

Untuk menggabungkan sifat renggang (sparsity) dengan gating yang terdiferensiasi, derau disuntikkan ke dalam proyeksi linier:

Load-Balancing Losses

Untuk menegakkan bobot gating total yang setara, loss kepentingan (importance loss) didefinisikan pada sebuah batch menggunakan koefisien variasi (): Untuk memastikan jumlah contoh yang sama per pakar, penduga beban halus (smooth load estimator) menggunakan CDF normal :

Hasil (dengan angka-angka terpenting)

  • Tolok Ukur 1 Billion Word: Model MoE-4096-h yang komputasinya disesuaikan mencapai test perplexity 34,1 (penurunan 24% dibandingkan dengan baseline LSTM dengan komputasi serupa). Model MoE beranggaran tinggi mencapai test perplexity 28,0 dalam 47 jam pada 32 GPU K40, melampaui hasil state-of-the-art sebelumnya yaitu 34,7 (yang membutuhkan 59 jam pada 32 GPU K40).
  • Korpus 100 Billion Word: Penskalaan hingga 65.536 pakar (68 miliar parameter) memangkas test perplexity sebesar 39% dibandingkan dengan dense baseline (28,9 vs. 47,0), dengan mempertahankan 0,72 TFLOPS/GPU.
  • Penerjemahan Mesin: GNMT yang ditambah MoE mencapai 40,56 BLEU pada WMT'14 EnFr (+1,34 BLEU di atas GNMT tanpa RL) dan 26,03 BLEU pada WMT'14 EnDe (+1,12 BLEU) sementara membutuhkan kurang dari separuh operasi per langkah waktu (timestep).
  • Penerjemahan Multibahasa: Satu model MoE multibahasa mengungguli baseline GNMT multibahasa pada 11 dari 12 pasangan bahasa (hingga +5,84 BLEU pada KoreaInggris) dan mengurangi dev perplexity sebesar 19%.

Keterbatasan dan pertanyaan terbuka

  • Sparsity ekstrem dapat menyebabkan hasil yang semakin berkurang (diminishing returns) atau regresi performa; perplexity memburuk saat melakukan penskalaan dari 65.536 menjadi 131.072 pakar pada dataset 100B kata.
  • Overhead komunikasi terdistribusi tetap bergantung pada rasio hidden-to-input/output, membuat kapasitas pakar yang kecil menjadi kurang efisien dari sisi bandwidth.
  • Penerapan MoE secara rekuren di dalam langkah rekursi RNN merusak optimasi batch-unrolling di seluruh posisi sekuens, sehingga membutuhkan skema rekomputasi aktivasi.

Istilah kunci

Sparsely-Gated Mixture-of-Experts Layer (MoE)
Lapisan jaringan saraf yang berisi beberapa sub-jaringan pakar paralel di mana jaringan gating yang dapat dilatih hanya memilih subset pakar yang renggang (sparse) untuk setiap contoh input.
Conditional Computation
Paradigma arsitektur di mana bagian-bagian dari jaringan saraf diaktifkan atau dinonaktifkan secara dinamis berdasarkan per-contoh untuk meningkatkan kapasitas parameter tanpa peningkatan komputasi yang proporsional.
Noisy Top-K Gating
Mekanisme gating yang menambahkan derau Gaussian yang dapat disesuaikan ke logit sebelum hanya mempertahankan nilai k teratas dan menerapkan softmax, memungkinkan backpropagation dan mencegah keruntuhan rute (routing collapse).
Shrinking Batch Problem
Penurunan ukuran batch efektif yang diterima oleh masing-masing sub-jaringan ketika input dipartisi secara renggang ke banyak pakar, sehingga mengurangi efisiensi aritmetika perangkat keras.
Importance Loss
Loss tambahan yang mempenalti kuadrat koefisien variasi dari jumlah nilai gate per pakar di seluruh batch untuk mendorong alokasi pakar yang merata.
Load Loss
Tujuan tambahan yang meminimalkan varians dalam estimasi jumlah alokasi token berbobot probabilitas di seluruh pakar untuk menyeimbangkan beban perangkat keras.
Hierarchical Mixture of Experts
Struktur MoE dua tingkat di mana jaringan gating utama merutekan input ke kluster MoE sekunder untuk mengurangi faktor percabangan dan overhead komunikasi terdistribusi.

Pertanyaan

Bagaimana jaringan gating memungkinkan backpropagation melalui perutean top-k diskret?

Karena pemilihan top-k diterapkan sebelum softmax, nilai gate non-nol untuk pakar yang terpilih mempertahankan turunan kontinu terhadap bobot input, memungkinkan gradien mengalir kembali melalui jaringan gating.

Bagaimana masalah shrinking batch diatasi di seluruh perangkat terdistribusi?

Model menggabungkan paralelisme data dan model: layer standar memproses mini-batch independen di seluruh perangkat, tetapi token dari semua perangkat diagregasikan bersama sebelum dirutekan ke pakar stasioner yang di-host di berbagai GPU berbeda.

Mengapa derau diperlukan dalam jaringan gating?

Derau Gaussian yang disuntikkan mendorong eksplorasi di seluruh pakar pada awal pelatihan dan memberikan penduga halus untuk loss penyeimbang beban, mencegah keruntuhan pakar yang saling menguatkan (self-reinforcing expert collapse).

Apa yang terjadi ketika model diskalakan hingga 131.072 pakar?

Perplexity sedikit menurun kualitasnya dari 28,9 (pada 65.536 pakar) menjadi 29,2 (pada 131.072 pakar), dan efisiensi komputasi turun menjadi 0,30 TFLOPS/GPU, kemungkinan disebabkan oleh sparsity ekstrem dan ukuran batch tetap yang tidak ikut diskalakan.

Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.

Baca dengan terjemahan dan AI