आज, जेनेरिक एआई मॉडल पाठ सारांश, प्रश्नोत्तर, और छवि और वीडियो निर्माण से लेकर विभिन्न प्रकार के कार्यों को कवर करते हैं। आउटपुट की गुणवत्ता में सुधार के लिए एन-शॉर्ट लर्निंग, प्रॉम्प्ट इंजीनियरिंग, रिट्रीवल ऑगमेंटेड जेनरेशन (आरएजी) और फाइन ट्यूनिंग जैसे तरीकों का उपयोग किया जाता है। फाइन-ट्यूनिंग आपको अपने डोमेन-विशिष्ट कार्यों पर बेहतर प्रदर्शन प्राप्त करने के लिए इन जेनरेटिव एआई मॉडल को समायोजित करने की अनुमति देता है।
अमेज़ॅन सेजमेकर के साथ, अब आप @remote डेकोरेटर के साथ अपने पायथन कोड को एनोटेट करके सेजमेकर प्रशिक्षण कार्य चला सकते हैं। सेजमेकर पायथन एसडीके स्वचालित रूप से आपके मौजूदा कार्यक्षेत्र वातावरण और किसी भी संबंधित डेटा प्रोसेसिंग कोड और डेटासेट को सेजमेकर प्रशिक्षण कार्य में अनुवादित करता है जो प्रशिक्षण प्लेटफ़ॉर्म पर चलता है। इससे कोड को अधिक प्राकृतिक, ऑब्जेक्ट-ओरिएंटेड तरीके से लिखने का लाभ मिलता है, और यह अभी भी न्यूनतम परिवर्तनों के साथ दूरस्थ क्लस्टर पर प्रशिक्षण कार्य चलाने के लिए सेजमेकर क्षमताओं का उपयोग करता है।
इस पोस्ट में, हम दिखाते हैं कि इसे कैसे ठीक किया जाए फाल्कन-7बी फाउंडेशन मॉडल (एफएम) सेजमेकर पायथन एसडीके से @रिमोट डेकोरेटर का उपयोग कर रहा है। यह भी प्रयोग करता है हगिंग फेस की पैरामीटर-कुशल फ़ाइन-ट्यूनिंग (पीईएफटी) पुस्तकालय और परिमाणीकरण तकनीकों के माध्यम से बिटसैंडबाइट्स फाइन-ट्यूनिंग का समर्थन करने के लिए। इस ब्लॉग में प्रस्तुत कोड का उपयोग अन्य एफएम को फाइन-ट्यून करने के लिए भी किया जा सकता है, जैसे लामा-2 13बी.
इस मॉडल के पूर्ण सटीक निरूपण में एक या कई मेमोरी में फिट होने की चुनौतियाँ हो सकती हैं ग्राफिक प्रोसेसिंग यूनिट (जीपीयू) - या किसी बड़े उदाहरण की भी आवश्यकता हो सकती है। इसलिए, लागत में वृद्धि किए बिना इस मॉडल को बेहतर बनाने के लिए, हम नामक तकनीक का उपयोग करते हैं निम्न-रैंक एडेप्टर (क्यूएलओआरए) के साथ मात्राबद्ध एलएलएम. QLoRA एक कुशल फाइन-ट्यूनिंग दृष्टिकोण है जो बहुत अच्छा प्रदर्शन बनाए रखते हुए एलएलएम के मेमोरी उपयोग को कम करता है।
@रिमोट डेकोरेटर का उपयोग करने के लाभ
आगे बढ़ने से पहले, आइए समझें कि सेजमेकर के साथ काम करते समय रिमोट डेकोरेटर डेवलपर उत्पादकता में कैसे सुधार करता है:
- @रिमोट डेकोरेटर सेजमेकर एस्टिमेटर्स और सेजमेकर इनपुट चैनलों के स्पष्ट आह्वान के बिना, सीधे देशी पायथन कोड का उपयोग करके एक प्रशिक्षण कार्य शुरू करता है
- सेजमेकर पर डेवलपर्स प्रशिक्षण मॉडल के लिए प्रवेश के लिए कम बाधा।
- स्विच करने की कोई आवश्यकता नहीं एकीकृत विकास वातावरण (आईडीई). अपनी पसंद की आईडीई में कोड लिखना जारी रखें और सेजमेकर प्रशिक्षण नौकरियों का आह्वान करें।
- कंटेनरों के बारे में जानने की जरूरत नहीं है. a में निर्भरताएँ प्रदान करना जारी रखें
आवश्यकताएँ.txt
और उसे रिमोट डेकोरेटर को सप्लाई करें।
आवश्यक शर्तें
AWS आइडेंटिटी एंड एक्सेस मैनेजमेंट (AWS IAM) भूमिका के साथ एक AWS खाते की आवश्यकता होती है जिसमें समाधान के हिस्से के रूप में बनाए गए संसाधनों को प्रबंधित करने की अनुमति होती है। विवरण के लिए, AWS खाता बनाना देखें।
इस पोस्ट में, हम Amazon SageMaker Studio का उपयोग करेंगे डेटा साइंस 3.0
छवि और ए ml.t3.मध्यम
तेज़ लॉन्च उदाहरण। हालाँकि, आप अपनी पसंद के किसी भी एकीकृत विकास वातावरण (आईडीई) का उपयोग कर सकते हैं। आपको बस अपना AWS कमांड लाइन इंटरफ़ेस (AWS CLI) क्रेडेंशियल सही ढंग से सेट करना होगा। अधिक जानकारी के लिए, AWS CLI कॉन्फ़िगर करें देखें।
फाइन-ट्यूनिंग के लिए, फाल्कन-7बी, ए ml.g5.12xबड़ा
इस पोस्ट में उदाहरण का उपयोग किया गया है। कृपया AWS खाते में इस उदाहरण के लिए पर्याप्त क्षमता सुनिश्चित करें।
आपको इसे क्लोन करना होगा जीथब भंडार इस पोस्ट में प्रदर्शित समाधान की नकल करने के लिए।
समाधान सिंहावलोकन
- फाल्कन-7बी मॉडल को ठीक करने के लिए पूर्व-आवश्यकताएँ स्थापित करें
- रिमोट डेकोरेटर कॉन्फ़िगरेशन सेट करें
- AWS सेवाओं वाले FAQ वाले डेटासेट को प्रीप्रोसेस करें
- AWS सेवाओं के अक्सर पूछे जाने वाले प्रश्नों पर फाल्कन-7बी को फाइन-ट्यून करें
- AWS सेवाओं से संबंधित नमूना प्रश्नों पर फाइन-ट्यून मॉडल का परीक्षण करें
1. फाल्कन-7बी मॉडल को ठीक करने के लिए पूर्वापेक्षाएँ स्थापित करें
नोटबुक लॉन्च करें falcon-7b-qlora-रिमोट-डेकोरेटर_qa.ipynb सेजमेकर स्टूडियो में I का चयन करकेजादूगर जैसा डेटा विज्ञान
और गुठली जैसा पायथन 3
. में उल्लिखित सभी आवश्यक लाइब्रेरी स्थापित करें आवश्यकताएँ.txt
. कुछ पुस्तकालयों को नोटबुक इंस्टेंस पर ही स्थापित करने की आवश्यकता है। डेटासेट प्रोसेसिंग और सेजमेकर प्रशिक्षण कार्य को ट्रिगर करने के लिए आवश्यक अन्य ऑपरेशन करें।
2. रिमोट डेकोरेटर कॉन्फ़िगरेशन सेटअप करें
एक कॉन्फ़िगरेशन फ़ाइल बनाएं जहां Amazon SageMaker प्रशिक्षण कार्य से संबंधित सभी कॉन्फ़िगरेशन निर्दिष्ट हैं। प्रशिक्षण कार्य चलाते समय यह फ़ाइल @रिमोट डेकोरेटर द्वारा पढ़ी जाती है। इस फ़ाइल में प्रशिक्षण कार्य के लिए उपयोग की जाने वाली निर्भरता, प्रशिक्षण छवि, उदाहरण और निष्पादन भूमिका जैसी सेटिंग्स शामिल हैं। कॉन्फ़िगरेशन फ़ाइल द्वारा समर्थित सभी सेटिंग्स के विस्तृत संदर्भ के लिए, देखें सेजमेकर पायथन एसडीके के साथ डिफॉल्ट्स को कॉन्फ़िगर करना और उनका उपयोग करना.
का उपयोग करना अनिवार्य नहीं है config.yaml
@रिमोट डेकोरेटर के साथ काम करने के लिए फ़ाइल। यह @remote डेकोरेटर को सभी कॉन्फ़िगरेशन की आपूर्ति करने का एक साफ-सुथरा तरीका है। यह टीम के सदस्यों द्वारा उपयोग की जाने वाली कॉन्फ़िगरेशन फ़ाइल को सेट करने के लिए एक बार के प्रयास के साथ SageMaker और AWS संबंधित पैरामीटर को कोड के बाहर रखता है। सभी कॉन्फ़िगरेशन सीधे डेकोरेटर तर्कों में भी प्रदान किए जा सकते हैं, लेकिन इससे लंबे समय में परिवर्तनों की पठनीयता और रखरखाव कम हो जाता है। साथ ही, कॉन्फ़िगरेशन फ़ाइल एक व्यवस्थापक द्वारा बनाई जा सकती है और एक वातावरण में सभी उपयोगकर्ताओं के साथ साझा की जा सकती है।
AWS सेवाओं वाले FAQ वाले डेटासेट को प्रीप्रोसेस करें
अगला कदम डेटासेट को प्रशिक्षण कार्य के लिए तैयार करने के लिए लोड और प्रीप्रोसेस करना है। सबसे पहले, आइए डेटासेट पर एक नज़र डालें:
यह AWS सेवाओं में से एक के लिए अक्सर पूछे जाने वाले प्रश्न दिखाता है। QLoRA के अलावा, बिटसनबाइट्स
जमे हुए एलएलएम को 4-बिट में परिमाणित करने और संलग्न करने के लिए 4-बिट परिशुद्धता में परिवर्तित करने के लिए उपयोग किया जाता है लोरा उस पर एडाप्टर.
प्रत्येक FAQ नमूने को प्रॉम्प्ट प्रारूप में बदलने के लिए एक प्रॉम्प्ट टेम्पलेट बनाएँ:
अगला कदम इनपुट (टेक्स्ट) को टोकन आईडी में बदलना है। यह एक द्वारा किया जाता है हगिंग फेस ट्रांसफॉर्मर टोकनाइज़र.
अब बस इसका उपयोग करें प्रॉम्प्ट_टेम्पलेट
सभी FAQ को प्रॉम्प्ट प्रारूप में बदलने और ट्रेन और परीक्षण डेटासेट सेट करने का कार्य।
4. एडब्ल्यूएस सेवाओं के अक्सर पूछे जाने वाले प्रश्नों पर फाल्कन-7बी को फाइन ट्यून करें
अब आप प्रशिक्षण स्क्रिप्ट तैयार कर सकते हैं और प्रशिक्षण फ़ंक्शन को परिभाषित कर सकते हैं ट्रेन_एफएन
और फ़ंक्शन पर @remote डेकोरेटर डालें।
प्रशिक्षण कार्य निम्नलिखित कार्य करता है:
- डेटासेट को टोकनाइज़ और खंडित करता है
- स्थापित करना
BitsAndBytesConfig
, जो निर्दिष्ट करता है कि मॉडल को 4-बिट में लोड किया जाना चाहिए लेकिन गणना करते समय इसे परिवर्तित किया जाना चाहिएbfloat16
. - मॉडल लोड करें
- उपयोगिता विधि का उपयोग करके लक्ष्य मॉड्यूल ढूंढें और आवश्यक मैट्रिक्स को अपडेट करें
सभी_रैखिक_नाम खोजें
- बनाएं लोरा कॉन्फ़िगरेशन जो अद्यतन मैट्रिक्स की रैंकिंग निर्दिष्ट करते हैं (
एस
), मापन कारक (lora_alpha
), लोरा अपडेट मैट्रिसेस लागू करने के लिए मॉड्यूल (लक्ष्य_मॉड्यूल
), लोरा परतों के लिए ड्रॉपआउट संभावना(लोरा_ड्रॉपआउट
),कार्य_प्रकार
, वगैरह। - प्रशिक्षण और मूल्यांकन प्रारंभ करें
और आह्वान करें ट्रेन_एफएन()
ट्यूनिंग कार्य Amazon SageMaker प्रशिक्षण क्लस्टर पर चलेगा। ट्यूनिंग कार्य समाप्त होने तक प्रतीक्षा करें।
5. AWS सेवाओं से संबंधित नमूना प्रश्नों पर फाइन ट्यून मॉडल का परीक्षण करें
अब, मॉडल पर कुछ परीक्षण चलाने का समय आ गया है। सबसे पहले, आइए मॉडल लोड करें:
अब मूल उत्तर देखने के लिए प्रशिक्षण डेटासेट से एक नमूना प्रश्न लोड करें और फिर तुलना में उत्तर देखने के लिए ट्यून किए गए मॉडल से वही प्रश्न पूछें।
यहां प्रशिक्षण सेट से एक प्रश्न और मूल उत्तर का नमूना दिया गया है:
अब, फाल्कन-7बी मॉडल को ट्यून करने के लिए भी यही प्रश्न पूछा जा रहा है:
यह Amazon SageMaker Python SDK से @remote डेकोरेटर का उपयोग करके AWS सेवाओं FAQ डेटासेट पर फाइन ट्यूनिंग फाल्कन-7B के कार्यान्वयन को समाप्त करता है।
सफाई
अपने संसाधनों को साफ़ करने के लिए निम्नलिखित चरणों को पूरा करें:
- अतिरिक्त लागत से बचने के लिए Amazon SageMaker Studio इंस्टेंस को बंद करें।
- हगिंग फेस कैश निर्देशिका को साफ़ करके अपनी अमेज़ॅन इलास्टिक फ़ाइल सिस्टम (अमेज़ॅन ईएफएस) निर्देशिका को साफ़ करें:
निष्कर्ष
इस पोस्ट में, हमने आपको दिखाया कि QLoRA, हगिंग फेस PEFT का उपयोग करके फाल्कन-7B मॉडल को फाइन-ट्यून करने के लिए @रिमोट डेकोरेटर की क्षमताओं का प्रभावी ढंग से उपयोग कैसे किया जाए। bitsandbtyes
प्रशिक्षण नोटबुक में महत्वपूर्ण परिवर्तन लागू किए बिना, और दूरस्थ क्लस्टर पर प्रशिक्षण कार्य चलाने के लिए अमेज़ॅन सेजमेकर क्षमताओं का उपयोग किया।
फाल्कन-7बी को फाइन-ट्यून करने के लिए इस पोस्ट के हिस्से के रूप में दिखाए गए सभी कोड उपलब्ध हैं गिटहब रिपॉजिटरी. रिपॉजिटरी में नोटबुक भी शामिल है जिसमें दिखाया गया है कि लामा-13बी को कैसे ठीक किया जाए।
अगले चरण के रूप में, हम आपको @रिमोट डेकोरेटर कार्यक्षमता की जांच करने के लिए प्रोत्साहित करते हैं पायथन एसडीके एपीआई और इसे अपनी पसंद के वातावरण और आईडीई में उपयोग करें। अतिरिक्त उदाहरण यहां उपलब्ध हैं अमेज़ॅन-सेजमेकर-उदाहरण आपको शीघ्रता से आरंभ करने के लिए भंडार। आप निम्नलिखित पोस्ट भी देख सकते हैं:
लेखक के बारे में
ब्रूनो पिस्टन मिलान स्थित AWS के लिए एक AI/ML स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट है। वह बड़े ग्राहकों के साथ काम करते हैं और उन्हें उनकी तकनीकी जरूरतों को गहराई से समझने और एआई और मशीन लर्निंग समाधान डिजाइन करने में मदद करते हैं जो एडब्ल्यूएस क्लाउड और अमेज़ॅन मशीन लर्निंग स्टैक का सबसे अच्छा उपयोग करते हैं। उनकी विशेषज्ञता में शामिल हैं: मशीन लर्निंग एंड टू एंड, मशीन लर्निंग औद्योगीकरण, और जेनरेटिव एआई। उसे अपने दोस्तों के साथ समय बिताना और नई जगहों की खोज करना, साथ ही नए गंतव्यों की यात्रा करना पसंद है।
विकेश पांडे AWS में एक मशीन लर्निंग स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट है, जो वित्तीय उद्योगों के ग्राहकों को जेनरेटिव AI और ML पर समाधान डिजाइन और निर्माण करने में मदद करता है। काम के अलावा, विकेश को विभिन्न व्यंजन आज़माना और आउटडोर खेल खेलना पसंद है।
उत्तर छोड़ दें