अपाचे सिस्टमडीएस

From alpha
Jump to navigation Jump to search
Apache SystemDS
डेवलपर(ओं)Apache Software Foundation, IBM
आरंभिक रिलीजNovember 2, 2015; 8 years ago (2015-11-02)
Stable release
3.0.0 / July 5, 2022; 21 months ago (2022-07-05)
रिपॉजिटरीSystemDS Repository
इसमें लिखा हुआJava, Python, DML, C
ऑपरेटिंग सिस्टमLinux, macOS, Windows
प्रकारMachine Learning, Deep Learning, Data Science
लाइसेंसApache License 2.0
वेबसाइटsystemds.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. Retrieved 2021-02-26.


बाहरी संबंध