इंफ्रास्ट्रक्चर निर्माण और स्क्रिप्ट सेटअप
परिचय
- कई महीनों तक एक छोटे रिसर्च टीम और इंजीनियरिंग टीम ने अपने स्वयं के इंफ्रास्ट्रक्चर पर 70B पैरामीटर मॉडल को शुरुआत से ट्रेन किया और reasoning-संबंधित कार्यों में zero-shot GPT-4o से बेहतर प्रदर्शन किया।
- आज वे शुरुआती क्लस्टर सेटअप से लेकर ऑपरेटिंग सिस्टम इंस्टॉलेशन और ट्रेनिंग के दौरान होने वाली त्रुटियों की स्वचालित रिकवरी तक, आवश्यक इंफ्रास्ट्रक्चर सेटअप पर एक व्यापक गाइड साझा कर रहे हैं।
- हर चरण में आई चुनौतियों और उनके समाधान को विस्तार से समझाया गया है, और अन्य टीमें आसानी से स्थिर इंफ्रास्ट्रक्चर बना सकें इसके लिए इंफ्रास्ट्रक्चर स्क्रिप्ट्स भी सार्वजनिक की गई हैं।
पृष्ठभूमि: यह सिस्टम कैसे काम करता है
- बड़े भाषा मॉडल के प्रयोग तेज़ी से चलाने के लिए तेज़ GPU की आवश्यकता होती है।
- 4,092 H100 GPU का उपयोग करने वाला क्लस्टर 511 कंप्यूटरों में वितरित है।
- InfiniBand नेटवर्क के माध्यम से GPU के बीच हाई-स्पीड संचार संभव बनाया जाता है।
प्रक्रिया: बेयर मेटल से पूरी तरह चालू क्लस्टर तक पहुँचने का तरीका
अलग-अलग मशीनों का प्रोविज़निंग
- मैनेजमेंट नेटवर्क के माध्यम से क्लस्टर के लिए शुरुआती Ethernet कनेक्शन सेट किया जाता है और BMC(Baseboard Management Controller) तक पहुंच बनाई जाती है।
- iDRAC का उपयोग करके पहले सर्वर पर Ubuntu 22.04 इंस्टॉल किया जाता है, और उसी के आधार पर बाकी सर्वर सेट किए जाते हैं।
सभी मशीनों पर OS इंस्टॉल करना
- बाकी सर्वरों को प्रोविज़न करने के लिए MAAS सॉफ़्टवेयर का उपयोग किया जाता है।
- PXE बूट और स्वचालित iDRAC टूल्स का उपयोग करके नेटवर्क के माध्यम से बूट किया जाता है, और MAAS को PXE बूट अनुरोधों का उत्तर देने के लिए कॉन्फ़िगर किया जाता है।
खराब मशीनों का निदान
- लगभग 10% मशीनें बूट होने में विफल रहीं, जिसका मुख्य कारण भौतिक समस्याएँ थीं।
- स्वचालित चेक्स के माध्यम से समस्याएँ ढूँढी गईं, और Dell से री-टेस्ट का अनुरोध किया गया या डेटा सेंटर स्टाफ के लिए टिकट बनाए गए।
न्यूनतम रूप से observable मेटल सेटअप
- सभी सर्वरों पर Docker, डेटा सेंटर GPU ड्राइवर, Prometheus node exporter आदि इंस्टॉल किए जाते हैं।
- बेसिक GPU डायग्नोस्टिक्स चलाकर यह सुनिश्चित किया जाता है कि अधिकांश GPU सामान्य रूप से काम कर रहे हैं।
सिंगल-नोड GPU ट्रेनिंग
- यह सत्यापित किया जाता है कि सभी मशीनें अकेले GPU जॉब चला सकती हैं।
- GPU-संबंधित त्रुटियों को ठीक किया जाता है, और PCIe bus तथा नेटवर्क कार्ड के बीच कनेक्शन समस्याओं को हल किया जाता है।
InfiniBand प्रोविज़निंग
- UFM(Unified Fabric Manager) इंस्टॉल किया जाता है, नेटवर्क स्विचों का पता लगाया जाता है और उनकी भौतिक स्थिति के आधार पर नाम दिए जाते हैं।
- नेटवर्क वायरिंग समस्याओं और तापमान चेतावनी से जुड़ी समस्याओं को हल किया जाता है।
पूरी तरह स्वस्थ मशीनें सुनिश्चित करना
- विभिन्न health checks के जरिए यह सत्यापित किया जाता है कि कौन-से स्वस्थ होस्ट ट्रेनिंग के लिए उपयोग किए जा सकते हैं।
- GPU, डिस्क स्पेस, Docker, dmesg, iDRAC, डिस्क, InfiniBand, NVLink, GDR, VBIOS, Flint, PSB आदि के लिए विभिन्न चेक किए जाते हैं।
सामान्य ट्रेनिंग समस्याओं का निदान
- जब हार्डवेयर सही तरह काम करना शुरू कर देता है, तब ट्रेनिंग शुरू की जाती है।
- शुरुआत में crash होना, बीच में crash होना, stack trace जानकारी के बिना रुक जाना, और ट्रेनिंग स्पीड धीमी पड़ना जैसी समस्याओं को हल किया जाता है।
इंफ्रास्ट्रक्चर टूल्स में सुधार
- ट्रेनिंग को सुचारु रूप से चलाने के लिए विभिन्न टूल्स और सिस्टम विकसित किए जाते हैं।
- खराब मशीनों और नेटवर्क घटकों को स्वचालित रूप से disable किया जाता है और मरम्मत अनुरोधों को automate किया जाता है।
- लोकल mirror file system और लोकल distributed Docker registry बनाई जाती है।
- performance monitoring tools सेट किए जाते हैं, और धीमे ट्रेनिंग batches का पता लगाने तथा उनके कारण समझने के लिए टूल्स लिखे जाते हैं।
GN⁺ की राय
- यह लेख बड़े पैमाने के क्लस्टर सेटअप और प्रबंधन पर व्यावहारिक अनुभव और समाधान देता है, इसलिए बहुत उपयोगी है।
- यह बड़े भाषा मॉडल ट्रेनिंग के लिए आवश्यक इंफ्रास्ट्रक्चर निर्माण की जटिलता को अच्छी तरह समझाता है।
- यह अन्य टीमों के लिए समान इंफ्रास्ट्रक्चर बनाने में संदर्भ हेतु कई स्क्रिप्ट्स और टूल्स उपलब्ध कराता है।
- यह InfiniBand नेटवर्क के महत्व और सेटअप प्रक्रिया के दौरान आने वाली संभावित समस्याओं को अच्छी तरह समझाता है।
- यह नई तकनीक या open source अपनाते समय ध्यान में रखने योग्य बिंदुओं और उनके फायदे-नुकसान को अच्छी तरह बताता है।
1 टिप्पणियां
Hacker News राय
एक छोटे research team ने अपने खुद के infrastructure पर 70B parameter model को train किया और reasoning से जुड़े कार्यों में zero-shot GPT-4 को पीछे छोड़ दिया
एक cluster में 4,092 H100 GPU, 511 computers में distributed हैं
कुछ दिन पहले Latent Space podcast में इस विषय पर चर्चा हुई थी
यह जिज्ञासा है कि इतनी अधिक PC hardware की ज़रूरत क्यों है
यही hardware इस्तेमाल करके tokenized training data की बजाय raw Unicode पर training को दोहराना दिलचस्प होगा
4,092 H100 GPU
model बनाने के लिए कुल power consumption में रुचि है
कुल लागत कितनी है, यह जानना चाहते हैं
Cisco 800G per-port speed पर NVIDIA के साथ नया collaboration कर रहा है
model के train होने के बाद hardware और infrastructure का क्या होता है, इस पर जिज्ञासा है