तकनीकी गाइड

पूरी तरह से साझा डेटा समानांतर

फुल्ली शेयर्ड डेटा पैरेलल (एफएसडीपी) एक वितरित प्रशिक्षण तकनीक है जो एक मॉडल के मापदंडों, ग्रेडिएंट्स और ऑप्टिमाइज़र राज्यों को कई जीपीयू में विभाजित करती है ताकि प्रत्येक डिवाइस में केवल एक स्लाइस हो।

सिंहावलोकन

फुल्ली शेयर्ड डेटा पैरेलल (एफएसडीपी) एक वितरित प्रशिक्षण तकनीक है जो एक मॉडल के मापदंडों, ग्रेडिएंट्स और ऑप्टिमाइज़र राज्यों को कई जीपीयू में विभाजित करती है ताकि प्रत्येक डिवाइस में केवल एक स्लाइस हो। यह हार्डवेयर पर विशाल मॉडलों का प्रशिक्षण संभव बनाता है जो कभी भी पूरे मॉडल को एक जीपीयू की मेमोरी में फिट नहीं कर सकते।

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

गहरा गोता

पारंपरिक डेटा समानता प्रत्येक जीपीयू पर मॉडल की एक पूरी प्रतिलिपि रखती है, जो मेमोरी को बर्बाद करती है और मॉडल आकार को कैप करती है। FSDP, Meta के PyTorch द्वारा लोकप्रिय और Microsoft के ZeRO से प्रेरित, इसके बजाय सभी डिवाइसों में तीन चीज़ों को विभाजित करता है: पैरामीटर, ग्रेडिएंट और ऑप्टिमाइज़र स्थिति। फॉरवर्ड पास के दौरान, प्रत्येक जीपीयू अस्थायी रूप से उस परत के लिए पूर्ण भार इकट्ठा करता है जिसकी वह ऑल-गैदर के माध्यम से गणना कर रहा है, गणना चलाता है, फिर एकत्रित कॉपी को तुरंत मुक्त कर देता है। बैकवर्ड पास समान रूप से काम करता है, इसके बाद एक रिड्यूस-स्कैटर होता है जो ग्रेडिएंट स्लाइस को उनके अपने जीपीयू में वापस वितरित करता है। क्योंकि प्रत्येक डिवाइस केवल मॉडल के एक अंश को स्थायी रूप से संग्रहीत करता है, मेमोरी उपयोग जीपीयू की संख्या के साथ लगभग रैखिक रूप से गिरता है, जिससे टीमों को दसियों या सैकड़ों अरबों मापदंडों के साथ मॉडल को प्रशिक्षित करने की सुविधा मिलती है।

तकनीकी अंतर्दृष्टि

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

समानांतर रूप से पूरी तरह से साझा किए गए डेटा में महारत हासिल करना

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

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

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

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

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

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

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

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

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

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

पूरी तरह से साझा डेटा समानांतर का भविष्य

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

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

8 जीपीयू में 70-बिलियन-पैरामीटर लामा मॉडल को फाइन-ट्यूनिंग करना जो व्यक्तिगत रूप से पूरा वजन नहीं पकड़ सकता है।

सैकड़ों त्वरक में ऑप्टिमाइज़र राज्यों (जो एडम के साथ मेमोरी पर हावी हैं) को शार्प करके एआई प्रयोगशालाओं में बड़े भाषा मॉडल को पूर्व-प्रशिक्षित करना।

प्रमुख 80 जीबी जीपीयू खरीदे बिना विश्वविद्यालय क्लस्टर पर विज़न ट्रांसफार्मर को प्रशिक्षित करने के लिए शोधकर्ता PyTorch के FSDP रैपर का उपयोग कर रहे हैं।

एफएसडीपी को मिश्रित-परिशुद्धता bfloat16 के साथ जोड़कर मेमोरी को लगभग आधा कर दिया गया है और मल्टीमॉडल मॉडल पर प्रशिक्षण थ्रूपुट को गति दी गई है।

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

व्यवहार में पूरी तरह से साझा किया गया डेटा समानांतर

8 जीपीयू में 70-बिलियन-पैरामीटर लामा मॉडल को फाइन-ट्यूनिंग करना जो व्यक्तिगत रूप से पूरा वजन नहीं पकड़ सकता है।

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

व्यवहार में पूरी तरह से साझा किया गया डेटा समानांतर

सैकड़ों त्वरक में ऑप्टिमाइज़र राज्यों (जो एडम के साथ मेमोरी पर हावी हैं) को शार्प करके एआई प्रयोगशालाओं में बड़े भाषा मॉडल को पूर्व-प्रशिक्षित करना।

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

व्यवहार में पूरी तरह से साझा किया गया डेटा समानांतर

प्रमुख 80 जीबी जीपीयू खरीदे बिना विश्वविद्यालय क्लस्टर पर विज़न ट्रांसफार्मर को प्रशिक्षित करने के लिए शोधकर्ता PyTorch के FSDP रैपर का उपयोग कर रहे हैं।

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

व्यवहार में पूरी तरह से साझा किया गया डेटा समानांतर

एफएसडीपी को मिश्रित-परिशुद्धता bfloat16 के साथ जोड़कर मेमोरी को लगभग आधा कर दिया गया है और मल्टीमॉडल मॉडल पर प्रशिक्षण थ्रूपुट को गति दी गई है।

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

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