मशीन लर्निंग अनुकूलित ब्लूम फ़िल्टर के साथ रोबॉक्स स्पार्क जॉइन क्वेरी लागत को कैसे कम करता है - रोबॉक्स ब्लॉग

मशीन लर्निंग अनुकूलित ब्लूम फ़िल्टर के साथ रोबॉक्स स्पार्क जॉइन क्वेरी लागत को कैसे कम करता है - रोबॉक्स ब्लॉग

स्रोत नोड: 2983061

सार

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

परिचय

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

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

सीखे गए ब्लूम फ़िल्टर के साथ सम्मिलित दक्षता बढ़ाना

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

पारंपरिक ब्लूम फिल्टर से सीखे गए ब्लूम फिल्टर तक का विकास

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

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

इस कार्य के भाग के रूप में, हमने अपने सीखे गए ब्लूम फ़िल्टर दृष्टिकोण के मूल्यांकन के लिए दो मैट्रिक्स स्थापित किए: सूचकांक का अंतिम क्रमबद्ध ऑब्जेक्ट आकार और सम्मिलित प्रश्नों के निष्पादन के दौरान सीपीयू खपत। 

कार्यान्वयन चुनौतियों से निपटना

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

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

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

सीखे गए ब्लूम फ़िल्टर का उपयोग करके हमारी अद्यतन जॉइन क्वेरी नीचे दिखाई गई है:

परिणाम

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

ब्लूम फ़िल्टर आकार तुलना सीखी

जैसा कि नीचे दिखाया गया है, जब किसी दिए गए गलत सकारात्मक दर को देखते हैं, तो पारंपरिक ब्लूम फ़िल्टर की तुलना में सीखे गए ब्लूम फ़िल्टर के दो वेरिएंट कुल ऑब्जेक्ट आकार में 17-42% के बीच सुधार करते हैं।

इसके अलावा, हमारे ग्रेडिएंट बूस्टेड ट्री आधारित मॉडल में सुविधाओं के एक छोटे उपसमूह का उपयोग करके, हमने तेजी से अनुमान लगाते समय अनुकूलन का केवल एक छोटा प्रतिशत खो दिया।

ब्लूम फ़िल्टर उपयोग परिणाम सीखे 

इस अनुभाग में, हम ब्लूम फ़िल्टर-आधारित जॉइन के प्रदर्शन की तुलना कई मेट्रिक्स में नियमित जॉइन के प्रदर्शन से करते हैं। 

नीचे दी गई तालिका लर्न्ड ब्लूम फ़िल्टर के उपयोग के साथ और उसके बिना कार्यभार के प्रदर्शन की तुलना करती है। 1% कुल गलत सकारात्मक संभावना के साथ एक सीखा हुआ ब्लूम फ़िल्टर दोनों प्रकार के कनेक्शन के लिए समान क्लस्टर कॉन्फ़िगरेशन को बनाए रखते हुए नीचे दी गई तुलना को प्रदर्शित करता है। 

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

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

हमने प्रयोग के तहत अपने अन्य उत्पादन कार्यभार में संसाधन उपयोग में कमी देखी। सभी पाँच कार्यभारों में दो सप्ताह की अवधि में, लर्न्ड ब्लूम फ़िल्टर दृष्टिकोण ने एक औसत उत्पन्न किया दैनिक लागत बचत of 25% जो मॉडल प्रशिक्षण और सूचकांक निर्माण के लिए भी जिम्मेदार है।

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

संदर्भ

[1] टी. क्रास्का, ए. ब्यूटेल, ईएच ची, जे. डीन, और एन. पॉलीज़ोटिस। सीखे गए सूचकांक संरचनाओं का मामला। https://arxiv.org/abs/1712.012082017.

[2] एम. मिटज़ेनमाचर। सैंडविचिंग द्वारा सीखे गए ब्लूम फिल्टर को अनुकूलित करना। 

https://arxiv.org/abs/1803.014742018.


¹3 जून, 30 को समाप्त 2023 महीने तक

²3 जून 30 को समाप्त 2023 महीने तक

समय टिकट:

से अधिक Roblox