कैसे Amazon Search ने AWS Inferentia के साथ ML अनुमान लागत को 85% तक कम किया

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

इस पोस्ट में, हम वर्णन करते हैं कि Amazon Search कैसे उपयोग करता है एडब्ल्यूएस इन्फेंटेंटिया, गहन शिक्षण अनुमान कार्यभार में तेजी लाने के लिए AWS द्वारा निर्मित एक उच्च-प्रदर्शन त्वरक उद्देश्य। टीम एडब्ल्यूएस इन्फरेंटिया-आधारित पर ट्रांसफार्मर-आधारित एनएलपी मॉडल के साथ कम-विलंबता एमएल अनुमान चलाती है अमेज़ॅन इलास्टिक कम्प्यूट क्लाउड (अमेज़ॅन ईसी2) इन्फ1 इंस्टेंस, और मजबूत थ्रूपुट और विलंबता प्रदर्शन को बनाए रखते हुए बुनियादी ढांचे की लागत में 85% तक की बचत करता है।

डुप्लिकेट और क्वेरी इरादे की भविष्यवाणी के लिए गहन शिक्षण

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

  • ग्राहक-कथित डुप्लिकेट भविष्यवाणियां - उपयोगकर्ता की क्वेरी से मेल खाने वाले उत्पादों की सबसे प्रासंगिक सूची दिखाने के लिए, उन उत्पादों की पहचान करना महत्वपूर्ण है जिनके बीच अंतर करने में ग्राहकों को कठिनाई होती है
  • क्वेरी इरादा भविष्यवाणी - खोज पृष्ठ और उत्पाद लेआउट को बेहतर ढंग से अनुकूलित करने के लिए जो ग्राहक खोज रहा है, उपयोगकर्ता की क्वेरी के इरादे और प्रकार की भविष्यवाणी करना महत्वपूर्ण है (उदाहरण के लिए, मीडिया से संबंधित क्वेरी, सहायता क्वेरी, और अन्य क्वेरी प्रकार)

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

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

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

एडब्ल्यूएस इन्फरेंटिया और एडब्ल्यूएस न्यूरॉन एसडीके

EC2 Inf1 उदाहरण एडब्ल्यूएस इन्फरेंटिया द्वारा संचालित हैं, एडब्ल्यूएस द्वारा निर्मित पहला एमएल त्वरक उद्देश्य गहन शिक्षण अनुमान कार्यभार में तेजी लाने के लिए। Inf1 इंस्टेंस तुलनीय GPU-आधारित EC2.3 इंस्टेंस की तुलना में 70 गुना अधिक थ्रूपुट और 2% तक कम लागत प्रति अनुमान प्रदान करते हैं। आप अपनी पसंद के ढांचे (PyTorch, TensorFlow, MXNet) का उपयोग करके अपने मॉडलों का प्रशिक्षण जारी रख सकते हैं, और फिर अंतर्निहित प्रदर्शन अनुकूलन से लाभ उठाने के लिए उन्हें आसानी से AWS Inferentia पर तैनात कर सकते हैं। आप इमेज रिकग्निशन, ऑब्जेक्ट डिटेक्शन, नेचुरल लैंग्वेज प्रोसेसिंग (NLP) और आधुनिक अनुशंसा मॉडल से, Inf1 इंस्टेंस का उपयोग करके मॉडल प्रकारों की एक विस्तृत श्रृंखला को तैनात कर सकते हैं।

AWS न्यूरॉन एक सॉफ्टवेयर डेवलपमेंट किट (SDK) है जिसमें कंपाइलर, रनटाइम और प्रोफाइलिंग टूल शामिल हैं जो EC2 Inf1 इंस्टेंस के ML अनुमान प्रदर्शन को अनुकूलित करते हैं। न्यूरॉन मूल रूप से लोकप्रिय एमएल फ्रेमवर्क जैसे कि TensorFlow और PyTorch के साथ एकीकृत है। इसलिए, आप अपनी पसंद के ढांचे द्वारा प्रदान किए गए समान परिचित एपीआई के साथ एडब्ल्यूएस इन्फरेंटिया पर गहन शिक्षण मॉडल तैनात कर सकते हैं, और प्रदर्शन में वृद्धि और क्लाउड में न्यूनतम लागत-प्रति-अनुमान से लाभ उठा सकते हैं।

