NVIDIA डीजीएक्स स्पार्क पर मिश्रण-विशेषज्ञों के अनुमान को बढ़ाने के तीन तरीके हैं
तीन अनुकूलन गति Ling Mixture के विशेषज्ञों का अनुमान DGX Spark पर 42.5% द्वारा, विलंबता में कटौती करें और यदि सही ढंग से वायर्ड हो तो सटीकता बनाए रखें।
मुख्य जानकारी
- एक एकल NVIDIA DGX Spark पर लिंग- 3.0 फ्लैश को तीन एमओई अनुमान अनुकूलन के संयोजन से तेज किया जा सकता है, जो सटीकता में अपरिवर्तित GSM8K पर + 42.5% डिकोड थ्रूपुट और - 24.5% विलंबता प्राप्त करता है।
- मुख्य बैच-आकार-1 बाधा एमओई वजन से मेमोरी ट्रैफ़िक पढ़ता है और बड़े एलएम-हेड शब्दावली प्रक्षेपण, इसलिए विधियां या तो प्रति चरण लागत को कम करती हैं या कदम की संख्या में कमी आती हैं।
- हमिंग एमएक्सएफपी 4 के लिए मोई बैकएंड मॉडल के संकीर्ण मोई आयामों के लिए विशेष कर्नेल का संकलन करके मामूली गति प्रदान करता है।
- एलएम हेड का ऑनलाइन एफपी 8 क्वांटिज़ेशन इसकी रीड वॉल्यूम को आधा कर देता है, जबकि 3.0 अनुमानित डिकोडिंग प्रति राउंड कई टोकन की पुष्टि करने के लिए एक अंतर्निहित ड्राफ्ट लेयर का उपयोग करता है और डीकोड चरणों को कम करता है।
- एक महत्वपूर्ण एकीकरण विवरण: FP8 एलएम-हेड क्वांटिज़ेशन प्लस एमटीपी को पूरे एलएम हेड मॉड्यूल को साझा करना चाहिए; अन्यथा मसौदा चुपचाप एफपी 8 भारों की गलत व्याख्या करता है, लंबाई के पतन को स्वीकार करता है और प्रदर्शन आधार रेखा से नीचे गिर सकता है।
एकल NVIDIA DGX Spark पर लिंग- 3.0 फ्लैश चलाने वाले डेवलपर्स अब तीन लक्षित अनुकूलन के संयोजन से टोकन को काफी तेज़ी से डिकोड कर सकते हैं, बशर्ते वे उन्हें एक साथ सही तरीके से तार करें। बैच आकार 1 में सभी 1,319 जीएसएम8के परीक्षण प्रश्नों में, स्टैक ने प्रति सेकंड 37.81 से 53.89 टोकन तक डीकोड थ्रूपुट बढ़ाया (+42.5%), औसत एंड-टू-एंड विलंबता 15.21 एस से 11.49 एस (−24.5%) में कटौती की, और सांख्यिकीय रूप से अपरिवर्तित सटीकता छोड़ दी (96.89% से 96.82%) । पकड़ः एक एकीकरण विस्तार, अगर चूक गया, तो चुपचाप अछूत आधार रेखा की तुलना में धीमी विन्यास का उत्पादन करता है।
पहली जगह में क्यों डिकोडिंग धीमी थी
बैच साइज 1 पर डेकोडिंग मेमोरी-बाउंड था: ध्यान गणित के बजाय मॉडल वजन पढ़ना, निष्पादन समय चलाया। दो ऑपरेशनों ने मिश्रण-विशेषज्ञ (एमओई) गणना और आउटपुट-लेयर प्रोजेक्शन (एलएम हेड) का प्रभुत्व किया जो शब्दावली में हर टोकन को स्कोर करता है।
मूल्यांकन किया गया मॉडल, लिंग- 3.0 -फ्लैश-एफपी 4, 124 बिलियन कुल मापदंडों और प्रति टोकन 5.1 अरब सक्रिय के साथ एक एमओई मॉडल है। इसमें 42 परतें हैंः 35 Kimi Delta Attention (केडीए) रैखिक-ध्यान परतें और सात मल्टी-हेड लैंटेंट एटेन्शन (एमएलए) परतें हैं। प्रत्येक मोई लेयर 512 रूट किए गए विशेषज्ञों में से आठ को एक टोकन का मार्ग प्रशस्त करता है और एक साझा विशेषज्ञ। यह मॉडल एक देशी 256K-टोकन संदर्भ विंडो प्रदान करता है, जिसे 1M टोकन तक विस्तारित किया जा सकता है, और लंबी क्षितिज कार्य स्थिरता, टूल-कॉलिंग सटीकता और हार्नेस संगतता में पिछले लिंग फ्लैश मॉडल पर सुधार करता है। जटिल कार्यों के लिए एजेंट या विलंब संवेदनशील इंटरैक्शन के लिए तर्क बंद कर दिया जाता है।
बेसलाइन ने आधिकारिक कुकबुक के W4A8 कॉन्फ़िगरेशन का पालन कियाः फ्लैशइन्फर MXFP4 MoE कर्नेल, NVIDIA CUTLASS घना GEMM और `--enable-fp32-lm-head∀ विकल्प। LM हेड प्रोजेक्ट्स एक छिपे हुए आयाम 2,560 को 157,184 टोकन की शब्दावली में।
उन निष्कर्षों ने दो लीवर का सुझाव दियाः प्रति डिकोड चरण वजन यातायात को कम करें, और सत्यापन दौर में अधिक टोकन उत्पन्न करें। नीचे दी गई तीन तकनीकें उन लीवर के लिए मैप करती हैं - दो हमले कदम की लागत, एक हमला कदम गिनती।
अनुकूलन 1: हमिंग एमएक्सएफपी 4 मोई बैकएंड में स्वैपिंग
पहला परिवर्तन ∀flashinfer_mxfp4` MoE बैकएंड को एक स्वतंत्र कर्नेल लाइब्रेरी के साथ बदल देता है, जिसे ≠humming-kernels̅ pip पैकेज के रूप में शिप किया जाता है। FlashInfer CUTLASS पथ के विपरीत, हमिंग वास्तविक एम / एन / के आयामों, डेटा प्रकार और GPU वास्तुकला के लिए रनटाइम पर CUBINs उत्पन्न करने और संकलित करने के लिए NVIDIA CUDA Runtime Compilation (एनवीआरटीसी) का उपयोग करता है, जो बाइनरी को कैशिंग करता है ।
यह विशेषज्ञता लिंग- 3.0 फ्लैश के अपेक्षाकृत संकीर्ण ∀moe_intermediate_size` 768 के लिए मायने रखती है। संकलन granularity भी तेजी से भिन्न होता हैः एक एकल हमिंग कर्नेल सेकंड में समाप्त हो जाता है, जबकि FlashInfer CUTLASS पथ 97 लक्ष्यों को संकलित करने के लिए निंजा का उपयोग करता है और दसियों मिनट का क्रम लेता है।
एक सिंथेटिक वर्कलोड पर 32K इनपुट टोकन, 2K आउटपुट टोकन्स और बैच आकार 1 के साथ, स्वैप ने अकेले प्रति आउटपुट टॉकेन (टीपीओटी) का समय 27.71 एमएस से बढ़ाकर 25.35 एमएस कर दिया और डिकोड थ्रूपुट को 36.09 से 39.45 टोकन प्रति सेकंड [3a 9.3% लाभ में बदल दिया।
अनुकूलन 2: एलएम सिर के ऑनलाइन एफपी 8 क्वांटिज़ेशन
चेकपॉइंट में, एलएम हेड को बीएफ 16 में संग्रहीत किया जाता है और इसे ∀modules_to_not_convert` में सूचीबद्ध किया गया है, इसलिए यह अनक्वांटिज्ड लोड होता है। इसकी शब्दावली जीईएमएम 157,184 × 2,560 है, और प्रत्येक उत्पन्न टोकन के लिए पूरे वजन ब्लॉक को पढ़ा जाना चाहिए एक बैंडविड्थ बाधा के तहत उच्च-मूल्य वाले संपीड़न लक्ष्य।
यह फिक्स केवल एलएम हेड का निर्माण करते समय एक गतिशील एफपी 8 क्वांटिज़ेशन कॉन्फ़िगरेशन लागू करता है; बाकी मॉडल चेकपॉइंट की FP8 / MXFP4 सेटिंग्स को बनाए रखता है। उन वजनों को BF16 से FP6 में स्थानांतरित करने से परत की रीडिंग वॉल्यूम आधा हो जाती है। इसे `SGLANG_ENABLE_FP8_LM_HEAD=1∀ के साथ सक्षम किया गया है और आधार रेखा ▽--enable-fp32-lm-head゙ विकल्प के साथ पारस्परिक रूप से अनन्य है, जो धीमी शब्दावली-जीईएमएम पथ के माध्यम से एफपी 32 में लॉगिट आउटपुट करता है।
हम्मिंग पर स्टैक्ड, टीपीओटी 22.76 एमएस तक गिर गया और थ्रूपुट आधार रेखा से [321.7% प्रति सेकंड 43.94 टोकन तक बढ़ गया, और अकेले हम्मिंग के ऊपर 11.4%।
अनुकूलन 3: NEXTN के साथ एमटीपी अनुमानित डिकोडिंग
पहले दो अनुकूलन प्रत्येक डिकोड चरण की लागत को कम करते हैं। सट्टा डीकोडिंग अन्य मार्ग लेता हैः कम कदम। लिंग- 3.0 फ्लैश एक NEXTN पूर्वानुमान परत (∀num_nextn_predict_layers: 1 `) जहाज करता है जो सीधे ड्राफ्ट मॉडल के रूप में बिना किसी अतिरिक्त प्रशिक्षण या डाउनलोड के उपयोग किया जा सकता है। कॉन्फ़िगरेशन तीन ड्राफ्ट चरणों और चार टोकन सत्यापन विंडो का उपयोग करता हैः प्रत्येक दौर, मसौदा अनुक्रम में तीन टोकन की भविष्यवाणी करता है और लक्ष्य सही उपसर्ग को स्वीकार करते हुए एक बार में चार पदों की पुष्टि करता है।
भुगतान स्वीकार लंबाई (प्रति दौर औसत स्वीकृत टोकन) और सत्यापन-लागत अनुपात (एक सामान्य डिकोड चरण के मुकाबले एक सत्यापन कदम की लागत) पर निर्भर करता है, जो मोटे तौर पर मापा जाता है 2.26. विशेष रूप से, प्रमाणीकरण लागत ध्यान से नहीं आई थी बैच आकार 1 में, KV रीड्स वजन के सापेक्ष छोटे थे लेकिन एमओई विशेषज्ञ सक्रियण सेः एक सामान्य डीकोडिंग आठ विशेषज्ञों को एक टोकन के लिए सक्रिय करती है, जबकि चार टोकन की पुष्टि 32 तक कर सकती है।
तीनों को सक्षम करने के साथ, सिंथेटिक वर्कलोड 9.72 एमएस टीपीओटी और 102.88 टोकन प्रति सेकंड तक पहुंच गया, +185.1% आधार रेखा से ऊपर, 3.90 टोकन / राउंड पर स्वीकार लंबाई के साथ।
एकीकरण जालः पूरे एलएम सिर को साझा करें, न कि केवल इसके भार
ऑनलाइन एफपी 8 एलएम-हेड क्वांटिज़ेशन और एमटीपी को एक साथ सक्षम करने के लिए ड्राफ्ट मॉडल की आवश्यकता होती है कि वह पूरे एलएम हेड मॉड्यूल को लक्ष्य के साथ साझा करे, न कि केवल इसके वजन टेंसर। मूल Ling NEXTN कार्यान्वयन ने इस इंटरफेस का खुलासा नहीं किया था। इसके बिना, ढांचा चुपचाप वापस गिर जाता हैः ड्राफ्ट FP8 भार प्राप्त करता है लेकिन उन्हें BF16 के रूप में व्याख्या करता है, स्वीकार लंबाई ढह जाती है 1.00, और थ्रूपुट किसी भी अनुकूलन के बिना कॉन्फ़िगरेशन से कम हो जाता है। उस इंटरफ़ेस के माध्यम से पूर्ण मॉड्युल को साझा करना सामान्य स्वीकृति बहाल करता है। लिंग कुकबुक संयुक्त सेटअप दस्तावेज करती है।
GSM8K रन वास्तव में क्या दिखाया
सिंथेटिक वर्कलोड व्यक्तिगत लाभ को अलग करते हैं लेकिन अनुमानित डिकोडिंग को अधिक महत्व देते हैं, क्योंकि दोहराए जाने वाले आउटपुट का मसौदा तैयार करना आसान होता है। इसलिए टीम ने सभी 1,319 GSM8K प्रश्नों पर एक सख्त एंड-टू-एंड तुलना भी कीः प्रशिक्षण-सेट प्रदर्शन के साथ पांच-शॉट संकेत, तापमान 0.6, top_p 0.95, top_k 29, max_tokens 32,768, सोच की श्रृंखला सक्षम थी। नमूनाकरण पैरामीटर, पार्सर, पांच-शूट प्रोटोकॉल, यादृच्छिक बीज और मेमोरी आवंटन हथियारों के बीच संरेखित किए गए थे।
| मीट्रिक | आधार रेखा | सभी तीन अनुकूलन | अंतर |
|---|---|---|---|
| एमओई बैकएंड | flashinfer_mxfp4 | गुनगुनाना | (अंग्रेज़ी में) . , । |
| एलएम सिर | एफपी 32 | ऑनलाइन एफपी8 | (अंग्रेज़ी में) . , । |
| अनुमानित डिकोडिंग | कोई नहीं | एमटीपी3 | (अंग्रेज़ी में) . , । |
| टीपीओटी | 26.45 ms | 18.56 ms | -29.8% |
| डिकोड थ्रूपुट | 37.81 टन/सेकंड | 53.89 टन/घंटे | +42.5% |
| GSM8K सटीकता | 96.89% | 96.82% | -0.08 पीटी |
| एमटीपी स्वीकार लंबाई | (अंग्रेज़ी में) . , । | 2.68 | (अंग्रेज़ी में) . , । |
| औसत विलंबता | 15.21 एस | 11.49 s | -24.5% |
| विलंबता P50 / P95 | 8.36 / 50.20 s | 6.11 / 38.60 s | -27% / −23% |
| औसत टीटीएफटी | 0.207 s | 0.214 s | (अंग्रेज़ी में) . , । |
| अनुरोध त्रुटियाँ/कटौती | 0 / 0 | 0 / 0 | (अंग्रेज़ी में) . , । |
औसत आउटपुट लंबाई बेसलाइन और अनुकूलित रन के लिए 567 और 607 टोकन थी; मध्य उत्पादन लगभग 310 टोकन था, जिसमें P95 आउटपुट लम्बाई 1,900[62,060 टोकन के आसपास थी।
तीन अंतर सिंथेटिक आकृति और वास्तविक दुनिया के बीच की खाई को समझाते हैं। सिंथेटिक्स आउटपुट अधिक दोहराए जाने वाले होते हैं, इसलिए जीएसएम 8 के पर लंबाई हिट 3.90 बनाम 2.68 स्वीकार करते हैं। नमूनाकरण अलग-अलग थाः लालची डिकोडिंग सिंथेटीकली तापमान 0.6, top_p 0.95, top_k 29 में वास्तविक रूप से चलाया जाता है। और आउटपुट लंबाई 2K टोकन संश्लेषित रूप से तय की गई थी, जबकि GSM8K मध्यवर्ती लगभग 310 fixed पहले दो अनुकूलन से निश्चित प्रति चरण ओवरहेड कटौती को बहुत कम उत्पादन पर फैला रहा है।
आपके तैनाती के लिए इसका क्या अर्थ है
तंत्र ओवरलैप नहीं करते हैं: हमिंग और एफपी 8 एलएम हेड कट प्रति-चरण लागत, जबकि एमटीपी चरणों की संख्या में कटौती करता है, यही कारण है कि वे ढेर हो जाते हैं। लेकिन स्टैकिंग स्वचालित नहीं है। प्रत्येक अनुकूलन स्वतंत्र रूप से काम किया गया था, फिर भी सभी तीन को पूर्ण एलएम-हेड साझाकरण इंटरफ़ेस की आवश्यकता थी; अन्यथा सिस्टम अनऑप्टिमाइज्ड बेसलाइन से धीमी गति से कुछ करने के लिए चुपचाप गिरावट आती है।
व्यावहारिक टेकअवेः स्टार्टअप पर सत्यापित करें कि प्रत्येक अनुकूलन वास्तव में सक्रिय है बजाय बाद के प्रदर्शन संख्याओं से कॉन्फ़िगरेशन स्थिति का अनुमान लगाने की। और एक वर्कलोड पर बेंचमार्क जो आपके इच्छित तैनाती जैसा दिखता है 40] 185.1% सिंथेटिक लाभ अन्य कार्यभारों के लिए लाभ स्थापित नहीं करता है। कोड और डिप्लॉयमेंट निर्देश लिंग कुकबुक में हैं, मानक एमएक्सएफपी 4 डिप्लोयमेंट स्टेप्स के साथ एमएक्सएफ़पी 4 डेवलपमेंट नोटबुक.

Comments (0)