XYZNOT

Makaleler · arXiv 1701.06538

Aşırı Büyük Sinir Ağları: Seyrek Geçitli Uzmanlar Karışımı (MoE) Katmanı

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

Yayımlanma cs.LGcs.CLcs.NEstat.ML arXivPDF

Çeviri ve yapay zekâ ile oku

Üç satırda özet

  1. 🎯 Yoğun sinir ağları, devasa veri kümelerini özümsemek için model kapasitesini artırırken karesel maliyet patlamalarıyla karşılaşır.
  2. 🔧 Dağıtılmış GPU parçaları genelinde Noisy Top-K geçitleme ve yardımcı yük dengeleme kayıpları kullanan Seyrek Geçitli bir Mixture-of-Experts (MoE) katmanı sunar.
  3. 📈 Dil ve çeviri modellerini 137 milyar parametreye kadar ölçeklendirerek, daha düşük hesaplama maliyetiyle en iyi yayınlanmış LM şaşkınlığını (perplexity) %24 ila %39 oranında geride bırakır.

Özet

Bir yapay sinir ağının bilgiyi özümseme kapasitesi, parametre sayısı ile sınırlıdır. Ağın belirli bölümlerinin örnek bazında etkinleştirildiği koşullu hesaplama (conditional computation), hesaplama maliyetini orantılı olarak artırmadan model kapasitesini çarpıcı biçimde artırmanın teorik bir yolu olarak önerilmiştir. Ancak pratikte önemli algoritmik ve performans zorlukları bulunmaktadır. Bu çalışmada bu zorlukları ele alıyor ve koşullu hesaplama vaadini nihayet gerçeğe dönüştürerek, modern GPU kümelerinde hesaplama verimliliğinde yalnızca küçük kayıplarla model kapasitesinde 1000 kattan fazla iyileşme elde ediyoruz. Binlerce ileri beslemeli alt ağdan oluşabilen Seyrek Geçitli bir Uzmanlar Karışımı (Sparsely-Gated Mixture-of-Experts - MoE) katmanı sunuyoruz. Eğitilebilir bir geçitleme ağı, her örnek için bu uzmanların seyrek bir kombinasyonunun kullanılmasını belirler. MoE'yi, eğitim derlemlerinde bulunan devasa miktardaki bilgiyi özümsemek için model kapasitesinin kritik olduğu dil modelleme ve makine çevirisi görevlerine uyguluyoruz. 137 milyar parametreye kadar ulaşabilen bir MoE'nin yığılmış LSTM katmanları arasına evrişimli olarak uygulandığı model mimarileri sunuyoruz. Büyük dil modelleme ve makine çevirisi kıyaslamalarında bu modeller, daha düşük hesaplama maliyetiyle son teknoloji yöntemlerden önemli ölçüde daha iyi sonuçlar elde etmektedir.

Orijinal özet (İngilizce)

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.

Okuma rehberi

Problem ve motivasyon

Derin öğrenme modelleri, büyük veri kümeleri üzerinde eğitildiklerinde parametre kapasitesinden büyük ölçüde yararlanır. Ancak standart mimariler, her girdi belirteci (token) veya örneği için tüm ağı etkinleştirir. Bu durum, hem ağ boyutu hem de veri kümesi hacmi ölçeklendikçe hesaplama maliyetinde pratik olmayan bir artışa yol açar.

Koşullu hesaplama (örnek başına modelin yalnızca alt kümelerini etkinleştirmek) teorik olarak önerilmiş olsa da, daha önceki uygulamalar modern hızlandırıcılarda şu nedenlerle zorluk yaşamıştır:

  • GPU'ların dallanma yerine tek tip aritmetiği tercih etmesi.
  • Örnek alt kümelerinin yönlendirilmesinin, bireysel alt ağları küçük ve verimsiz yığın boyutlarıyla baş başa bıraktığı "küçülen yığın problemi" (shrinking batch problem).
  • Cihazlar arası ağ bant genişliği darboğazları.
  • Birkaç alt ağın baskın hale geldiği ve diğerlerinin atıl kaldığı dengesiz yönlendirme.

