लेख

कल्पनाओं के माध्यम से सोनार को तेज करना

ज्यामितीय रूप को काटती हुई प्रकाश की अमूर्त किरण, जो LLM पीढ़ी के त्वरण का सूचक है

अनुमानित डिकोडिंग एक त्वरित और छोटे ड्राफ्ट मॉडल का उपयोग करके बड़े भाषा मॉडल (LLMs) की पीढ़ी की गति को तेज करता है ताकि बड़े लक्षित मॉडल द्वारा सत्यापित किए गए पूर्णता उम्मीदवार तैयार किए जा सकें।

इस योजना के तहत, एकल टोकन का उत्पादन करने वाले महंगे लक्ष्य के चलने के बजाय, एक ही चरण में कई टोकन निकाले जाते हैं। यहां हम परसेप्लेक्सिटी में सोनार मॉडल पर इंटर-टोकन विलंबता को कम करने के लिए लागू किए गए विभिन्न प्रकार के अनुमानित डिकोडिंग के कार्यान्वयन विवरण प्रस्तुत करते हैं।

अनुमानित डिकोडिंग

अनुमानित डिकोडिंग प्राकृतिक भाषाओं की संरचना और ट्रांसफॉर्मर्स की ऑटो-रेग्रेसिव प्रकृति का लाभ उठाते हुए टोकन उत्पन्न करने की गति बढ़ाता है। हालांकि, बड़े मॉडल, जैसे Llama-70B, छोटे मॉडल की तुलना में अधिक ज्ञान रखते हैं, जैसे Llama-1B, कुछ सरल कार्यों पर वे समान कार्यक्षमता प्रदर्शित करते हैं। यह ओवरलैप संकेत देता है कि कुछ अनुक्रम कम महंगे मॉडल द्वारा बेहतर उत्पन्न होते हैं, जिससे जटिल समस्याओं को बड़े मॉडल पर छोड़ दिया जाता है। चुनौती यह निर्धारित करने में है कि कौन सी पूर्णताएँ बेहतर हैं और क्या छोटे मॉडल की पीढ़ी उसी गुणवत्ता की है जैसे बड़े मॉडल की।

सौभाग्य से, LLMs ऑटो-रेग्रेसिव ट्रांसफॉर्मर्स हैं: जब उन्हें टोकन की एक श्रृंखला दी जाती है, तो वे अगले टोकन के संभाव्यता वितरण का उत्पादन करते हैं। इसके अतिरिक्त, इनपुट अनुक्रम में टोकन के साथ संबंधित मध्यवर्ती फीचर्स से प्राप्त लॉजिट्स भी इस बात का संकेत देते हैं कि मॉडल के उन सटीक टोकन को जारी करने की कितनी संभावना है। यह संपत्ति अनुमान को सक्षम करती है: यदि टोकन की श्रृंखला को इनपुट प्रिफिक्स से शुरू होने वाले छोटे मॉडल द्वारा उत्पन्न किया जाता है, तो इसे लक्षित मॉडल के साथ संरेखित होने की स्थिति का पता लगाने के लिए बड़े मॉडल के माध्यम से चलाया जा सकता है। उम्मीदवारों के प्रत्येक प्रिफिक्स को एक संभाव्यता के साथ स्कोर किया गया है और स्वीकार्यता सीमा से ऊपर की सबसे लंबी सीमा को चुन लिया गया है। बोनस के रूप में, लक्षित मॉडल बाद का टोकन मुफ्त में भी प्रदान करता है: यदि एक ड्राफ्ट मॉडल n टोकन उत्पन्न करता है, तो एक ही चरण में n + 1 तक उत्पन्न किया जा सकता है।

