अपाचे सिस्टमडीएस
Developer(s) | Apache Software Foundation, IBM |
---|---|
Initial release | November 2, 2015 |
Stable release | 3.0.0
/ July 5, 2022 |
Repository | SystemDS Repository |
Written in | Java, Python, DML, C |
Operating system | Linux, macOS, Windows |
Type | Machine Learning, Deep Learning, Data Science |
License | Apache License 2.0 |
Website | systemds |
अपाचे सिस्टमडीएस (पहले, अपाचे सिस्टमएमएल) एंड-टू-एंड डेटा साइंस लाइफसाइकिल के लिए एक ओपन सोर्स एमएल सिस्टम है।
सिस्टमडीएस की विशिष्ट विशेषताएं हैं:
- आर-जैसी और पायथन-जैसी भाषाओं के माध्यम से एल्गोरिदम अनुकूलनशीलता।
- स्टैंडअलोन, अपाचे स्पार्क बैच, अपाचे स्पार्क MLContext, अपाचे Hadoop बैच और JMLC सहित एकाधिक निष्पादन मोड।
- दक्षता और स्केलेबिलिटी दोनों सुनिश्चित करने के लिए डेटा और क्लस्टर विशेषताओं के आधार पर स्वचालित अनुकूलन।
इतिहास
SystemML को 2010 में IBM फेलो शिवकुमार वैथ्यनाथन के नेतृत्व में आईबीएम अल्माडेन रिसर्च सेंटर के शोधकर्ताओं द्वारा बनाया गया था। यह देखा गया कि डेटा वैज्ञानिक छोटे डेटा के लिए आर (प्रोग्रामिंग भाषा) और पायथन (प्रोग्रामिंग भाषा) जैसी भाषाओं में मशीन लर्निंग एल्गोरिदम लिखेंगे। जब बड़े डेटा को स्केल करने का समय आया, तो स्काला (प्रोग्रामिंग भाषा) जैसी भाषा में एल्गोरिदम को स्केल करने के लिए एक सिस्टम प्रोग्रामर की आवश्यकता होगी। इस प्रक्रिया में आम तौर पर प्रति पुनरावृत्ति दिन या सप्ताह शामिल होते हैं, और बड़े डेटा पर काम करने के लिए एल्गोरिदम का अनुवाद करने में त्रुटियां होंगी। SystemML इस प्रक्रिया को सरल बनाना चाहता है। SystemML का प्राथमिक लक्ष्य बड़े डेटा पर काम करने के लिए आर-जैसी या पायथन-जैसी भाषा में लिखे गए एल्गोरिदम को स्वचालित रूप से स्केल करना है, जो त्रुटि-प्रवण, बहु-पुनरावृत्त अनुवाद दृष्टिकोण के बिना समान उत्तर उत्पन्न करता है।
15 जून 2015 को, सैन फ्रांसिस्को में स्पार्क शिखर सम्मेलन में, आईबीएम एनालिटिक्स के महाप्रबंधक बेथ स्मिथ ने घोषणा की कि आईबीएम अपाचे स्पार्क और स्पार्क-संबंधित परियोजनाओं के लिए आईबीएम की प्रमुख प्रतिबद्धता के हिस्से के रूप में सिस्टमएमएल को ओपन-सोर्स कर रहा था। SystemML 27 अगस्त, 2015 को GitHub पर सार्वजनिक रूप से उपलब्ध हो गया और 2 नवंबर, 2015 को Apache इनक्यूबेटर प्रोजेक्ट बन गया। 17 मई, 2017 को, Apache सॉफ्टवेयर फाउंडेशन बोर्ड ने Apache SystemML को Apache टॉप लेवल प्रोजेक्ट के रूप में स्नातक करने की मंजूरी दे दी।
प्रमुख प्रौद्योगिकियां
सिस्टमडीएस इंजन में निर्मित कुछ प्रौद्योगिकियाँ निम्नलिखित हैं।
उदाहरण
प्रमुख घटक विश्लेषण
निम्नलिखित कोड स्निपेट[1] इनपुट मैट्रिक्स का प्रमुख घटक विश्लेषण करता है , which returns the and the .
# 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);
मंगलाचरण लिपि
<सिंटैक्सहाइलाइट लैंग= शेल-सेशन > स्पार्क-सबमिट SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \
आउटपुट=OUTPUT_DIR/pca-1000x1000-मॉडल PROJDATA=1 केंद्र=1 स्केल=1
</सिंटैक्सहाइलाइट>
डेटाबेस फ़ंक्शन
यूक्लिडियन दूरी के साथ DBSCAN क्लस्टरिंग एल्गोरिदम।<सिंटैक्सहाइलाइट lang= r लाइन= 1 > एक्स = रैंड(पंक्तियाँ=1780, कॉलम=180, न्यूनतम=1, अधिकतम=20) [सूचकांक, मॉडल] = डीबीएसकैन(एक्स = एक्स, ईपीएस = 2.5, मिनपीटीएस = 360) </सिंटैक्सहाइलाइट>
सुधार
सिस्टमडीएस 2.0.0 नए नाम के तहत पहली बड़ी रिलीज़ है। इस रिलीज़ में एंड-टू-एंड डेटा विज्ञान जीवनचक्र को बेहतर समर्थन देने के लिए एक प्रमुख रिफैक्टरिंग, कुछ प्रमुख विशेषताएं, बड़ी संख्या में सुधार और सुधार और कुछ प्रयोगात्मक विशेषताएं शामिल हैं। इसके अलावा, यह रिलीज़ कई ऐसी सुविधाओं को भी हटा देता है जो अद्यतित और पुरानी नहीं हैं।
- डीएमएल-बॉडीड (स्क्रिप्ट-स्तर) के लिए नया तंत्र
builtin
फ़ंक्शंस, और डेटा प्रीप्रोसेसिंग के लिए नए अंतर्निहित फ़ंक्शंस का खजाना जिसमें डेटा सफाई, संवर्द्धन और फ़ीचर इंजीनियरिंग तकनीक, नए एमएल एल्गोरिदम और मॉडल डिबगिंग शामिल हैं। - डेटा सफाई के लिए कई तरीकों को लागू किया गया है जिसमें जंजीर समीकरणों (एमआईसीई) और अन्य तकनीकों द्वारा बहुभिन्नरूपी प्रतिरूपण के साथ कई प्रतिरूपण, एसएमओटीई, वर्ग असंतुलन के लिए एक ओवरसैंपलिंग तकनीक, आगे और पीछे एनए भरना, स्कीमा और लंबाई की जानकारी का उपयोग करके सफाई, बाहरी के लिए समर्थन शामिल है। मानक विचलन और अंतर-चतुर्थक सीमा, और कार्यात्मक निर्भरता खोज का उपयोग करके पता लगाना।
- वंशावली अनुरेखण और पुन: उपयोग के लिए एक पूर्ण रूपरेखा जिसमें लूप डिडुप्लीकेशन, पूर्ण और आंशिक पुन: उपयोग, कंपाइलर सहायता प्राप्त पुन: उपयोग, पुन: उपयोग की सुविधा के लिए कई नए पुनर्लेखन के लिए समर्थन शामिल है।
- फ़ेडरेटेड मैट्रिस और फ़्रेम के लिए समर्थन सहित नया फ़ेडरेटेड रनटाइम बैकएंड, फ़ेडरेटेड
builtin
एस (transform-encode
,decode
वगैरह।)। - रिफैक्टर संपीड़न पैकेज और हानिपूर्ण संपीड़न, बाइनरी सेल संचालन, बाएं मैट्रिक्स गुणन के लिए परिमाणीकरण सहित कार्यक्षमताएं जोड़ें। [प्रयोगात्मक]
- कई के लिए समर्थन के साथ नई पायथन बाइंडिंग
builtin
एस, मैट्रिक्स ऑपरेशंस, फ़ेडरेटेड टेंसर और वंश निशान। - संचयी समुच्चय ऑपरेटरों का क्यूडा कार्यान्वयन (
cumsum
,cumprod
वगैरह।) - स्लाइस फाइंडर के साथ नई मॉडल डिबगिंग तकनीक।
- नया टेंसर डेटा मॉडल (विभिन्न मूल्य प्रकार के मूल टेंसर, स्कीमा के साथ डेटा टेंसर) [प्रायोगिक]
- AWS के लिए क्लाउड परिनियोजन स्क्रिप्ट और फ़ेडरेटेड संचालन स्थापित करने और शुरू करने के लिए स्क्रिप्ट।
- प्रदर्शन में सुधार
parallel sort
,gpu cum agg
,append cbind
वगैरह। - नए और बेहतर पुनर्लेखन, कम स्पार्क संदर्भ निर्माण, नए सहित विभिन्न कंपाइलर और रनटाइम सुधार
eval
फ्रेमवर्क, सूची संचालन, अद्यतन देशी कर्नेल लाइब्रेरीज़ जैसे कुछ नाम शामिल हैं। - नए डेटा रीडर/लेखक के लिए
json
फ्रेम और समर्थन के लिएsql
डेटा स्रोत के रूप में. - विविध सुधार: बेहतर दस्तावेज़ीकरण, बेहतर परीक्षण, रन/रिलीज़ स्क्रिप्ट, बेहतर पैकेजिंग, सिस्टमडीएस के लिए डॉकर कंटेनर, लैम्ब्डा एक्सप्रेशन के लिए समर्थन, बग फिक्स।
- MapReduce कंपाइलर और रनटाइम बैकएंड को हटा दिया गया,
pydml
पार्सर, जावा-यूडीएफ फ्रेमवर्क, स्क्रिप्ट-स्तरीय डिबगर। - पदावनत
./scripts/algorithms
, क्योंकि वे एल्गोरिदम धीरे-धीरे सिस्टमडीएस का हिस्सा बन जाएंगेbuiltin
एस।
योगदान
Apache सिस्टमडीएस कोड, प्रश्न और उत्तर, सामुदायिक निर्माण, या प्रचार-प्रसार में योगदान का स्वागत करता है। योगदानकर्ता मार्गदर्शिका https://github.com/apache/सिस्टमडीएस/blob/main/CONTRIBUTING.md पर उपलब्ध है
यह भी देखें
- डीप लर्निंग सॉफ्टवेयर की तुलना
संदर्भ
- ↑ Apache SystemDS, The Apache Software Foundation, 2022-02-24, retrieved 2022-03-06
- ↑ SystemDS, Apache. "SystemML 1.2.0 Release Notes". systemds.apache.org (in English). Retrieved 2021-02-26.
बाहरी संबंध
- Apache SystemML website
- IBM Research - SystemML
- Q & A with Shiv Vaithyanathan, Creator of SystemML and IBM Fellow
- A Universal Translator for Big Data and Machine Learning
- SystemML: Declarative Machine Learning at Scale presentation by Fred Reiss
- SystemML: Declarative Machine Learning on MapReduce Archived 2016-03-10 at the Wayback Machine
- Hybrid Parallelization Strategies for Large-Scale Machine Learning in SystemML
- SystemML's Optimizer: Plan Generation for Large-Scale Machine Learning Programs
- IBM's SystemML machine learning system becomes Apache Incubator project
- IBM donates machine learning tech to Apache Spark open source community
- IBM's SystemML Moves Forward as Apache Incubator Project