Exafunction AWS Inferentia को मशीन लर्निंग इंट्रेंस प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के लिए सर्वोत्तम मूल्य प्रदर्शन को अनलॉक करने के लिए समर्थन करता है। लंबवत खोज। ऐ।

Exafunction मशीन सीखने के अनुमान के लिए सर्वोत्तम मूल्य प्रदर्शन को अनलॉक करने के लिए AWS Inferentia का समर्थन करता है

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

एक्सफ़ंक्शन एक स्टार्ट-अप है जो कंपनियों को एमएल को यथासंभव कुशलता से करने में सक्षम बनाने पर केंद्रित है। उनका एक उत्पाद है ExaDeployबड़े पैमाने पर एमएल वर्कलोड की सेवा के लिए उपयोग में आसान सास समाधान। ExaDeploy संसाधन उपयोग को अधिकतम करने के लिए मिश्रित संसाधनों (सीपीयू और हार्डवेयर त्वरक) में आपके एमएल वर्कलोड को कुशलतापूर्वक व्यवस्थित करता है। यह कुशल और विश्वसनीय परिनियोजन सुनिश्चित करने के लिए ऑटो स्केलिंग, कंप्यूट कोलोकेशन, नेटवर्क मुद्दों, दोष सहिष्णुता और अधिक का भी ध्यान रखता है। AWS Inferentia-आधारित अमेज़न EC2 Inf1 के उदाहरण क्‍लाउड में न्‍यूनतम मूल्‍य-प्रति-अनुमान प्रदान करने के उद्देश्‍य से बनाए गए हैं। ExaDeploy अब Inf1 उदाहरणों का समर्थन करता है, जो उपयोगकर्ताओं को त्वरक की हार्डवेयर-आधारित बचत और बड़े पैमाने पर अनुकूलित संसाधन वर्चुअलाइजेशन और ऑर्केस्ट्रेशन की सॉफ़्टवेयर-आधारित बचत दोनों प्राप्त करने की अनुमति देता है।

समाधान अवलोकन

ExaDeploy परिनियोजन दक्षता के लिए कैसे हल करता है

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

ExaDeploy को इन परिनियोजन दक्षता दर्द बिंदुओं को हल करने के लिए डिज़ाइन किया गया है, जिसमें स्वायत्त वाहन और प्राकृतिक भाषा प्रसंस्करण (एनएलपी) अनुप्रयोगों जैसे कुछ सबसे जटिल वर्कलोड में देखे गए हैं। कुछ बड़े बैच एमएल वर्कलोड पर, ExaDeploy ने विलंबता या सटीकता पर त्याग किए बिना 85% से अधिक की लागत कम कर दी है, जिसमें एकीकरण का समय एक इंजीनियर-दिन जितना कम है। ExaDeploy बिना किसी सिस्टम डिग्रेडेशन के हजारों एक साथ हार्डवेयर त्वरक संसाधन उदाहरणों को ऑटो स्केल और प्रबंधित करने के लिए सिद्ध हुआ है।

ExaDeploy की प्रमुख विशेषताओं में शामिल हैं:

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