अवधारण समय पर, अनुमानित नमूनाकरण प्रक्रिया को मोटे तौर पर 4 चरणों में विभाजित किया जा सकता है:

  1. प्रीफिल: इनपुट अनुक्रम पर केवी कैश प्रविष्टियों को आबाद करने के लिए लक्ष्य और ड्राफ्ट मॉडलों दोनों को चलाना होगा। जबकि कुछ योजनाएं, जैसे मेडुसा, भविष्यवाणी के लिए सरल घने परतों का उपयोग करती हैं, इस पोस्ट में हम ट्रांसफॉर्मर-आधारित ड्राफ्ट पर ध्यान केंद्रित करते हैं जिन्हें अपने स्वयं के केवी कैश की आवश्यकता होती है।

  2. ड्राफ्ट जनरेशन: ड्राफ्ट मॉडल कुछ निश्चित टोकन का उत्पादन करने के लिए दोहराव करता है। ड्राफ्ट अनुक्रम रेखीय हो सकता है या मॉडल एक दिए हुए गहराई तक एक वृक्ष जैसी संरचना का पता लगा सकता है (EAGLE, मेडुसा)। यहां, हम रेखीय अनुक्रमों पर ध्यान केंद्रित करते हैं।

  3. स्वीकृति: ड्राफ्ट अनुक्रम पर लक्षित मॉडल चलता है, प्रत्येक ड्राफ्ट टोकन से संबंधित लॉजिट्स बनाता है। सबसे लंबी स्वीकृत अनुक्रम की लंबाई निर्धारित की जाती है।

  4. लक्ष्य जनरेशन: चूंकि लक्ष्य उत्पन्न लॉजिट्स, अनुक्रम के असंगत स्थान पर या पूंछ अंत में, एक बाद के टोकन से संबंधित होते हैं। इन लॉजिट्स का नमूना लिया जा सकता है ताकि अनुक्रम को समाप्त करते हुए लक्ष्य से एक मजबूत टोकन प्रदान किया जा सके।

अनुमानित डिकोडिंग को लागू करने के लिए विभिन्न विधियां मौजूद हैं। इस पोस्ट में, हम इन-हाउस 1B मॉडल का उपयोग करके सोनार मॉडल को तेज करने के लिए उपयोग की जाने वाली योजनाओं पर ध्यान केंद्रित करेंगे, साथ ही हम उन भविष्यवाणी तंत्रों का निर्माण कर रहे हैं जो डीपसीक के पैमाने पर मॉडल को गति देने के लिए हैं।

लक्ष्य-ड्राफ्ट

प्राथमिक डिकोडिंग एक मौजूदा छोटे LLM को ड्राफ्ट मॉडल के रूप में जोड़कर लक्ष्य मॉडल के लिए उम्मीदवार अनुक्रम उत्पन्न करने के लिए प्राप्त की जा सकती है। उत्पादन में, हमने उसी डेटासेट पर लक्षित अनुकूलित Llama-1B मॉडल का उपयोग करके सोनार को तेज किया। हालांकि इस दृष्टिकोण के लिए शुरू से एक ड्राफ्ट को प्रशिक्षित करने की आवश्यकता नहीं थी, छोटा मॉडल अभी भी महत्वपूर्ण केवी कैश क्षमता का उपयोग करता है और एक मामूली प्रिफिल ओवरहेड प्रस्तुत करता है, TTFT बढ़ाता है।

इस योजना के तहत, डिकोडर केवल डिकोड-केवल बैचों पर अनुमान करता है, प्रिफिल के दौरान मानक नमूनाकरण के माध्यम से टोकन उत्पन्न करता है या मिश्रित प्रिफिल-डिकोड बैचों पर। प्रिफिल चरण में, लक्ष्य लॉजिट्स को तुरंत नमूना लिया जाता है ताकि ड्राफ्ट के केवी कैश में नए उत्पन्न टोकन को भी प्रिफिल किया जा सके। ड्राफ्ट का अभी तक नमूना नहीं लिया गया है, लेकिन इसके द्वारा उत्पन्न लॉजिट्स को डिकोड चरण में ले जाया जाता है।

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

EAGLE

EAGLE एक अनुमानित डिकोडिंग योजना है जो संभावित ड्राफ्ट टोकन के वृक्ष-जैसे परिस्तेमाल के माध्यम से उत्पन्न की गई बहुविध ड्राफ्ट सीक्वेंस की खोज करती है। एक निश्चित (EAGLE) या डायनामिक-आकार का (EAGLE-2) पेड़ प्रसारण के परिणामस्वरूप खोजा जाता है, जो लाइनर अनुक्रम में उच्चतम स्कोरिंग टोकन का अनुसरण करने के बजाय प्रत्येक नोड में शीर्ष-K उम्मीदवारों पर विचार करता है। अनुक्रमों को तब स्कोर किया जाता है और सबसे लंबा उपयुक्त एक जारी रखने के लिए चुना जाता है, साथ ही लक्ष्य से एक अतिरिक्त टोकन जोड़ता है।

