बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.

AWS Inferentia का उपयोग करके विलंबता को कम करते हुए और थ्रूपुट को बढ़ाते हुए बाइटडांस अनुमान लागत पर 60% तक की बचत करता है

यह एक अतिथि ब्लॉग पोस्ट है जिसे बाइटडांस के मिंगहुई यू और जियानझे जिओ के साथ मिलकर लिखा गया है।

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

बाइटडांस एएमएल (एप्लाइड मशीन लर्निंग) टीम कंपनी के व्यवसाय के लिए अत्यधिक प्रदर्शनकारी, विश्वसनीय और स्केलेबल एमएल सिस्टम और एंड-टू-एंड एमएल सेवाएं प्रदान करती है। हम प्रतिक्रिया समय बढ़ाए बिना लागत कम करने के लिए अपने एमएल अनुमान प्रणाली को अनुकूलित करने के तरीकों पर शोध कर रहे थे। जब AWS लॉन्च हुआ एडब्ल्यूएस इन्फेंटेंटिया, AWS द्वारा निर्मित एक उच्च-प्रदर्शन ML इन्वेंशन चिप उद्देश्य से, हमने अपनी AWS खाता टीम के साथ यह परीक्षण करने के लिए काम किया कि क्या AWS Inferentia हमारे अनुकूलन लक्ष्यों को पूरा कर सकता है। हमने अवधारणा के कई प्रमाण चलाए, जिसके परिणामस्वरूप T60 GPU-आधारित EC4 G2dn उदाहरणों की तुलना में 4% तक कम अनुमान लागत और 25% तक कम अनुमान विलंबता हुई। इन लागत बचत और प्रदर्शन सुधारों को महसूस करने के लिए, हमने AWS Inferentia- आधारित मॉडल को तैनात करने का निर्णय लिया अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन EC2) उत्पादन में Inf1 उदाहरण।

निम्नलिखित चार्ट हमारे चेहरे का पता लगाने वाले मॉडल में से एक के लिए विलंबता सुधार दिखाता है जिसे पहले टेन्सर आरटी के साथ जीपीयू पर तैनात किया गया था। औसत विलंबता 20% (50 मिलीसेकंड से 40 मिलीसेकंड तक) कम हो गई, और p99 विलंबता 25% कम हो गई (200 मिलीसेकंड से 150 मिलीसेकंड तक)।

इस पोस्ट में, हम साझा करते हैं कि कैसे हमने विलंबता को कम करते हुए और AWS Inferentia का उपयोग करके थ्रूपुट को बढ़ाते हुए अनुमान लागत पर बचत की।

उच्च प्रदर्शन, लागत प्रभावी गणना की तलाश में

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

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

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

अंततः, कई विकल्पों का मूल्यांकन करने के बाद, हमने परिसर में G2dn उदाहरणों और NVIDIA T1 की तुलना में उनके बेहतर प्रदर्शन/मूल्य अनुपात के लिए EC4 Inf4 उदाहरणों को चुना। हम Inf1 के मूल्य और प्रदर्शन लाभों को अनलॉक करने के लिए AWS टीम के साथ निरंतर पुनरावृत्ति के चक्र में लगे हुए हैं।

AWS Inferentia पर इंट्रेंस वर्कलोड की तैनाती

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

ओसीआर के लिए अनुरूपक मॉडल

हमारा ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) कंफर्मर मॉडल छवियों के भीतर पाठ का पता लगाता है और पढ़ता है। विलंबता को कम रखते हुए, विभिन्न बैच आकारों के लिए उच्च प्रदर्शन (QPS) प्राप्त करने के लिए हमने कई अनुकूलन पर काम किया। कुछ प्रमुख अनुकूलन नीचे दिए गए हैं:

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

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.