Exafunction AWS Inferentia को मशीन लर्निंग इंट्रेंस प्लेटोब्लॉकचैन डेटा इंटेलिजेंस के लिए सर्वोत्तम मूल्य प्रदर्शन को अनलॉक करने के लिए समर्थन करता है। लंबवत खोज। ऐ।

  • स्केलेबल सर्वर रहित परिनियोजन मॉडल: त्वरक संसाधन संतृप्ति के आधार पर ऑटो स्केल तैनात करें। गतिशील रूप से 0 या हजारों संसाधनों तक कम करें।
  • विभिन्न संगणना प्रकारों के लिए समर्थन: आप सभी प्रमुख एमएल ढांचे के साथ-साथ मनमाना सी ++ कोड, सीयूडीए कर्नेल, कस्टम ऑप्स और पायथन फ़ंक्शंस से गहन शिक्षण मॉडल को ऑफ़लोड कर सकते हैं।
  • गतिशील मॉडल पंजीकरण और संस्करण: नए मॉडल या मॉडल संस्करण को पंजीकृत किया जा सकता है और सिस्टम को पुनर्निर्माण या पुन: नियोजित किए बिना चलाया जा सकता है।
  • पॉइंट-टू-पॉइंट निष्पादन: ग्राहक दूरस्थ त्वरक संसाधनों से सीधे जुड़ते हैं, जो कम विलंबता और उच्च थ्रूपुट को सक्षम करता है। वे दूर से भी राज्य को स्टोर कर सकते हैं।
  • अतुल्यकालिक निष्पादन: ExaDeploy मॉडल के अतुल्यकालिक निष्पादन का समर्थन करता है, जो क्लाइंट को दूरस्थ त्वरक संसाधन कार्य के साथ स्थानीय संगणना को समानांतर करने की अनुमति देता है।
  • दोष-सहिष्णु दूरस्थ पाइपलाइन: ExaDeploy क्लाइंट को त्रुटि सहिष्णुता गारंटी के साथ पाइपलाइनों में गतिशील रूप से दूरस्थ संगणना (मॉडल, प्रीप्रोसेसिंग, आदि) बनाने की अनुमति देता है। ExaDeploy सिस्टम स्वत: पुनर्प्राप्ति और रीप्ले के साथ पॉड या नोड विफलताओं को संभालता है, ताकि डेवलपर्स को गलती सहनशीलता सुनिश्चित करने के बारे में कभी सोचना न पड़े।
  • आउट-ऑफ-द-बॉक्स निगरानी: ExaDeploy त्वरक संसाधन उपयोग और अन्य सिस्टम मेट्रिक्स की कल्पना करने के लिए प्रोमेथियस मेट्रिक्स और ग्राफाना डैशबोर्ड प्रदान करता है।

ExaDeploy AWS Inferentia को सपोर्ट करता है

AWS Inferentia- आधारित Amazon EC2 Inf1 इंस्टेंसेस को डीप लर्निंग स्पेसिफिक इनफेरेंस वर्कलोड के लिए डिज़ाइन किया गया है। ये इंस्टेंसेस 2.3x थ्रूपुट तक प्रदान करते हैं और जीपीयू इंट्रेंस इंस्टेंसेस की वर्तमान पीढ़ी की तुलना में 70% तक लागत बचत करते हैं।

ExaDeploy अब AWS Inferentia का समर्थन करता है, और साथ में वे उद्देश्य-निर्मित हार्डवेयर-त्वरण और पैमाने पर अनुकूलित संसाधन ऑर्केस्ट्रेशन के माध्यम से प्राप्त किए गए बढ़े हुए प्रदर्शन और लागत-बचत को अनलॉक करते हैं। आइए एक बहुत ही सामान्य आधुनिक एमएल कार्यभार पर विचार करके ExaDeploy और AWS Inferentia के संयुक्त लाभों को देखें: बैचेड, मिश्रित-गणना कार्यभार।

काल्पनिक कार्यभार विशेषताएं:

  • 15 एमएस सीपीयू-ओनली प्री-प्रोसेस/पोस्ट-प्रोसेस
  • मॉडल अनुमान (GPU पर 15 ms, AWS Inferentia पर 5 ms)
  • 10 ग्राहक, प्रत्येक 20 एमएस में अनुरोध करते हैं
  • सीपीयू की अनुमानित सापेक्ष लागत: अनुमान: जीपीयू 1:2:4 है (सी2.एक्सलार्ज, इन्फ5.एक्सलार्ज, और जी1डीएन.एक्सलार्ज के लिए अमेज़ॅन ईसी4 ऑन-डिमांड कीमत पर आधारित)

नीचे दी गई तालिका दिखाती है कि प्रत्येक विकल्प कैसे आकार लेता है:

व्यवस्था आवश्यक संसाधन लागत विलंब
ExaDeploy के बिना GPU प्रति क्लाइंट 2 सीपीयू, 2 जीपीयू (कुल 20 सीपीयू, 20 जीपीयू) 100 30 एमएस
ExaDeploy के साथ GPU 8 क्लाइंट्स में 10 जीपीयू शेयर किए गए, प्रति क्लाइंट 1 सीपीयू 42 30 एमएस
ExaDeploy के बिना AWS Inferentia 1 CPU, 1 AWS Inferentia प्रति क्लाइंट (कुल 10 CPU, 10 Inferentia) 30 20 एमएस
ExaDeploy के साथ AWS Inferentia 3 AWS Inferentia 10 क्लाइंट्स में साझा किया गया, प्रति क्लाइंट 1 CPU 16 20 एमएस

AWS Inferentia उदाहरण पर ExaDeploy

इस खंड में, हम BERT PyTorch मॉडल पर inf1 नोड्स के साथ एक उदाहरण के माध्यम से ExaDeploy को कॉन्फ़िगर करने के चरणों पर जाते हैं। हमने बर्ट-बेस मॉडल के लिए 1140 सैंपल/सेकंड का औसत थ्रूपुट देखा, जो दर्शाता है कि इस सिंगल मॉडल, सिंगल वर्कलोड परिदृश्य के लिए ExaDeploy द्वारा बहुत कम या कोई ओवरहेड पेश नहीं किया गया था।

चरण 1: एक सेट करें अमेज़ॅन इलास्टिक कुबेरनेट्स सेवा (अमेज़ॅन ईकेएस) क्लस्टर

एक Amazon EKS क्लस्टर हमारे साथ लाया जा सकता है टेराफॉर्म एडब्ल्यूएस मॉड्यूल. हमारे उदाहरण के लिए, हमने एक इस्तेमाल किया inf1.xlarge एडब्ल्यूएस Inferentia के लिए।

चरण 2: ExaDepoy सेट अप करें

दूसरा चरण ExaDeploy को सेट अप करना है। सामान्य तौर पर, inf1 उदाहरणों पर ExaDeploy का परिनियोजन सरल है। सेटअप ज्यादातर उसी प्रक्रिया का अनुसरण करता है जैसा कि वह ग्राफिक्स प्रोसेसिंग यूनिट (जीपीयू) के उदाहरणों पर करता है। प्राथमिक अंतर मॉडल टैग को GPU से AWS Inferentia में बदलना और मॉडल को पुन: संकलित करना है। उदाहरण के लिए, ExaDeploy के एप्लिकेशन प्रोग्रामिंग इंटरफेस (APIs) का उपयोग करके g4dn से inf1 उदाहरणों में जाने के लिए कोड की केवल लगभग 10 पंक्तियों को बदलने की आवश्यकता होती है।

  • एक्सफंक्शन का उपयोग करना एक आसान तरीका है टेराफॉर्म एडब्ल्यूएस कुबेरनेट्स मॉड्यूल or हेल्म चार्ट. ये Amazon EKS क्लस्टर में चलने के लिए कोर ExaDeploy घटकों को परिनियोजित करते हैं।
  • मॉडल को क्रमबद्ध प्रारूप में संकलित करें (जैसे, टॉर्चस्क्रिप्ट, TF सहेजे गए मॉडल, ONNX, आदि)। AWS Inferentia के लिए, हमने अनुसरण किया इस ट्यूटोरियल.
  • ExaDeploy के मॉड्यूल रिपॉजिटरी में संकलित मॉडल को पंजीकृत करें।
    with exa.ModuleRepository(MODULE_REPOSITORY_ADDRESS) as repo:
       repo.register_py_module(
           "BertInferentia",
           module_class="TorchModule",
           context_data=BERT_NEURON_TORCHSCRIPT_AS_BYTES,
           config={
               "_torchscript_input_names": ",".join(BERT_INPUT_NAMES).encode(),
               "_torchscript_output_names": BERT_OUTPUT_NAME.encode(),
               "execution_type": "inferentia".encode(),
           },
       )

  • मॉडल के लिए डेटा तैयार करें (यानी, नहीं ExaDeploy-specific).
    tokenizer = transformers.AutoTokenizer.from_pretrained(
       "bert-base-cased-finetuned-mrpc"
    )
    
    batch_encoding = tokenizer.encode_plus(
       "The company Exafunction is based in the Bay Area",
       "Exafunction’s headquarters are situated in Mountain View",
       max_length=MAX_LENGTH,
       padding="max_length",
       truncation=True,
       return_tensors="pt",
    )

  • मॉडल को क्लाइंट से दूरस्थ रूप से चलाएँ।
    with exa.Session(
       scheduler_address=SCHEDULER_ADDRESS,
       module_tag="BertInferentia",
       constraint_config={
           "KUBERNETES_NODE_SELECTORS": "role=runner-inferentia",
           "KUBERNETES_ENV_VARS": "AWS_NEURON_VISIBLE_DEVICES=ALL",
       },
    ) as sess:
       bert = sess.new_module("BertInferentia")
       classification_logits = bert.run(
           **{
               key: value.numpy()
               for key, value in batch_encoding.items()
           }
       )[BERT_OUTPUT_NAME].numpy()
    
       # Assert that the model classifies the two statements as paraphrase.
       assert classification_logits[0].argmax() == 1