अधिक सटीक भविष्यवाणी प्राप्त करने के लिए, एक EAGLE ड्राफ्ट मॉडल केवल टोकन के आधार पर ही नहीं बल्कि लक्ष्य मॉडल के लक्ष्य फीचर्स (अंतिम परत छिपी हुई स्थितियां) के आधार पर भी भविष्यवाणी करता है। EAGLE का मुख्य नुकसान कस्टम, छोटे ड्राफ्ट मॉडलों को प्रशिक्षित करने की आवश्यकता होती है जो निम्न विलंब बजट के भीतर उपयुक्त उम्मीदवार उत्पन्न करने के लिए पर्याप्त सटीक होते हैं। आम तौर पर, एक ड्राफ्ट मॉडेल एक एकल ट्रांसफॉर्मर परत होती है जो मूल मॉडल की डिकोडर परत के समान होती है, जो इसके इनबेडिंग्स और lm_head प्रोजेक्शन्स को बांधते हुए लक्ष्य के साथ कसकर जुड़ी होती है। चूंकि इसके लिए कम केवी कैश क्षमता की आवश्यकता होती है, EAGLE की मेमोरी का पदचिह्न कम होता है।

लक्ष्य मॉडल में पेड़-प्रकार के अनुक्रमों को सत्यापित करने के लिए कस्टम ध्यान मास्क का उपयोग करना होगा। दुर्भाग्य से, पूरे अनुक्रम के लिए एक कस्टम ध्यान मास्क का उपयोग करना यथार्थवादी इनपुट लंबाई के लिए ध्यान को काफी धीमा कर देता है (जितना की 50% तक), जिससे कुछ अनुमान से प्राप्त गति में वृद्धि को अनुपयोग में कर देता है। इस कारण से, हमने अभी तक उत्पादन में पूर्ण पेड़ अन्वेषण तैनात नहीं किया है, इसके बजाय DeepSeek-V3 तकनीकी रिपोर्ट में प्रस्तुत एमटीपी-जैसी योजनाओं के माध्यम से एकल-टोकन भविष्यवाणी के विशेष मामले पर ध्यान केंद्रित किया है।

MTP

यह योजना ड्राफ्ट-लक्ष्य डिकोडिंग के समान है, केवल छिपी हुई स्थितियों का टोकन के साथ भविष्यवाणी के लिए उपयोग होने पर भिन्न होती है। नियमित ड्राफ्ट-लक्ष्य अनुमान की तुलना में प्रिफिल और डिकोड चरणों में थोड़ा अधिक काम करना पड़ता है। ड्राफ्ट मॉडल टोकन और छिपी हुई स्थितियों दोनों का उपयोग करता है: टोकन t_{i+1} लॉजिट्स L_i से नमूना लिया जाता है जो टोकन t_i के संबंधित होते हैं, जो बदले में छिपी हुई स्थितियों H_i से व्युत्पन्न होते हैं। परिणामस्वरूप, लक्ष्य द्वारा उत्पादित छिपी हुई अवस्था वेक्टर के सापेक्ष इनपुट टोकन बफ़र्स को एक चरण बाएं स्थानांतरित करना होगा। नीचे का आंकड़ा प्रशिक्षकों द्वारा किए गए उपयोग के साथ-साथ अनुमान लगाते समय शिफ्ट को चिह्नित करता है।