हमने Inferentia पर अपने परिनियोजन को ऑप्टिमाइज़ करने के लिए दो नए मॉडल संस्करण बनाए:

  • संयुक्त और अनियंत्रित एनकोडर / डिकोडर - एक स्वतंत्र रूप से संकलित एनकोडर और डिकोडर का उपयोग करने के बजाय, हमने एनकोडर और एक पूरी तरह से अनियंत्रित डिकोडर को एक मॉडल में जोड़ा और इस मॉडल को एक एनईएफएफ के रूप में संकलित किया। डिकोडर को अनलोल करने से किसी भी सीपीयू ऑपरेशन का उपयोग किए बिना इंफेंटिया पर सभी डिकोडर नियंत्रण प्रवाह को चलाना संभव हो जाता है। इस दृष्टिकोण के साथ, डिकोडर का प्रत्येक पुनरावृत्ति उस टोकन के लिए आवश्यक गणना की मात्रा का उपयोग करता है। यह दृष्टिकोण प्रदर्शन में सुधार करता है क्योंकि हम उस अतिरिक्त संगणना को काफी कम कर देते हैं जो पहले पैडिंग इनपुट द्वारा पेश की गई थी। इसके अलावा, डिकोडर पुनरावृत्तियों के बीच Inferentia से CPU में कोई डेटा स्थानांतरण आवश्यक नहीं है, जो I/O समय को काफी कम कर देता है। मॉडल का यह संस्करण जल्दी रोकने का समर्थन नहीं करता है।
  • विभाजित अनियंत्रित डिकोडर - संयुक्त पूरी तरह से अनियंत्रित मॉडल के समान, मॉडल का यह संस्करण डिकोडर के कई पुनरावृत्तियों को अनलॉक करता है और उन्हें एकल निष्पादन के रूप में संकलित करता है (लेकिन एनकोडर शामिल नहीं करता है)। उदाहरण के लिए, 75 की अधिकतम अनुक्रम लंबाई के लिए, हम डिकोडर को 3 विभाजनों में अनलॉक कर सकते हैं, जो 1-25, 26-50 और 51-75 टोकन की गणना करते हैं। I/O के संदर्भ में, यह भी काफी तेज है क्योंकि हमें प्रत्येक पुनरावृत्ति के लिए एक बार एनकोडर आउटपुट को स्थानांतरित करने की आवश्यकता नहीं है। इसके बजाय, प्रत्येक डिकोडर विभाजन के अनुसार आउटपुट केवल एक बार स्थानांतरित किए जाते हैं। मॉडल का यह संस्करण शुरुआती रोक का समर्थन करता है, लेकिन केवल विभाजन सीमाओं पर। प्रत्येक विशिष्ट एप्लिकेशन के लिए विभाजन सीमाओं को ट्यून किया जा सकता है ताकि यह सुनिश्चित किया जा सके कि अधिकांश अनुरोध केवल एक विभाजन को निष्पादित करते हैं।

प्रदर्शन को और बेहतर बनाने के लिए, हमने मेमोरी उपयोग को कम करने या एक्सेस दक्षता में सुधार करने के लिए निम्नलिखित अनुकूलन किए:

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

छवि वर्गीकरण के लिए ResNet50 मॉडल

ResNet-50 छवि वर्गीकरण के लिए एक पूर्व-प्रशिक्षित गहन शिक्षण मॉडल है। यह एक कनवॉल्यूशनल न्यूरल नेटवर्क (CNN या ConvNet) है जो आमतौर पर विज़ुअल इमेजरी का विश्लेषण करने के लिए उपयोग किया जाता है। Inferentia पर इस मॉडल के प्रदर्शन को बेहतर बनाने के लिए हमने निम्नलिखित तकनीकों का उपयोग किया:

  • मॉडल परिवर्तन - बाइटडांस के कई मॉडल ओएनएनएक्स प्रारूप में निर्यात किए जाते हैं, जो वर्तमान में इन्फेरेंटिया मूल रूप से समर्थन नहीं करता है। इन ONNX मॉडल को संभालने के लिए, AWS न्यूरॉन टीम ने हमारे मॉडल को ONNX प्रारूप से PyTorch मॉडल में बदलने के लिए स्क्रिप्ट प्रदान की, जिसे टॉर्च-न्यूरॉन का उपयोग करके सीधे Inferentia के लिए संकलित किया जा सकता है।
  • प्रदर्शन अनुकूलन - हमने साथ मिलकर काम किया AWS न्यूरॉन टीम हमारे ResNet-50 मॉडल के प्रदर्शन को अनुकूलित करने के लिए कंपाइलर में शेड्यूलिंग ह्यूरिस्टिक को ट्यून करेगी।

कंटेंट मॉडरेशन के लिए मल्टी-मोडल मॉडल

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

NEURON_RT_MULTI_INSTANCE_SHARED_WEIGHTS=1

अपडेट किए गए न्यूरॉन एसडीके ने हमारे डुप्लीकेट मॉडल की समग्र मेमोरी खपत को कम कर दिया, जिससे हमें मल्टी-कोर अनुमान के लिए अपने मल्टी-मोडल मॉडल को तैनात करने में मदद मिली।

