तकनीकी गाइड

मिश्रित परिशुद्धता प्रशिक्षण

मिश्रित परिशुद्धता प्रशिक्षण तंत्रिका नेटवर्क प्रशिक्षण को गति देता है और अधिकांश गणित को 32-बिट के बजाय 16-बिट फ्लोटिंग पॉइंट में निष्पादित करके मेमोरी उपयोग में कटौती करता है।

सिंहावलोकन

मिश्रित परिशुद्धता प्रशिक्षण तंत्रिका नेटवर्क प्रशिक्षण को गति देता है और अधिकांश गणित को 32-बिट के बजाय 16-बिट फ्लोटिंग पॉइंट में निष्पादित करके मेमोरी उपयोग में कटौती करता है। यह उसी GPU को बड़े मॉडलों को तेज़ी से प्रशिक्षित करने देता है और सटीकता में लगभग कोई हानि नहीं होती है।

मिश्रित परिशुद्धता प्रशिक्षण एक तकनीकी निर्माण खंड है जो बड़े पैमाने पर मॉडल की गुणवत्ता, बुनियादी ढांचे की लागत, विलंबता और विश्वसनीयता को प्रभावित करता है।

गहरा गोता

पारंपरिक प्रशिक्षण वज़न संग्रहीत करता है और गणित को 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 में आंशिक रकम जमा करता है, परिशुद्धता को संरक्षित करता है जहां योग त्रुटियां अन्यथा मिश्रित होती हैं।

मिश्रित परिशुद्धता प्रशिक्षण में महारत हासिल करना

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

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

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

सामरिक प्रभाव

वास्तुकला संबंधी निर्णय वर्षों तक प्रदर्शन और परिचालन लागत को संचालित करते हैं।

वास्तुकला संबंधी निर्णय वर्षों तक प्रदर्शन और परिचालन लागत को संचालित करते हैं। उच्च-गुणवत्ता वाली तैनाती में, इसे मापने योग्य संचालन नियमों, स्वामित्व सीमाओं और आवर्ती समीक्षा अनुष्ठानों में अनुवादित किया जाता है ताकि टीमें अस्पष्टता को मापने के बजाय आत्मविश्वास को बढ़ा सकें।

तकनीकी शिक्षा टीमों को सही स्टैक चुनने में मदद करती है, न कि केवल नवीनतम स्टैक चुनने में।

तकनीकी शिक्षा टीमों को सही स्टैक चुनने में मदद करती है, न कि केवल नवीनतम स्टैक चुनने में। उच्च-गुणवत्ता वाली तैनाती में, इसे मापने योग्य संचालन नियमों, स्वामित्व सीमाओं और आवर्ती समीक्षा अनुष्ठानों में अनुवादित किया जाता है ताकि टीमें अस्पष्टता को मापने के बजाय आत्मविश्वास को बढ़ा सकें।

बेहतर इंजीनियरिंग विकल्प उत्पादन में विश्वसनीयता की घटनाओं को कम करते हैं।

बेहतर इंजीनियरिंग विकल्प उत्पादन में विश्वसनीयता की घटनाओं को कम करते हैं। उच्च-गुणवत्ता वाली तैनाती में, इसे मापने योग्य संचालन नियमों, स्वामित्व सीमाओं और आवर्ती समीक्षा अनुष्ठानों में अनुवादित किया जाता है ताकि टीमें अस्पष्टता को मापने के बजाय आत्मविश्वास को बढ़ा सकें।

मिश्रित परिशुद्धता प्रशिक्षण का भविष्य

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

वास्तविक विश्व कार्यान्वयन

PyTorch का torch.cuda.amp.autocast एक प्रशिक्षण लूप को लपेटकर मेमोरी को लगभग आधा कर देता है और एक ही GPU पर थ्रूपुट को दोगुना कर देता है

हानि-स्केलिंग ट्यूनिंग से बचने के लिए TPU पर bfloat16 में GPT-शैली ट्रांसफार्मर जैसे बड़े भाषा मॉडल का प्रशिक्षण

ResNet छवि प्रशिक्षण को FP32 से FP16 पर स्विच करके उपभोक्ता RTX GPU पर एक बड़ा बैच आकार फ़िट करना