डिकोडिंग प्रवाह ड्राफ्ट-लक्ष्य डिकोडिंग के समान है, केवल छिपी हुई स्थितियों और लॉजिट्स के संचालन में कुछ विशेषता होती है। हमारा कार्यान्वयन सभी संबंधित नमूना और लॉजिट प्रसंस्करण लॉजिट्स साझा करता है, केवल मॉडल फॉरवर्ड इवोकेशंस को विशिष्ट रूप से अपनाते हुए। जब कई टोकन का भविष्यवाणी होता है, तो ड्राफ्ट मॉडल ड्राफ्ट छिपी हुई अवस्थाओं का अनुमान लगाने में उपयोग करता है, साथ ही अपने स्वयं के फीचर्स के आधार पर केवी कैश प्रविष्टियों को आबाद करता है। लंबे समय में, इससे सटीकता में गिरावट आ सकती है। इसके बाद, जब लक्ष्य भविष्यवाणी के लिए केवी कैश प्रविष्टि भरने के लिए ड्राफ्ट मॉडल चलाया जाता है, तो इसे पूरे अनुक्रम पर परिचालित किया जाता है ताकि अधिक सटीक लक्ष्य छिपी हुई अवस्थाओं को इनपुट के रूप में लिया जा सके। चूंकि ये ड्राफ्ट मॉडल छोटे होते हैं, इसलिए अतिरिक्त टोकनों की प्रसंस्करण की लागत नगण्य होती है।

MTP प्रमुखों का प्रशिक्षण

MTP से लाभान्वित होने के लिए, हमने Perplexity के डेटासेट पर हमारे अनुकूलित मॉडलों से जुड़े MTP प्रमुखों को प्रशिक्षित करने के लिए आवश्यक इन्फ्रास्ट्रक्चर का निर्माण किया, जो एक नोड पर 8xH100 उपकरणों के साथ चल रहे हैं। लगभग एक दिन में, हम Llama-1B से Llama-70B और DeepSeek V2-Lite तक के मॉडलों के लिए प्रमुख बना सकते हैं। बड़े मॉडल के लिए, हम अनुकूलन प्रक्रिया के दौरान निर्मित MTP प्रमुखों पर निर्भर हैं।

MTP प्रशिक्षण का लक्ष्य ड्राफ्ट छिपी हुई अवस्थाओं और लक्ष्य छिपी हुई अवस्थाओं से व्युत्पन्न लॉजिट्स को लक्ष्य के अगले टोकन लॉजिट्स और छिपी हुई अवस्थाओं के साथ मेल खाना है। चूंकि छिपी हुई अवस्थाओं के लिए अनुमान महंगा है, हम प्रशिक्षण के दौरान उपयोग के लिए लक्ष्य मॉडल के हमारे अनुमान-इष्ट तरीके से उन्हें पूर्व-गणना करते हैं। हालांकि, अनुमान MTP कार्यान्वयन को मान्य करने और यह सुनिश्चित करने के लिए कि मात्रात्मकता या अनुकूलन के कारण संख्यात्मक अंतर परिणामों को बाधित नहीं करते हैं, मान्यकरण हानि और सटीकता अनुमान के लिए हम लक्ष्य और ड्राफ्ट मॉडलों के दोनों अनुमान कार्यान्वयन का पूरी तरह से उपयोग करते हैं।

जब हमने मूल पेपर में इस्तेमाल किए गए ShareGPT डेटासेट से बड़े नमूनों तक स्केलिंग की, तो हमें पता चला कि EAGLE पेपर में उल्लिखित और लागू MTP शीर्षक संरचना के लिए 70B आकार के मॉडलों के लिए प्रशिक्षित करना विफल हो गया। ShareGPT में जो छोटत्र अनुक्रमों की एक बड़ी संख्या शामिल थी, हम थोड़े कम संख्या में काफी लंबे संकेतों पर प्रशिक्षण देते हैं। चूंकि मूल EAGLE हेड्स ने एक विशिष्ट ट्रांसफॉर्मर से संरचना में थोड़ी भिन्नता प्रदर्शित की, हमने कुछ RMS सामान्यीकरण परतों को फिर से शामिल किया जिन्हें अलग कर दिया गया था। हमने पाया कि इससे न केवल प्रशिक्षण को जोड़ने की अनुमति मिली, बल्कि इससे हेड्स की सटीकता में कुछ प्रतिशत अंक की वृद्धि भी हुई।

