What ML feature stores require and how ScyllaDB fits in as fast, scalable online feature store इस ब्लॉग पोस्ट में, हम वास्तविक समय मशीन लर्निंग (एमएल) अनुप्रयोगों में फ़ीचर स्टोर की भूमिका का पता लगाने जा रहे हैं और क्यों ScyllaDB ऑनलाइन फ़ीचर सर्विंग के लिए एक मजबूत विकल्प है. हम फ़ीचर के बुनियादी बातें, फ़ीचर स्टोर कैसे काम करते हैं, उनके लाभ, विभिन्न कार्य भार आवश्यकताओं, और कैसे लाटेंशन एमएल अनुप्रयोगों में एक महत्वपूर्ण भूमिका निभाता है, को कवर करेंगे। मशीन सीखने में एक विशेषता क्या है? एक विशेषता एक मापने योग्य संपत्ति है जो एक मशीन सीखने मॉडल को प्रशिक्षित करने या सेवा करने के लिए उपयोग की जाती है. विशेषताएं कच्चे डेटा अंक या कच्चे डेटा से उत्पन्न इंजीनियरिंग मान हो सकती हैं. उदाहरण के लिए, ShareChat जैसे सोशल मीडिया ऐप में, विशेषताएं शामिल हो सकती हैं: पिछले 10 मिनट में पसंद की संख्या पिछले 7 दिनों में शेयरों की संख्या पोस्ट का विषय छवि क्रेडिट: Ivan Burmistrov और Andrei Manakov (ShareChat) ये डेटा बिंदु उपयोगकर्ता भागीदारी या सामग्री सिफारिश जैसे परिणामों की भविष्यवाणी करने में मदद करते हैं। एक फ़ीचर वेक्टर सिर्फ एक विशिष्ट पूर्वानुमान कार्य से संबंधित फ़ीचरों का एक संग्रह है. उदाहरण के लिए, यह एक क्रेडिट स्कोर एप्लिकेशन के लिए एक फ़ीचर वेक्टर की तरह दिख सकता है। प्रासंगिक डेटा अंक का चयन करना और उन्हें विशेषताओं में परिवर्तित करना मशीन लर्निंग परियोजनाओं में काम का एक महत्वपूर्ण हिस्सा लेता है. यह विशेषताओं को परिष्कृत करने और अनुकूलित करने का एक निरंतर प्रक्रिया भी है ताकि प्रशिक्षित मॉडल समय के साथ अधिक सटीक हो। बड़े पैमाने पर आर्किटेक्चर सुविधाओं के साथ कुशलता से काम करने के लिए, आप अपने संगठन के भीतर उपलब्ध सुविधाओं को प्रबंधित करने के लिए एक केंद्रीय स्थान बना सकते हैं। नई सुविधाओं को बनाने के लिए एक मानक प्रक्रिया सरल पहुंच के लिए सुविधाओं का संग्रह टीमों में विशेषताओं की खोज और पुन: उपयोग मॉडल प्रशिक्षण और निष्कर्षण दोनों के लिए सुविधाओं की सेवा करना अधिकांश आर्किटेक्चर दो स्टोर / डेटाबेस को अलग करते हैं: मॉडल प्रशिक्षण के लिए ऑफ़लाइन स्टोर (बोलक लिखता है / पढ़ता है) अंतर्दृष्टि के लिए ऑनलाइन स्टोर (वास्तविक समय, कम देरी लिखता है / पढ़ता है) एक विशिष्ट फ़ीचर स्टोर पाइपलाइन को कच्चे डेटा (डेटा झीलों या प्रवाहों से) को अवशोषित करने के साथ शुरू किया जाता है, फ़ीचर इंजीनियरिंग किया जाता है, दोनों स्टोर में फ़ीचर सहेजता है, और फिर उन्हें दो अलग पाइपलाइनों के माध्यम से सेवा करता है: प्रशिक्षण के लिए एक और निष्कर्षण के लिए एक। एक केंद्रित सुविधा स्टोर के लाभ केंद्रित सुविधा स्टोर कई लाभ प्रदान करते हैं: दोहराव से बचें: टीम मौजूदा सुविधाओं का पुनः उपयोग कर सकती है स्व-सेवा एक्सेस: डेटा वैज्ञानिकों स्वतंत्र रूप से उत्पन्न कर सकते हैं और फ़ंक्शन पूछ सकते हैं एकीकृत पाइपलाइन: हालांकि प्रशिक्षण और निष्कर्षण कार्य भार बहुत अलग हैं, उन्हें अभी भी एक ही अवलोकन परत का उपयोग करके पूछताछ किया जा सकता है इसका परिणाम तेजी से पुनरावृत्ति, अधिक निष्पक्षता और एमएल कार्य प्रवाहों में बेहतर सहयोग है। सुविधाओं की दुकानों में विभिन्न कार्य भार चलो दो बहुत अलग कार्य भार आवश्यकताओं को तोड़ते हैं जो एक फ़ीचर स्टोर के भीतर मौजूद हैं: मॉडल प्रशिक्षण और वास्तविक समय निष्कर्ष। 1. मॉडल प्रशिक्षण (ऑफ़लाइन स्टोर) पूर्वानुमान बनाने के लिए आपको पहले एक मशीन सीखने मॉडल को प्रशिक्षित करने की आवश्यकता होती है. प्रशिक्षण को बड़े और उच्च गुणवत्ता वाले डेटासेट की आवश्यकता होती है. आप इस डेटासेट को एक ऑफ़लाइन फ़ीचर स्टोर में संग्रहीत कर सकते हैं. यहां निम्नलिखित हैं कि मॉडल प्रशिक्षण कार्य भार के लिए कौन सी विशेषताएं सबसे महत्वपूर्ण हैं: अवधि: एक प्राथमिकता नहीं है वॉल्यूम: उच्च (विलियन से अरब रिकॉर्ड) आवृत्ति: दुर्लभ, योजनाबद्ध नौकरियां उद्देश्य: ऐतिहासिक डेटा का एक बड़ा टुकड़ा प्राप्त करें मूल रूप से, ऑफ़लाइन स्टोर को बड़े डेटा सेट को कुशलता से संग्रहीत करने की आवश्यकता है। 2. वास्तविक समय निष्कर्ष (ऑनलाइन स्टोर) एक बार जब आपके पास एक मॉडल तैयार है, तो आप वास्तविक समय अनुमान चला सकते हैं. वास्तविक समय अनुमान उपयोगकर्ता द्वारा प्रदान किए गए इनपुट को लेता है और इसे एक पूर्वानुमान में बदलता है. यहाँ एक नज़र है कि वास्तविक समय अनुमान के लिए कौन सी विशेषताएं सबसे महत्वपूर्ण हैं: लंबी अवधि: उच्च प्राथमिकता मात्रा: प्रति अनुरोध कम लेकिन उच्च प्रवाह (प्रति सेकंड लाखों ऑपरेशन तक) आवृत्ति: निरंतर, उपयोगकर्ता कार्यों (उदाहरण के लिए, भोजन का आदेश) से उत्पन्न उद्देश्य: तेजी से पूर्वानुमान बनाने के लिए अद्यतन सुविधाएं प्रदान करें उदाहरण के लिए, एक भोजन वितरण ऐप पर विचार करें. उपयोगकर्ता के हाल के टोकरी सामग्री, उम्र, और स्थान को विशेषताओं में परिवर्तित किया जा सकता है और तुरंत खरीदने के लिए अन्य वस्तुओं की सिफारिश करने के लिए उपयोग किया जा सकता है। धीरज क्यों मायने रखता है लाटेन (इस लेख के संदर्भ में) एक पूछताछ भेजने और फ़ीचर स्टोर से प्रतिक्रिया प्राप्त करने के बीच का समय संदर्भित करता है. वास्तविक समय एमएल अनुप्रयोगों के लिए - विशेष रूप से उपयोगकर्ता-आधारित अनुप्रयोगों के लिए - कम लाटेन सफलता के लिए महत्वपूर्ण है. कल्पना कीजिए कि चेकअप पर एक उपयोगकर्ता को संबंधित खाद्य आइटम दिखाई देते हैं. यदि इस सुझाव को लंबे समय तक लोड करने में देरी होती है क्योंकि ऑनलाइन स्टोर धीमी है, तो अवसर खो जाता है. नवीनतम डेटा का उपयोग करें प्रासंगिक विशेषताएं चाहते हैं निराशा का दौरा एक पूर्वानुमान वापस यह मिलिट्रिक्स में होना चाहिए। एक स्टोर समाधान चुनने के लिए एक बार जब आप एक फ़ीचर स्टोर का निर्माण करने का निर्णय लेते हैं, तो आप जल्दी से पाते हैं कि चुनने के लिए कई फ्रेमवर्क और प्रदाता हैं, दोनों ओपन सोर्स और वाणिज्यिक: (open source): Provides flexible database support (e.g., Postgres, Redis, Cassandra, ScyllaDB) Feast Hopsworks: अपने स्वयं के पारिस्थितिकी तंत्र के साथ मजबूत जुड़ा हुआ AWS SageMaker: AWS स्टैक से जुड़ा हुआ (उदाहरण के लिए, S3, DynamoDB) और कई अन्य कौन सा सबसे अच्छा है? आपकी टीम की तकनीकी विशेषज्ञता, लंबी अवधि आवश्यकताओं, और आपके मौजूदा स्टैक के साथ आवश्यक एकीकरण जैसे कारक सभी एक भूमिका निभाते हैं। यदि आप अपने ऑनलाइन फ़ीचर स्टोर की स्केलेबलता और प्रदर्शन के बारे में चिंतित हैं, तो डेटाबेस लचीलापन एक महत्वपूर्ण विचार होना चाहिए. फ़ीचर स्टोर (उदाहरण के लिए, AWS SageMaker, GCP Vertex, Hopsworks आदि) हैं जो ऑनलाइन स्टोर के रूप में अपनी खुद की डेटाबेस तकनीक प्रदान करते हैं. एक तरफ, यह शुरू करने के लिए सुविधाजनक हो सकता है क्योंकि सब कुछ एक प्रदाता द्वारा संभालया जाता है. लेकिन यह बाद में भी एक समस्या बन सकता है. कल्पना कीजिए कि इस तरह के एक विक्रेता का चयन करने के लिए एक सख्त P99 लाटेशन आवश्यकता (उदाहरण के लिए, <15ms P99) है। आवश्यकता को अवधारणा सबूत (पीओसी) के दौरान सफलतापूर्वक पूरा किया जाता है। लेकिन बाद में आप लाटेशन पिक्स का अनुभव करते हैं - शायद क्योंकि आपकी आवश्यकताएं बदलती हैं या आपके ऐप में नए उपयोगकर्ताओं की वृद्धि होती है या किसी अन्य अप्रत्याशित कारण। समस्या यह है कि आप नहीं कर सकते ... कम से कम आसानी से नहीं. आप अंतर्निहित समाधान के साथ फंस गए हैं. यह आपके आर्किटेक्चर का केवल ऑनलाइन स्टोर हिस्सा को स्थानांतरित करना असंभव है क्योंकि सब कुछ लॉग किया गया है. यदि आप इन स्थितियों से बचना चाहते हैं, तो आप उन उपकरणों को देख सकते हैं जो ऑफ़लाइन और ऑनलाइन स्टोर बैकेंड के बारे में लचीले हैं. Feast या FeatureForm जैसे उपकरण आपको ऑनलाइन और ऑफ़लाइन स्टोर दोनों के लिए अपना खुद का डेटाबेस बैकेंड लाने की अनुमति देते हैं. यह विक्रेता लॉक-इन से बचने का एक शानदार तरीका है और भविष्य में डेटाबेस माइग्रेशन को कम दर्दनाक बनाता है यदि लाटेशन पिक्स होते हैं या लागत बढ़ते हैं. ScyllaDB एक ऑनलाइन सुविधा स्टोर के रूप में ScyllaDB एक उच्च प्रदर्शन NoSQL डेटाबेस है जो एपीआई Apache Cassandra और DynamoDB API के साथ संगत है। और इसमें शामिल , यह कम लाटेनस, उच्च प्रवाह सुविधा स्टोर अनुप्रयोगों के लिए आदर्श बनाता है। Shard-per-Core आर्किटेक्चर एक कैश सिस्टम क्यों ScyllaDB? कम लाइटेंस (एक डिफ़ॉल्ट मिलीसेकंड P99 प्रदर्शन) उच्च उपलब्धता और प्रतिरोधशीलता बड़े पैमाने पर प्रसारण (petabyte-scale deployments) कोई विक्रेता लॉक-इन (ऑन-प्रैम या किसी भी क्लाउड में चलता है) मौजूदा Cassandra / DynamoDB सेटिंग्स के लिए ड्रॉप-इन प्रतिस्थापन अन्य NoSQL डेटाबेस (Cassandra, DynamoDB, MongoDB, आदि) से आसान माइग्रेशन Feature Store Framework Feast के साथ एकीकरण ScyllaDB ऑनलाइन फ़ीचर स्टोर उपयोग के मामलों में चमकता है जहां वास्तविक समय प्रदर्शन, उपलब्धता और latency पूर्वानुमान महत्वपूर्ण हैं। ScyllaDB + Feast एकीकरण Feast एक लोकप्रिय ओपन सोर्स फ़ीचर स्टोर फ्रेमवर्क है जो दोनों ऑनलाइन और ऑफ़लाइन स्टोर का समर्थन करता है. इसके ताकतों में से एक अपनी खुद की डेटाबेस स्रोतों को जोड़ने की क्षमता है, जिसमें ScyllaDB शामिल है. . Docs में ScyllaDB + Feast एकीकरण एक सुविधा स्टोर ट्यूटोरियल के साथ शुरू करें ScyllaDB का उपयोग अपने ऑनलाइन सुविधा स्टोर के रूप में करने की कोशिश करना चाहते हैं? हमारे ट्यूटोरियल देखें जो आपको एक ScyllaDB क्लस्टर बनाने और एक वास्तविक समय निष्कर्ष अनुप्रयोग बनाने की प्रक्रिया के माध्यम से मार्गदर्शन करते हैं। Tutorial: Price prediction inference app with ScyllaDB ट्यूटोरियल: Feast & ScyllaDB के साथ वास्तविक समय ऐप Feast + ScyllaDB एकीकरण GitHub: ScyllaDB as a feature store code examples कोई प्रश्न हैं या इसे स्थापित करने में मदद करना चाहते हैं? ! forum में एक पोस्ट मैंने सिर्फ Feast रखरखावकर्ता, Francisco Javier Arceo के साथ एक डेवलपर कार्यशाला पूरी की: आप इसे अब मांग पर देख सकते हैं। Update: Python, Feast और NoSQL के साथ वास्तविक समय में ML ऐप्स का निर्माण करें