अपाचे सिस्टमडीएस: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 15: Line 15:
| website = {{URL|https://systemds.apache.org/}}
| website = {{URL|https://systemds.apache.org/}}
}}
}}
अपाचे सिस्टमडीएस (पहले, अपाचे सिस्टमएमएल) एंड-टू-एंड डेटा साइंस लाइफसाइकिल के लिए एक ओपन सोर्स एमएल सिस्टम है।
'''अपाचे सिस्टमडीएस''' (पहले, अपाचे सिस्टमएमएल) एंड-टू-एंड डेटा साइंस लाइफसाइकिल के लिए एक ओपन सोर्स एमएल सिस्टम है।


सिस्टमडीएस की विशिष्ट विशेषताएं हैं:
सिस्टमडीएस की विशिष्ट विशेषताएं हैं:


# आर-जैसी और पायथन-जैसी भाषाओं के माध्यम से एल्गोरिदम अनुकूलनशीलता।
# आर-जैसी और पायथन-जैसी भाषाओं के माध्यम से एल्गोरिदम कस्टमीज़ेबिलिटी।
# स्टैंडअलोन, [[अपाचे स्पार्क]] बैच, अपाचे स्पार्क MLContext, [[अपाचे Hadoop]] बैच और JMLC सहित एकाधिक निष्पादन मोड।
# स्टैंडअलोन, [[अपाचे स्पार्क]] बैच, अपाचे स्पार्क एमएलकॉन्टेक्स्ट, [[अपाचे Hadoop|अपाचे हडूप]] बैच और जेएमएलसी सहित मल्टीप्ल एक्सिक्यूशन मोड।
# दक्षता और स्केलेबिलिटी दोनों सुनिश्चित करने के लिए डेटा और क्लस्टर विशेषताओं के आधार पर स्वचालित अनुकूलन।
# एफिशिएंसी और स्केलेबिलिटी दोनों सुनिश्चित करने के लिए डेटा और क्लस्टर केरेकटेरिस्टिक्स के आधार पर आटोमेटिक ऑप्टिमाइजेशन।


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


15 जून 2015 को, सैन फ्रांसिस्को में स्पार्क शिखर सम्मेलन में, आईबीएम एनालिटिक्स के महाप्रबंधक बेथ स्मिथ ने घोषणा की कि आईबीएम अपाचे स्पार्क और स्पार्क-संबंधित परियोजनाओं के लिए आईबीएम की प्रमुख प्रतिबद्धता के हिस्से के रूप में सिस्टमएमएल को ओपन-सोर्स कर रहा था। SystemML 27 अगस्त, 2015 को [[GitHub]] पर सार्वजनिक रूप से उपलब्ध हो गया और 2 नवंबर, 2015 को Apache इनक्यूबेटर प्रोजेक्ट बन गया। 17 मई, 2017 को, Apache सॉफ्टवेयर फाउंडेशन बोर्ड ने Apache SystemML को Apache टॉप लेवल प्रोजेक्ट के रूप में स्नातक करने की मंजूरी दे दी।
15 जून 2015 को, सैन फ्रांसिस्को में स्पार्क शिखर सम्मेलन में, आईबीएम एनालिटिक्स के महाप्रबंधक बेथ स्मिथ ने घोषणा की कि आईबीएम अपाचे स्पार्क और स्पार्क-संबंधित प्रोजेक्ट के लिए आईबीएम की प्रमुख प्रतिबद्धता के हिस्से के रूप में सिस्टमएमएल को ओपन-सोर्स कर रहा था। सिस्टमएमएल 27 अगस्त, 2015 को [[GitHub|गिटहब]] पर सार्वजनिक रूप से उपलब्ध हो गया और 2 नवंबर, 2015 को अपाचे इनक्यूबेटर प्रोजेक्ट बन गया। 17 मई, 2017 को, अपाचे सॉफ्टवेयर फाउंडेशन बोर्ड ने अपाचे सिस्टमएमएल को अपाचे टॉप लेवल प्रोजेक्ट के रूप में स्नातक करने की मंजूरी दे दी।


== प्रमुख प्रौद्योगिकियां ==
== प्रमुख प्रौद्योगिकियां ==
सिस्टमडीएस इंजन में निर्मित कुछ प्रौद्योगिकियाँ निम्नलिखित हैं।
सिस्टमडीएस इंजन में निर्मित कुछ प्रौद्योगिकियाँ निम्नलिखित हैं।


