मैंने पहले भी इसके बारे में लिखा था
आधुनिक डेटा लेक, जिसे कभी-कभी डेटा लेकहाउस भी कहा जाता है, आधा डेटा लेक और आधा ओपन टेबल फॉर्मेट स्पेसिफिकेशन (OTF)-आधारित डेटा वेयरहाउस है। दोनों आधुनिक ऑब्जेक्ट स्टोरेज पर बनाए गए हैं।
साथ ही, हमने इस बारे में गहराई से सोचा है कि संगठन किस तरह से AI डेटा इंफ्रास्ट्रक्चर बना सकते हैं जो आपकी सभी AI/ML ज़रूरतों को पूरा कर सके - न कि सिर्फ़ आपके ट्रेनिंग सेट, वैलिडेशन सेट और टेस्ट सेट का रॉ स्टोरेज। दूसरे शब्दों में, इसमें बड़े लैंग्वेज मॉडल, MLOps टूलिंग, वितरित प्रशिक्षण और बहुत कुछ को प्रशिक्षित करने के लिए आवश्यक कंप्यूट शामिल होना चाहिए। इस विचारधारा के परिणामस्वरूप, हमने आधुनिक डेटा लेक का उपयोग करने के तरीके पर एक और पेपर तैयार किया है
स्रोत:
उन दोनों पेपर में विशिष्ट विक्रेताओं या उपकरणों का उल्लेख नहीं है। अब मैं आधुनिक डेटा लेक बनाने के लिए आवश्यक विक्रेताओं और उपकरणों पर चर्चा करना चाहता हूँ। इस शीर्ष-10 सूची में, प्रत्येक प्रविष्टि जनरेटिव AI का समर्थन करने के लिए आवश्यक क्षमता है।
एंटरप्राइज़ डेटा लेक ऑब्जेक्ट स्टोरेज पर बनाए गए हैं। आपके पुराने स्कूल, उपकरण-आधारित ऑब्जेक्ट स्टोरेज नहीं जो सस्ते और गहन अभिलेखीय उपयोग के मामलों की सेवा करते थे, बल्कि आधुनिक, प्रदर्शनकारी, सॉफ़्टवेयर-परिभाषित और कुबेरनेट्स मूल ऑब्जेक्ट स्टोर, आधुनिक GenAI स्टैक की आधारशिला हैं। वे एक सेवा (AWS, GCP, Azure) या ऑन-प्रिमाइसेस या हाइब्रिड/दोनों के रूप में उपलब्ध हैं, जैसे कि MinIO। इन डेटा लेक को स्ट्रीमिंग वर्कलोड का समर्थन करना होगा, अत्यधिक कुशल एन्क्रिप्शन और इरेज़र कोडिंग होनी चाहिए, ऑब्जेक्ट के साथ मेटाडेटा को परमाणु रूप से संग्रहीत करने की आवश्यकता है और लैम्ब्डा कंप्यूट जैसी तकनीकों का समर्थन करना चाहिए। यह देखते हुए कि ये आधुनिक विकल्प क्लाउड नेटिव हैं, वे अन्य क्लाउड नेटिव तकनीकों के पूरे स्टैक के साथ एकीकृत होंगे - फ़ायरवॉल से लेकर ऑब्जर्वेबिलिटी से लेकर उपयोगकर्ता और एक्सेस प्रबंधन तक - बॉक्स से बाहर।
ऑब्जेक्ट स्टोरेज OTP-आधारित डेटा वेयरहाउस के लिए अंतर्निहित स्टोरेज समाधान भी है। डेटा वेयरहाउस के लिए ऑब्जेक्ट स्टोरेज का उपयोग करना अजीब लग सकता है, लेकिन इस तरह से बनाया गया डेटा वेयरहाउस अगली पीढ़ी के डेटा वेयरहाउस का प्रतिनिधित्व करता है। यह नेटफ्लिक्स, उबर और डेटाब्रिक्स द्वारा लिखित OTF विनिर्देशों द्वारा संभव बनाया गया है, जो डेटा वेयरहाउस के भीतर ऑब्जेक्ट स्टोरेज को नियोजित करना सहज बनाता है।
OTFs - अपाचे आइसबर्ग, अपाचे हुडी और डेल्टा लेक - इसलिए लिखे गए क्योंकि बाजार में ऐसे कोई उत्पाद नहीं थे जो क्रिएटर्स की डेटा जरूरतों को पूरा कर सकें। अनिवार्य रूप से, वे सभी (अलग-अलग तरीकों से) एक डेटा वेयरहाउस को परिभाषित करते हैं जिसे ऑब्जेक्ट स्टोरेज के ऊपर बनाया जा सकता है। ऑब्जेक्ट स्टोरेज स्केलेबल क्षमता और उच्च प्रदर्शन का संयोजन प्रदान करता है जो अन्य स्टोरेज समाधान नहीं कर सकते। चूंकि ये आधुनिक विनिर्देश हैं, इसलिए इनमें उन्नत विशेषताएं हैं जो पुराने जमाने के डेटा वेयरहाउस में नहीं हैं जैसे कि विभाजन विकास, स्कीमा विकास और शून्य-प्रतिलिपि शाखा।
दो मिनियो साझेदार जो मिनियो के शीर्ष पर अपने ओटीएफ-आधारित डेटा वेयरहाउस को चला सकते हैं, वे हैं ड्रेमियो और स्टारबर्स्ट।
MLOps मशीन लर्निंग के लिए वही है जो DevOps पारंपरिक सॉफ़्टवेयर डेवलपमेंट के लिए है। दोनों ही इंजीनियरिंग टीमों (डेव या ML) और IT संचालन (Ops) टीमों के बीच सहयोग को बेहतर बनाने के उद्देश्य से प्रथाओं और सिद्धांतों का एक सेट हैं। इसका लक्ष्य नियोजन और विकास से लेकर परिनियोजन और संचालन तक स्वचालन का उपयोग करके विकास जीवन चक्र को सुव्यवस्थित करना है। इन दृष्टिकोणों का एक प्राथमिक लाभ निरंतर सुधार है।
MLOps तकनीक और सुविधाएँ लगातार विकसित हो रही हैं। आप एक ऐसा उपकरण चाहते हैं जो किसी प्रमुख खिलाड़ी द्वारा समर्थित हो, यह सुनिश्चित करते हुए कि उपकरण निरंतर विकास और सुधार के अधीन है और दीर्घकालिक समर्थन प्रदान करेगा। इनमें से प्रत्येक उपकरण मॉडल के जीवन चक्र के दौरान उपयोग की जाने वाली कलाकृतियों को संग्रहीत करने के लिए हुड के नीचे MinIO का उपयोग करता है।
आपका मशीन लर्निंग फ्रेमवर्क वह लाइब्रेरी है (आमतौर पर पायथन के लिए) जिसका उपयोग आप अपने मॉडल बनाने और उन्हें प्रशिक्षित करने वाला कोड लिखने के लिए करते हैं। ये लाइब्रेरी सुविधाओं से भरपूर हैं क्योंकि वे विभिन्न हानि कार्यों, ऑप्टिमाइज़र, डेटा ट्रांसफ़ॉर्मेशन टूल और तंत्रिका नेटवर्क के लिए पूर्व-निर्मित परतों का संग्रह प्रदान करते हैं। इन दो लाइब्रेरी द्वारा प्रदान की जाने वाली सबसे महत्वपूर्ण विशेषता एक टेंसर है। टेंसर बहु-आयामी सरणियाँ हैं जिन्हें GPU पर ले जाया जा सकता है। उनमें ऑटो डिफरेंशियल भी होता है, जिसका उपयोग मॉडल प्रशिक्षण के दौरान किया जाता है।
आज दो सबसे लोकप्रिय मशीन लर्निंग फ्रेमवर्क हैं PyTorch (फेसबुक से) और Tensorflow (गूगल से)।
वितरित मॉडल प्रशिक्षण एक ऐसी प्रक्रिया है जिसमें मशीन लर्निंग मॉडल को एक साथ कई कम्प्यूटेशनल डिवाइस या नोड्स पर प्रशिक्षित किया जाता है। यह दृष्टिकोण प्रशिक्षण प्रक्रिया को गति देता है, खासकर तब जब जटिल मॉडलों को प्रशिक्षित करने के लिए बड़े डेटासेट की आवश्यकता होती है।
वितरित मॉडल प्रशिक्षण में, डेटासेट को छोटे उपसमूहों में विभाजित किया जाता है, और प्रत्येक उपसमूह को समानांतर रूप से विभिन्न नोड्स द्वारा संसाधित किया जाता है। ये नोड क्लस्टर के भीतर अलग-अलग मशीनें, अलग-अलग प्रक्रियाएँ या कुबेरनेट्स क्लस्टर के भीतर अलग-अलग पॉड हो सकते हैं। उनके पास GPU तक पहुँच हो सकती है। प्रत्येक नोड स्वतंत्र रूप से अपने डेटा के उपसमूह को संसाधित करता है और तदनुसार मॉडल मापदंडों को अपडेट करता है। नीचे दी गई पाँच लाइब्रेरी डेवलपर्स को वितरित प्रशिक्षण की अधिकांश जटिलता से बचाती हैं। यदि आपके पास क्लस्टर नहीं है, तो आप उन्हें स्थानीय रूप से चला सकते हैं, लेकिन प्रशिक्षण समय में उल्लेखनीय कमी देखने के लिए आपको क्लस्टर की आवश्यकता होगी।
मॉडल हब वास्तव में आधुनिक डेटा लेक संदर्भ वास्तुकला का हिस्सा नहीं है, लेकिन मैं इसे वैसे भी शामिल कर रहा हूँ क्योंकि यह जनरेटिव AI के साथ जल्दी से शुरुआत करने के लिए महत्वपूर्ण है। हगिंग फेस बड़े भाषा मॉडल के लिए जाने की जगह बन गया है। हगिंग फेस एक मॉडल हब होस्ट करता है जहाँ इंजीनियर पहले से प्रशिक्षित मॉडल डाउनलोड कर सकते हैं और अपने द्वारा बनाए गए मॉडल को साझा कर सकते हैं। हगिंग फेस ट्रांसफॉर्मर्स और डेटासेट्स लाइब्रेरी के लेखक भी हैं, जो बड़े भाषा मॉडल (एलएलएम) और उन्हें प्रशिक्षित करने और उन्हें ठीक करने के लिए उपयोग किए जाने वाले डेटा के साथ काम करते हैं।
अन्य मॉडल हब भी हैं। सभी प्रमुख क्लाउड विक्रेताओं के पास मॉडल अपलोड करने और साझा करने का कोई न कोई तरीका होता है, लेकिन हगिंग फेस, अपने मॉडल और लाइब्रेरी के संग्रह के साथ, इस क्षेत्र में अग्रणी बन गया है।
एक एप्लीकेशन फ्रेमवर्क एक LLM को एप्लीकेशन में शामिल करने में मदद करता है। LLM का उपयोग करना एक मानक API का उपयोग करने से भिन्न है। उपयोगकर्ता के अनुरोध को ऐसी चीज़ में बदलने के लिए बहुत काम किया जाना चाहिए जिसे LLM समझ सके और संसाधित कर सके। उदाहरण के लिए, यदि आप एक चैट एप्लीकेशन बनाते हैं और आप रिट्रीवल ऑगमेंटेड जेनरेशन (RAG) का उपयोग करना चाहते हैं, तो आपको अनुरोध को टोकनाइज़ करना होगा, टोकन को वेक्टर में बदलना होगा, वेक्टर डेटाबेस (नीचे वर्णित) के साथ एकीकृत करना होगा, एक प्रॉम्प्ट बनाना होगा और फिर अपने LLM को कॉल करना होगा। जनरेटिव AI के लिए एक एप्लीकेशन फ्रेमवर्क आपको इन क्रियाओं को एक साथ जोड़ने की अनुमति देगा। आज सबसे व्यापक रूप से उपयोग किया जाने वाला एप्लीकेशन फ्रेमवर्क LangChain है। इसमें अन्य तकनीकों के साथ एकीकरण है, उदाहरण के लिए, हगिंग फेस ट्रांसफॉर्मर लाइब्रेरी और दस्तावेज़ प्रसंस्करण के लिए अनस्ट्रक्चर्ड की लाइब्रेरी। यह सुविधा संपन्न है और उपयोग करने में थोड़ा जटिल हो सकता है, इसलिए नीचे सूचीबद्ध कुछ विकल्प उन लोगों के लिए हैं जिनकी जटिल आवश्यकताएं नहीं हैं और LangChain से सरल कुछ चाहते हैं।
अधिकांश संगठनों के पास साफ और सटीक दस्तावेजों वाला एक भी संग्रह नहीं होता है। इसके बजाय, दस्तावेज़ पूरे संगठन में कई प्रारूपों में विभिन्न टीम पोर्टल में फैले होते हैं। जनरेटिव AI के लिए तैयार होने पर पहला कदम एक पाइपलाइन बनाना है जो केवल उन दस्तावेजों को लेती है जिन्हें जनरेटिव AI के साथ उपयोग के लिए अनुमोदित किया गया है और उन्हें आपके वेक्टर डेटाबेस में रखता है। यह संभावित रूप से बड़े वैश्विक संगठनों के लिए जनरेटिव AI समाधान का सबसे कठिन कार्य हो सकता है।
दस्तावेज़ पाइपलाइन को दस्तावेज़ों को टेक्स्ट में बदलना चाहिए, दस्तावेज़ को खंडित करना चाहिए और खंडित टेक्स्ट को एम्बेडिंग मॉडल के माध्यम से चलाना चाहिए ताकि इसका वेक्टर प्रतिनिधित्व वेक्टर डेटाबेस में सहेजा जा सके। सौभाग्य से, कुछ ओपन सोर्स लाइब्रेरी कई सामान्य दस्तावेज़ प्रारूपों के लिए ऐसा कर सकती हैं। कुछ लाइब्रेरी नीचे सूचीबद्ध हैं। इन लाइब्रेरी का उपयोग LangChain के साथ एक पूर्ण दस्तावेज़ प्रसंस्करण पाइपलाइन बनाने के लिए किया जा सकता है।
वेक्टर डेटाबेस सिमेंटिक सर्च की सुविधा देते हैं। यह कैसे किया जाता है, यह समझने के लिए बहुत सारी गणितीय पृष्ठभूमि की आवश्यकता होती है और यह जटिल है। हालाँकि, सिमेंटिक सर्च को समझना वैचारिक रूप से आसान है। मान लीजिए कि आप "कृत्रिम बुद्धिमत्ता" से संबंधित किसी भी चीज़ पर चर्चा करने वाले सभी दस्तावेज़ ढूँढ़ना चाहते हैं। पारंपरिक डेटाबेस पर ऐसा करने के लिए, आपको "कृत्रिम बुद्धिमत्ता" के हर संभावित संक्षिप्त नाम, समानार्थी और संबंधित शब्द की खोज करनी होगी। आपकी क्वेरी कुछ इस तरह दिखेगी:
SELECT snippet FROM MyCorpusTable WHERE (text like '%artificial intelligence%' OR text like '%ai%' OR text like '%machine learning%' OR text like '%ml%' OR ... and on and on ...
न केवल यह मैन्युअल समानता खोज कठिन है और त्रुटिपूर्ण है, बल्कि खोज स्वयं बहुत धीमी है। एक वेक्टर डेटाबेस नीचे दिए गए अनुरोध को ले सकता है और क्वेरी को तेज़ी से और अधिक सटीकता के साथ चला सकता है। यदि आप रिट्रीवल ऑगमेंटेड जेनरेशन का उपयोग करना चाहते हैं तो सिमेंटिक क्वेरी को तेज़ी से और सटीक रूप से चलाने की क्षमता महत्वपूर्ण है।
{ Get { MyCorpusTable(nearText: {concepts: ["artificial intelligence"]}) {snippet} } }
चार लोकप्रिय वेक्टर डेटाबेस नीचे सूचीबद्ध हैं।
ऐसे उपकरण रखना हमेशा अच्छा विचार है जो आपको अपने डेटा को व्यवस्थित करने और इसे विभिन्न तरीकों से विज़ुअलाइज़ करने की अनुमति देते हैं। नीचे सूचीबद्ध पायथन लाइब्रेरी डेटा हेरफेर और विज़ुअलाइज़ेशन क्षमताएं प्रदान करती हैं। ये ऐसे उपकरण लग सकते हैं जिनकी आपको केवल पारंपरिक AI के लिए आवश्यकता है, लेकिन वे जनरेटिव AI के साथ भी काम आते हैं। उदाहरण के लिए, यदि आप भावना विश्लेषण या भावना का पता लगा रहे हैं, तो आपको यह सुनिश्चित करने के लिए अपने प्रशिक्षण, सत्यापन और परीक्षण सेट की जाँच करनी चाहिए कि आपके सभी वर्गों में उचित वितरण है।
ये रही वो 10 क्षमताएँ जो आधुनिक डेटा लेक संदर्भ आर्किटेक्चर में पाई जा सकती हैं, साथ ही प्रत्येक क्षमता के लिए ठोस विक्रेता उत्पाद और लाइब्रेरीज़ भी। नीचे इन उपकरणों का सारांश देने वाली एक तालिका दी गई है।