न केवल लेयर मॉर्म्स प्रशिक्षण की सुविधा देते हैं, बल्कि मानदंडों को फिर से लागू करना भी गणितीय तरीके से सामान्य है। MTP हेड्स लक्ष्य मॉडल के एम्बेडिंग्स और लॉजिट प्रोजेक्शन्स का पुन: उपयोग करते हैं, क्योंकि वे आकार में अधिक हो सकते हैं (लगभग 2 जीबी Llama 70B के लिए)। प्रशिक्षण के दौरान, ये स्थिर होते हैं और अपेक्षा की जाती है कि MTP परत वही वेक्टर स्पेस में भविष्यवाणियों को एम्बेड करना सीखे जैसे कि मूल मॉडल की प्रक्षेपण परत ने प्रशिक्षण के दौरान सीखा। मानदंडों को छोड़ने के कारण, एकल MLP से MLP द्वारा सीखे गए समान कार्य को सीखने की अपेक्षा की जाती है, जिससे ड्राफ्ट और लक्ष्य मॉडल की छिपी हुई अवस्थाओं के बीच का मेल ठहरता है।

अनुमानित डिकोडिंग के साथ अनुमान

अनुमान इंजन में, इनपुट अनुक्रमों के लिए टोकन उत्पन्न करने के लिए, उन्हें पहले उचित आकार के बैचों में समूहीकृत करने की आवश्यकता होती है, फिर अगले टोकनों के लिए केवी कैश में पृष्ठों को आवंटित किया जाना चाहिए। इनपुट टोकन और केवी पृष्ठ की जानकारी को फिर सभी समानांतर रैंकों में एक बफर प्रसारित किए गए मॉडल में पैक किया जाता है। अंततः, मेटाडाटा को GPU मेमोरी में कॉपी किया जाता है और मॉडल को लॉजिट्स का उत्पादन करने के लिए निष्पादित किया जाता है जिससे अगले टोकन का नमूना लिया जाता है।

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

हरफनमौला अनुमान सिस्टम परशँईलजीटी में FlashInfer द्वारा संचालित है, जो उस मेटाडाटा को निर्धारित करता है जो ध्यान कर्नेल को कॉन्फिगर और शेड्यूल करने के लिए निर्मित करने की आवश्यकता होती है। एक बैच बनाने वाले कुछ इनपुट अनुक्रमों को देखते हुए, प्रिफिल, डिकोड या सत्यापन के लिए, CPU-पक्ष कार्य मध्यस्थ बफर आवंटित करने और ध्यान में उपयोग किए जाने वाले कुछ स्थिर बफर को आबाद करने के लिए किया जाना चाहिए। इस कार्य में अनुमान शेड्यूलिंग और केवी पृष्ठ आवंटन की लागत के अलावा, देरी भी शामिल होती है जिन्हें GPU उपयोग को अधिकतम करने के लिए छिपाना होता है।

हालांकि हमने अनुमान के बिना अनुमानित डिकोडिंग के लिए CPU-पक्ष और GPU-पक्ष कार्य को पूरी तरह से समानांतर किया है, हमने पाया कि अनुमानित डिकोडिंग के लिए CPU-GPU संतुलन अधिक जटिल है।

ड्राफ्ट-लक्ष्य शेड्यूल

एक लक्ष्य मॉडल से छोटे होने के बावजूद, जब एक पूरा LLM ड्राफ्ट के रूप में उपयोग किया जाता है, तो यह फिर भी GPU पर गति-विलंबन पैदा करता है, कुछ महंगे CPU ऑपरेशनों को छिपाने के लिए कुछ हेडरूम प्रदान करता है। चूंकि छोटे मॉडेल्स को टेंसर पैरेलल प्रोसेसिंग का लाभ नहीं मिलता है, लक्ष्य और ड्राफ्ट को छोड़ा जाता है। हमारे कार्यान्वयन में, ड्राफ्ट मॉडल केवल एक TP ग्रुप के प्रमुख रैंक पर चलता है।

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

एकल टोकन के लिए MTP शेड्यूल

हालांकि रनटाइम अभी तक ईगल-शैली ड्राफ्ट वृक्ष अन्वेषण प्रदान नहीं करता है, हमने संभव पुरस्कार ड्राफ्ट टोकनों के रेखीय अनुक्रम के माध्यम से वृक्ष अन्वेषण की एक विशेष स्थिति को लागू किया है जो एक एकल ट्रांसफॉर्मर डिकोडर वर्ग का आकार है। यह योजना ड्राफ्ट भविष्यवाणी के लिए खुली-स्रोत वजन का उपयोग करते हुए DeepSeek R1 मॉडल के लिए उपयोग की जा सकती है। एकल टोकन की भविष्यवाणी का उप-केस दिलचस्प है, क्योंकि बड़े MTP लेयर पर्याप्त रूप से उच्च स्वीकृति दर प्राप्त करती हैं ताकि उनके ओवरहेड को उचित ठहराया जा सके।

