Qwen टीम ने मंगलवार को MIT के तहत FlashQLA जारी किया, एक उच्च-प्रदर्शन कर्नेल लाइब्रेरी जो Qwen3.5 और Qwen3.6 मॉडल परिवारों को संचालित करने वाले Gated Delta Network (GDN) लीनियर अटेंशन तंत्र को लक्षित करती है। प्रमुख बेंचमार्क: स्थापित Triton-आधारित Flash Linear Attention (FLA) कार्यान्वयन के मुक़ाबले फ़ॉरवर्ड पास में 2-3x और बैकवर्ड पास में 2x स्पीडअप, Nvidia H200 पर Qwen की टेंसर-पैरेलल कॉन्फ़िगरेशन (TP1 से TP8, hv 64 से 8 तक) के अनुरूप हेड डायमेंशन्स में मापा गया। रिपॉज़िटरी github.com/QwenLM/FlashQLA पर। मूल बात इसमें है कि FlashQLA ने किस पर बनाने का चुनाव किया: Triton पर नहीं, बल्कि TileLang पर — एक अपेक्षाकृत नया कंपाइलर फ़्रेमवर्क जो Hopper-विशिष्ट शेड्यूलिंग आदिम उजागर करता है जिन्हें Triton पूरी तरह अभिव्यक्त नहीं कर सकता।
वास्तुकलात्मक संदर्भ मायने रखता है। लीनियर अटेंशन मानक सॉफ़्टमैक्स अटेंशन की O(n²) जटिलता को O(n) से बदलता है, जो अनुक्रम लंबाई 100k टोकन्स पार करते ही भार वहन करने वाला बन जाता है। GDN एक "गेटेड" वैरिएंट है जो पिछले संदर्भ पर एक्सपोनेंशियली डीकेइंग गेट लागू करता है — एक ऐसी फ़ॉर्मूलेशन जो कुशल कर्नेल-स्तरीय कार्यान्वयन को स्वीकार करती है लेकिन वास्तव में सैद्धांतिक दक्षता देने के लिए मेमोरी मूवमेंट, Tensor Core ऑपरेशन्स, और CUDA Core कंप्यूट के सावधानीपूर्वक शेड्यूलिंग की आवश्यकता है। Qwen3.5/3.6 हाइब्रिड डिज़ाइन का उपयोग करते हैं: GDN परतें मानक पूर्ण अटेंशन के साथ बारी-बारी से आती हैं, जहां सबसे ज़रूरी है वहां पूर्ण अटेंशन की अभिव्यक्तता और बाक़ी जगह लीनियर अटेंशन की दक्षता प्राप्त करते हैं। FlashQLA विशेष रूप से उस स्टैक के लीनियर-अटेंशन आधे को अनुकूलित करता है — मतलब लाभ हाइब्रिड वास्तुकला के साथ कंपाउंड होता है, सिर्फ़ शुद्ध लीनियर-अटेंशन मॉडलों के साथ नहीं।
Triton-vs-TileLang आयाम व्यापक संकेत है। Triton (OpenAI की Python-आधारित GPU प्रोग्रामिंग भाषा) ने कर्नेल लेखन को लोकतांत्रिक बनाया — FlashAttention के संदर्भ कार्यान्वयन सहित अधिकांश उत्पादन ML कर्नेल इस पर निर्भर करते हैं। लेकिन Triton का अमूर्तता एक सामान्य CUDA प्रोग्रामिंग मॉडल को लक्षित करता है, जो Hopper-विशिष्ट विशेषताओं को पूरी तरह उजागर नहीं करता: warpgroup-स्तरीय Tensor Core ऑपरेशन्स, अतुल्यकालिक डेटा पाइपलाइन्स, और warp विशेषज्ञता जो आपको एक कर्नेल को विशेष भूमिकाओं को सौंपे गए 128-थ्रेड warpgroup में विभाजित करने देती है (एक डेटा घुमाता है, एक Tensor Core चलाता है, एक CUDA core चलाता है, सभी ओवरलैप करते हैं)। FlashQLA उस ओवरलैप को मैन्युअल रूप से व्यवस्थित करने के लिए TileLang के warp-विशेष कर्नेल आदिम का उपयोग करता है। परिणाम एक ऐसा कर्नेल है जो अधिक भंगुर (Hopper-विशिष्ट, SM90+ की आवश्यकता CUDA 12.8+ और PyTorch 2.8+ के साथ) लेकिन Triton जो उत्पादन कर सकता है उससे भौतिक रूप से तेज़ है। हम एक ऐसे शासन में वापस आ गए हैं जहां गंभीर कर्नेल प्रदर्शन हाथ-ट्यून, हार्डवेयर-विशिष्ट कार्यान्वयन की मांग करता है — Triton एक सुंदर अमूर्तता थी लेकिन इसने नवीनतम सिलिकॉन पर थ्रूपुट खो दिया।
बिल्डरों के लिए, तीन सीख। पहली, यदि आप H100/H200 पर पैमाने पर Qwen3.5/3.6 इन्फ़रेंस चला रहे हैं, FLA को FlashQLA से बदलना संभावित रूप से मुफ़्त 2x डीकोड थ्रूपुट है — लेकिन अपने विशिष्ट परिनियोजन पर सत्यापित करें क्योंकि बेंचमार्क सिंगल-कर्नेल लेटेंसी थे, एंड-टू-एंड सर्विंग नहीं। दूसरी, Triton-vs-TileLang विभाजन एक पोर्टेबिलिटी कर का संकेत देता है जो चौड़ा होता रहेगा: पोर्टेबल कर्नेल हर जगह चलते हैं लेकिन धीमे, हार्डवेयर-विशिष्ट कर्नेल पीढ़ी के अनुसार अलग कोड पथ बनाए रखने की आवश्यकता होती है (SM89 Ada, SM90 Hopper, SM100 Blackwell)। TileLang और CUTLASS जैसे फ़्रेमवर्क उच्च-प्रदर्शन छत पर तेज़ी से कब्ज़ा करेंगे जबकि Triton डेवलपर-अनुकूल फ़्लोर रखेगा। तीसरी, यह Qwen की infra टीम के बारे में एक संकेत है — मॉडल वज़न के साथ एक हाथ-ट्यून किया कर्नेल लाइब्रेरी भेजना उस तरह का वर्टिकली एकीकृत अनुकूलन है जिसे पश्चिमी ओपन-सोर्स टीमें करने में धीमी रही हैं। DeepSeek-V3 कस्टम CUDA कार्यान्वयन के साथ आया; Qwen3.x अब कस्टम कर्नेल लाइब्रेरी के साथ आता है। "ओपन वज़न" का मानक चुपचाप "ओपन वज़न साथ ही उन कर्नेल्स के जिनकी आपको वास्तव में उन्हें कुशलता से सेवा करने के लिए ज़रूरत है" बन रहा है। यह ओपन-सोर्स AI डिलीवरी के रूप में एक महत्वपूर्ण उन्नयन है।
