XYZNOT

शोध पत्र · arXiv 1701.06538

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

प्रकाशित cs.LGcs.CLcs.NEstat.ML arXivPDF

अनुवाद और AI के साथ पढ़ें

तीन पंक्तियों में सारांश

  1. 🎯 विशाल डेटासेट को ग्रहण करने के लिए मॉडल क्षमता का विस्तार करते समय Dense neural networks को अत्यधिक कंप्यूटेशनल लागत का सामना करना पड़ता है।
  2. 🔧 वितरित GPU शार्ड्स में Noisy Top-K gating और सहायक लोड-संतुलन लॉस का उपयोग करके एक Sparsely-Gated Mixture-of-Experts (MoE) लेयर पेश की गई है।
  3. 📈 भाषा और अनुवाद मॉडल को 137 बिलियन पैरामीटर्स तक स्केल किया गया, जिसने कम कंप्यूटेशनल लागत पर सर्वश्रेष्ठ प्रकाशित LM perplexity को 24% से 39% तक पीछे छोड़ दिया।

सार

किसी न्यूरल नेटवर्क की जानकारी ग्रहण करने की क्षमता उसके पैरामीटर्स की संख्या से सीमित होती है। Conditional computation, जहाँ नेटवर्क के कुछ हिस्से प्रति-उदाहरण (per-example) के आधार पर सक्रिय होते हैं, सैद्धांतिक रूप से कंप्यूटेशन में आनुपातिक वृद्धि किए बिना मॉडल क्षमता को नाटकीय रूप से बढ़ाने के एक तरीके के रूप में प्रस्तावित किया गया है। व्यवहार में, हालांकि, महत्वपूर्ण एल्गोरिद्मिक और प्रदर्शन संबंधी चुनौतियाँ हैं। इस कार्य में, हम इन चुनौतियों का समाधान करते हैं और अंततः modern GPU clusters पर कंप्यूटेशनल दक्षता में केवल मामूली नुकसान के साथ मॉडल क्षमता में 1000 गुना से अधिक सुधार प्राप्त करते हुए conditional computation के वादे को पूरा करते हैं। हम एक Sparsely-Gated Mixture-of-Experts layer (MoE) प्रस्तुत करते हैं, जिसमें हजारों तक फ़ीड-फ़ॉरवर्ड सब-नेटवर्क शामिल हैं। एक ट्रेन करने योग्य गेटिंग नेटवर्क प्रत्येक उदाहरण के लिए उपयोग किए जाने वाले इन विशेषज्ञों के एक विरल (sparse) संयोजन को निर्धारित करता है। हम MoE को भाषा मॉडलिंग और मशीन अनुवाद के कार्यों पर लागू करते हैं, जहाँ प्रशिक्षण कॉर्पोरा में उपलब्ध ज्ञान के विशाल भंडार को आत्मसात करने के लिए मॉडल क्षमता महत्वपूर्ण है। हम ऐसे मॉडल आर्किटेक्चर प्रस्तुत करते हैं जिनमें 137 बिलियन पैरामीटर्स तक के MoE को स्टैक्ड LSTM लेयर्स के बीच दृढ़तापूर्वक (convolutionally) लागू किया जाता है। बड़े भाषा मॉडलिंग और मशीन अनुवाद बेंचमार्क पर, ये मॉडल कम कंप्यूटेशनल लागत पर अत्याधुनिक (state-of-the-art) मॉडल की तुलना में काफी बेहतर परिणाम प्राप्त करते हैं।

मूल सार (अंग्रेज़ी)

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.

पढ़ने की गाइड

समस्या और प्रेरणा

बड़े डेटासेट पर प्रशिक्षित होने पर डीप लर्निंग मॉडल को पैरामीटर क्षमता से बहुत लाभ होता है। हालाँकि, मानक आर्किटेक्चर प्रत्येक इनपुट टोकन या उदाहरण के लिए पूरे नेटवर्क को सक्रिय करते हैं। इससे नेटवर्क के आकार और डेटासेट वॉल्यूम दोनों के बढ़ने के साथ कंप्यूटेशनल लागत में अव्यावहारिक वृद्धि होती है।

हालाँकि conditional computation (प्रति उदाहरण केवल मॉडल के सबसेट को सक्रिय करना) सैद्धांतिक रूप से प्रस्तावित किया गया था, लेकिन पहले के कार्यान्वयन आधुनिक त्वरकों (accelerators) पर निम्नलिखित कारणों से संघर्ष करते थे:

  • GPUs शाखाओं (branching) के बजाय एकसमान अंकगणित (uniform arithmetic) को प्राथमिकता देते हैं।
  • "सिकुड़ती बैच समस्या" (shrinking batch problem), जहाँ उदाहरणों के सबसेट को रूट करने से व्यक्तिगत सब-नेटवर्क छोटे, अक्षम बैच आकारों के साथ रह जाते हैं।
  • डिवाइसों के बीच नेटवर्क बैंडविड्थ की बाधाएँ।
  • असंतुलित रूटिंग, जहाँ कुछ सब-नेटवर्क हावी हो जाते हैं जबकि अन्य अप्रयुक्त रह जाते हैं।