* [https://cacm.acm.org/magazines/2019/5/236413-compressed-linear-algebra-for-declarative-large-scale-machine-learning/fulltext बड़े पैमाने पर मशीन लर्निंग के लिए संपीड़ित रैखिक बीजगणित]
* [https://cacm.acm.org/magazines/2019/5/236413-compressed-linear-algebra-for-declarative-large-scale-machine-learning/fulltext बड़े मापक्रम पर मशीन लर्निंग के लिए कंप्रेस्ड लीनियर अलजेब्रा]
* [https://arxiv.org/pdf/1605.05826 घोषणात्मक मशीन लर्निंग भाषा]
* [https://arxiv.org/pdf/1605.05826 डिकलेरेटिव मशीन लर्निंग लैंग्वेज]


== उदाहरण ==
== उदाहरण ==


=== प्रमुख घटक विश्लेषण ===
=== प्रिंसिपल कॉम्पोनेन्ट एनालिसिस ===
निम्नलिखित कोड स्निपेट<ref>{{Citation |title=Apache SystemDS |date=2022-02-24 |url=https://github.com/apache/systemds |publisher=The Apache Software Foundation |access-date=2022-03-06}}</ref> इनपुट मैट्रिक्स का प्रमुख घटक विश्लेषण करता है <math>A</math> , which returns the <math>eigen vectors</math> and the <math display="inline">eigen values</math>.<syntaxhighlight lang="r" line="1">
निम्नलिखित कोड स्निपेट<ref>{{Citation |title=Apache SystemDS |date=2022-02-24 |url=https://github.com/apache/systemds |publisher=The Apache Software Foundation |access-date=2022-03-06}}</ref> इनपुट मैट्रिक्स का प्रिंसिपल कॉम्पोनेन्ट एनालिसिस <math>A</math> करता है, जो आइगेनवेक्टर्स और आइगेनवैल्यू ​​को लौटाता है<syntaxhighlight lang="r" line="1">
# PCA.dml
# PCA.dml
# Refer: https://github.com/apache/systemds/blob/master/scripts/algorithms/PCA.dml#L61
# Refer: https://github.com/apache/systemds/blob/master/scripts/algorithms/PCA.dml#L61
Line 57: Line 57:




=== मंगलाचरण लिपि ===
=== इनवोकेशन स्क्रिप्ट ===
<सिंटैक्सहाइलाइट लैंग= शेल-सेशन >
  spark-submit SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \
स्पार्क-सबमिट SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \
 
  आउटपुट=OUTPUT_DIR/pca-1000x1000-मॉडल PROJDATA=1 केंद्र=1 स्केल=1
OUTPUT=OUTPUT_DIR/pca-1000x1000-model PROJDATA=1 CENTER=1 SCALE=1
</सिंटैक्सहाइलाइट>


=== डेटाबेस फ़ंक्शन ===
=== डेटाबेस फ़ंक्शन ===
[[यूक्लिडियन दूरी]] के साथ [[DBSCAN]] क्लस्टरिंग एल्गोरिदम।<सिंटैक्सहाइलाइट lang= r लाइन= 1 >
[[यूक्लिडियन दूरी|यूक्लिडियन डिस्टेंस]] के साथ [[DBSCAN|डीबीएससीएएन]] क्लस्टरिंग एल्गोरिदम।
एक्स = रैंड(पंक्तियाँ=1780, कॉलम=180, न्यूनतम=1, अधिकतम=20)
X = rand(rows=1780, cols=180, min=1, max=20)  
[सूचकांक, मॉडल] = डीबीएसकैन(एक्स = एक्स, ईपीएस = 2.5, मिनपीटीएस = 360)
 
</सिंटैक्सहाइलाइट>
[indices, model] = dbscan(X = X, eps = 2.5, minPts = 360


== सुधार ==
== सुधार ==
सिस्टमडीएस 2.0.0 नए नाम के तहत पहली बड़ी रिलीज़ है। इस रिलीज़ में एंड-टू-एंड डेटा विज्ञान जीवनचक्र को बेहतर समर्थन देने के लिए एक प्रमुख रिफैक्टरिंग, कुछ प्रमुख विशेषताएं, बड़ी संख्या में सुधार और सुधार और कुछ प्रयोगात्मक विशेषताएं शामिल हैं। इसके अलावा, यह रिलीज़ कई ऐसी सुविधाओं को भी हटा देता है जो अद्यतित और पुरानी नहीं हैं।
सिस्टमडीएस 2.0.0 नए नाम के अंतर्गत पहली बड़ी रिलीज़ है। इस रिलीज़ में एंड-टू-एंड डाटा साइंस लाइफसाइकिल को बेहतर सपोर्ट देने के लिए एक मेजर रिफैक्टरिंग, कुछ मेजर फीचर्स, बड़ी संख्या में इम्प्रूवमेन्ट एंड फिक्सेस और कुछ एक्सपेरिमेंटल फीचर सम्मिलित हैं। इसके अतिरिक्त, यह रिलीज़ कई ऐसी फीचर्स को भी हटा देता है जो अपडेट नहीं हैं और ऑउटडेटेड हैं।


* डीएमएल-बॉडीड (स्क्रिप्ट-स्तर) के लिए नया तंत्र <code>builtin</code> फ़ंक्शंस, और डेटा प्रीप्रोसेसिंग के लिए नए अंतर्निहित फ़ंक्शंस का खजाना जिसमें डेटा सफाई, संवर्द्धन और फ़ीचर इंजीनियरिंग तकनीक, नए एमएल एल्गोरिदम और मॉडल डिबगिंग शामिल हैं।
* डीएमएल-बॉडीड (स्क्रिप्ट-लेवल) के लिए नया तंत्र <code>बिलटीन</code> फ़ंक्शंस, और डेटा प्रीप्रोसेसिंग के लिए नए बिल्ट-इन फ़ंक्शंस वेल्थ जिसमें डेटा क्लीनिंग, ऑग्मेंटेशन और फ़ीचर इंजीनियरिंग तकनीक, नए एमएल एल्गोरिदम और मॉडल डिबगिंग सम्मिलित हैं।
* डेटा सफाई के लिए कई तरीकों को लागू किया गया है जिसमें जंजीर समीकरणों (एमआईसीई) और अन्य तकनीकों द्वारा बहुभिन्नरूपी प्रतिरूपण के साथ कई प्रतिरूपण, एसएमओटीई, वर्ग असंतुलन के लिए एक ओवरसैंपलिंग तकनीक, आगे और पीछे एनए भरना, स्कीमा और लंबाई की जानकारी का उपयोग करके सफाई, बाहरी के लिए समर्थन शामिल है। मानक विचलन और अंतर-चतुर्थक सीमा, और कार्यात्मक निर्भरता खोज का उपयोग करके पता लगाना।
* डेटा क्लीनिंग के लिए कई तरीकों को लागू किया गया है जिसमें चेंड इक्वेशन (एमआईसीई) और अन्य तकनीकों द्वारा मल्टीवैरिएट एम्प्यूटेशन के साथ कई एम्प्यूटेशन, एसएमओटीई, क्लास इम्बैलेंस के लिए एक ओवरसैंपलिंग टेक्नीक, फॉरवर्ड एंड बैकवर्ड एनए फिलिंग, स्कीमा और लेंथ इनफार्मेशन का उपयोग करके क्लीनिंग, स्टैण्डर्ड डेविएशन और इंटर-क्वारटाइल रेंज, और फंक्शनल डिपेंडेंसी डिस्कवरी का उपयोग करके आउटलायर डिटेक्शन के लिए सपोर्ट सम्मिलित है।
* वंशावली अनुरेखण और पुन: उपयोग के लिए एक पूर्ण रूपरेखा जिसमें लूप डिडुप्लीकेशन, पूर्ण और आंशिक पुन: उपयोग, कंपाइलर सहायता प्राप्त पुन: उपयोग, पुन: उपयोग की सुविधा के लिए कई नए पुनर्लेखन के लिए समर्थन शामिल है।
* लिनेगे ट्रेसिंग और रीयूज़ के लिए एक पूर्ण रूपरेखा जिसमें लूप डिडुप्लीकेशन, फुल और पार्शियल रीयूज़, कंपाइलर असिस्टेड रीयूज़, रीयूज़ के लिए कई नए रीराइट के लिए सपोर्ट सम्मिलित है।
* फ़ेडरेटेड मैट्रिस और फ़्रेम के लिए समर्थन सहित नया फ़ेडरेटेड रनटाइम बैकएंड, फ़ेडरेटेड <code>builtin</code>एस (<code>transform-encode</code>, <code>decode</code> वगैरह।)।
* फ़ेडरेटेड मैट्रिस और फ़्रेम के लिए सपोर्ट सहित नया फ़ेडरेटेड रनटाइम बैकएंड, फ़ेडरेटेड <code>बिल्टइन</code>एस (<code>ट्रांसफॉर्म-एनकोड</code>, <code>डिकोड</code> इत्यादि।)।
* रिफैक्टर संपीड़न पैकेज और हानिपूर्ण संपीड़न, बाइनरी सेल संचालन, बाएं मैट्रिक्स गुणन के लिए परिमाणीकरण सहित कार्यक्षमताएं जोड़ें। [प्रयोगात्मक]
* रिफैक्टर कम्प्रेशन पैकेज और लॉसी कम्प्रेशन, बाइनरी सेल ऑपरेशन, लेफ्ट मैट्रिक्स मल्टिप्लिकेशन के लिए क्वान्टिजेशन सहित फंक्शनैलिटीज जोड़ें। [प्रयोगात्मक]
* कई के लिए समर्थन के साथ नई पायथन बाइंडिंग <code>builtin</code>एस, मैट्रिक्स ऑपरेशंस, फ़ेडरेटेड टेंसर और वंश निशान।
* कई के लिए सपोर्ट के साथ नई पायथन बाइंडिंग <code>बिल्टइन</code>एस, मैट्रिक्स ऑपरेशंस, फ़ेडरेटेड टेंसर और लाइनऐज ट्रेस।
* संचयी समुच्चय ऑपरेटरों का क्यूडा कार्यान्वयन (<code>cumsum</code>, <code>cumprod</code> वगैरह।)
* क्युमुलेटिव एग्रीगेट ऑपरेटर्स का क्यूडा इम्प्लीमेंटेशन (<code>कमसम</code>, कंपरोड इत्यादि।)
* स्लाइस फाइंडर के साथ नई मॉडल डिबगिंग तकनीक।
* स्लाइस फाइंडर के साथ नई मॉडल डिबगिंग टेक्निक।
* नया टेंसर डेटा मॉडल (विभिन्न मूल्य प्रकार के मूल टेंसर, स्कीमा के साथ डेटा टेंसर) [प्रायोगिक]
* नया टेंसर डेटा मॉडल (विभिन्न मूल्य प्रकार के मूल टेंसर, स्कीमा के साथ डेटा टेंसर) [प्रायोगिक]
* AWS के लिए क्लाउड परिनियोजन स्क्रिप्ट और फ़ेडरेटेड संचालन स्थापित करने और शुरू करने के लिए स्क्रिप्ट।
* एडब्ल्यूएस के लिए क्लाउड डिप्लॉयमेंट स्क्रिप्ट्स और फ़ेडरेटेड ऑपरेशन स्थापित करने और प्रारम्भ करने के लिए स्क्रिप्ट।
* प्रदर्शन में सुधार <code>parallel sort</code>, <code>gpu cum agg</code>, <code>append cbind</code> वगैरह।
* परफॉरमेंस इम्प्रूवमेंट <code>पैरेलल सॉर्ट</code>, <code>जीपीयू कम एजीजी</code>, <code>ऍपेन्ड सीबाइंड</code> इत्यादि।
* नए और बेहतर पुनर्लेखन, कम स्पार्क संदर्भ निर्माण, नए सहित विभिन्न कंपाइलर और रनटाइम सुधार <code>eval</code> फ्रेमवर्क, सूची संचालन, अद्यतन देशी कर्नेल लाइब्रेरीज़ जैसे कुछ नाम शामिल हैं।
* न्यू एंड इमप्रूव्ड रीराइट, कम स्पार्क कॉन्टेक्स्ट क्रिएशन, नए सहित विभिन्न कंपाइलर और रनटाइम इम्प्रूवमेंट <code>ईवीएएल</code> फ्रेमवर्क, लिस्ट ऑपरेशन, अपडेटेड नेटिव कर्नेल लाइब्रेरीज़ जैसे कुछ नाम सम्मिलित हैं।
* नए डेटा रीडर/लेखक के लिए <code>json</code> फ्रेम और समर्थन के लिए <code>sql</code> डेटा स्रोत के रूप में.
* नए डेटा रीडर/राइटर के लिए <code>जेएसओएन</code> फ्रेम और सपोर्ट के लिए <code>एसक्यूएल</code> डेटा सोर्स के रूप में है।
* विविध सुधार: बेहतर दस्तावेज़ीकरण, बेहतर परीक्षण, रन/रिलीज़ स्क्रिप्ट, बेहतर पैकेजिंग, सिस्टमडीएस के लिए डॉकर कंटेनर, लैम्ब्डा एक्सप्रेशन के लिए समर्थन, बग फिक्स।
* मिसलेनियस इम्प्रूवमेंट: बेहतर डॉक्यूमेंटेशन, बेहतर टेस्टिंग, रन/रिलीज़ स्क्रिप्ट, बेहतर पैकेजिंग, सिस्टमडीएस के लिए डॉकर कंटेनर, लैम्ब्डा एक्सप्रेशन के लिए सपोर्ट, बग फिक्स।
* MapReduce कंपाइलर और रनटाइम बैकएंड को हटा दिया गया, <code>pydml</code> पार्सर, जावा-यूडीएफ फ्रेमवर्क, स्क्रिप्ट-स्तरीय डिबगर।
* मैपरिड्यूस कंपाइलर और रनटाइम बैकएंड को हटा दिया गया, <code>पीआईडीएमएल</code> पार्सर, जावा-यूडीएफ फ्रेमवर्क, स्क्रिप्ट-स्तरीय लेवल।
* पदावनत <code>./scripts/algorithms</code>, क्योंकि वे एल्गोरिदम धीरे-धीरे सिस्टमडीएस का हिस्सा बन जाएंगे <code>builtin</code>एस।
* पदावनत <code>./स्क्रिप्ट्स/अल्गोरिथ्म्स</code>, क्योंकि वे एल्गोरिदम धीरे-धीरे सिस्टमडीएस <code>बिल्टइन</code>एस का हिस्सा बन जाएंगे।
<ref>{{Cite web|last=SystemDS|first=Apache|title=SystemML 1.2.0 Release Notes|url=https://systemds.apache.org/|access-date=2021-02-26|website=systemds.apache.org|language=en}}</ref>
<ref>{{Cite web|last=SystemDS|first=Apache|title=SystemML 1.2.0 Release Notes|url=https://systemds.apache.org/|access-date=2021-02-26|website=systemds.apache.org|language=en}}</ref>




== योगदान ==
== योगदान ==
Apache सिस्टमडीएस कोड, प्रश्न और उत्तर, सामुदायिक निर्माण, या प्रचार-प्रसार में योगदान का स्वागत करता है। योगदानकर्ता मार्गदर्शिका [https://github.com/apache/systemds/blob/main/CONTRIBUTING.md https://github.com/apache/सिस्टमडीएस/blob/main/CONTRIBUTING.md] पर उपलब्ध है
अपाचे सिस्टमडीएस कोड, प्रश्न और उत्तर, कम्युनिटी बिल्डिंग, या प्रचार-प्रसार में योगदान का स्वागत करता है। कंट्रीब्यूटर गाइड  [https://github.com/apache/systemds/blob/main/CONTRIBUTING.md https://github.com/अपाचे/सिस्टमडीएस/blob/main/CONTRIBUTING.md] पर उपलब्ध है


==यह भी देखें==
==यह भी देखें==
Line 102: Line 101:


==बाहरी संबंध==
==बाहरी संबंध==
*[http://systemds.apache.org/ Apache SystemML website]
*[http://systemds.apache.org/ अपाचे सिस्टमएमएल website]
*[http://researcher.watson.ibm.com/researcher/view_group.php?id=3174 IBM Research - SystemML]
*[http://researcher.watson.ibm.com/researcher/view_group.php?id=3174 आईबीएम Research - सिस्टमएमएल]
*[https://web.archive.org/web/20180321002223/http://www.spark.tc/q-a-with-shiv-vaithyanathan-creator-of-systemml-and-ibm-fellow/ Q & A with Shiv Vaithyanathan, Creator of SystemML and IBM Fellow]
*[https://web.archive.org/web/20180321002223/http://www.spark.tc/q-a-with-shiv-vaithyanathan-creator-of-systemml-and-ibm-fellow/ Q & A with Shiv Vaithyanathan, Creator of सिस्टमएमएल and आईबीएम Fellow]
*[http://www.spark.tc/a-universal-translator-for-big-data-and-machine-learning/ A Universal Translator for Big Data and Machine Learning]
*[http://www.spark.tc/a-universal-translator-for-big-data-and-machine-learning/ A Universal Translator for Big Data and Machine Learning]
*[https://www.youtube.com/watch?v=WkYqjWL1xzk SystemML: Declarative Machine Learning at Scale presentation by Fred Reiss]
*[https://www.youtube.com/watch?v=WkYqjWL1xzk सिस्टमएमएल: Declarative Machine Learning at Scale presentation by Fred Reiss]
*[http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf SystemML: Declarative Machine Learning on MapReduce] {{Webarchive|url=https://web.archive.org/web/20160310150949/http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf |date=2016-03-10 }}
*[http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf सिस्टमएमएल: Declarative Machine Learning on MapReduce] {{Webarchive|url=https://web.archive.org/web/20160310150949/http://researcher.watson.ibm.com/researcher/files/us-ytian/systemML.pdf |date=2016-03-10 }}
*[http://www.vldb.org/pvldb/vol7/p553-boehm.pdf Hybrid Parallelization Strategies for Large-Scale Machine Learning in SystemML]
*[http://www.vldb.org/pvldb/vol7/p553-boehm.pdf Hybrid Parallelization Strategies for Large-Scale Machine Learning in सिस्टमएमएल]
*[https://web.archive.org/web/20150218102423/http://sites.computer.org/debull/A14sept/p52.pdf SystemML's Optimizer: Plan Generation for Large-Scale Machine Learning Programs]
*[https://web.archive.org/web/20150218102423/http://sites.computer.org/debull/A14sept/p52.pdf SystemML's Optimizer: Plan Generation for Large-Scale Machine Learning Programs]
*[http://www.zdnet.com/article/ibms-systemml-machine-learning-system-becomes-apache-incubator-project/ IBM's SystemML machine learning system becomes Apache Incubator project]
*[http://www.zdnet.com/article/ibms-systemml-machine-learning-system-becomes-apache-incubator-project/ IBM's सिस्टमएमएल machine learning system becomes अपाचे Incubator project]
*[https://web.archive.org/web/20150617032644/http://www.theinquirer.net/inquirer/news/2413132/ibm-donates-machine-learning-tech-to-apache-spark-open-source-community IBM donates machine learning tech to Apache Spark open source community]
*[https://web.archive.org/web/20150617032644/http://www.theinquirer.net/inquirer/news/2413132/ibm-donates-machine-learning-tech-to-apache-spark-open-source-community आईबीएम donates machine learning tech to अपाचे Spark open source community]
*[http://www.eweek.com/developer/ibms-systemml-moves-forward-as-apache-incubator-project.html IBM's SystemML Moves Forward as Apache Incubator Project]
*[http://www.eweek.com/developer/ibms-systemml-moves-forward-as-apache-incubator-project.html IBM's सिस्टमएमएल Moves Forward as अपाचे Incubator Project]
 
{{Apache Software Foundation}}


{{DEFAULTSORT:SystemML}}[[Category: क्लस्टर कंप्यूटिंग]] [[Category: डेटा माइनिंग और मशीन लर्निंग सॉफ्टवेयर]] [[Category: Hadoop]] [[Category: अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट्स|SystemML]] [[Category: अपाचे लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर]] [[Category: जावा प्लेटफार्म]] [[Category: बड़े डेटा उत्पाद]] [[Category: 2015 सॉफ्टवेयर]]  
{{DEFAULTSORT:SystemML}}[[Category: क्लस्टर कंप्यूटिंग]] [[Category: डेटा माइनिंग और मशीन लर्निंग सॉफ्टवेयर]] [[Category: Hadoop]] [[Category: अपाचे सॉफ्टवेयर फाउंडेशन प्रोजेक्ट्स|SystemML]] [[Category: अपाचे लाइसेंस का उपयोग करने वाला सॉफ़्टवेयर]] [[Category: जावा प्लेटफार्म]] [[Category: बड़े डेटा उत्पाद]] [[Category: 2015 सॉफ्टवेयर]]  

Revision as of 08:42, 14 December 2023

Apache SystemDS
Developer(s)Apache Software Foundation, IBM
Initial releaseNovember 2, 2015; 9 years ago (2015-11-02)
Stable release
3.0.0 / July 5, 2022; 2 years ago (2022-07-05)
RepositorySystemDS Repository
Written inJava, Python, DML, C
Operating systemLinux, macOS, Windows
TypeMachine Learning, Deep Learning, Data Science
LicenseApache License 2.0
Websitesystemds.apache.org

अपाचे सिस्टमडीएस (पहले, अपाचे सिस्टमएमएल) एंड-टू-एंड डेटा साइंस लाइफसाइकिल के लिए एक ओपन सोर्स एमएल सिस्टम है।

सिस्टमडीएस की विशिष्ट विशेषताएं हैं:

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

इतिहास

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

15 जून 2015 को, सैन फ्रांसिस्को में स्पार्क शिखर सम्मेलन में, आईबीएम एनालिटिक्स के महाप्रबंधक बेथ स्मिथ ने घोषणा की कि आईबीएम अपाचे स्पार्क और स्पार्क-संबंधित प्रोजेक्ट के लिए आईबीएम की प्रमुख प्रतिबद्धता के हिस्से के रूप में सिस्टमएमएल को ओपन-सोर्स कर रहा था। सिस्टमएमएल 27 अगस्त, 2015 को गिटहब पर सार्वजनिक रूप से उपलब्ध हो गया और 2 नवंबर, 2015 को अपाचे इनक्यूबेटर प्रोजेक्ट बन गया। 17 मई, 2017 को, अपाचे सॉफ्टवेयर फाउंडेशन बोर्ड ने अपाचे सिस्टमएमएल को अपाचे टॉप लेवल प्रोजेक्ट के रूप में स्नातक करने की मंजूरी दे दी।

प्रमुख प्रौद्योगिकियां

सिस्टमडीएस इंजन में निर्मित कुछ प्रौद्योगिकियाँ निम्नलिखित हैं।

उदाहरण

प्रिंसिपल कॉम्पोनेन्ट एनालिसिस

निम्नलिखित कोड स्निपेट[1] इनपुट मैट्रिक्स का प्रिंसिपल कॉम्पोनेन्ट एनालिसिस करता है, जो आइगेनवेक्टर्स और आइगेनवैल्यू ​​को लौटाता है

# PCA.dml
# Refer: https://github.com/apache/systemds/blob/master/scripts/algorithms/PCA.dml#L61

N = nrow(A);
D = ncol(A);

# perform z-scoring (centering and scaling)
A = scale(A, center==1, scale==1);

# co-variance matrix 
mu = colSums(A)/N;
C = (t(A) %*% A)/(N-1) - (N/(N-1))*t(mu) %*% mu;


# compute eigen vectors and values
[evalues, evectors] = eigen(C);


इनवोकेशन स्क्रिप्ट

  spark-submit SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \
OUTPUT=OUTPUT_DIR/pca-1000x1000-model PROJDATA=1 CENTER=1 SCALE=1

डेटाबेस फ़ंक्शन

यूक्लिडियन डिस्टेंस के साथ डीबीएससीएएन क्लस्टरिंग एल्गोरिदम।

X = rand(rows=1780, cols=180, min=1, max=20) 
[indices, model] = dbscan(X = X, eps = 2.5, minPts = 360

सुधार

सिस्टमडीएस 2.0.0 नए नाम के अंतर्गत पहली बड़ी रिलीज़ है। इस रिलीज़ में एंड-टू-एंड डाटा साइंस लाइफसाइकिल को बेहतर सपोर्ट देने के लिए एक मेजर रिफैक्टरिंग, कुछ मेजर फीचर्स, बड़ी संख्या में इम्प्रूवमेन्ट एंड फिक्सेस और कुछ एक्सपेरिमेंटल फीचर सम्मिलित हैं। इसके अतिरिक्त, यह रिलीज़ कई ऐसी फीचर्स को भी हटा देता है जो अपडेट नहीं हैं और ऑउटडेटेड हैं।

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

[2]


योगदान

अपाचे सिस्टमडीएस कोड, प्रश्न और उत्तर, कम्युनिटी बिल्डिंग, या प्रचार-प्रसार में योगदान का स्वागत करता है। कंट्रीब्यूटर गाइड https://github.com/अपाचे/सिस्टमडीएस/blob/main/CONTRIBUTING.md पर उपलब्ध है

यह भी देखें

  • डीप लर्निंग सॉफ्टवेयर की तुलना

संदर्भ

  1. Apache SystemDS, The Apache Software Foundation, 2022-02-24, retrieved 2022-03-06
  2. SystemDS, Apache. "SystemML 1.2.0 Release Notes". systemds.apache.org (in English). Retrieved 2021-02-26.


बाहरी संबंध