Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

फाइन-ट्यून किए गए एलएलएम को सर्वर रहित तरीके से तैनात करें:भुगतान-प्रति-टोकन अनुमान के साथ लागत में कटौती करें

परिचय

<पी> नई परियोजनाओं पर एआई वर्कफ़्लो टीमें जो सबसे बड़ा लागत-बचत कदम उठा सकती हैं, वह है उपयुक्त होने पर सर्वर रहित अनुमान का लाभ उठाना। परंपरागत रूप से, एआई मॉडल को घंटे के हिसाब से 24/7 चलाने के लिए एक समर्पित जीपीयू की आवश्यकता होती है। सर्वर रहित अनुमान समापन बिंदुओं के साथ, टीमों के पास प्रति घंटे भुगतान करने और सेटअप और रखरखाव को स्वयं प्रबंधित करने के बजाय भुगतान-प्रति-टोकन के आधार पर कई ओपन सोर्स मॉडल का उपयोग करने का विकल्प होता है। इससे नए उत्पाद को चलाने की लागत कम हो गई है क्योंकि यह टीमों को केवल आवश्यकतानुसार उनके उपयोग और पैमाने के लिए भुगतान करने की अनुमति देता है।

<पी> जबकि सर्वर रहित आर्किटेक्चर कुछ समय से अस्तित्व में है, कस्टम या फाइन-ट्यून मॉडल वाली टीमें अभी भी अक्सर GPU उपयोग के लिए प्रति घंटा की दर से भुगतान करती हैं। हालाँकि, फाइन-ट्यून किए गए मॉडलों को होस्ट करना और उन्हें भुगतान-प्रति-टोकन बिलिंग के साथ सर्वर रहित एंडपॉइंट के माध्यम से वितरित करना संभव है। हम जानेंगे कि सर्वर रहित रूप से बेहतर ट्यून किए गए मॉडलों को होस्ट करना कैसे संभव है और ऐसा करने के क्या फायदे और नुकसान हैं।

मुख्य बातें

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

समर्थित फ़ाइन-ट्यूनिंग विधियाँ

<पी> यहां यह स्पष्ट करना महत्वपूर्ण है कि जब हम इस संदर्भ में "फाइन-ट्यूनिंग" कहते हैं, तो हमारा मतलब पारंपरिक पूर्ण फाइन-ट्यूनिंग नहीं है, जहां एक मॉडल के सभी वजन नए डेटा पर स्क्रैच से पुनः प्रशिक्षित होते हैं। पूर्ण फाइन-ट्यूनिंग महंगी है, समय लेने वाली है, और एक पूरी तरह से नया मॉडल तैयार करती है जो मूल जितना ही बड़ा होता है। उस मॉडल को सर्वर रहित रूप से होस्ट करना अव्यावहारिक है क्योंकि इसे कई अलग-अलग उपयोगकर्ताओं के बीच साझा नहीं किया जा सकता है। इसके लिए अपने स्वयं के समर्पित GPU परिनियोजन की आवश्यकता है।

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

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

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

एकाधिक LoRA एडेप्टर का प्रबंधन

<पी> LoRA एडॉप्टर का वजन (आम तौर पर प्रत्येक 10-100 एमबी के बीच) फास्ट ऑब्जेक्ट स्टोरेज या इंट्रेंस सर्वर द्वारा प्रबंधित इन-मेमोरी कैश में संग्रहीत किया जाता है। जब किसी विशेष एडॉप्टर के लिए अनुरोध आता है, तो सेवा प्रणाली उन वजनों को उठाती है और उन्हें तुरंत फॉरवर्ड पास में फ़्यूज़ कर देती है।

<पी> यह संलयन प्रक्रिया हल्की है। प्रत्येक ट्रांसफार्मर परत पर जहां LoRA लागू किया जाता है, एडाप्टर दो छोटे मैट्रिक्स जोड़ता है जो परत के आउटपुट में निम्न-रैंक सुधार उत्पन्न करते हैं। अनुमान के दौरान, सर्वर बेस लेयर के आउटपुट की गणना करता है, फिर कुछ अतिरिक्त CUDA संचालन में LoRA सुधार जोड़ता है। बेस वेट को कभी भी संशोधित नहीं किया जाता है, इसलिए अनुरोधों के बीच एडेप्टर की अदला-बदली के लिए बेस मॉडल को फिर से लोड करने या CUDA कर्नेल को पुनरारंभ करने के बजाय केवल GPU रजिस्टरों में उन छोटे मैट्रिक्स जोड़े को बदलने की आवश्यकता होती है।

<पी> सबसे बड़ी चुनौतियों में से एक मेमोरी प्रबंधन है जिसमें सैकड़ों एडेप्टर एक ही इंस्टेंस पर काम करते हैं। अनुमान सर्वर को सबसे हाल ही में और सबसे अधिक उपयोग किए जाने वाले एडॉप्टर वेट का एक छोटा निवासी कैश सीधे वीआरएएम में बनाए रखने की आवश्यकता है। अन्य एडेप्टर को वीआरएएम से हटा दिया जाता है और सीपीयू रैम या ऑब्जेक्ट स्टोरेज में वापस संग्रहीत किया जाता है, जिससे कुछ सौ मिलीसेकंड का पुनः लोड समय जुर्माना होता है।