मुख्य विचार

  • Sparsely-Gated MoE Layer: फ़ीड-फ़ॉरवर्ड सब-नेटवर्क ("विशेषज्ञ") आवर्तक लेयर्स (जैसे स्टैक्ड LSTMs) के बीच रखे जाते हैं। प्रति स्थिति केवल विशेषज्ञों का एक विरल top- चयन ही मूल्यांकित किया जाता है।
  • Noisy Top-K Gating: ट्यूनेबल गॉसियन शोर को top- चयन और softmax से पहले गेटिंग लॉजिट्स में जोड़ा जाता है ताकि निरंतर, बैकप्रॉपैगेट करने योग्य ग्रेडिएंट्स प्रदान किए जा सकें और विशेषज्ञों के बीच संतुलित अन्वेषण को प्रोत्साहित किया जा सके।
  • संयुक्त डेटा और मॉडल समानांतरता: मानक लेयर्स और गेटिंग डिवाइसों में डेटा-समानांतर चलती हैं, जबकि विशेषज्ञों को GPUs में मॉडल-समानांतर विभाजित किया जाता है। सभी डिवाइसों के बैचों को संयोजित किया जाता है ताकि विशेषज्ञों को पर्याप्त रूप से बड़े एकत्रित मिनी-बैच प्राप्त हों।
  • संतुलन प्रतिबंध (Balancing Constraints): विशेषज्ञ महत्व और विशेषज्ञ लोड पर स्पष्ट सहायक नुकसान (auxiliary losses) गेटिंग नेटवर्क को ऐसे पतित समाधानों (degenerate solutions) में ढहने से रोकते हैं जो कुछ ही विशेषज्ञों का अति-उपयोग करते हैं।

विधि (मुख्य समीकरणों के साथ)

एक MoE लेयर में फ़ीड-फ़ॉरवर्ड विशेषज्ञ नेटवर्क और एक गेटिंग नेटवर्क शामिल होते हैं। लेयर का आउटपुट है: जब भी होता है, तो कंप्यूटेशन से बचा जाता है।

Noisy Top-K Gating

डिफरेंशियल गेटिंग के साथ स्पार्सिटी को संयोजित करने के लिए, रैखिक अनुमानों में शोर डाला जाता है:

लोड-संतुलन लॉस

समान कुल गेटिंग वज़न लागू करने के लिए, विचरण के गुणांक () का उपयोग करके बैच पर एक महत्व लॉस (importance loss) परिभाषित किया जाता है: प्रति विशेषज्ञ उदाहरणों की समान संख्या सुनिश्चित करने के लिए, सुगम लोड अनुमानक सामान्य CDF का उपयोग करता है:

परिणाम (सबसे महत्वपूर्ण आंकड़ों के साथ)

  • 1 Billion Word Benchmark: एक कम्प्यूटेशनल रूप से मेल खाने वाले MoE-4096-h मॉडल ने 34.1 की टेस्ट perplexity हासिल की (कम्प्यूटेशनल रूप से मेल खाने वाले बेसलाइन LSTMs की तुलना में 24% की कमी)। एक उच्च-बजट वाले MoE मॉडल ने 32 K40 GPUs पर 47 घंटों में 28.0 टेस्ट perplexity हासिल की, जिसने 34.7 के पिछले अत्याधुनिक परिणाम (जिसमें 32 K40 GPUs पर 59 घंटे लगे थे) को पीछे छोड़ दिया।
  • 100 Billion Word Corpus: 65,536 विशेषज्ञों (68 बिलियन पैरामीटर्स) तक स्केल करने से घने (dense) बेसलाइन (28.9 बनाम 47.0) की तुलना में टेस्ट perplexity में 39% की गिरावट आई, जबकि 0.72 TFLOPS/GPU बरकरार रहा।
  • मशीन अनुवाद: MoE-संवर्धित GNMT ने WMT'14 EnFr पर 40.56 BLEU (RL के बिना GNMT पर +1.34 BLEU) और WMT'14 EnDe पर 26.03 BLEU (+1.12 BLEU) प्राप्त किया, जबकि प्रति टाइमस्टेप आधे से भी कम ऑप्स की आवश्यकता थी।
  • बहुभाषी अनुवाद: एक एकल बहुभाषी MoE मॉडल ने 12 में से 11 भाषा युग्मों पर बहुभाषी GNMT बेसलाइन से बेहतर प्रदर्शन किया (कोरियाईअंग्रेजी पर +5.84 BLEU तक) और dev perplexity को 19% तक कम किया।

सीमाएं और खुले प्रश्न

  • अत्यधिक स्पार्सिटी से घटते रिटर्न या प्रदर्शन में गिरावट हो सकती है; 100B-शब्द डेटासेट पर 65,536 से 131,072 विशेषज्ञों तक स्केल करने पर perplexity खराब हो गई।
  • वितरित संचार ओवरहेड हिडन-टू-इनपुट/आउटपुट अनुपात पर निर्भर रहता है, जिससे छोटी विशेषज्ञ क्षमताएं बैंडविड्थ-दक्षता में कम हो जाती हैं।
  • RNN पुनरावृत्ति चरणों के अंदर MoE को बार-बार लागू करना अनुक्रम स्थितियों में बैच-अनरोलिंग अनुकूलन को तोड़ता है, जिसके लिए एक्टिवेशन पुनर्गणना योजनाओं की आवश्यकता होती है।

