तकनीकी गाइड
क्रमिक संचय
ग्रेडिएंट संचय आपको वज़न अपडेट करने से पहले कई छोटे मिनी-बैचों पर ग्रेडिएंट्स को जोड़कर सीमित जीपीयू मेमोरी पर एक बड़े बैच आकार का अनुकरण करने देता है।
इस गाइड को सुनेंएआई-नैरेटेड · ~2 min
इस पृष्ठ पर2 मिनट लाल
सिंहावलोकन
जब स्मृति बाधा होती है तो बड़े मॉडलों को प्रशिक्षित करने के लिए यह मानक समाधान है।
गहरा गोता
आम तौर पर एक प्रशिक्षण चरण एक बैच को संसाधित करता है, ग्रेडिएंट की गणना करता है, और तुरंत पैरामीटर अपडेट करता है। ग्रेडिएंट संचय के साथ, आप छोटे माइक्रो-बैचों पर कई फॉरवर्ड और बैकवर्ड पास चलाते हैं, उनके ग्रेडिएंट्स को पैरामीटर बफ़र्स में एक साथ जोड़ते हैं, और एन माइक्रो-बैचों के बाद केवल ऑप्टिमाइज़र चरण (और ग्रेडिएंट्स को शून्य) को कॉल करते हैं। प्रभावी बैच आकार माइक्रो-बैच आकार गुना एन हो जाता है, भले ही पीक मेमोरी केवल सक्रियणों का एक माइक्रो-बैच रखती है। यह मायने रखता है क्योंकि कई प्रशिक्षण व्यंजन स्थिर आंकड़ों के लिए बड़े बैचों को मानते हैं, और क्योंकि बड़े ट्रांसफार्मर जैसे मॉडल एक ही डिवाइस पर पूर्ण लक्ष्य बैच को फिट नहीं कर सकते हैं। पकड़: बैच-सामान्यीकरण आँकड़ों की गणना प्रति माइक्रो-बैच में की जाती है, इसलिए परत मानदंड या समूह मानदंड जोड़ी संचय के साथ बेहतर होती है, और प्रभावी सीखने की दर को सही रखने के लिए आपको नुकसान को सही ढंग से मापना होगा।
वास्तविक विश्व कार्यान्वयन
सैकड़ों के प्रभावी बैच तक पहुंचने के लिए 8 या 16 से अधिक माइक्रो-बैचों को जमा करके एकल उपभोक्ता जीपीयू पर एक बड़े भाषा मॉडल को फाइन-ट्यूनिंग करना।
उच्च-रिज़ॉल्यूशन दृष्टि या विभाजन मॉडल का प्रशिक्षण जहां 2 का एक बैच भी फिट बैठता है, लेकिन नुस्खा के लिए 32 के प्रभावी बैच की आवश्यकता होती है।
हगिंग फेस ट्रेनर और पायटोरच लाइटनिंग सीमित-वीआरएएम सेटअप में नियमित रूप से उपयोग की जाने वाली ग्रेडिएंट_एक्यूमुलेशन_स्टेप्स सेटिंग को उजागर करते हैं।
संचयन के माध्यम से प्रभावी बैच आकार का मिलान करके कागज के बड़े-बैच परिणामों को छोटे हार्डवेयर पर पुन: प्रस्तुत करना।
क्रमिक संचय का भविष्य
ग्रेडिएंट संचय एक डिफ़ॉल्ट लीवर बना रहेगा क्योंकि मॉडल आकार एकल-डिवाइस मेमोरी से आगे निकल जाएगा। यह डीपस्पीड और एफएसडीपी जैसे ढांचे में मिश्रित परिशुद्धता, सक्रियण चेकपॉइंटिंग, ज़ीरो शार्डिंग और पाइपलाइन समानता के साथ तेजी से जुड़ता है। सख्त स्वचालन की अपेक्षा करें जहां पुस्तकालय ऑटो-ट्यून संचय एक मेमोरी बजट में कदम रखते हैं, और उपभोक्ता जीपीयू सहित मामूली हार्डवेयर पर बड़े मॉडल को ठीक करने के लिए निरंतर महत्व देते हैं, जहां यह प्रशिक्षण को अनलॉक करता है जो अन्यथा असंभव होगा।
इसे व्यवहार में लाना
यह क्यों मायने रखता है?
- लागत और बजट. वास्तुकला संबंधी निर्णय वर्षों तक प्रदर्शन और परिचालन लागत को संचालित करते हैं।
- स्पष्ट निर्णय. तकनीकी शिक्षा टीमों को सही स्टैक चुनने में मदद करती है, न कि केवल नवीनतम स्टैक चुनने में।
- गुणवत्ता नियंत्रण. बेहतर इंजीनियरिंग विकल्प उत्पादन में विश्वसनीयता की घटनाओं को कम करते हैं।
का ध्यान रखें
- एक बेंचमार्क को अनुकूलित करने से व्यापक सिस्टम कमजोरियों को छुपाया जा सकता है।
- बुनियादी ढांचे और रखरखाव की लागत को अक्सर कम करके आंका जाता है।
- जैसे-जैसे सिस्टम अधिक जटिल होते जाएंगे सुरक्षा और अवलोकन संबंधी अंतराल बढ़ सकते हैं।
अगले चरण
- कार्यान्वयन से पहले विलंबता, गुणवत्ता और लागत लक्ष्य परिभाषित करें।
- यथार्थवादी लोड और डेटा स्थितियों के तहत बेंचमार्क।
- त्रुटियों, बहाव और उपयोगकर्ता प्रभाव के लिए उपकरण निगरानी।
- स्केलिंग से पहले रोलबैक और घटना प्रतिक्रिया पथ तैयार करें।
अन्वेषण करते रहें
मुफ़्त न्यूज़लेटर
दैनिक एआई ब्रीफिंग प्राप्त करें
हर कार्यदिवस की सुबह तीन सत्यापित एआई कहानियाँ, सादे अंग्रेजी में लिखी गईं। हमेशा के लिए मुफ़्त, कोई विज्ञापन नहीं।
प्रत्येक सप्ताह के दिन एक ईमेल. एक क्लिक में सदस्यता समाप्त करें. हम आपका पता कभी नहीं बेचते या साझा नहीं करते।
स्वयं की जांच करो
Take the Gradient Accumulation quiz
प्रत्येक उत्तर पर त्वरित प्रतिक्रिया, और पाठ्यक्रम पास करने के बाद एक सत्यापन योग्य आईडी के साथ एक साझा करने योग्य प्रमाणपत्र।
निःशुल्क एआई शिक्षा का समर्थन करें। AI Understanding एक 501(c)(3) गैर-लाभकारी संस्था है - कोई विज्ञापन नहीं, कोई पेवॉल नहीं। दान करें
अक्सर पूछे जाने वाले प्रश्नों
क्रमिक संचय क्या है?
ग्रेडिएंट संचय आपको वज़न अपडेट करने से पहले कई छोटे मिनी-बैचों पर ग्रेडिएंट्स को जोड़कर सीमित जीपीयू मेमोरी पर एक बड़े बैच आकार का अनुकरण करने देता है। जब स्मृति बाधा होती है तो बड़े मॉडलों को प्रशिक्षित करने के लिए यह मानक समाधान है।
ग्रेडिएंट संचय मुख्य रूप से आपको क्या करने देता है?
अपडेट करने से पहले कई माइक्रो-बैचों में ग्रेडिएंट्स को जोड़कर, आप एक ही बार में सभी को मेमोरी में रखे बिना एक बड़े बैच की नकल करते हैं।
With an accumulation factor N, when should optimizer.step() and zero_grad() occur?
Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.
कौन सी सामान्यीकरण परत ग्रेडिएंट संचय के साथ अधिक सफाई से जुड़ती है?
बैच-मानदंड प्रति माइक्रो-बैच आंकड़ों की गणना करता है, इसलिए परत या समूह मानदंड छोटे सूक्ष्म-बैचों के साथ बेमेल से बचाता है।
Why may four micro-batches with BatchNorm behave differently from one physical batch of the same total size?
Batch-dependent forward computations break exact equivalence.
सीखते रहो
संबंधित मार्गदर्शिकाएँ
इस विषय के लिए अधिक मार्गदर्शिकाएँ चुनी गईं