अपने लॉन्च के बाद से, न्यूरॉन एसडीके ने प्रदर्शन में सुधार और अनुमान लागत को कम करते हुए समर्थन करने वाले मॉडलों की चौड़ाई में वृद्धि जारी रखी है। इसमें NLP मॉडल (BERTs), छवि वर्गीकरण मॉडल (ResNet, VGG), और ऑब्जेक्ट डिटेक्शन मॉडल (OpenPose और SSD) शामिल हैं।

कम विलंबता, उच्च थ्रूपुट और लागत बचत के लिए Inf1 उदाहरणों पर परिनियोजित करें

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

ग्राहक-कथित डुप्लिकेट भविष्यवाणियां

Inf1 के उपयोग से पहले, एक समर्पित अमेज़ॅन ईएमआर CPU-आधारित इंस्टेंस का उपयोग करके क्लस्टर चल रहा था। हार्डवेयर त्वरण पर भरोसा किए बिना, 8,800 कुल लेनदेन प्रति सेकंड की उच्च थ्रूपुट आवश्यकता को पूरा करने के लिए बड़ी संख्या में उदाहरण आवश्यक थे। टीम ने inf1.6xबड़े उदाहरणों पर स्विच किया, जिनमें से प्रत्येक में 4 AWS इन्फरेंटिया एक्सेलेरेटर और 16 न्यूरॉनकोर (प्रति AWS इन्फरेंटिया चिप के लिए 4 कोर) थे। उन्होंने एकल न्यूरॉनकोर के लिए ट्रांसफॉर्मर-आधारित मॉडल का पता लगाया और थ्रूपुट को अधिकतम करने के लिए प्रति न्यूरॉनकोर में एक मोड लोड किया। 16 उपलब्ध न्यूरॉनकोर का लाभ उठाकर, उन्होंने अनुमान लागत में 85% की कमी की (वर्तमान सार्वजनिक अमेज़ॅन ईसी 2 ऑन-डिमांड मूल्य निर्धारण के आधार पर)।

क्वेरी इरादा भविष्यवाणी

99 मिलीसेकंड या उससे कम की P10 विलंबता आवश्यकता को देखते हुए, टीम ने मॉडल को प्रत्येक उपलब्ध न्यूरॉनकोर में inf1.6xlarge उदाहरणों पर लोड किया। आप इसे PyTorch न्यूरॉन के साथ आसानी से कर सकते हैं टॉर्च.न्यूरॉन.डेटा समानांतर एपीआई। Inf1 परिनियोजन के साथ, मॉडल लेटेंसी 3 मिलीसेकंड थी, एंड-टू-एंड लेटेंसी लगभग 10 मिलीसेकंड थी, और पीक लोड पर अधिकतम थ्रूपुट 16,000 TPS तक पहुंच गया था।

नमूना संकलन और परिनियोजन कोड के साथ आरंभ करें

निम्नलिखित कुछ नमूना कोड हैं जो आपको Inf1 इंस्टेंस पर आरंभ करने और Amazon सर्च टीम की तरह प्रदर्शन और लागत लाभों का एहसास करने में मदद करते हैं। हम दिखाते हैं कि PyTorch मॉडल का उपयोग करके संकलन और निष्कर्ष कैसे निकाला जाता है PyTorch न्यूरॉन.

सबसे पहले, मॉडल के साथ संकलित किया गया है torch.neuron.trace():

m = torch.jit.load(f="./cpu_model.pt", map_location=torch.device('cpu'))
m.eval()
model_neuron = torch.neuron.trace(
    m,
    inputs,
    compiler_workdir="work_" + str(cores) + "_" + str(batch_size),
    compiler_args=[
        '--fp32-cast=all', '--neuroncore-pipeline-cores=' + str(cores)
    ])