Temel fikirler

  • Seyrek Geçitli MoE Katmanı: İleri beslemeli alt ağlar ("uzmanlar"), yinelemeli katmanlar (yığılmış LSTM'ler gibi) arasına yerleştirilir. Konum başına yalnızca uzmanların seyrek bir top- seçimi değerlendirilir.
  • Noisy Top-K Geçitleme: Sürekli, geri yayılabilir gradyanlar sağlamak ve uzmanlar arasında dengeli keşfi teşvik etmek için top- seçimi ve softmax öncesinde geçitleme logitlerine ayarlanabilir Gauss gürültüsü eklenir.
  • Birleşik Veri ve Model Paralelliği: Standart katmanlar ve geçitleme, cihazlar arasında veri paraleli olarak çalışırken uzmanlar GPU'lar arasında model paraleli olarak bölümlenir. Tüm cihazlardaki yığınlar birleştirilir, böylece uzmanlar yeterince büyük toplanmış mini yığınlar alır.
  • Dengeleme Kısıtlamaları: Uzman önemi ve uzman yükü üzerindeki açık yardımcı kayıplar, geçitleme ağının az sayıda uzmanı aşırı kullanan yozlaşmış çözümlere çökmesini önler.

Yöntem (anahtar denklemlerle)

Bir MoE katmanı, adet ileri beslemeli uzman ağ ve bir geçitleme ağı 'ten oluşur. Katman çıktısı şöyledir: olduğu durumlarda hesaplama yapılmaz.

Noisy Top-K Geçitleme

Seyreklik ile türevlenebilir geçitlemeyi birleştirmek için doğrusal projeksiyonlara gürültü eklenir:

Yük Dengeleme Kayıpları

Eşit toplam geçitleme ağırlıklarını zorunlu kılmak için, varyasyon katsayısı () kullanılarak bir yığını üzerinden bir önem kaybı tanımlanır: Uzman başına eşit sayıda örnek sağlamak için pürüzsüz yük tahmincisi normal CDF 'yi kullanır:

Sonuçlar (en önemli sayılarla)

  • 1 Milyar Kelimelik Kıyaslama (1 Billion Word Benchmark): Hesaplama açısından eşleştirilmiş bir MoE-4096-h modeli 34,1'lik bir test şaşkınlığı (perplexity) elde etmiştir (hesaplama açısından eşleştirilmiş temel LSTM'lere kıyasla %24 azalma). Yüksek bütçeli bir MoE modeli, 32 adet K40 GPU üzerinde 47 saatte 28,0 test şaşkınlığına ulaşarak 34,7 olan önceki en son teknoloji sonucu (32 K40 GPU'da 59 saat süren) geride bırakmıştır.
  • 100 Milyar Kelimelik Derlem (100 Billion Word Corpus): 65.536 uzmana (68 milyar parametre) kadar ölçeklendirme, yoğun temel modele kıyasla test şaşkınlığını %39 düşürmüş (47,0'a karşı 28,9) ve 0,72 TFLOPS/GPU seviyesini korumuştur.
  • Makine Çevirisi: MoE ile artırılmış GNMT, WMT'14 EnFr üzerinde 40,56 BLEU (RL içermeyen GNMT'ye kıyasla +1,34 BLEU) ve WMT'14 EnDe üzerinde 26,03 BLEU (+1,12 BLEU) elde ederken zaman adımı başına gereken işlem sayısını yarıdan fazla azaltmıştır.
  • Çok Dilli Çeviri: Tek bir çok dilli MoE modeli, 12 dil çiftinin 11'inde çok dilli bir GNMT temel modelinden daha iyi performans göstermiş (Koreceİngilizce üzerinde +5,84 BLEU'ya kadar) ve geliştirme kümesi şaşkınlığını %19 azaltmıştır.