अधिक मॉडलों को AWS Inferentia में माइग्रेट किया जा रहा है

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

यदि आप इस बारे में अधिक जानने में रुचि रखते हैं कि कैसे AWS Inferentia आपके अनुमान अनुप्रयोगों के प्रदर्शन को अनुकूलित करते हुए लागत बचाने में आपकी मदद कर सकता है, तो इस पर जाएँ अमेज़न EC2 Inf1 के उदाहरण उत्पाद पृष्ठ.


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

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.मिंगहुई यू बाइटडांस में अनुमान लगाने के लिए एक सीनियर मशीन लर्निंग टीम लीड हैं। उनका फोकस एरिया एआई कंप्यूटिंग एक्सेलेरेशन और मशीन लर्निंग सिस्टम है। वह मूर युग के बाद के विषम कंप्यूटिंग और कंप्यूटर वास्तुकला में बहुत रुचि रखते हैं। अपने खाली समय में उन्हें बास्केटबॉल और तीरंदाजी पसंद है।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.जियान्झे जिओ बाइटडांस में एएमएल टीम में एक वरिष्ठ सॉफ्टवेयर इंजीनियर टीम लीड हैं। उनका वर्तमान कार्य व्यवसाय टीम को मॉडल परिनियोजन प्रक्रिया को गति देने और मॉडल के निष्कर्ष प्रदर्शन को बेहतर बनाने में मदद करने पर केंद्रित है। काम के बाहर, उन्हें पियानो बजाने में मज़ा आता है।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.तियान शि AWS में एक वरिष्ठ समाधान वास्तुकार हैं। उनका फोकस एरिया डेटा एनालिटिक्स, मशीन लर्निंग और सर्वरलेस है। उन्हें क्लाउड पर विश्वसनीय और स्केलेबल समाधान डिजाइन करने और बनाने में ग्राहकों की मदद करने का शौक है। अपने खाली समय में उन्हें तैरना और पढ़ना अच्छा लगता है।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.जिया डोंग AWS में ग्राहक समाधान प्रबंधक हैं। उन्हें AWS AI/ML सेवाओं के बारे में जानने में आनंद आता है और ग्राहकों के लिए समाधान बनाकर उनके व्यावसायिक परिणामों को पूरा करने में मदद करती हैं। काम से बाहर, जिया यात्रा, योग और फिल्मों का आनंद लेती हैं।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.जोनाथन लंट एमएल ढांचे के विकास पर ध्यान देने के साथ अमेज़ॅन में एक सॉफ्टवेयर इंजीनियर है। अपने करियर के दौरान उन्होंने मॉडल विकास, बुनियादी ढांचे की तैनाती और हार्डवेयर-विशिष्ट अनुकूलन सहित डेटा साइंस भूमिकाओं की पूरी चौड़ाई में काम किया है।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.जोशुआ हन्नान अमेज़न में मशीन लर्निंग इंजीनियर हैं। वह बड़े पैमाने पर कंप्यूटर दृष्टि और प्राकृतिक भाषा प्रसंस्करण अनुप्रयोगों के लिए गहन शिक्षण मॉडल को अनुकूलित करने पर काम करता है।

बाइटडांस एडब्ल्यूएस इनफेरेंटिया प्लेटोब्लॉकचेन डेटा इंटेलिजेंस का उपयोग करके विलंबता को कम करने और थ्रूपुट को बढ़ाने के दौरान अनुमान लागत पर 60% तक की बचत करता है। लंबवत खोज. ऐ.श्रुति कोपरकरी AWS में वरिष्ठ उत्पाद विपणन प्रबंधक हैं। वह ग्राहकों को उनकी मशीन सीखने की जरूरतों के लिए EC2 त्वरित कंप्यूटिंग बुनियादी ढांचे का पता लगाने, मूल्यांकन करने और अपनाने में मदद करती है।

समय टिकट:

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

पूर्व-प्रशिक्षित मॉडल के साथ अमेज़ॅन सेजमेकर बिल्ट-इन एल्गोरिदम का उपयोग करके एमएल मॉडल के प्रदर्शन को बढ़ाएं और प्रशिक्षण समय को कम करें

स्रोत नोड: 1719203
समय टिकट: अक्टूबर 6, 2022