model_neuron.save("m5_batch" + str(batch_size) + "_cores" + str(cores) +
                  "_with_extra_op_and_fp32cast.pt")

संभावित तर्कों की पूरी सूची के लिए trace विधि, देखें PyTorch-न्यूरॉन ने Python API का पता लगाया। जैसा कि आप देख सकते हैं, संकलक तर्क को पारित किया जा सकता है torch.neuron एपीआई सीधे। सभी FP32 ऑपरेटरों को कास्ट किया जाता है BF16 with --fp32-cast=all, गतिशील रेंज को संरक्षित करते हुए उच्चतम प्रदर्शन प्रदान करना। आपको सटीक ट्रेड-ऑफ मॉडल करने के लिए प्रदर्शन को नियंत्रित करने देने के लिए अधिक कास्टिंग विकल्प उपलब्ध हैं। दोनों उपयोग मामलों के लिए उपयोग किए जाने वाले मॉडल एकल न्यूरॉनकोर (नहीं .) के लिए संकलित किए गए थे पाइपलाइनिंग).

फिर हम मॉडल को इन्फरेंटिया पर लोड करते हैं torch.jit.load, और भविष्यवाणी के लिए इसका इस्तेमाल करते हैं। न्यूरॉन रनटाइम स्वचालित रूप से मॉडल को न्यूरॉनकोर में लोड करता है।

cm_cpd_preprocessing_jit = torch.jit.load(f=CM_CPD_PROC,
                                          map_location=torch.device('cpu'))
cm_cpd_preprocessing_jit.eval()
m5_model = torch.jit.load(f=CM_CPD_M5)
m5_model.eval()

input = get_input()
with torch.no_grad():
    batch_cm_cpd = cm_cpd_preprocessing_jit(input)
    input_ids, attention_mask, position_ids, valid_length, token_type_ids = (
        batch_cm_cpd['input_ids'].type(torch.IntTensor),
        batch_cm_cpd['attention_mask'].type(torch.HalfTensor),
        batch_cm_cpd['position_ids'].type(torch.IntTensor),
        batch_cm_cpd['valid_length'].type(torch.IntTensor),
        batch_cm_cpd['token_type_ids'].type(torch.IntTensor))
    model_res = m5_model(input_ids, attention_mask, position_ids, valid_length,
                         token_type_ids)

निष्कर्ष

Amazon Search टीम AWS Inferentia- आधारित Inf85 उदाहरणों का उपयोग करके, भारी ट्रैफ़िक और प्रदर्शन आवश्यकताओं की मांग के तहत, अपनी अनुमान लागत को 1% तक कम करने में सक्षम थी। एडब्ल्यूएस इन्फरेंटिया और न्यूरॉन एसडीके ने टीम को प्रशिक्षण से अलग तैनाती प्रक्रिया को अनुकूलित करने के लिए लचीलापन प्रदान किया, और अच्छी तरह से गोल टूल और परिचित फ्रेमवर्क एपीआई के माध्यम से एक उथले सीखने की अवस्था को सामने रखा।

