तकनीकी गाइड

डेटा समांतरता

डेटा समानता एक मॉडल को कई जीपीयू में दोहराकर तेजी से प्रशिक्षित करती है, प्रत्येक जीपीयू डेटा बैच के एक अलग स्लाइस को संसाधित करता है।

सिंहावलोकन

डेटा समानता एक मॉडल को कई जीपीयू में दोहराकर तेजी से प्रशिक्षित करती है, प्रत्येक जीपीयू डेटा बैच के एक अलग स्लाइस को संसाधित करता है। यह वर्कहॉर्स तकनीक है जो टीमों को दर्जनों या हजारों त्वरक तक पहुंचने देती है।

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

गहरा गोता

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

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

मुख्य ऑपरेशन ऑल-रिड्यूस है, जो सभी डिवाइसों में ग्रेडिएंट्स का योग करता है और परिणाम को पुनर्वितरित करता है। एनसीसीएल और होरोवोड जैसे पुस्तकालयों द्वारा उपयोग किया जाने वाला रिंग ऑल-रिड्यूस, एक तार्किक रिंग के चारों ओर ढाल वाले टुकड़ों को पास करता है, इसलिए कुल संचार जीपीयू गिनती से स्वतंत्र होता है। PyTorch का डिस्ट्रीब्यूटेडडेटापैरेलल इस संचार को बैकवर्ड पास के साथ ओवरलैप करता है, प्रारंभिक परतों के लिए ग्रेडिएंट सिंक को सक्रिय करता है जबकि बाद की परतें अभी भी कंप्यूटिंग कर रही हैं, जिससे नेटवर्क विलंबता का अधिकांश हिस्सा छिप जाता है।

डेटा समानता में महारत हासिल करना

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

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

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

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

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

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

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

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

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

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

डेटा समानांतरवाद का भविष्य

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

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

PyTorch DistributedDataParallel का उपयोग करके एक सर्वर में 8 GPU पर एक ResNet छवि क्लासिफायरियर का प्रशिक्षण, प्रत्येक GPU 256-छवि बैच में से 32 को संभालता है।

होरोवोड के साथ सैकड़ों जीपीयू में बीईआरटी प्रीट्रेनिंग को स्केल करना, प्रत्येक चरण में ग्रेडिएंट को सिंक्रनाइज़ करने के लिए रिंग ऑल-रिड्यूस का उपयोग करना।

मल्टी-नोड क्लस्टर पर एक अनुशंसा मॉडल को फाइन-ट्यूनिंग करना जहां प्रत्येक नोड अलग-अलग उपयोगकर्ता-इंटरैक्शन शार्क को संसाधित करता है।

न्यूनतम कोड परिवर्तनों के साथ एक ही वर्कस्टेशन पर कई जीपीयू में एक विज़न मॉडल के प्रशिक्षण को फैलाने के लिए TensorFlow की मिररडस्ट्रैटेजी का उपयोग करना।

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

व्यवहार में डेटा समानता

PyTorch DistributedDataParallel का उपयोग करके एक सर्वर में 8 GPU पर एक ResNet छवि क्लासिफायरियर का प्रशिक्षण, प्रत्येक GPU 256-छवि बैच में से 32 को संभालता है।

PyTorch DistributedDataParallel का उपयोग करके एक सर्वर में 8 GPU में ResNet इमेज क्लासिफायर का प्रशिक्षण, प्रत्येक GPU 256-छवि बैच में से 32 को संभालता है। टीमों को आमतौर पर बेहतर परिणाम मिलते हैं जब वे गुणवत्ता सीमा को सामने से परिभाषित करते हैं, किनारे के मामलों के लिए एक मानव वृद्धि पथ रखते हैं, और समय के साथ उत्पादकता लाभ और त्रुटि लागत दोनों को ट्रैक करते हैं।

व्यवहार में डेटा समानता

होरोवोड के साथ सैकड़ों जीपीयू में बीईआरटी प्रीट्रेनिंग को स्केल करना, प्रत्येक चरण में ग्रेडिएंट को सिंक्रनाइज़ करने के लिए रिंग ऑल-रिड्यूस का उपयोग करना।

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

व्यवहार में डेटा समानता

मल्टी-नोड क्लस्टर पर एक अनुशंसा मॉडल को फाइन-ट्यूनिंग करना जहां प्रत्येक नोड अलग-अलग उपयोगकर्ता-इंटरैक्शन शार्क को संसाधित करता है।

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

व्यवहार में डेटा समानता

न्यूनतम कोड परिवर्तनों के साथ एक ही वर्कस्टेशन पर कई जीपीयू में एक विज़न मॉडल के प्रशिक्षण को फैलाने के लिए TensorFlow की मिररडस्ट्रैटेजी का उपयोग करना।

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

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