मुख्य शब्द

Sparsely-Gated Mixture-of-Experts Layer (MoE)
एक न्यूरल नेटवर्क लेयर जिसमें कई समानांतर विशेषज्ञ सब-नेटवर्क होते हैं जहाँ एक ट्रेन करने योग्य गेटिंग नेटवर्क प्रत्येक इनपुट उदाहरण के लिए विशेषज्ञों के केवल एक विरल सबसेट का चयन करता है।
Conditional Computation
एक आर्किटेक्चरल प्रतिमान जहाँ आनुपातिक कंप्यूट वृद्धि के बिना पैरामीटर क्षमता बढ़ाने के लिए न्यूरल नेटवर्क के हिस्सों को प्रति-उदाहरण आधार पर गतिशील रूप से सक्रिय या निष्क्रिय किया जाता है।
Noisy Top-K Gating
एक गेटिंग तंत्र जो केवल शीर्ष k मान रखने और softmax लागू करने से पहले लॉजिट्स में ट्यूनेबल गॉसियन शोर जोड़ता है, जिससे बैकप्रॉपैगेशन संभव होता है और रूटिंग पतन रुकता है।
Shrinking Batch Problem
इनपुट को कई विशेषज्ञों में विरल रूप से विभाजित करने पर व्यक्तिगत सब-नेटवर्क द्वारा प्राप्त प्रभावी बैच आकार में कमी, जिससे हार्डवेयर अंकगणितीय दक्षता कम हो जाती है।
Importance Loss
समान विशेषज्ञ आवंटन को प्रोत्साहित करने के लिए एक बैच में प्रति विशेषज्ञ गेट मानों के योग के भिन्नता के वर्ग गुणांक को दंडित करने वाला एक सहायक नुकसान।
Load Loss
हार्डवेयर लोड को संतुलित करने के लिए विशेषज्ञों में टोकन के अनुमानित संभाव्यता-भारित असाइनमेंट गणना में भिन्नता को कम करने वाला एक सहायक उद्देश्य।
Hierarchical Mixture of Experts
एक दो-स्तरीय MoE संरचना जहाँ एक प्राथमिक गेटिंग नेटवर्क ब्रांचिंग फ़ैक्टर और वितरित संचार ओवरहेड को कम करने के लिए द्वितीयक MoE क्लस्टर में इनपुट रूट करता है।

प्रश्न

गेटिंग नेटवर्क डिस्क्रीट top-k रूटिंग के माध्यम से बैकप्रॉपैगेशन की अनुमति कैसे देता है?

चूँकि softmax से पहले top-k चयन लागू किया जाता है, चुने गए विशेषज्ञों के लिए गैर-शून्य गेट मान इनपुट वज़न के संबंध में निरंतर डेरिवेटिव बनाए रखते हैं, जिससे ग्रेडिएंट गेटिंग नेटवर्क के माध्यम से वापस प्रवाहित हो सकते हैं।

वितरित डिवाइसों में सिकुड़ती बैच समस्या (shrinking batch problem) का समाधान कैसे किया जाता है?

मॉडल डेटा और मॉडल समानांतरता को मिलाता है: मानक लेयर्स डिवाइसों में स्वतंत्र मिनी-बैच को संसाधित करती हैं, लेकिन विभिन्न GPUs पर होस्ट किए गए स्थिर विशेषज्ञों को रूट करने से पहले सभी डिवाइसों के टोकन को एक साथ एकत्र किया जाता है।

गेटिंग नेटवर्क में शोर क्यों आवश्यक है?

इंजेक्‍ट किया गया गॉसियन शोर प्रशिक्षण के शुरुआती दौर में विशेषज्ञों के बीच अन्वेषण को बढ़ावा देता है और लोड-संतुलन लॉस के लिए एक सहज अनुमानक प्रदान करता है, जिससे विशेषज्ञों का स्वतः-सुदृढ़ीकरण पतन रुकता है।

जब मॉडल को 131,072 विशेषज्ञों तक स्केल किया जाता है तो क्या होता है?

Perplexity 28.9 (65,536 विशेषज्ञों पर) से थोड़ी खराब होकर 29.2 (131,072 विशेषज्ञों पर) हो गई, और कम्प्यूटेशनल दक्षता घटकर 0.30 TFLOPS/GPU रह गई, जो संभवतः अत्यधिक स्पार्सिटी और निश्चित गैर-स्केल किए गए बैच आकारों के कारण हुआ।

इस पृष्ठ की व्याख्या AI ने शोध पत्र से लिखी है और इसमें गलतियाँ हो सकती हैं। विवरण के लिए मूल शोध पत्र पढ़ें।

अनुवाद और AI के साथ पढ़ें