MTP शेड्यूलिंग कुछ अधिक जटिल है, क्योंकि ड्राफ्ट मॉडल बहुत तेज है, कम CPU-पक्ष विलंब को छिपाने के लिए। इसके अलावा, ड्राफ्ट लक्ष्य मॉडल के साथ शार्स में होता है, बैच जानकारी के लिए साझा मेमोरी ट्रांसफर की आवश्यकता होती है। एक रन बैच जानकारी और नमूना में पहले टोकन को ले जाने के लिए होता है, पहले के बावजूद योजनाबद्ध तरीके से चलाने के लिए किया जाता है। अगले कदम के लिए।

GPU पर सीमित मात्रा में अतिरिक्त काम करने के बाद, हम ड्राफ्ट अनुक्रम स्वीकृति के बाद CPU-से-GPU समकालिनरण को प्राप्त करते हैं। जब लक्ष्यों के इनपुट टोकन हटाए जाते हैं, तो एक कर्नल अगले लक्ष्यों के टोकनों को उनके संबंधित स्थानों में प्लग करता है। फिर ड्राफ्ट को उसी बैच जानकारी के साथ पुन:निष्पादित किया जाता है जैसे लक्ष्य, केवी कैश प्रवेशियां जनरेट करता है और अगले रन के लिए छिपी हुई अवस्थाओं और लॉजिट्स तैयार करता है, कुछ अप्रयुक्त टोकनों पर कुछ अनावश्यक कार्य करते हुए, जो स्वीकार नहीं किए गए थे। इन स्थितियों में, अप्रयुक्त काम की विलंबता मुश्किल से मापने योग्य होती है क्योंकि ड्राफ्ट मॉडल बहुत छोटा होता है। ड्राफ्ट रन के समानांतर में, अनुक्रम लंबाई CPU पर निर्धारित करता है और अगले बैच की शेड्यूलिंग शुरू होती है, बिना GPU कार्य समाप्ति की प्रतीक्षा किए।

ड्राफ्ट लेयर में किए गए अतिरिक्त काम की विलंबता ध्यान में नहीं आती है, हालांकि MLP लेयर्स अधिक समस्याजनक होती हैं। चूंकि मैट्रिक्स_multiplier निर्देश नंबर ऑफ टोकन्स के आयाम के साथ 64 की सीमा तक जाती हैं, यदि दोगुना करने की आवश्यकता नहीं है तो सिग्निफिकैंटली अधिक ब्लॉक्स की आवश्यकता नहीं होती है, ओवरहेड दबाया जाता है। लंबे ड्राफ्ट अनुक्रमों के लिए, ओवरहेड अधिक महंगा होता है और नियमित ड्राफ्ट-लक्ष्य मॉडलों के लिए इस्तेमाल की जाने वाली योजना बेहतर काम करती है।

संदर्भ

क्या आप हमारे API प्लेटफ़ॉर्म के भविष्य को आकार देने में रुचि रखते हैं? हम भर्ती कर रहे हैं।

नई रिलीज़, फीचर्स और अपडेट के साथ अद्यतित रहने के लिए हमारे डेवलपर समुदाय में शामिल हों।

क्या आप हमारे API प्लेटफ़ॉर्म के भविष्य को आकार देने में रुचि रखते हैं? हम भर्ती कर रहे हैं।

नई रिलीज़, फीचर्स और अपडेट के साथ अद्यतित रहने के लिए हमारे डेवलपर समुदाय में शामिल हों।

क्या आप हमारे API प्लेटफ़ॉर्म के भविष्य को आकार देने में रुचि रखते हैं? हम भर्ती कर रहे हैं।

नई रिलीज़, फीचर्स और अपडेट के साथ अद्यतित रहने के लिए हमारे डेवलपर समुदाय में शामिल हों।