האם אפשר לעשות AI מבלי לכתוב קוד כלל?
אם יש משהו אחד בטוח בעולם הזה, זו האמרה הבאה : הדאטה שלנו הוא הכל!
אבל הרבה פעמים בפרויקטים של AI הוא לא מקבל את היחס הנכון, ומוזנח.
כתוצאה מכך המון שעות עבודה מתבזבזות על תיקונים ושיפורים שונים במודל שלנו – ואחוזי הדיוק אמנם משתפרים, אך רק עד גבול מסוים.
תחום שצובר תאוצה בקרב קהילת מפתחי ה-AI הוא מעבר מגישת Model-centric AI לגישת Data-centric AI.
נמצא כי בגישת Model-centric AI, לפיה המודל הוא המרכז – ניתן לנקוט באמצעים שונים לשיפור המודל כמו איפטום של ההיפרפרמטרים למשל, אבל בהחלט קיים גבול עליון לאחוזים בשיפור ביצועי המודל, או במילים אחרות : "That can only get you so far"…
לעומת זאת, גישת Data-centric AI, אשר מושכת אליה הרבה מקהילת המפתחים לאחרונה, דוגלת במתן טיפול הרבה יותר מעמיק על הדאטה עצמו –הרבה יותר פוקוס ודגש ניתן לדאטה עצמו, בין אם מדובר על ההכנה שלו, פעולות Preprocessing שונות, דיוק ואחידות התיוג, דגימת ה- Training data בדרכים מתוחכמות יותר, בחירת Min batch size באופן מחוכם יותר, ועוד…
וכן נמצא כי דווקא בדאטה טמון המפתח לשיפור מודלי ה-AI שאנו מפתחים בצורה דרמטית!
יש המון משפיענים בתחום שדוגלים במעבר בין הגישות, ואני ממליצה לכם מאוד לשמוע את ההרצאה המעולה של פרופ' אנדרו אנג בנושא – From Model-centric to Data-centric AI.
ו..בשביל מה יש את MATLAB אם לא בדיוק את זה? היכולות והפתרונות השונים המוצעים בפלטפורמה של MATLAB מתאימים בדיוק לנקיטה בגישה של Data-centric AI.
יש המון פונקציות ואפליקציות שונות אשר יושבים בקנה אחד עם הצורך בעיבוד ובניתוח של דאטה בקנה מידה גדול – זו אחת החוזקות העיקריות של MATLAB.
למשל, בגרסת R2022a יצאה אפליקציית Data Cleaner, כלי אינטראקטיבי לביצוע פעולות Preprocessing, טיפול וניקוי הדאטה. גם אפליקציה זו מאפשרת עבודה בגישה שמאוד מתאימה לטיפול בדאטה לפי גישת Data-centric AI.
ואם כבר מדברים על אפליקציות, חשוב לי לספר לכם על היכולת לעשות AI – גם אם אנחנו ממש חדשים לתחום, מבלי הצורך לקודד כלל (או לקודד ממש קצת).
קודם כל, מהם MATLAB Apps?
בגלל ש-AI הוא טרנד כל כך חשוב ומרכזי, אשר מסוגל לפתור בעיות עולם אמיתי רבות ומגוונות – יש צורך גדול להנגיש את התחום לקהל מפתחים רחב ככל הניתן, גם אם הנושא חדש להם ואינם מכירים את כל נבחי וסודות ה-AI.
בעזרת נקיטה בגישת Low Code/ No Code AI, ניתן להרחיב את קהל המפתחים שיוכל להתעסק ב-AI בחזית הטכנולוגיה.
המטרה ב- Low Code/No Code AI היא לאפשר גם למפתחים עם יכולות תכנות בסיסיות יותר, או למפתחים שפשוט לא מעוניינים לתכנת – לעבוד על פרויקטי AI מורכבים ולפתור בעיות מתקדמות.
ובאמצעות גישות אלו ניתן לפתח פרויקטים שלמים עם כתיבת קוד מינימלית/ ללא כתיבת קוד כלל.
כל זה תוך כדי כך שאין התחייבות לשפת פיתוח אחת מסוימת, ובעיקר – תוך כדי היכולת להתרכז במה שחשוב באמת : בעיית ה-AI שאנחנו מחפשים לפתור.
דוגמא לכלי שמאפשר לנו לפתח בגישה זו הוא אפליקציית Classification Learner. באמצעותה ניתן לפתור בעיות Machine Learning על ידי אימון של מודלי קלאסיפיקציה, בחירה ודירוג של פיצ'רים, חלוקת הדאטה לסט וולידציה בדרכים שונות, וכן ביצוע בחינה של הביצועים של מודלים שונים לפי קריטריוני הערכה מתאימים בעזרת כמה לחיצות עכבר בלבד.
אפליקציה זו מאוד שימושית למציאת מודל AI יוכל לתאר בצורה טובה את הדאטה שלנו, ולהצליח למפות את הקשר בין הקלט לפלט עם אחוזי דיוק מספקים.
מעבר לאפליקציה זו, יש ב-MATLAB עוד אפליקציות נוספות אשר עוזרות לפיתוח מוצר מבוסס AI בצורה אינטראקטיבית ולפי גישת Low Code/No Code– כמו למשל Regression Learner, Deep Network Desginer, Experiment Manager App, ועוד…
נקודה עיקרית בה מתרכזים בצוותי הפיתוח של MathWorks היא הכנסת יותר ויותר תקשורת בין האפליקציות עצמן – כך שתתקיים תקשורת מלאה ביניהן, ולא נצטרך לקודד כלל.
היום, האפליקציות השונות של MATLAB נותנות כיסוי מלא לכל שלבי פיתוח מבוסס AI, החל מהכנת הדאטה, התיוג, הבנייה ואימון המודל ועד לאפליקציות המיועדות להטמעת המודל על הטרגט הסופי (כולל ביצוע קוונטיזציה). כך שניתן מענה מלא לפיתוח מוצרי AI ב-MATLAB – גם אם אתם חדשים לתחום, או פחות מתחברים לתכנות עצמו – ומעוניינים להתרכז בעיקר – המוצר עצמו.