Meet Yambda: One of the world’s largest open datasets for RecSys. सिफारिश करने वाले एल्गोरिथ्म लोगों को सही उत्पादों, फिल्मों, संगीत, और अधिक खोजने में मदद करते हैं. वे ऑनलाइन स्टोर से लेकर स्ट्रीमिंग प्लेटफॉर्म तक की सेवाओं का कंकाल हैं. इन एल्गोरिथ्मों की प्रगति सीधे अनुसंधान पर निर्भर करती है, जो बदले में उच्च गुणवत्ता वाले, बड़े पैमाने पर डेटा सेट की आवश्यकता होती है. हालांकि, अधिकांश ओपन सोर्स डेटा सेट छोटे या पुराने हैं, क्योंकि कंपनियां जो टेराबाइट डेटा जमा करती हैं, उन्हें गोपनीयता चिंताओं के कारण शायद ही कभी सार्वजनिक रूप से उपलब्ध कराती हैं। इस डेटासेट में 4.79 बिलियन गुमनाम उपयोगकर्ता इंटरैक्शन शामिल हैं, जो 10 महीने के उपयोगकर्ता गतिविधि से संकलित हैं। हमने संगीत सेवा का चयन किया क्योंकि यह रूस में सबसे बड़ा सदस्यता आधारित स्ट्रीमिंग सेवा है, जिसमें औसत मासिक दर्शक 28 मिलियन उपयोगकर्ता हैं। डेटासेट का एक महत्वपूर्ण हिस्सा संग्रहीत सुनने, पसंदीदा और असहज शामिल है, साथ ही व्यक्तिगत अनुशंसा प्रणाली से प्राप्त ट्रैक गुण भी शामिल हैं। सभी उपयोगकर्ता और ट्रैक डेटा अनन्य हैं: डेटासेट में केवल संख्यात्मक पहचानक होते हैं, जिससे उपयोगकर्ता की गोपनीयता सुनिश्चित होती है। मेरे Vibe Yambda जैसे बड़े खुले डेटा सेट को जारी करना कई समस्याओं को हल करने में मदद करता है. उच्च गुणवत्ता वाले, बड़े पैमाने पर डेटा तक पहुंच वैज्ञानिक अनुसंधान के लिए नए मार्गों को खोलता है और युवा शोधकर्ताओं को वास्तविक दुनिया की चुनौतियों के लिए मशीन सीखने को लागू करने में रुचि रखता है। मैं अलेक्जेंडर प्लोशकिन हूं, और मैं Yandex में व्यक्तित्व गुणवत्ता विकास का नेतृत्व करता हूं। इस लेख में, मैं समझाऊंगा कि डेटासेट क्या है, हमने इसे कैसे एकत्र किया, और आप इसे नए सिफारिशकर्ता एल्गोरिथ्म का मूल्यांकन करने के लिए कैसे उपयोग कर सकते हैं। चलो शुरू करते हैं! बड़े पैमाने पर खुले डेटा सेट क्यों मायने रखते हैं? Recommender सिस्टम हाल के वर्षों में एक वास्तविक पुनर्जन्म का अनुभव कर रहे हैं। तकनीकी कंपनियां तेजी से ट्रांसफॉर्मर-आधारित मॉडल को अपनाती हैं, जो अन्य क्षेत्रों में बड़े भाषा मॉडल (एलएलएम) की सफलता से प्रेरित होती हैं। हमने कंप्यूटर दृष्टि और प्राकृतिक भाषा प्रसंस्करण से सीखा है कि डेटा की मात्रा इस बात के लिए महत्वपूर्ण है कि ये तरीके कितनी अच्छी तरह से काम करते हैं: ट्रांसफार्मर छोटे डेटा सेट पर बहुत प्रभावी नहीं हैं, लेकिन एक बार जब वे अरबों टोकन तक स्केल करते हैं तो लगभग आवश्यक हो जाते हैं। वास्तव में बड़े पैमाने पर खुले डेटा सेट अनुशंसक सिस्टम डोमेन में एक दुर्लभता हैं। LFM-1B, LFM-2B, और संगीत सुनने इतिहास डेटासेट (27B) जैसे प्रसिद्ध डेटासेट समय के साथ लाइसेंस प्रतिबंधों के कारण उपलब्ध नहीं हो गए हैं। वर्तमान में, उपयोगकर्ता इंटरैक्शन की संख्या के लिए रिकॉर्ड क्रिटेओ के विज्ञापन डेटासेट द्वारा बनाया गया है, जिसमें लगभग 4 बिलियन घटनाएं हैं. यह शोधकर्ताओं के लिए एक चुनौती पैदा करती है: अधिकांश के पास वेब-स्केल सेवाओं तक पहुंच नहीं है, जिसका अर्थ है कि वे वास्तविक दुनिया के वितरण की तरह स्थितियों में एल्गोरिथ्म का परीक्षण नहीं कर सकते हैं। लोकप्रिय डेटा सेट जैसे कि MovieLens, स्टीम, या नेटफ्लिक्स पुरस्कार में, सर्वश्रेष्ठ में, दर्जनों मिलियन इंटरैक्शन होते हैं और आमतौर पर स्पष्ट प्रतिक्रियाओं, जैसे रेटिंग और समीक्षाओं पर ध्यान केंद्रित करते हैं। इस बीच, उत्पादन अनुशंसक सिस्टम बहुत अधिक विविध और रंगीन संकेतों के साथ काम करते हैं: क्लिक, पसंदीदा, पूर्ण सुनने, दृष्टिकोण, खरीद और इतने पर। कई डेटा सेट प्रशिक्षण और परीक्षण सेट के बीच एक ईमानदार समय विभाजन की अनुमति नहीं देते हैं, जो भविष्य की भविष्यवाणी करने का लक्ष्य रखने वाले एल्गोरिथ्मों का मूल्यांकन करने के लिए महत्वपूर्ण है, न कि केवल अतीत को समझाने के लिए। इन चुनौतियों को संबोधित करने और सिफारिश प्रणाली में नए एल्गोरिथ्म के विकास का समर्थन करने के लिए, हम Yambda जारी कर रहे हैं। यह डेटासेट वर्तमान में अनुशंसा डोमेन में उपयोगकर्ता बातचीत के लिए सबसे बड़ा खुला संसाधन है। Yambda के अंदर क्या है? डेटासेट में संगीत सेवा से 9 मिलियन से अधिक संगीत ट्रैक के साथ 1 मिलियन उपयोगकर्ताओं के इंटरैक्शन शामिल हैं, कुल 4.79 बिलियन घटनाएं। सबसे पहले, स्पष्ट होने के लिए: सभी घटनाएं अनन्य हैं। डेटासेट केवल उपयोगकर्ताओं, ट्रैक, एल्बम और कलाकारों के लिए संख्यात्मक पहचानकर्ताओं का उपयोग करता है. यह गोपनीयता सुनिश्चित करने और उपयोगकर्ता डेटा की रक्षा करने के लिए है. डेटासेट में मुख्य अनुमानित और स्पष्ट उपयोगकर्ता कार्य शामिल हैं: सुनो: उपयोगकर्ता एक संगीत ट्रैक सुन रहा था। जैसे: उपयोगकर्ता को एक ट्रैक पसंद आया (“Tumbs Up”). विपरीत: उपयोगकर्ता ने एक Like हटा दिया। असहज: उपयोगकर्ता ने एक ट्रैक को पसंद नहीं किया (“Tumbs Down”). अप्रत्याशित: उपयोगकर्ता ने अप्रत्याशित को हटा दिया है। डेटासेट को अधिक सुलभ बनाने के लिए, हमने 480 मिलियन और 48 मिलियन घटनाओं को शामिल करने वाले छोटे नमूने भी जारी किए हैं। इन उपसेट्स के लिए संक्षिप्त आंकड़े नीचे दिए गए तालिका में दिए गए हैं: डेटा Apache Parquet प्रारूप में संग्रहीत किया जाता है, जिसे पियथन डेटा विश्लेषण पुस्तकालयों जैसे पांडस और पोलर्स द्वारा मूल रूप से समर्थित किया जाता है. उपयोग की सुविधा के लिए, डेटासेट को पूरी तरह से दो प्रारूपों में पुनः प्राप्त किया जाता है: फ्लैट: प्रत्येक पंक्ति एक उपयोगकर्ता और एक ट्रैक के बीच एक एकल बातचीत का प्रतिनिधित्व करती है। अनुक्रमित: प्रत्येक पंक्ति में एक एकल उपयोगकर्ता के पूर्ण इंटरैक्शन इतिहास होता है। डेटासेट की संरचना निम्नलिखित है: Yambda की मुख्य विशेषता यह है कि यह ध्वज स्वाभाविक रूप से होने वाले उपयोगकर्ता कार्यों और सिफारिशों द्वारा प्रेरित किए गए कार्यों के बीच अंतर करने में मदद करता है। is_organic अगर इसका मतलब है कि घटना को एक सिफारिश द्वारा शुरू किया गया था। is_organic = 0 उदाहरण के लिए, एक व्यक्तिगत संगीत स्ट्रीमिंग या एक अनुशंसित प्लेलिस्ट में. सभी अन्य घटनाओं को कार्बनिक माना जाता है, जिसका अर्थ है कि उपयोगकर्ता ने स्वयं सामग्री का पता लगाया। नीचे दिए गए तालिका अनुशंसा-आधारित घटनाओं पर आंकड़े प्रदान करती है: उपयोगकर्ता इंटरैक्शन इतिहास व्यक्तिगत सिफारिशों को बनाने के लिए महत्वपूर्ण है. यह लंबी अवधि की प्राथमिकताओं और क्षणिक हितों दोनों को कैप्चर करता है जो संदर्भ के साथ बदल सकता है। आपको डेटा संरचना को बेहतर ढंग से समझने में मदद करने के लिए, यहां हमारे डेटासेट पर कुछ त्वरित आंकड़े हैं: ऊपर दिए गए चार्ट से पता चलता है कि उपयोगकर्ता इतिहास की लंबाई एक भारी शेड वितरण का अनुसरण करती है। इसका मतलब है कि जबकि अधिकांश उपयोगकर्ताओं में अपेक्षाकृत कम बातचीत होती है, एक छोटी लेकिन महत्वपूर्ण समूह में बहुत लंबी बातचीत इतिहास होता है। यह विशेष रूप से अनुशंसा मॉडल का निर्माण करते समय ध्यान में रखना महत्वपूर्ण है, अत्यधिक सक्रिय उपयोगकर्ताओं के लिए अतिरिक्त फिट होने से बचने के लिए और कम संलग्न उपयोगकर्ताओं के "बड़े रीढ़" के लिए गुणवत्ता बनाए रखने के लिए। इसके विपरीत, ट्रैक पर वितरण एक बहुत ही अलग कहानी बताता है। यह चार्ट अत्यधिक लोकप्रिय ट्रैक और बड़े मात्रा में निशान सामग्री के बीच असंतुलन को स्पष्ट रूप से दर्शाता है: 90% से अधिक ट्रैक ने पूरे डेटा संग्रह अवधि के दौरान 100 से कम प्ले प्राप्त किए। इसके बावजूद, अनुशंसक सिस्टम को पूरे कैटलॉग के साथ जुड़ना होगा ताकि यहां तक कि कम लोकप्रियता वाले ट्रैक भी दिखाई दें जो व्यक्तिगत उपयोगकर्ता प्राथमिकताओं के साथ अच्छी तरह से समायोजित होते हैं। एल्गोरिथिकल प्रदर्शन का मूल्यांकन करने के लिए Yambda का उपयोग करना अनुशंसक एल्गोरिदम की गुणवत्ता पर अकादमिक अध्ययन अक्सर Leave-one-Out (LOO) योजना का उपयोग करते हैं, जहां एक उपयोगकर्ता कार्रवाई परीक्षण के लिए रखा जाता है और बाकी को प्रशिक्षण के लिए उपयोग किया जाता है। हालांकि, यह विधि दो गंभीर नुकसान के साथ आता है: अस्थायी असंगति: परीक्षण घटनाओं में उन कार्यों को शामिल किया जा सकता है जो प्रशिक्षण सेट में उनसे पहले हुए थे। उपयोगकर्ताओं का समान वजन: निष्क्रिय उपयोगकर्ता सक्रिय उपयोगकर्ताओं के समान रूप से मूल्यांकन मीट्रिक्स को प्रभावित करते हैं, जो परिणामों को विकृत कर सकते हैं। मूल्यांकन परिस्थितियों को वास्तविक दुनिया की सिफारिश प्रणाली परिदृश्यों के करीब लाने के लिए, हम एक वैकल्पिक प्रस्ताव देते हैं: . global temporal split यह सरल विधि प्रशिक्षण सेट से सभी बाद के घटनाओं को छोड़कर समय में एक बिंदु (टी) का चयन करती है। यह सुनिश्चित करता है कि मॉडल ऐतिहासिक डेटा पर ट्रेनिंग करता है और भविष्य के डेटा के खिलाफ परीक्षण किया जाता है, एक वास्तविक उत्पादन वातावरण की नकल करते हुए। हमारे मूल्यांकन के लिए, हम दो मुख्य कारणों से एक दिन डेटा को holdout सेट के रूप में आरक्षित करते हैं: यहां तक कि एक दिन का डेटा मूल्य भी एल्गोरिथ्म प्रदर्शन का विश्वसनीय रूप से मूल्यांकन करने के लिए पर्याप्त मात्रा प्रदान करता है। वास्तविक दुनिया के उत्पादन में मॉडल अलग-अलग विशेषताएं हैं: कुछ को अक्सर स्टेट अद्यतन की आवश्यकता होती है (उदाहरण के लिए, लोकप्रियता आधारित सिफारिशें), दूसरों को बार-बार फिनिंग या पुन: प्रशिक्षित किया जाता है (बॉस्टिंग, मैट्रिक्स कारकलिंग, दो टॉवर मॉडल), और कुछ लगातार अद्यतन उपयोगकर्ता बातचीत के इतिहास पर निर्भर करते हैं (प्रत्येक और ट्रांसफार्मर आधारित मॉडल)। हमारे दृष्टिकोण से, एक दिन का खिड़की मॉडल को स्थिर रखने के लिए इष्टतम मूल्यांकन अवधि है जबकि अभी भी संक्षिप्त अवधि के रुझानों को कैप्चर करता है। इस दृष्टिकोण का नुकसान यह है कि यह लंबी अवधि के पैटर्न को ध्यान में नहीं रखता है, जैसे कि संगीत सुनने के व्यवहार में साप्ताहिक बदलाव। बेल्जियम हमने भविष्य के अनुसंधान और तुलना के लिए आधार सूची स्थापित करने के लिए Yambda पर कई लोकप्रिय अनुशंसक एल्गोरिथ्मों का मूल्यांकन किया। हमने परीक्षण किए गए एल्गोरिदम में शामिल हैं: MostPop, DecayPop, ItemKNN, iALS, BPR, SANSA, और SASRec। मूल्यांकन के लिए, हमने निम्नलिखित मीट्रिक का उपयोग किया: NDCG@k (Normalized Discounted Cumulative Gain), जो सिफारिशों में रैंकिंग की गुणवत्ता को मापता है। Recall@k, जो कुल पूल से प्रासंगिक सिफारिशों को प्राप्त करने की एल्गोरिदम की क्षमता का मूल्यांकन करता है। Coverage@k, जो इंगित करता है कि सिफारिश कैटलॉग का कितना व्यापक रूप से प्रतिनिधित्व किया गया है। परिणाम तालिकाओं में प्रदान किए जाते हैं, और कोड पर उपलब्ध है . Hugging Face चेहरे को छूना निष्कर्ष Yambda बड़े पैमाने पर डेटा पर सिफारिश एल्गोरिथ्म के अनुसंधान के लिए मूल्यवान हो सकता है, जहां प्रदर्शन और व्यवहार गतिशीलता को मॉडलिंग करने की क्षमता दोनों महत्वपूर्ण हैं। डेटासेट तीन संस्करणों में उपलब्ध है: 5 अरब घटनाओं के साथ एक पूर्ण सेट, और 500 मिलियन और 50 मिलियन घटनाओं के साथ छोटे उपसेट। डेवलपर्स और शोधकर्ता उन संस्करणों का चयन कर सकते हैं जो उनके परियोजना और गणना संसाधनों के लिए सबसे उपयुक्त हैं. दोनों डेटासेट और मूल्यांकन कोड उपलब्ध हैं . चेहरे को छूना चेहरे को छूना चेहरे को छूना हम आशा करते हैं कि यह डेटासेट आपके प्रयोगों और अनुसंधान में उपयोगी साबित होगा! पढ़ने के लिए धन्यवाद!