<पी> प्रयुक्त LoRA विधि के आधार पर बैचिंग प्रक्रिया भिन्न हो सकती है। एडाप्टर साझा करने वाले अनुरोधों को आम तौर पर प्रत्येक उप-समूह के लिए सुधार चलाने से पहले उप-बैचों में समूहीकृत किया जाता है, लेकिन कुछ सिस्टम, जैसे एस-लोआरए, अलग-अलग एडाप्टर से अनुरोधों को एक ही फॉरवर्ड पास में पैक करते हैं और सक्रिय एडाप्टर को एकीकृत मेमोरी पूल में संग्रहीत करते हैं, फिर उन्हें कस्टम सीयूडीए कर्नेल के साथ संबोधित करते हैं जो विभिन्न एडाप्टर सुधारों को एक साथ विभिन्न अनुक्रम स्थितियों में लागू कर सकते हैं। इस दृष्टिकोण को कभी-कभी लोरा मल्टीप्लेक्सिंग कहा जाता है। यह GPU को तब भी संतृप्त रहने की अनुमति देता है जब ट्रैफ़िक एक साथ कई अलग-अलग फ़ाइन-ट्यून वेरिएंट में फैला हो। वीएलएलएम उन उपयोगकर्ताओं के लिए मूल रूप से लोरा मल्टीप्लेक्सिंग का भी समर्थन करता है जो प्रति घंटे किराए पर लिए जाने वाले जीपीयू पर लोरा एडेप्टर को स्वैप करने में रुचि रखते हैं।

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

सर्वर रहित फाइन-ट्यूनिंग का उपयोग करने का वास्तविक प्रभाव

<पी> सर्वर रहित फ़ाइन-ट्यूनिंग की ताकत उन टीमों के लिए सबसे अधिक स्पष्ट है जो नई सेवाओं का निर्माण कर रही हैं जिनमें ट्रैफ़िक का असंगत विस्फोट होता है जैसे कि आरक्षित जीपीयू को 24/7 चलाना आवश्यक या लागत प्रभावी नहीं है। रात भर निष्क्रिय घंटों के लिए एक निश्चित जीपीयू-घंटे की दर का भुगतान करने के बजाय, आप केवल अपने अनुरोधों से टोकन के लिए भुगतान कर रहे हैं। सर्वर रहित आर्किटेक्चर में बदलाव करके, आप परिमाण के क्रम से अनुमानित लागत में कटौती कर सकते हैं।

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

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

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

निष्कर्ष

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

अभी भी उत्तर ढूंढ रहे हैं?

<पी> फाइन-ट्यून किए गए एलएलएम को सर्वर रहित तरीके से तैनात करें:भुगतान-प्रति-टोकन अनुमान के साथ लागत में कटौती करें यह कार्य क्रिएटिव कॉमन्स एट्रिब्यूशन-नॉन-कमर्शियल- के तहत लाइसेंस प्राप्त है शेयरअलाइक 4.0 अंतर्राष्ट्रीय लाइसेंस।
  1. एचटीएमएल डोम फिगकैप्शन ऑब्जेक्ट एचटीएमएल डोम फिगकैप्शन ऑब्जेक्ट

    HTML5 तत्व का प्रतिनिधित्व करने के लिए HTML DOM Figcaption ऑब्जेक्ट का उपयोग किया जाता है। आप क्रमशः createElement() और getElementById() विधि का उपयोग करके एक figcaption तत्व बना या एक्सेस कर सकते हैं। सिंटैक्स − . के लिए वाक्य रचना निम्नलिखित है फिगकैप्शन ऑब्जेक्ट बनाना - var p = document.create

  1. लिनक्स टर्मिनल में रंगीन टेक्स्ट कैसे आउटपुट करें? लिनक्स टर्मिनल में रंगीन टेक्स्ट कैसे आउटपुट करें?

    यहां हम देखेंगे कि कैसे कुछ लाइनों को कुछ रंगों के साथ लिनक्स टर्मिनल में प्रिंट किया जाए। यहां हम C++ कोड में कुछ खास कर रहे हैं। हम ऐसा करने के लिए बस कुछ लिनक्स टर्मिनल कमांड का उपयोग कर रहे हैं। इस तरह के आउटपुट के लिए कमांड नीचे जैसा है। \033[1;31m Sample Text \033[0m पाठ शैलियों और रंगों के ल

  1. एक समबाहु त्रिभुज में खुदे हुए वर्ग के भीतर खुदा हुआ सबसे बड़ा रेउलेक्स त्रिभुज? एक समबाहु त्रिभुज में खुदे हुए वर्ग के भीतर खुदा हुआ सबसे बड़ा रेउलेक्स त्रिभुज?

    यहां हम एक वर्ग के भीतर खुदा हुआ सबसे बड़ा रेयूलेक्स त्रिभुज का क्षेत्रफल देखेंगे जो एक समबाहु त्रिभुज में अंकित है। मान लीजिए a त्रिभुज की भुजा है। वर्ग की भुजा x है और रेउलेक्स त्रिभुज की ऊँचाई h है। त्रिभुज की भुजा है - तो x का मान है - 𝑥 = 0.464𝑎 रेउलेक्स त्रिभुज की ऊँचाई x के समान है।