आप इस पोस्ट में दिए गए नमूना कोड के साथ शुरुआत करके प्रदर्शन और लागत लाभ अनलॉक कर सकते हैं। इसके अलावा, एंड-टू-एंड देखें ट्यूटोरियल Inferentia पर ML मॉडल चलाने के लिए पायटॉर्च और TensorFlow.


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

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.जोआओ मौरा Amazon वेब सर्विसेज में AI/ML स्पेशलिस्ट सॉल्यूशंस आर्किटेक्ट हैं। वह ज्यादातर एनएलपी उपयोग के मामलों पर केंद्रित है और ग्राहकों को गहन शिक्षण मॉडल प्रशिक्षण और तैनाती को अनुकूलित करने में मदद करता है। वह एमएल-विशिष्ट हार्डवेयर और कम-कोड एमएल समाधानों के सक्रिय प्रस्तावक भी हैं।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.वीकी झांग सर्च M5 में सॉफ्टवेयर इंजीनियरिंग मैनेजर हैं, जहां वह Amazon मशीन लर्निंग एप्लिकेशन के लिए बड़े पैमाने पर मॉडल तैयार करने पर काम करते हैं। उनकी रुचियों में सूचना पुनर्प्राप्ति और मशीन लर्निंग इन्फ्रास्ट्रक्चर शामिल हैं।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.जेसन कार्लसन ग्राहक-कथित डुप्लिकेट के कारण चोरी किए गए खोज इंप्रेशन की संख्या को कम करने में मदद करने के लिए मशीन लर्निंग पाइपलाइन विकसित करने के लिए एक सॉफ्टवेयर इंजीनियर है। वह ज्यादातर Apache Spark, AWS और PyTorch के साथ काम करता है ताकि ML मॉडल के लिए डेटा को तैनात और फीड / प्रोसेस करने में मदद मिल सके। अपने खाली समय में, वह पढ़ना और दौड़ना पसंद करते हैं।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.शाओहुई शी सर्च क्वेरी अंडरस्टैंडिंग इंफ्रा टीम में एक एसडीई है। वह कम विलंबता और उच्च उपलब्धता के साथ बड़े पैमाने पर गहन शिक्षण ऑनलाइन अनुमान सेवाओं के निर्माण के प्रयास का नेतृत्व करता है। काम के अलावा, उन्हें स्कीइंग और अच्छे खाद्य पदार्थों की खोज करना पसंद है।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.ज़ुओकी झांग सर्च क्वेरी अंडरस्टैंडिंग इंफ्रा टीम में एक सॉफ्टवेयर डेवलपमेंट इंजीनियर है। वह गहन शिक्षण ऑनलाइन अनुमान सेवाओं के लिए विलंबता और थ्रूपुट में सुधार के लिए मॉडल सर्विंग फ्रेमवर्क बनाने पर काम करता है। काम के अलावा, उन्हें बास्केटबॉल खेलना, स्नोबोर्डिंग और ड्राइविंग करना पसंद है।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.हावेई सुन सर्च क्वेरी अंडरस्टैंडिंग इंफ्रा टीम में एक सॉफ्टवेयर इंजीनियर है। वह एपीआई और बुनियादी ढांचे को डिजाइन करने पर काम करती है जो डीप लर्निंग ऑनलाइन इंट्रेंस सेवाओं का समर्थन करती है। उनकी रुचियों में सर्विस एपीआई डिजाइन, इंफ्रास्ट्रक्चर सेटअप और मेंटेनेंस शामिल हैं। काम के बाहर, उसे दौड़ना, लंबी पैदल यात्रा और यात्रा करना पसंद है।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.जसप्रीत सिंह M5 टीम में एक अनुप्रयुक्त वैज्ञानिक है, जहां वह ग्राहक खरीदारी के अनुभव को बेहतर बनाने के लिए बड़े पैमाने पर नींव मॉडल पर काम करता है। उनकी शोध रुचियों में बहु-कार्य सीखने, सूचना पुनर्प्राप्ति, और प्रतिनिधित्व सीखने शामिल हैं।

How Amazon Search reduced ML inference costs by 85% with AWS Inferentia PlatoBlockchain Data Intelligence. Vertical Search. Ai.श्रुति कोपरकरी AWS में वरिष्ठ उत्पाद विपणन प्रबंधक हैं। वह ग्राहकों को उनकी मशीन सीखने की जरूरतों के लिए EC2 त्वरित कंप्यूटिंग बुनियादी ढांचे का पता लगाने, मूल्यांकन करने और अपनाने में मदद करती है।

समय टिकट:

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

अमेज़ॅन सैजमेकर जम्पस्टार्ट के साथ फाइन-ट्यूनिंग और एचपीओ के माध्यम से टेक्स्ट दस्तावेज़ों से महत्वपूर्ण अंतर्दृष्टि की पहचान करें

स्रोत नोड: 1759655
समय टिकट: नवम्बर 21, 2022