प्रीट्रेनिंग फ्रंटियर-स्केल मॉडल की लागत में कटौती करने के लिए NVIDIA H100 GPU पर FP8 मिश्रित परिशुद्धता

कार्यान्वयन पैटर्न

व्यवहार में मिश्रित परिशुद्धता प्रशिक्षण

PyTorch का torch.cuda.amp.autocast एक प्रशिक्षण लूप को लपेटकर मेमोरी को लगभग आधा कर देता है और एक ही GPU पर थ्रूपुट को दोगुना कर देता है।

PyTorch का torch.cuda.amp.autocast एक प्रशिक्षण लूप को लपेटकर एक ही GPU पर मेमोरी को लगभग आधा कर देता है और थ्रूपुट को दोगुना कर देता है। टीमों को आमतौर पर बेहतर परिणाम मिलते हैं जब वे गुणवत्ता सीमा को सामने से परिभाषित करते हैं, किनारे के मामलों के लिए एक मानव वृद्धि पथ रखते हैं, और समय के साथ उत्पादकता लाभ और त्रुटि लागत दोनों को ट्रैक करते हैं।

व्यवहार में मिश्रित परिशुद्धता प्रशिक्षण

हानि-स्केलिंग ट्यूनिंग से बचने के लिए टीपीयू पर bfloat16 में GPT-शैली ट्रांसफार्मर जैसे बड़े भाषा मॉडल का प्रशिक्षण।

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

व्यवहार में मिश्रित परिशुद्धता प्रशिक्षण

ResNet छवि प्रशिक्षण को FP32 से FP16 पर स्विच करके उपभोक्ता RTX GPU पर एक बड़ा बैच आकार फ़िट करना।

ResNet छवि प्रशिक्षण को FP32 से FP16 पर स्विच करके उपभोक्ता RTX GPU पर एक बड़ा बैच आकार फिट करना टीमों को आमतौर पर बेहतर परिणाम मिलते हैं जब वे गुणवत्ता सीमा को सामने से परिभाषित करते हैं, किनारे के मामलों के लिए एक मानव वृद्धि पथ रखते हैं, और समय के साथ उत्पादकता लाभ और त्रुटि लागत दोनों को ट्रैक करते हैं।

व्यवहार में मिश्रित परिशुद्धता प्रशिक्षण

प्रीट्रेनिंग फ्रंटियर-स्केल मॉडल की लागत में कटौती करने के लिए FP8 ने NVIDIA H100 GPU पर सटीक मिश्रण किया।

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

जोखिम और रेलिंग

!

एक बेंचमार्क को अनुकूलित करने से व्यापक सिस्टम कमजोरियों को छुपाया जा सकता है।

!

बुनियादी ढांचे और रखरखाव की लागत को अक्सर कम करके आंका जाता है।

!

जैसे-जैसे सिस्टम अधिक जटिल होते जाएंगे सुरक्षा और अवलोकन संबंधी अंतराल बढ़ सकते हैं।

कार्यान्वयन रोडमैप

1

कार्यान्वयन से पहले विलंबता, गुणवत्ता और लागत लक्ष्य परिभाषित करें।

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

2

यथार्थवादी लोड और डेटा स्थितियों के तहत बेंचमार्क।

यथार्थवादी लोड और डेटा स्थितियों के तहत बेंचमार्क। प्रत्येक चरण को एक साक्ष्य द्वार के रूप में मानें: यदि मानदंड पूरे नहीं होते हैं, तो रोलआउट रोकें, अंतर को बंद करें, और उसके बाद ही उपयोग का विस्तार करें।

3

त्रुटियों, बहाव और उपयोगकर्ता प्रभाव के लिए उपकरण निगरानी।

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

4

स्केलिंग से पहले रोलबैक और घटना प्रतिक्रिया पथ तैयार करें।

स्केलिंग से पहले रोलबैक और घटना प्रतिक्रिया पथ तैयार करें। प्रत्येक चरण को एक साक्ष्य द्वार के रूप में मानें: यदि मानदंड पूरे नहीं होते हैं, तो रोलआउट रोकें, अंतर को बंद करें, और उसके बाद ही उपयोग का विस्तार करें।

अन्वेषण करते रहें