Sınırlılıklar ve açık sorular

  • Aşırı seyreklik azalan getirilere veya performans gerilemelerine yol açabilir; 100 milyar kelimelik veri kümesinde 65.536'dan 131.072 uzmana ölçeklendirme yapıldığında şaşkınlık kötüleşmiştir.
  • Dağıtılmış iletişim ek yükü gizli-girdi/çıktı oranına bağlı kalmaya devam eder, bu da küçük uzman kapasitelerini bant genişliği açısından daha az verimli hale getirir.
  • MoE'nin RNN yineleme adımları içinde yinelemeli olarak uygulanması, dizi konumları boyunca yapılan yığın açma (batch-unrolling) optimizasyonunu bozar ve etkinleştirme yeniden hesaplama (activation recomputation) şemalarını gerektirir.

Temel terimler

Sparsely-Gated Mixture-of-Experts Layer (MoE)
Eğitilebilir bir geçitleme ağının her girdi örneği için uzmanların yalnızca seyrek bir alt kümesini seçtiği birden fazla paralel uzman alt ağ içeren bir sinir ağı katmanı.
Conditional Computation
Hesaplama maliyetinde orantılı bir artış olmadan parametre kapasitesini artırmak için sinir ağının belirli bölümlerinin örnek bazında dinamik olarak etkinleştirildiği veya devre dışı bırakıldığı bir mimari paradigma.
Noisy Top-K Gating
Yalnızca en iyi k değeri tutmadan ve softmax uygulamadan önce logitlere ayarlanabilir Gauss gürültüsü ekleyen, geri yayılımı mümkün kılan ve yönlendirme çökmesini önleyen bir geçitleme mekanizması.
Shrinking Batch Problem
Girdiler birçok uzmana seyrek olarak dağıtıldığında bireysel alt ağların aldığı etkin yığın boyutunun küçülmesi ve bunun donanım aritmetik verimliliğini düşürmesi durumu.
Importance Loss
Uzmanların eşit kullanımını teşvik etmek amacıyla bir yığın genelinde uzman başına kapı değerleri toplamının karesel varyasyon katsayısını cezalandıran yardımcı bir kayıp.
Load Loss
Donanım yükünü dengelemek için uzmanlar arasındaki belirteçlerin tahmini olasılık ağırlıklı atama sayısındaki varyansı en aza indiren yardımcı bir amaç fonksiyonu.
Hierarchical Mixture of Experts
Dallanma faktörünü ve dağıtılmış iletişim ek yükünü azaltmak için birincil geçitleme ağının girdileri ikincil MoE kümelerine yönlendirdiği iki seviyeli bir MoE yapısı.

Sorular

Geçitleme ağı, ayrık top-k yönlendirmesi üzerinden geri yayılıma nasıl izin verir?

Top-k seçimi softmax'ten önce uygulandığından, seçilen uzmanlar için sıfır olmayan kapı değerleri girdi ağırlıklarına göre sürekli türevlerini korur ve gradyanların geçitleme ağından geriye doğru akmasını sağlar.

Küçülen yığın problemi (shrinking batch problem) dağıtılmış cihazlar arasında nasıl çözülür?

Model, veri ve model paralelliğini harmanlar: standart katmanlar cihazlar arasında bağımsız mini yığınları işler, ancak tüm cihazlardan gelen belirteçler farklı GPU'larda barındırılan sabit uzmanlara yönlendirilmeden önce birlikte toplanır.

Geçitleme ağında gürültü neden gereklidir?

Eklenen Gauss gürültüsü eğitimin erken aşamalarında uzmanlar arasında keşfi teşvik eder ve yük dengeleme kaybı için pürüzsüz bir tahminci sağlayarak kendi kendini pekiştiren uzman çöküşünü önler.

Model 131.072 uzmana kadar ölçeklendirildiğinde ne olur?

Şaşkınlık (perplexity) 28,9'dan (65.536 uzmanda) 29,2'ye (131.072 uzmanda) doğru hafifçe kötüleşmiş ve hesaplama verimliliği 0,30 TFLOPS/GPU'ya düşmüştür; bunun nedeni muhtemelen aşırı seyreklik ve ölçeklenmemiş sabit yığın boyutlarıdır.

Bu sayfadaki açıklama yapay zekâ tarafından makaleden yazılmıştır ve hata içerebilir. Ayrıntılar için makaleyi okuyun.

Çeviri ve yapay zekâ ile oku