मिश्रित परिशुद्धता प्रशिक्षण
मिश्रित परिशुद्धता प्रशिक्षण तंत्रिका नेटवर्क प्रशिक्षण को गति देता है और अधिकांश गणित को 32-बिट के बजाय 16-बिट फ्लोटिंग पॉइंट में निष्पादित करके मेमोरी उपयोग में कटौती करता है।
सिंहावलोकन
It lets the same GPU train bigger models faster with almost no loss in accuracy.
गहरा गोता
पारंपरिक प्रशिक्षण वज़न संग्रहीत करता है और गणित को 32-बिट फ़्लोटिंग पॉइंट (FP32) में चलाता है। मिश्रित परिशुद्धता भारी मैट्रिक्स गुणन के लिए कम-परिशुद्धता 16-बिट प्रारूप (एफपी 16 या बीफ्लोट 16) का उपयोग करती है, जबकि स्थिर अपडेट के लिए वजन की 32-बिट 'मास्टर कॉपी' रखती है। क्योंकि 16-बिट नंबर आधे आकार के होते हैं, GPU मेमोरी में अधिक फिट होते हैं और Tensor Cores उन्हें लगभग 2-8x तेजी से प्रोसेस करते हैं। पकड़ एफपी16 की संकीर्ण सीमा है: छोटे ग्रेडिएंट शून्य तक प्रवाहित हो सकते हैं। मानक निर्धारण हानि स्केलिंग है, जो बैकप्रॉपैगेशन से पहले एक बड़े कारक द्वारा हानि को गुणा करता है ताकि छोटे ग्रेडिएंट प्रतिनिधित्व योग्य बने रहें, फिर वजन अपडेट से पहले इसे वापस विभाजित कर दिया जाता है। NVIDIA का एपेक्स और PyTorch और TensorFlow में अंतर्निहित AMP (स्वचालित मिश्रित परिशुद्धता) इसे स्वचालित करते हैं।
तकनीकी अंतर्दृष्टि
एफपी16 में केवल 5 घातांक बिट्स हैं, जो एक छोटी गतिशील रेंज देते हैं जो ग्रेडिएंट अंडरफ़्लो का कारण बनता है। Bfloat16 8 एक्सपोनेंट बिट्स (FP32 की रेंज से मेल खाता हुआ) रखता है, लेकिन कम मंटिसा बिट्स रखता है, इसलिए इसे शायद ही कभी लॉस स्केलिंग की आवश्यकता होती है - एक प्रमुख कारण Google TPU और आधुनिक GPU इसे पसंद करते हैं। टेन्सर कोर 16-बिट ऑपरेंड को गुणा करके काम को तेज करता है लेकिन एफपी32 में आंशिक रकम जमा करता है, परिशुद्धता को संरक्षित करता है जहां योग त्रुटियां अन्यथा मिश्रित होती हैं।
सामरिक प्रभाव
लागत और बजट
वास्तुकला संबंधी निर्णय वर्षों तक प्रदर्शन और परिचालन लागत को संचालित करते हैं।
स्पष्ट निर्णय
तकनीकी शिक्षा टीमों को सही स्टैक चुनने में मदद करती है, न कि केवल नवीनतम स्टैक चुनने में।
गुणवत्ता नियंत्रण
बेहतर इंजीनियरिंग विकल्प उत्पादन में विश्वसनीयता की घटनाओं को कम करते हैं।
मिश्रित परिशुद्धता प्रशिक्षण का भविष्य
परिशुद्धता गिरती रहती है। एनवीआईडीआईए हॉपर और ब्लैकवेल जीपीयू पर समर्थित एफपी8 प्रशिक्षण, फ्रंटियर मॉडल के लिए मानक बन रहा है, और एफपी4 और माइक्रोस्केलिंग प्रारूप (एमएक्सएफपी) में अनुसंधान आगे बढ़ रहा है। प्रति-परत परिशुद्धता को स्वचालित रूप से चुनने के लिए फ्रेमवर्क की अपेक्षा करें, मूल रूप से संकीर्ण प्रारूपों को संभालने के लिए हार्डवेयर, और कम-परिशुद्धता प्रशिक्षण और अनुमान के बीच की रेखा को धुंधला करने के लिए परिमाणीकरण-जागरूक प्रशिक्षण, ट्रिलियन-पैरामीटर मॉडल के प्रशिक्षण की लागत को कम कर देता है।
वास्तविक विश्व कार्यान्वयन
PyTorch का torch.cuda.amp.autocast एक प्रशिक्षण लूप को लपेटकर मेमोरी को लगभग आधा कर देता है और एक ही GPU पर थ्रूपुट को दोगुना कर देता है
हानि-स्केलिंग ट्यूनिंग से बचने के लिए TPU पर bfloat16 में GPT-शैली ट्रांसफार्मर जैसे बड़े भाषा मॉडल का प्रशिक्षण
ResNet छवि प्रशिक्षण को FP32 से FP16 पर स्विच करके उपभोक्ता RTX GPU पर एक बड़ा बैच आकार फ़िट करना
प्रीट्रेनिंग फ्रंटियर-स्केल मॉडल की लागत में कटौती करने के लिए NVIDIA H100 GPU पर FP8 मिश्रित परिशुद्धता
जोखिम और रेलिंग
एक बेंचमार्क को अनुकूलित करने से व्यापक सिस्टम कमजोरियों को छुपाया जा सकता है।
बुनियादी ढांचे और रखरखाव की लागत को अक्सर कम करके आंका जाता है।
जैसे-जैसे सिस्टम अधिक जटिल होते जाएंगे सुरक्षा और अवलोकन संबंधी अंतराल बढ़ सकते हैं।
कार्यान्वयन रोडमैप
कार्यान्वयन से पहले विलंबता, गुणवत्ता और लागत लक्ष्य परिभाषित करें।
यथार्थवादी लोड और डेटा स्थितियों के तहत बेंचमार्क।
त्रुटियों, बहाव और उपयोगकर्ता प्रभाव के लिए उपकरण निगरानी।
स्केलिंग से पहले रोलबैक और घटना प्रतिक्रिया पथ तैयार करें।
अन्वेषण करते रहें
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Mixed Precision Training quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
अगली गाइड
छद्म-लेबलिंग और स्व-प्रशिक्षण
अक्सर पूछे जाने वाले प्रश्नों
What is Mixed Precision Training?
मिश्रित परिशुद्धता प्रशिक्षण तंत्रिका नेटवर्क प्रशिक्षण को गति देता है और अधिकांश गणित को 32-बिट के बजाय 16-बिट फ्लोटिंग पॉइंट में निष्पादित करके मेमोरी उपयोग में कटौती करता है। यह उसी GPU को बड़े मॉडलों को तेज़ी से प्रशिक्षित करने देता है और सटीकता में लगभग कोई हानि नहीं होती है।
मिश्रित परिशुद्धता प्रशिक्षण वज़न की 32-बिट 'मास्टर कॉपी' क्यों रखता है?
वजन संबंधी अपडेट अक्सर बहुत छोटे होते हैं; उन्हें 16-बिट में संग्रहीत करने से सटीकता खो जाएगी, इसलिए पूर्ण-सटीक मास्टर कॉपी अपडेट को सटीक रखती है।
FP16 प्रशिक्षण में हानि स्केलिंग किस समस्या का समाधान करती है?
FP16 में एक सीमित गतिशील रेंज है, इसलिए छोटे ग्रेडिएंट शून्य तक घूम सकते हैं; बैकप्रॉप से पहले नुकसान को गुणा करना उन्हें प्रतिनिधित्व योग्य बनाए रखता है।
FP16 की तुलना में bfloat16 का क्या लाभ है?
Bfloat16 FP32 की तरह 8 एक्सपोनेंट बिट्स रखता है, इसलिए इसकी डायनेमिक रेंज बड़ी है और ग्रेडिएंट अंडरफ्लो दुर्लभ है।
16-बिट इनपुट का उपयोग करते समय टेन्सर कोर सटीकता कैसे बनाए रखते हैं?
टेन्सर कोर 16-बिट ऑपरेंड को गुणा करते हैं लेकिन 32-बिट में जमा होते हैं, जिससे संयोजन त्रुटियों को रोका जा सकता है।
प्रशिक्षण के दौरान 32-बिट मानों के बजाय 16-बिट मानों का उपयोग करने का प्राथमिक लाभ क्या है?
आधे आकार की संख्याएं जीपीयू मेमोरी में अधिक डेटा फिट करती हैं और विशेष हार्डवेयर प्रक्रिया मैट्रिक्स गणित को कई गुना तेज कर देती हैं।