paint-brush
YaFSDP - एक LLM प्रशिक्षण उपकरण जो GPU के उपयोग को 20% तक कम करता है - अब उपलब्ध हैद्वारा@yandex
262 रीडिंग

YaFSDP - एक LLM प्रशिक्षण उपकरण जो GPU के उपयोग को 20% तक कम करता है - अब उपलब्ध है

द्वारा Yandex 4m2024/06/22
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

YaFSDP एक ओपन-सोर्स टूल है जो LLM प्रशिक्षण में क्रांति लाने का वादा करता है। 70 बिलियन पैरामीटर वाले मॉडल से जुड़े प्री-ट्रेनिंग परिदृश्य में, YaFSDP का उपयोग करके लगभग 150 GPU के संसाधनों को बचाया जा सकता है। इसका मतलब है कि हर महीने लगभग $0.5 से $1.5 मिलियन की संभावित बचत होगी।
featured image - YaFSDP - एक LLM प्रशिक्षण उपकरण जो GPU के उपयोग को 20% तक कम करता है - अब उपलब्ध है
Yandex  HackerNoon profile picture

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


हाल ही में, यांडेक्स ने एक नया समाधान पेश किया है: YaFSDP , एक ओपन-सोर्स टूल जो GPU संसाधन खपत और प्रशिक्षण समय को काफी कम करके LLM प्रशिक्षण में क्रांति लाने का वादा करता है। 70 बिलियन मापदंडों वाले मॉडल से जुड़े प्री-ट्रेनिंग परिदृश्य में, YaFSDP का उपयोग करके लगभग 150 GPU के संसाधनों को बचाया जा सकता है। यह वर्चुअल GPU प्रदाता या प्लेटफ़ॉर्म के आधार पर लगभग $0.5 से $1.5 मिलियन की संभावित मासिक बचत में तब्दील होता है।


यांडेक्स ने YaFSDP को सार्वजनिक रूप से उपलब्ध करा दिया है GitHub .

वितरित एलएलएम प्रशिक्षण की चुनौती

कई GPU पर LLM को प्रशिक्षित करने में जटिल ऑपरेशन शामिल होते हैं जो अकुशलता और उच्च मेमोरी खपत की ओर ले जाते हैं। मुख्य मुद्दों में से एक GPU के बीच भारी मात्रा में डेटा भेजने और प्राप्त करने की आवश्यकता है। उदाहरण के लिए, एक सामान्य all_reduce ऑपरेशन में, नेटवर्क पैरामीटर की तुलना में दोगुने ग्रेडिएंट डेटा को संप्रेषित किया जाना चाहिए। लामा 70B मॉडल के मामले में, इसका मतलब है कि प्रति पुनरावृत्ति 280 GB डेटा स्थानांतरित करना।


इसके अलावा, GPU में वज़न, ग्रेडिएंट और ऑप्टिमाइज़र की स्थिति दोहराई जाती है, जिससे मेमोरी पर बहुत ज़्यादा लोड पड़ता है। लामा 70B मॉडल और एडम ऑप्टिमाइज़र को 1 TB से ज़्यादा मेमोरी की ज़रूरत होती है, जो कि ज़्यादातर GPU की 80 GB मेमोरी क्षमता से कहीं ज़्यादा है। यह अतिरेक प्रशिक्षण प्रक्रिया को बहुत धीमा कर देता है और अक्सर GPU मेमोरी में मध्यम आकार के मॉडल को फ़िट करना भी अव्यावहारिक बना देता है।

YaFSDP का परिचय

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


YaFSDP मध्यवर्ती भार और ग्रेडिएंट के लिए दो बफर्स का उपयोग करके कार्य करता है, जिसमें विषम परतें एक बफर का उपयोग करती हैं और सम परतें दूसरे बफर का उपयोग करती हैं।




विभिन्न परतों के भार एक ही मेमोरी में संग्रहीत किए जाते हैं। यदि परतों की संरचना समान है, तो वे हमेशा समान रहेंगी। यह सुनिश्चित करना महत्वपूर्ण है कि जब आपको परत X की आवश्यकता हो, तो बफर में परत X के लिए भार शामिल हो। सभी पैरामीटर बफर के भीतर संबंधित मेमोरी चंक में संग्रहीत किए जाएंगे।





