Pretraining Large Language Models with NVFP4
यह शोध पत्र एक नवीन NVFP4 प्रशिक्षण ढांचे को प्रस्तुत करता है जो रैंडम हेडामार्ड ट्रांसफॉर्म (Random Hadamard transforms), 2D क्वांटाइजेशन, स्टोकेस्टिक राउंडिंग और चयनात्मक उच्च-परिशुद्धता परतों (selective high-precision layers) को जोड़ता है, जिससे 10 ट्रिलियन टोकन पर 12-बिलियन पैरामीटर वाले मॉडल को सफलतापूर्वक प्रीट्रेन किया गया है, जिसका प्रदर्शन FP8 बेसलाइन के तुलनीय है, और इस प्रकार यह बड़े भाषा मॉडलों के लिए स्थिर 4-बिट परिशुद्धता प्रशिक्षण की व्यवहार्यता को प्रदर्शित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक सुपर-स्मार्ट रोबोट (एक लार्ज लैंग्वेज मॉडल, या LLM) को पूरा इंटरनेट समझने, कविता लिखने, गणित की समस्याएँ हल करने और सॉफ्टवेयर कोड लिखने के लिए सिखाने की कोशिश कर रहे हैं। इसे करने के लिए, आपको इसे खरबों उदाहरण दिखाने होंगे।
अतीत में, इस रोबोट को सिखाने के लिए एक विशाल, ऊर्जा-खपत करने वाले "मस्तिष्क" की आवश्यकता होती थी जो 8-बिट प्रिसिजन (एक हाई-डेफिनिशन कैमरे की तरह) का उपयोग करता था। यह शक्तिशाली था, लेकिन यह महंगा, धीमा था, और बहुत अधिक बिजली खा जाता था।
NVIDIA का नया पेपर इस बात का परिचय देता है कि कैसे आप इस रोबोट को 4-बिट प्रिसिजन (NVFP4) का उपयोग करके सिखा सकते हैं। इसे एक अत्यधिक अनुकूलित, अल्ट्रा-एफिशिएंट 1080p कैमरे में स्विच करने के रूप में सोचें। आप सोच सकते हैं, "क्या तस्वीर धुंधली नहीं हो जाएगी? क्या रोबोट गलतियाँ नहीं करेगा?"
उत्तर है: यदि आप सही ट्रिक्स का उपयोग करते हैं तो नहीं।
यहाँ बताया गया है कि उन्होंने इसे कैसे काम करने के योग्य बनाया, कुछ रोजमर्रा के उपमाओं (analogies) का उपयोग करते हुए।
1. समस्या: "छोटा बॉक्स" वाली समस्या
कल्पना कीजिए कि आप एक विशाल, भारी सूटकेस (डेटा) को एक छोटे से बैकपैक (4-बिट फॉर्मेट) में पैक करने की कोशिश कर रहे हैं।
- पुराना तरीका (MXFP4): आप सब कुछ अंदर डालने की कोशिश करते हैं। यदि सूटकेस में कुछ बहुत भारी चीजें (outliers) हैं, तो वे बाकी कपड़ों को कुचल देती हैं, या बैकपैक फट जाता है। रोबोट भ्रमित हो जाता है क्योंकि "भारी" नंबर शून्य या अधिकतम सीमा में दब जाते हैं।
- नया तरीका (NVFP4): NVIDIA ने एक स्मार्ट बैकपैक डिजाइन किया है। एक बड़े कंपार्टमेंट के बजाय, उन्होंने बैकपैक को छोटे, विशिष्ट पॉकेट में विभाजित किया है।
- छोटे पॉकेट: वे डेटा के छोटे ब्लॉक (32 के बजाय 16 आइटम) का उपयोग करते हैं। इसका मतलब है कि "भारी" चीजें उतने "हल्के" आइटम्स को नहीं कुचल पातीं।
- बेहतर लेबल: वे यह वर्णन करने के लिए कि चीजें कितनी भारी हैं, केवल दो की घातों (powers of two) का अनुमान लगाने के बजाय, एक अधिक सटीक लेबलिंग सिस्टम (E4M3) का उपयोग करते हैं। यह सुनिश्चित करता है कि बैकपैक बिना फटे डेटा को पूरी तरह से फिट कर सके।
2. चार जादुई ट्रिक्स
केवल एक बेहतर बैकपैक होना ही काफी नहीं है। इस रोबोट को उस स्तर तक सिखाने के लिए जैसा कि इसने 8-बिट कैमरे के साथ किया था, उन्होंने चार विशिष्ट "प्रशिक्षण तकनीकें" जोड़ी हैं:
A. "सुरक्षा जाल" (Mixed Precision)
कल्पना कीजिए कि आप एक छात्र को जटिल गणित सिखा रहे हैं। आप उन्हें 90% काम एक सस्ते कैलकुलेटर (4-बिट) के साथ करने देते हैं, लेकिन अंतिम, सबसे महत्वपूर्ण चरणों के लिए (जैसे कि उनके थीसिस के अंतिम कुछ पन्ने), आप उन्हें एक सुपर-प्रिसाइज, महंगे कैलकुलेटर (BF16/FP32) का उपयोग करने देते हैं।
- क्यों? सीखने की प्रक्रिया का शुरुआती और मध्य भाग मजबूत होता है, लेकिन बिल्कुल अंत बहुत नाजुक होता है। यदि आप अंतिम चरणों के लिए सस्ते कैलकुलेटर का उपयोग करते हैं, तो छात्र उत्तर में थोड़ा गलत हो सकता है। अंतिम कुछ परतों को उच्च प्रिसिजन में रखकर, रोबोट को दोनों का सर्वश्रेष्ठ मिलता है: गति और सटीकता।
B. "शफल" (Random Hadamard Transforms)
कल्पना कीजिए कि आपके पास ताश की एक गड्डी है जिसमें कुछ कार्ड "जोकर" (outliers) हैं जो बहुत बड़े और अजीब हैं। यदि आप उन्हें बांटते हैं, तो वे खेल को बिगाड़ देते हैं।
- ट्रिक: कार्ड बांटने से पहले, आप एक विशेष गणितीय "शफल" (Hadamard transform) का उपयोग करके गड्डी को शफल करते हैं। यह "जोकरों" को फैला देता है ताकि वे एक साथ न हों। अब, जब रोबोट डेटा को देखता है, तो अजीब नंबर सामान्य नंबरों की तरह दिखते हैं, और 4-बिट फॉर्मेट उन्हें आसानी से संभाल सकता है।
- नोट: उन्होंने पाया कि यह शफल केवल "बैकवर्ड पास" (जब रोबोट अपनी गलतियों की जाँच करता है) के लिए आवश्यक है, "फॉरवर्ड पास" (जब वह भविष्यवाणियां करता है) के लिए नहीं।
C. "सुसंगत मानचित्र" (2D Scaling)
कल्पना कीजिए कि आप अपने दोस्त को दिशा निर्देश दे रहे हैं।
- समस्या: सुबह, आप उन्हें सड़क के नाम के आधार पर "बाएं" मुड़ने के लिए कहते हैं। शाम को, जब वे वापस आते हैं, तो आप उन्हें इमारत के नंबर के आधार पर "दाएं" मुड़ने के लिए कहते हैं। यदि सुबह और शाम के बीच मानचित्र बदल जाता है, तो आपका दोस्त खो जाएगा।
- समाधान: AI में, "फॉरवर्ड पास" और "बैकवर्ड पास" डेटा को अलग तरह से देखते हैं (पंक्तियाँ बनाम कॉलम)। यदि 4-बिट फॉर्मेट उन्हें अलग तरह से मानता है, तो रोबोट भ्रमित हो जाता है। NVIDIA ने एक 2D ब्लॉक स्केलिंग विधि बनाई है। यह एक ग्रिड बनाने जैसा है ताकि आप जिस भी दिशा से देखें, "बाएं" और "दाएं" के निर्देश सुसंगत रहें। यह रोबोट को सीखने के दौरान रास्ता भटकने से बचाता है।
D. "निष्पक्ष सिक्का उछालना" (Stochastic Rounding)
कल्पना कीजिए कि आपके पास कंचों (marbles) का एक जार है, और आपको कंचों की संख्या को निकटतम पूर्ण संख्या तक राउंड करना है।
- समस्या: यदि आप हमेशा 1.4 को 1 नीचे की ओर और 1.6 को 2 ऊपर की ओर राउंड करते हैं, तो आप एक पक्षपात (bias) पैदा करते हैं। लाखों गणनाओं के दौरान, रोबून एक ही दिशा में भटक सकता है।
- समाधान: हमेशा नीचे राउंड करने के बजाय, आप एक सिक्का उछालते हैं। यदि आपके पास 1.4 है, तो आप 60% बार नीचे राउंड करते हैं और 40% बार ऊपर। यह "रैंडमनेस" यह सुनिश्चित करती है कि, औसतन, रोबोट पूरी तरह से केंद्रित रहता है और भटकता नहीं है। यह उस "ग्रेडिएंट" (त्रुटि संकेत) के लिए महत्वपूर्ण है जो रोबोट को बताता है कि कैसे सीखना है।
3. परिणाम: क्या यह काम कर गया?
NVIDIA ने इसे एक विशाल 12-बिलियन-पैरामीटर मॉडल पर टेस्ट किया, जिसे 10 ट्रिलियन टोकन (डेटा की एक विशाल मात्रा) पर प्रशिक्षित किया गया था।
- तुलना: उन्होंने अपने 4-बिट रोबोट की तुलना एक मानक 8-बिट रोबोट से की।
- परिणाम: 4-बिट रोबोट ने 8-बिट वाले के लगभग समान प्रदर्शन किया।
- MMLU-Pro (AI के लिए एक कठिन परीक्षा) नामक टेस्ट पर, 8-बिट रोबोट ने 62.62% प्राप्त किया। 4-बिट रोबोट ने 62.58% प्राप्त किया।
- लॉस कर्व (एक माप कि रोबोट कितनी अच्छी तरह सीख रहा है) लगभग एक समान मैच था।
निचोड़ (The Bottom Line)
NVIDIA ने यह पता लगा लिया है कि कैसे एक सुपर-इंटेलिजेंट AI के "मस्तिष्क" को छोटा (8-बिट से 4-बिट तक) किया जाए, बिना उसे कम बुद्धिमान बनाए।
- यह क्यों मायने रखता है? इसका मतलब है कि हम अगली पीढ़ी के AI मॉडल को दोगुनी तेजी से प्रशिक्षित कर सकते हैं, आधी मेमोरी का उपयोग कर सकते हैं, और भारी मात्रा में ऊर्जा बचा सकते हैं।
- उपमा: यह एक विशाल जेट विमान को आधा ईंधन खर्च करके उड़ाने का तरीका खोजने जैसा है, बिना उसकी गति या सुरक्षा को कम किए।
यह केवल एक छोटा सा बदलाव नहीं है; यह एक बड़ी छलांग है जो भविष्य के AI को तेज़, सस्ता और अधिक सुलभ बनाती है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।