ExaDeploy और AWS Inferentia: एक साथ बेहतर

AWS Inferentia मॉडल अनुमान के लिए थ्रूपुट की सीमाओं को आगे बढ़ा रहा है और क्लाउड में न्यूनतम मूल्य-प्रति-अनुमान प्रदान कर रहा है। कहा जा रहा है कि, कंपनियों को बड़े पैमाने पर Inf1 के मूल्य-प्रदर्शन लाभों का आनंद लेने के लिए उचित ऑर्केस्ट्रेशन की आवश्यकता है। एमएल सर्विंग एक जटिल समस्या है, जिसे यदि इन-हाउस संबोधित किया जाता है, तो विशेषज्ञता की आवश्यकता होती है जो कंपनी के लक्ष्यों से हटा दी जाती है और अक्सर उत्पाद समयसीमा में देरी करती है। ExaDeploy, जो Exafunction का ML परिनियोजन सॉफ़्टवेयर समाधान है, उद्योग के अग्रणी के रूप में उभरा है। यह एक विश्व स्तरीय टीम से सहज एकीकरण अनुभव और समर्थन प्रदान करते हुए, यहां तक ​​कि सबसे जटिल एमएल कार्यभार भी प्रदान करता है। साथ में, ExaDeploy और AWS Inferentia बढ़े हुए प्रदर्शन और अनुमानित वर्कलोड के लिए लागत-बचत को बड़े पैमाने पर अनलॉक करते हैं।

निष्कर्ष

इस पोस्ट में, हमने आपको दिखाया कि कैसे Exafunction प्रदर्शन ML के लिए AWS Inferentia का समर्थन करता है। एक्सफ़ंक्शन के साथ एप्लिकेशन बनाने के बारे में अधिक जानकारी के लिए, देखें एक्सफ़ंक्शन. Inf1 पर डीप लर्निंग वर्कलोड बनाने के सर्वोत्तम अभ्यासों के लिए, देखें Amazon EC2 Inf1 उदाहरण।


लेखक के बारे में

निकोलस जियांग, सॉफ्टवेयर इंजीनियर, एक्सफंक्शन

जोनाथन मा, सॉफ्टवेयर इंजीनियर, एक्सफंक्शन

प्रेम नायर, सॉफ्टवेयर इंजीनियर, एक्सफंक्शन

अंशुल रामचंद्रन, सॉफ्टवेयर इंजीनियर, एक्सफंक्शन

श्रुति कोपारकर, वरिष्ठ उत्पाद विपणन प्रबंधक, AWS

समय टिकट:

से अधिक AWS मशीन लर्निंग