मेमोरी खपत

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


  • वज़न, ग्रेडिएंट और ऑप्टिमाइज़र स्टेट्स : ये प्रक्रियाओं की संख्या पर निर्भर करते हैं, और प्रक्रियाओं की संख्या बढ़ने पर उनकी मेमोरी खपत शून्य के करीब पहुँच जाती है। GPU में इन घटकों को विभाजित करके, YaFSDP दोहराव को कम करता है और इस प्रकार मेमोरी उपयोग को कम करता है।


  • बफ़र्स मेमोरी की एक स्थिर मात्रा का उपभोग करते हैं और गणना के दौरान मध्यवर्ती मानों को संग्रहीत करते हैं।


  • सक्रियण मॉडल के आकार और प्रति GPU संसाधित टोकन की संख्या पर निर्भर करता है।

सक्रियण चेकपॉइंटिंग

एक्टिवेशन चेकपॉइंटिंग एक ऐसी तकनीक है जो फॉरवर्ड पास के दौरान केवल आवश्यक एक्टिवेशन को स्टोर करती है और बैकवर्ड पास के दौरान उन्हें फिर से कंप्यूट करती है। यह मेमोरी फ़ुटप्रिंट को काफी हद तक कम कर देता है, क्योंकि केवल आवश्यक डेटा ही स्टोर किया जाता है। उदाहरण के लिए, 8192 टोकन के बैच आकार वाले लामा 2 70B मॉडल को प्रशिक्षित करने में, एक्टिवेशन स्टोरेज को 110 GB से घटाकर केवल 5 GB किया जा सकता है।


हालांकि, यह दृष्टिकोण अतिरिक्त कम्प्यूटेशनल ओवरहेड का परिचय देता है, जिसे YaFSDP कुछ परतों के लिए सक्रियण चेकपॉइंटिंग का उपयोग न करके टालने की अनुमति देता है जो मेमोरी ऑप्टिमाइजेशन के कारण संभव है।

संचार अनुकूलन

YaFSDP यह सुनिश्चित करके GPU संचार दक्षता में सुधार करता है कि डेटा केवल तभी स्थानांतरित किया जाता है जब आवश्यक हो और संचार को संगणना के साथ ओवरलैप करके। यह समवर्ती संगणनाओं और संचारों को प्रभावी ढंग से प्रबंधित करने के लिए CUDA स्ट्रीम का उपयोग करता है।

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




तीसरी परत पर फ़ॉरवर्ड पास तब तक शुरू नहीं होता जब तक कि all_gather ऑपरेशन पूरा नहीं हो जाता (शर्त 1)। इसी तरह, तीसरी परत पर all_gather ऑपरेशन तब तक शुरू नहीं होगा जब तक कि उसी बफ़र का उपयोग करने वाली पहली परत पर फ़ॉरवर्ड पास पूरा नहीं हो जाता (शर्त 2)। चूँकि इस योजना में कोई चक्र नहीं हैं, इसलिए डेडलॉक असंभव है।

प्रायोगिक परिणाम और प्रदर्शन लाभ

YaFSDP के कार्यान्वयन ने प्रशिक्षण दक्षता में उल्लेखनीय सुधार दिखाया है। 70 बिलियन पैरामीटर वाले मॉडल के साथ प्री-ट्रेनिंग परिदृश्य में, YaFSDP लगभग 150 GPU के संसाधनों को बचाने में सक्षम था। यह वर्चुअल GPU प्रदाता या प्लेटफ़ॉर्म के आधार पर $0.5 से $1.5 मिलियन तक की महत्वपूर्ण मासिक लागत बचत में तब्दील हो जाता है।


YaFSDP, FSDP जैसी मौजूदा विधियों की तुलना में प्रशिक्षण समय को 26% तक कम कर देता है और मेमोरी उपयोग को अनुकूलित करता है, जिससे बड़े मॉडलों को अधिक कुशलता से प्रशिक्षित करना संभव हो जाता है।


यहां FSDP की तुलना में लामा 2 और लामा 3 पर YaFSDP द्वारा प्राप्त गति लाभ दिया गया है



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


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