आज हमें यह घोषणा करते हुए खुशी हो रही है कि टुगेदर कंप्यूटर का GPT-NeoXT-Chat-Base-20B लैंग्वेज फाउंडेशन मॉडल इस्तेमाल करने वाले ग्राहकों के लिए उपलब्ध है। अमेज़न SageMaker जम्पस्टार्ट. GPT-NeoXT-Chat-Base-20B संवादात्मक बॉट बनाने के लिए एक ओपन-सोर्स मॉडल है। आप आसानी से इस मॉडल को आजमा सकते हैं और जम्पस्टार्ट के साथ इसका उपयोग कर सकते हैं। जम्पस्टार्ट मशीन लर्निंग (एमएल) का हब है अमेज़न SageMaker यह बिल्ट-इन एल्गोरिदम और एंड-टू-एंड सॉल्यूशन टेम्प्लेट के अलावा फाउंडेशन मॉडल तक पहुंच प्रदान करता है ताकि आपको एमएल के साथ जल्दी से शुरुआत करने में मदद मिल सके।
इस पोस्ट में, हम इसे तैनात करने के तरीके के बारे में जानेंगे GPT-NeoXT-चैट-बेस-20B मॉडल और एक के भीतर मॉडल का आह्वान करें ओपनचैटकिट इंटरएक्टिव खोल। यह प्रदर्शन आपके एप्लिकेशन के भीतर उपयोग के लिए एक ओपन-सोर्स फाउंडेशन मॉडल चैटबॉट प्रदान करता है।
जम्पस्टार्ट मॉडल डीप जावा सर्विंग का उपयोग करते हैं जो डीप जावा लाइब्रेरी (डीजेएल) का उपयोग मॉडल को अनुकूलित करने और अनुमान के लिए विलंबता को कम करने के लिए डीप स्पीड लाइब्रेरी के साथ करता है। जम्पस्टार्ट में अंतर्निहित कार्यान्वयन निम्नलिखित के समान कार्यान्वयन का अनुसरण करता है नोटबुक. जम्पस्टार्ट मॉडल हब ग्राहक के रूप में, आपको SageMaker SDK के बाहर मॉडल स्क्रिप्ट बनाए रखने की आवश्यकता के बिना बेहतर प्रदर्शन मिलता है। जम्पस्टार्ट मॉडल एंडपॉइंट्स के साथ बेहतर सुरक्षा मुद्रा भी प्राप्त करते हैं जो नेटवर्क अलगाव को सक्षम करते हैं।
सैजमेकर में फाउंडेशन मॉडल
जम्पस्टार्ट हगिंग फेस, पायटॉर्च हब और टेन्सरफ्लो हब सहित लोकप्रिय मॉडल हब से मॉडल की एक श्रृंखला तक पहुंच प्रदान करता है, जिसका उपयोग आप SageMaker में अपने एमएल विकास कार्यप्रवाह में कर सकते हैं। एमएल में हालिया प्रगति ने मॉडल के एक नए वर्ग को जन्म दिया है जिसे जाना जाता है नींव मॉडल, जो आम तौर पर अरबों मापदंडों पर प्रशिक्षित होते हैं और उपयोग के मामलों की एक विस्तृत श्रेणी के अनुकूल होते हैं, जैसे कि पाठ सारांश, डिजिटल कला उत्पन्न करना और भाषा अनुवाद। क्योंकि ये मॉडल प्रशिक्षित करने के लिए महंगे हैं, ग्राहक इन मॉडलों को स्वयं प्रशिक्षित करने के बजाय मौजूदा पूर्व-प्रशिक्षित फाउंडेशन मॉडल का उपयोग करना चाहते हैं और आवश्यकतानुसार उन्हें ठीक करना चाहते हैं। SageMaker उन मॉडलों की एक क्यूरेटेड सूची प्रदान करता है जिन्हें आप SageMaker कंसोल से चुन सकते हैं।
अब आप जम्पस्टार्ट के भीतर विभिन्न मॉडल प्रदाताओं से नींव मॉडल पा सकते हैं, जिससे आप नींव मॉडल के साथ शीघ्रता से आरंभ कर सकते हैं। आप विभिन्न कार्यों या मॉडल प्रदाताओं के आधार पर नींव मॉडल पा सकते हैं, और आसानी से मॉडल की विशेषताओं और उपयोग की शर्तों की समीक्षा कर सकते हैं। आप परीक्षण UI विजेट का उपयोग करके भी इन मॉडलों को आज़मा सकते हैं। जब आप बड़े पैमाने पर एक नींव मॉडल का उपयोग करना चाहते हैं, तो आप मॉडल प्रदाताओं से पूर्व-निर्मित नोटबुक का उपयोग करके सैजमेकर को छोड़े बिना आसानी से कर सकते हैं। क्योंकि मॉडल को AWS पर होस्ट और तैनात किया जाता है, आप निश्चिंत हो सकते हैं कि आपका डेटा, चाहे वह मूल्यांकन के लिए उपयोग किया गया हो या बड़े पैमाने पर मॉडल का उपयोग किया गया हो, कभी भी तीसरे पक्ष के साथ साझा नहीं किया जाता है।
GPT-NeoXT-Chat-Base-20B नींव मॉडल
साथ में कंप्यूटर विकसित GPT-NeoXT-Chat-Base-20B, एक 20-बिलियन-पैरामीटर लैंग्वेज मॉडल, 40 मिलियन से अधिक निर्देशों के साथ ElutherAI के GPT-NeoX मॉडल से फाइन-ट्यून किया गया, जो डायलॉग-स्टाइल इंटरैक्शन पर केंद्रित है। इसके अतिरिक्त, मॉडल को कई कार्यों पर ट्यून किया गया है, जैसे प्रश्न उत्तर, वर्गीकरण, निष्कर्षण और संक्षेपण। मॉडल OIG-43M डेटासेट पर आधारित है जिसे LAION और Ontocord के सहयोग से बनाया गया था।
उपरोक्त फाइन-ट्यूनिंग के अलावा, GPT-NeoXT-Chat-Base-20B-v0.16 फीडबैक डेटा की एक छोटी मात्रा के माध्यम से और फाइन-ट्यूनिंग से गुजरा है। यह मॉडल को बातचीत में मानवीय प्राथमिकताओं को बेहतर ढंग से अनुकूलित करने की अनुमति देता है। GPT-NeoXT-Chat-Base-20B को चैटबॉट अनुप्रयोगों में उपयोग के लिए डिज़ाइन किया गया है और यह अपने इच्छित दायरे से बाहर अन्य उपयोग मामलों के लिए अच्छा प्रदर्शन नहीं कर सकता है। साथ में, Ontocord और LAION ने OpenChatKit को रिलीज़ करने के लिए सहयोग किया, जो क्षमताओं के तुलनीय सेट के साथ ChatGPT का एक ओपन-सोर्स विकल्प है। OpenChatKit को Apache-2.0 लाइसेंस के तहत लॉन्च किया गया था, जो सोर्स कोड, मॉडल वेट और ट्रेनिंग डेटासेट तक पूरी पहुंच प्रदान करता है। ऐसे कई कार्य हैं जो OpenChatKit बॉक्स से बाहर उत्कृष्ट प्रदर्शन करते हैं। इसमें संक्षेपीकरण कार्य, निष्कर्षण कार्य शामिल हैं जो असंरचित दस्तावेजों से संरचित जानकारी निकालने की अनुमति देते हैं, और वर्गीकरण कार्य विभिन्न श्रेणियों में एक वाक्य या पैराग्राफ को वर्गीकृत करने के लिए।
आइए देखें कि हम जम्पस्टार्ट में GPT-NeoXT-Chat-Base-20B मॉडल का उपयोग कैसे कर सकते हैं।
समाधान अवलोकन
आप SageMaker पर GPT-NeoXT-Chat-Base-20B के परिनियोजन को दर्शाने वाला कोड पा सकते हैं और निम्नलिखित में कमांड शेल का उपयोग करके संवादात्मक तरीके से परिनियोजित मॉडल का उपयोग करने का एक उदाहरण है गिटहब नोटबुक.
निम्नलिखित अनुभागों में, हम मॉडल को परिनियोजित करने के लिए प्रत्येक चरण का विस्तार से विस्तार करते हैं और फिर विभिन्न कार्यों को हल करने के लिए इसका उपयोग करते हैं:
- पूर्वापेक्षाएँ सेट करें.
- एक पूर्व प्रशिक्षित मॉडल का चयन करें।
- कलाकृतियों को पुनः प्राप्त करें और एक समापन बिंदु तैनात करें।
- समापन बिंदु को क्वेरी करें और प्रतिक्रिया को पार्स करें।
- अपने परिनियोजित एंडपॉइंट के साथ इंटरैक्ट करने के लिए OpenChatKit शेल का उपयोग करें।
पूर्वापेक्षाएँ सेट करें
में एक ml.t3.medium उदाहरण पर इस नोटबुक का परीक्षण किया गया था अमेज़ॅन सैजमेकर स्टूडियो पायथन 3 (डेटा साइंस) कर्नेल के साथ और conda_python3 कर्नेल के साथ एक SageMaker नोटबुक उदाहरण में।
नोटबुक चलाने से पहले, सेटअप के लिए आवश्यक कुछ आरंभिक चरणों को पूरा करने के लिए निम्न आदेश का उपयोग करें:
एक पूर्व प्रशिक्षित मॉडल का चयन करें
हम हमेशा की तरह Boto3 का उपयोग करके एक SageMaker सत्र की स्थापना करते हैं और फिर उस मॉडल आईडी का चयन करते हैं जिसे हम परिनियोजित करना चाहते हैं:
कलाकृतियों को पुनः प्राप्त करें और एक समापन बिंदु तैनात करें
SageMaker के साथ, हम पूर्व-प्रशिक्षित मॉडल पर अनुमान लगा सकते हैं, यहां तक कि नए डेटासेट पर पहले इसे ठीक किए बिना भी। हम पुनः प्राप्त करके शुरू करते हैं instance_type
, image_uri
, तथा model_uri
पूर्व प्रशिक्षित मॉडल के लिए। पूर्व-प्रशिक्षित मॉडल को होस्ट करने के लिए, हम इसका एक उदाहरण बनाते हैं सेजमेकर.मॉडल.मॉडल और इसे तैनात करें। निम्नलिखित कोड निष्कर्ष समापन बिंदु के लिए ml.g5.24xlarge का उपयोग करता है। तैनाती विधि में कुछ मिनट लग सकते हैं।
समापन बिंदु को क्वेरी करें और प्रतिक्रिया को पार्स करें
इसके बाद, हम आपको एक उदाहरण दिखाते हैं कि हाइपरपैरामीटर के सबसेट के साथ एंडपॉइंट कैसे शुरू करें:
निम्नलिखित प्रतिक्रिया है जो हमें मिलती है:
यहां, हमने पेलोड तर्क प्रदान किया है "stopping_criteria": ["<human>"]
, जिसके परिणामस्वरूप शब्द अनुक्रम की पीढ़ी के साथ समाप्त होने वाली मॉडल प्रतिक्रिया हुई है <human>
. जम्पस्टार्ट मॉडल स्क्रिप्ट स्ट्रिंग्स की किसी भी सूची को वांछित स्टॉप शब्द के रूप में स्वीकार करेगी, इस सूची को एक मान्य में बदलें stoping_criteria कीवर्ड तर्क ट्रांसफॉर्मर एपीआई उत्पन्न करते हैं, और जब आउटपुट अनुक्रम में कोई निर्दिष्ट स्टॉप शब्द होता है तो टेक्स्ट उत्पादन बंद कर देता है। यह दो कारणों से उपयोगी है: पहला, अनुमान समय कम हो जाता है क्योंकि समापन बिंदु स्टॉप शब्दों से परे अवांछित पाठ उत्पन्न करना जारी नहीं रखता है, और दूसरा, यह OpenChatKit मॉडल को अतिरिक्त मानव और बॉट प्रतिक्रियाओं को मतिभ्रम करने से रोकता है जब तक कि अन्य स्टॉप मानदंड पूरे नहीं हो जाते .
अपने परिनियोजित एंडपॉइंट के साथ इंटरैक्ट करने के लिए OpenChatKit शेल का उपयोग करें
OpenChatKit चैटबॉट के साथ इंटरैक्ट करने के लिए एक कमांड लाइन शेल प्रदान करता है। इस चरण में, आप इस शेल का एक संस्करण बनाते हैं जो आपके परिनियोजित समापन बिंदु के साथ सहभागिता कर सकता है। हम इस OpenChatKit रिपॉजिटरी में अनुमान स्क्रिप्ट का सरलीकरण प्रदान करते हैं जो हमारे परिनियोजित SageMaker समापन बिंदु के साथ इंटरैक्ट कर सकता है।
इसके दो मुख्य घटक हैं:
- एक खोल दुभाषिया (
JumpStartOpenChatKitShell
) जो मॉडल समापन बिंदु के पुनरावृत्त अनुमान आमंत्रणों की अनुमति देता है - एक वार्तालाप वस्तु (
Conversation
) जो पिछले मानव/चैटबॉट इंटरैक्शन को स्थानीय रूप से इंटरएक्टिव शेल के भीतर संग्रहीत करता है और भविष्य के अनुमान संदर्भ के लिए पिछली बातचीत को उचित रूप से प्रारूपित करता है
RSI Conversation
ऑब्जेक्ट को OpenChatKit रिपॉजिटरी से आयात किया जाता है। निम्न कोड एक कस्टम शेल दुभाषिया बनाता है जो आपके समापन बिंदु के साथ इंटरैक्ट कर सकता है। यह OpenChatKit कार्यान्वयन का सरलीकृत संस्करण है। हम आपको OpenChatKit रिपॉजिटरी का पता लगाने के लिए प्रोत्साहित करते हैं कि आप इस संदर्भ में टोकन स्ट्रीमिंग, मॉडरेशन मॉडल और पुनर्प्राप्ति संवर्धित पीढ़ी जैसी अधिक गहन सुविधाओं का उपयोग कैसे कर सकते हैं। इस नोटबुक का संदर्भ जम्पस्टार्ट समापन बिंदु के साथ एक न्यूनतम व्यवहार्य चैटबॉट प्रदर्शित करने पर केंद्रित है; आप यहाँ से आवश्यकतानुसार जटिलता जोड़ सकते हैं।
दिखाने के लिए एक छोटा डेमो JumpStartOpenChatKitShell
निम्नलिखित वीडियो में दिखाया गया है।
निम्नलिखित स्निपेट दिखाता है कि कोड कैसे काम करता है:
अब आप इस शेल को कमांड लूप के रूप में लॉन्च कर सकते हैं। यह बार-बार एक संकेत जारी करेगा, इनपुट स्वीकार करेगा, इनपुट कमांड को पार्स करेगा और कार्यों को भेजेगा। क्योंकि परिणामी शेल का उपयोग अनंत लूप में किया जा सकता है, यह नोटबुक एक डिफ़ॉल्ट कमांड क्यू प्रदान करता है (cmdqueue
) इनपुट लाइनों की कतारबद्ध सूची के रूप में। क्योंकि अंतिम इनपुट कमांड है /quit
, कतार समाप्त होने पर खोल बाहर निकल जाएगा। इस चैटबॉट के साथ गतिशील रूप से इंटरैक्ट करने के लिए, को हटा दें cmdqueue
.
उदाहरण 1: बातचीत का प्रसंग कायम रखा जाता है
निम्नलिखित संकेत से पता चलता है कि चैटबॉट अनुवर्ती प्रश्नों का उत्तर देने के लिए बातचीत के संदर्भ को बनाए रखने में सक्षम है:
उदाहरण 2: भावनाओं का वर्गीकरण
निम्नलिखित उदाहरण में, चैटबॉट ने वाक्य की भावनाओं की पहचान करके एक वर्गीकरण कार्य किया। जैसा कि आप देख सकते हैं, चैटबॉट सकारात्मक और नकारात्मक भावनाओं को सफलतापूर्वक वर्गीकृत करने में सक्षम था।
उदाहरण 3: संक्षिप्तीकरण कार्य
अगला, हमने चैटबॉट शेल के साथ संक्षेपण कार्यों की कोशिश की। निम्न उदाहरण से पता चलता है कि लंबा पाठ कैसा है Amazon Comprehend एक वाक्य में संक्षेपित किया गया था और चैटबॉट पाठ पर अनुवर्ती प्रश्नों का उत्तर देने में सक्षम था:
उदाहरण 4: असंरचित पाठ से संरचित जानकारी निकालें
निम्नलिखित उदाहरण में, हमने फ्री-फॉर्म भाषा में प्रदान की गई जानकारी का उपयोग करके एक प्रोजेक्ट प्लान बनाने के लिए हेडर, रो और कॉलम के साथ एक मार्कडाउन टेबल बनाने के लिए चैटबॉट का उपयोग किया:
उदाहरण 5: चैटबॉट के इनपुट के रूप में आदेश
जैसे कमांड के रूप में हम इनपुट भी प्रदान कर सकते हैं /hyperparameters
हाइपरपैरामीटर मान देखने के लिए और /quit
कमांड शेल छोड़ने के लिए:
इन उदाहरणों ने कुछ ऐसे कार्यों को प्रदर्शित किया है जिनमें OpenChatKit उत्कृष्टता प्राप्त करता है। हम आपको विभिन्न संकेतों को आज़माने और यह देखने के लिए प्रोत्साहित करते हैं कि आपके उपयोग के मामले में सबसे अच्छा क्या काम करता है।
क्लीन अप
समापन बिंदु का परीक्षण करने के बाद, सुनिश्चित करें कि आपने शुल्क लगाने से बचने के लिए SageMaker निष्कर्ष समापन बिंदु और मॉडल को हटा दिया है।
निष्कर्ष
इस पोस्ट में, हमने आपको दिखाया कि SageMaker का उपयोग करके GPT-NeoXT-Chat-Base-20B मॉडल का परीक्षण और उपयोग कैसे करें और दिलचस्प चैटबॉट एप्लिकेशन कैसे बनाएं। आज ही सैजमेकर में फाउंडेशन मॉडल को आजमाएं और हमें अपनी प्रतिक्रिया बताएं!
यह मार्गदर्शन केवल सूचनात्मक उद्देश्यों के लिए है। आपको अभी भी अपना स्वतंत्र मूल्यांकन करना चाहिए, और यह सुनिश्चित करने के लिए उपाय करना चाहिए कि आप अपने स्वयं के विशिष्ट गुणवत्ता नियंत्रण प्रथाओं और मानकों, और स्थानीय नियमों, कानूनों, विनियमों, लाइसेंसों और उपयोग की शर्तों का पालन करते हैं जो आप पर, आपकी सामग्री पर लागू होते हैं, और इस मार्गदर्शन में संदर्भित तृतीय-पक्ष मॉडल। इस मार्गदर्शन में संदर्भित तृतीय-पक्ष मॉडल पर AWS का कोई नियंत्रण या अधिकार नहीं है, और यह कोई प्रतिनिधित्व या वारंटी नहीं देता है कि तृतीय-पक्ष मॉडल सुरक्षित, वायरस-मुक्त, परिचालन या आपके उत्पादन वातावरण और मानकों के अनुकूल है। AWS कोई अभ्यावेदन, वारंटी या गारंटी नहीं देता है कि इस मार्गदर्शन में किसी भी जानकारी के परिणामस्वरूप कोई विशेष परिणाम या परिणाम होगा।
लेखक के बारे में
रचना चड्ढा एडब्ल्यूएस में सामरिक खातों में प्रधान समाधान वास्तुकार एआई/एमएल है। रचना एक आशावादी है जो मानती है कि एआई का नैतिक और जिम्मेदार उपयोग भविष्य में समाज को बेहतर बना सकता है और आर्थिक और सामाजिक समृद्धि ला सकता है। अपने खाली समय में, रचना को अपने परिवार के साथ समय बिताना, लंबी पैदल यात्रा करना और संगीत सुनना पसंद है।
डॉ काइल उलरिच के साथ एक अनुप्रयुक्त वैज्ञानिक है अमेज़ॅन सेजमेकर बिल्ट-इन एल्गोरिदम टीम। उनके शोध के हितों में स्केलेबल मशीन लर्निंग एल्गोरिदम, कंप्यूटर विज़न, टाइम सीरीज़, बायेसियन नॉन-पैरामेट्रिक्स और गॉसियन प्रोसेस शामिल हैं। उनकी पीएचडी ड्यूक यूनिवर्सिटी से है और उन्होंने न्यूरआईपीएस, सेल और न्यूरॉन में पत्र प्रकाशित किए हैं।
डॉ आशीष खेतानी Amazon SageMaker बिल्ट-इन एल्गोरिदम के साथ एक वरिष्ठ एप्लाइड साइंटिस्ट हैं और मशीन लर्निंग एल्गोरिदम विकसित करने में मदद करते हैं। उन्होंने इलिनोइस विश्वविद्यालय उरबाना-शैंपेन से पीएचडी की उपाधि प्राप्त की। वह मशीन लर्निंग और सांख्यिकीय अनुमान में एक सक्रिय शोधकर्ता हैं, और उन्होंने NeurIPS, ICML, ICLR, JMLR, ACL और EMNLP सम्मेलनों में कई पत्र प्रकाशित किए हैं।
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोआईस्ट्रीम। Web3 डेटा इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- मिंटिंग द फ्यूचर डब्ल्यू एड्रिएन एशले। यहां पहुंचें।
- PREIPO® के साथ PRE-IPO कंपनियों में शेयर खरीदें और बेचें। यहां पहुंचें।
- स्रोत: https://aws.amazon.com/blogs/machine-learning/gpt-neoxt-chat-base-20b-foundation-model-for-chatbot-applications-is-now-available-on-amazon-sagemaker/