ML.NET

מתוך ויקיפדיה, האנציקלופדיה החופשית
יש לשכתב ערך זה. הסיבה היא: הערך לוקה בתרגמת.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף.
יש לשכתב ערך זה. הסיבה היא: הערך לוקה בתרגמת.
אתם מוזמנים לסייע ולתקן את הבעיות, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף.
ML.NET
מפתח .NET Foundation עריכת הנתון בוויקינתונים
מחזור חיים 7 במאי 2018 – הווה (6 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 3.0.1 (13 במרץ 2024) עריכת הנתון בוויקינתונים
נכתבה בשפות סי שארפ עריכת הנתון בוויקינתונים
סוג רישיון רישיון MIT עריכת הנתון בוויקינתונים
קוד מקור https://github.com/dotnet/machinelearning עריכת הנתון בוויקינתונים
dot.net/ml
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

ML.NET היא ספריית תוכנה חינמית לאפליקציות המשלבות למידת מכונה עבור שפות התכנות #C ו- #F.[1][2][3] הספרייה תומכת במודלים של Python, יחד עם NimbusML.

מהדורת התצוגה המקדימה של ML.NET כללה טרנספורמציות להנדסת תכונות (feature engineering) כמו יצירת n-gram, ו"למדנים" להתמודדות עם משימות סיווג בינארי, סיווג רב-מעמדי ומשימות רגרסיה.[4] מאז נוספו משימות ML נוספות כמו איתור חריגות ומערכות המלצה, וגישות אחרות כמו למידה עמוקה ייכללו בגרסאות עתידיות.[5][6]

למידת מכונה[עריכת קוד מקור | עריכה]

ML.NET כוללת יכולות אנליטיות וחיזוי מבוססות מודלים של למידת מכונה, ובשימוש בעיקר על ידי מפתחים בעלי ניסיון עם מוצרי דוט NET. המסגרת בנויה על NET Core. ו-NET Standard, ומסוגלת לרוץ באופן חוצה פלטפורמות במערכות ההפעלה Linux, Windows ו-macOS. למרות ש-ML.NET נוסדה בשנת 2018, מקורותיה החלו כבר בשנת 2002 כפרויקט מחקר של מיקרוסופט בשם TMSN (חיפוש וניווט של כריית טקסט) לשימוש פנימי בתוך מוצרי מיקרוסופט. מאוחר יותר שונה שמו ל-TLC (קוד הלמידה) בסביבות 2011. ML.NET נגזרה לאחר מכן מספריית TLC ועלתה במידה רבה על ספריית המקור לפי ד"ר ג'יימס מקפרי, מ-Microsoft Research.[7]

מפתחים יכולים לאמן מודל למידת מכונה או לעשות שימוש חוזר במודל קיים על ידי צד שלישי ולהפעיל אותו בכל סביבה במצב לא מקוון. המשמעות היא שמפתחים לא צריכים להיות בעלי רקע ב-Data Science כדי להשתמש במסגרת. תמיכה בפורמט מודל למידה עמוקה בקוד פתוח Open Neural Network Exchange (או ONNX) הוצגה מ-build 0.3 ב-ML.NET. המהדורה כללה שיפורים בולטים אחרים כגון מכונות פקטוריזציה, LightGBM, אנסמבלים, LightLDA transform ו-OVA.[8] שילוב TensorFlow ב ML.NET אפשרי מגרסה 0.5. תמיכה עבור יישומי x86 ו-x64 נוספה ל-Build 0.7 כולל יכולות המלצות משופרות עם Matrix Factorization.[9] מפת דרכים מלאה של תכונות מתוכננות זמינה ב-Repo הרשמי של GitHub.[10]

המהדורה היציבה הראשונה 1.0 של המסגרת הוכרזה ב-Build (כנס מפתחים) 2019. היא כלל תוספת של כלי בונה מודלים ויכולות AutoML (למידת מכונה אוטומטית).[11] Build 1.3.1 הציג תצוגה מקדימה של אימון Deep Neural Network באמצעות כריכות #C[12] עבור Tensorflow ומטען מסד נתונים המאפשר אימון מודלים על מסדי נתונים. התצוגה המקדימה של 1.4.0 הוסיפה ניקוד ML.NET על מעבדי ARM ואימון רשתות עצביות עמוקות עם GPUs עבור Windows ו-Linux.[13]

ביצועים[עריכת קוד מקור | עריכה]

המאמר של מיקרוסופט על למידת מכונה עם ML.NET הוכיח לכאורה שהיא מסוגלת לאמן מודלים של ניתוח סנטימנטים באמצעות מערכי נתונים גדולים תוך השגת דיוק גבוה. התוצאות שלה הראו דיוק של 95% במערך הסקירה של אמזון בנפח 9GB.[14]

בונה דגמים[עריכת קוד מקור | עריכה]

ה-ML.NET CLI הוא ממשק שורת פקודה המשתמש ב-ML.NET AutoML כדי לבצע אימון מודלים ולבחור את האלגוריתם הטוב ביותר עבור הנתונים. ה-Model Builder preview של ML.NET[15] היא הרחבה עבור Visual Studio המשתמשת ב-ML. NET CLI ו-ML.NET AutoML כדי להפיק את המודל ה-ML.NET הטוב ביותר באמצעות GUI.[16]

Infer.NET[עריכת קוד מקור | עריכה]

Microsoft Research הכריזה על ארכיטקטורת המודלים Infer.NET הפופולרית ללמידת מכונה המשמשת למחקר במוסדות אקדמיים מאז 2008, שוחררה בקוד פתוח, וכעת היא חלק מה-ML.NET.[17]

Infer.NET framework משתמש בתכנות הסתברותי כדי לתאר מודלים הסתברותיים שיש להם יתרון נוסף של יכולת פרשנות. מרחב השמות של Infer.NET שונה מאז ל-Microsoft.ML.Probabilistic. התואם את מרחבי השמות של ML.NET.[18]

תמיכת NimbusML ב-Python[עריכת קוד מקור | עריכה]

מיקרוסופט הגיעה למסקנה ש-Python פופולרית בקרב מדעני נתונים, ולכן הציגה את NimbusML עבור Python הניסיוניות עבור ML.NET. זה מאפשר למשתמשים לאמן ולהשתמש במודלים של למידת מכונה ב-Python, וזאת בקוד פתוח בדומה ל-Infer.NET.[19]

למידת מכונה בדפדפן[עריכת קוד מקור | עריכה]

ML. NET מאפשרת למשתמשים לייצא מודלים מאומנים לפורמט Open Neural Network Exchange (ONNX).[20] זה מייצר אפשרות להשתמש במודלים בסביבות שונות שאינן משתמשות ב-ML.NET. ניתן יהיה להפעיל את המודלים הללו בצד הלקוח של הדפדפן באמצעות ONNX.js, מסגרת צד הלקוח של javascript עבור מודלים של למידה עמוקה שנוצרו בפורמט Onnx.[21]

לקריאה נוספת[עריכת קוד מקור | עריכה]

  • Capellman, Jarred (2020). Hands-On Machine Learning with ML.NET: Getting started with Microsoft ML.NET to implement popular machine learning algorithms in C#. Packt Publishing. ISBN 978-1789801781.
  • Mukherjee, Sudipta (2020). ML.NET Revealed: Simple Tools for Applying Machine Learning to Your Applications. Apress. ISBN 978-1484265420.

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ David Ramel (2018-05-08). "Open Source, Cross-Platform ML.NET Simplifies Machine Learning -- Visual Studio Magazine". Visual Studio Magazine. נבדק ב-2018-05-10.
  2. ^ Kareem Anderson (2017-05-09). "Microsoft debuts ML.NET cross-platform machine learning framework". On MSFT. נבדק ב-2018-05-10.
  3. ^ Ankit Asthana (2018-08-07). "Announcing ML.NET 0.4". blogs.msdn.microsoft.com. נבדק ב-2018-08-08.
  4. ^ Gal Oshri (2018-05-06). "ML.NET 0.1 Release Notes". GitHub. נבדק ב-2018-05-10.
  5. ^ Tiwari, Aditya (2018-05-08). "Microsoft Launches ML.NET Open Source Machine Learning Framework". Fossbytes. נבדק ב-2018-05-10. Over time, it will enable other ML tasks like anomaly detection, recommendation system, and other approaches like deep learning using the benefits of added libraries.
  6. ^ "Machine learning tasks in ML.NET". Microsoft. נבדק ב-26 בדצמבר 2018. {{cite web}}: (עזרה)
  7. ^ James McCaffrey (2018-12-19). "ML.NET: The Machine Learning Framework for .NET Developers". MSDN Magazine Connect() Special Issue 2018. נבדק ב-2019-01-09. Even though the ML.NET library is new, its origins go back many years. Shortly after the introduction of the Microsoft .NET Framework in 2002, Microsoft Research began a project called TMSN (“text mining search and navigation”) to enable software developers to include ML code in Microsoft products and technologies. The project was very successful, and over the years grew in size and usage internally at Microsoft. Somewhere around 2011 the library was renamed to TLC (“the learning code”). TLC is widely used within Microsoft and is currently in version 3.10. The ML.NET library is a descendant of TLC, with Microsoft-specific features removed. I’ve used both libraries and, in many ways, the ML.NET child has surpassed its parent.
  8. ^ "Release Microsoft ML.NET v0.3". Github. 2018-07-03. נבדק ב-2018-07-03.
  9. ^ "Announcing ML.NET 0.7 (Machine Learning .NET)". Microsoft. 2018-11-08. נבדק ב-2018-11-14.
  10. ^ "The ML.NET Roadmap". Github. 2018-05-09. נבדק ב-2018-06-30.
  11. ^ "Announcing ML.NET 1.0". Microsoft. 2019-05-06. נבדק ב-2019-05-07.
  12. ^ "SciSharp/TensorFlow.NET". SciSharp STACK. 21 בפברואר 2020. {{cite web}}: (עזרה)
  13. ^ "ML.NET 1.4.0-preview2". Github. 2019-10-09. נבדק ב-2019-10-09.
  14. ^ Ahmed, Zeeshan; Amizadeh, Saeed; Bilenko, Mikhail; Carr, Rogan; Chin, Wei-Sheng; Dekel, Yael; Dupre, Xavier; Eksarevskiy, Vadim; Erhardt, Eric (2019-05-15). "arXiv 1905.05715: Machine Learning at Microsoft with ML .NET". Microsoft & Yandex. arXiv:1905.05715. doi:10.1145/3292500.3330667.
  15. ^ "dotnet/machinelearning-modelbuilder". .NET Platform. 17 בפברואר 2020. {{cite web}}: (עזרה)
  16. ^ "Announcing ML.NET 1.0". Microsoft. 2019-05-06. נבדק ב-2019-05-07.
  17. ^ "Microsoft open-sources Infer.NET AI code just in time for the weekend". The Register. 2018-10-05. נבדק ב-2018-10-31.
  18. ^ "Microsoft open sources Infer.NET, its popular model-based machine learning framework". Packt. 2018-10-08. נבדק ב-2018-10-31.
  19. ^ "Announcing ML.NET 0.7 (Machine Learning .NET)". Microsoft. 2018-11-08. נבדק ב-2018-11-14.
  20. ^ "ML.NET – Export Machine Learning.Net models to ONNX format". El Bruno. 2018-07-11. נבדק ב-2019-01-09.
  21. ^ "ONNX.js: Universal Deep Learning Models in The Browser". Will Badr. 2019-01-08. נבדק ב-2019-01-09.