למידה עמוקה על הענן עם MATLAB
כיצד קוראים מ-MATLAB למידע שנמצא בענן? איך נעזרים ב-container כדי להתקין ולהפעיל את MATLAB וכל כלי העזר הדרושים על מכונה וירטואלית בענן? כיצד מבצעים מגוון ניסויי למידה עמוקה באמצעות קונפיגורציה חזקה בענן? ואיך מריצים על שרת Production בענן את המודל המאומן האופטימלי?
כל מי שעוסק בתחום ה-Deep Learning שוקל בשלב מסוים עבודה עם ענן כזה או אחר, בין אם בשל מגבלות זיכרון על המחשב/ים הפיזי/ים במקום העבודה, בין אם בגלל רצון לאמן את המודל מהר יותר, ובין אם בשל הצורך להריץ את המודל הסופי על שרת Production.
כשעובדים עם MATLAB אפשר לגשת למידע שנמצא בענן, לבנות ולאמן מודל בענן, לכוונן פרמטרים של מודל על הענן ולהריץ את המודל המאומן על הענן, כפי שיוסבר בפוסט זה.
גישה למידע שנמצא בענן
בבחירת מקום אחסון, חשוב לשים לב למספר שיקולים, כמו תמיכה בשיתוף המידע, תמיכה בהוספה של מידע, ותמיכה באבטחה של המידע. MATLAB יכולה, למשל, לגשת למידע ששמור על Amazon S3 (קישור לדוגמה העוסקת בהעלאת מידע לשם ושליפה שלו משם). לצורך עבודה עם MATLAB ניתן לאחסן מידע גם ב-Azure ו-Hadoop (קישור).
בניה ואימון של מודל בענן
אחרי בחירת מכונה וירטואלית בענן, אפשר להיעזר ב-container ייעודי שמכיל את כל הכלים הדרושים לביצוע למידה עמוקה עם MATLAB, דבר שחוסך התקנה ידנית של כל אחד מהם (קישור ל-container באתר Nvidia; בקרוב גם יהיה אחד כזה ב-docker hub, כרגע ב-docker hub קיים כזה רק עבור כלי ה-MATLAB הבסיסי, כלומר ללא התשתית הדרושה עבור ביצוע למידה עמוקה – קישור).
לאחר הפעלה של MATLAB, ניתן לבנות את הארכיטקטורה של הרשת בצורה דומה לתהליך שמתבצע על מחשב מקומי (באמצעות פקודות או באמצעות ממשק גרפי), ולאמן את המודל תוך שימוש במידע שמאוחסן בענן.
למדריך המסביר על השלבים הדרושים לצורך שימוש ב-NGC Container עבור אימון רשת למידה עמוקה על Amazon EC2 P3 Instance – לחצו פה.
בנוסף, להלן סרטון קצר (2 דקות) המדגים בחירת מכונה וירטואלית בענן של AWS ושימוש ב-container לצורך הפעלת MATLAB עבור אימון של רשת סגמנטציה סמנטית תוך שימוש במידע השמור בענן:
כוונון פרמטרים של מודל על הענן
כדי לשפר את התוצאות של האימון הראשוני, מומלץ לבדוק כל מיני תרחישים (ארכיטקטורות שונות, ערכים שונים להיפרפרמטרים, אוספי מידע שונים) באמצעות ממשק ניהול הניסויים של סביבת MATLAB, ה-Experiment Manager (קישור).
בחינת תרחישים רבים עלולה לקחת זמן רב, ולכן עבור משימה שכזו, ניתן (ואף מומלץ…) להשתמש בקונפיגורציה חזקה יותר בענן. כלומר, אם בשלב האימון של המודל הראשוני השתמשנו במכונה עם GPU יחיד (וחזק), בשלב הכוונון נרצה להשתמש, למשל, ב-cluster עם מספר GPU-ים. הדבר כמובן נתמך על ידי MATLAB באמצעות ה-Cloud Center שמאפשר להגדיר את משאבי המחשוב המבוקשים (קישור). לאחר מכן ניתן לעשות בהם שימוש בעת ההרצה (האוטומטית) של הניסויים השונים.
להלן סרטון קצר (2 דקות) המדגים שימוש ב-Cloud Center להגדרת משאבי המחשוב, הנחיית MATLAB למצוא את ה-cluster המבוקש ולעשות שימוש בו (קישור), וביצוע מגוון ניסויים בעזרתו לצורך מציאת הארכיטקטורה הטובה ביותר:
הרצה של מודל מאומן על ענן
כעת כשברשותנו המודל הטוב ביותר שהצלחנו לאמן, נרצה להשתמש בו. ניתן לבצע זאת באמצעות הענן, וכך להבטיח גישה נוחה ומהירה למודל העדכני ביותר, על ידי משתמשים שונים, בכמויות שונות ועם צרכים שונים (ייתכן שמשתמש אחד ירצה להשתמש במודל 1,000 פעמים, וייתכן ש-1,000 משתמשים במקביל ירצו להשתמש במודל כל אחד פעם אחת).
על מנת להשתמש במודל באופן הזה, יש ליצור פונקציה פשוטה שקוראת לו, לקמפל אותה (למשל באמצעות ממשק הקימפול הידידותי Production Server Compiler – קישור) ולהעלות את התוצר אל שרת. ניתן להשתמש באחת מהקונפיגורציות של ה-MATLAB Production Server שזמינות ב-Azure Marketplace כדי לארח את המכונה הוירטואלית (קישור למידע על הקונפיגורציות השונות הזמינות ב-Azure וב-AWS). אם אין דרישה מיוחדת לקבלת תוצאות במהירות האור, אז לצורך ההרצה של המודל המאומן לא חייבים להשתמש במכונה עתירת יכולות, אלא אפשר להסתפק במכונה חלשה יחסית.
להלן סרטון קצר (3 דקות) המדגים הגדרה של MATLAB Production Server על Azure והעלאה של היישום אליו, כולל אחסון של הרשת המאומנת בזיכרון, כך שהיא תהיה מוכנה לשימוש מיידי על ידי ה-client (יש לשים לב לכך שאופציית PAYG המוצגת בסרטון אינה זמינה מישראל, במקומה יש להשתמש באחת מההצעות האחרות או להשתמש ב-Reference Architecture):
למידע נוסף על יצירת תוכנות לקוח המשתמשות בפונקציונליות MATLAB-ית הנמצאת על שרת – יש ללחוץ כאן.
סיכום וקישורים שימושיים
בפוסט זה ראינו כיצד MATLAB מאפשרת שימוש בענן לצרכי למידה עמוקה, אבל כמובן שניתן לעבוד עם MATLAB בענן גם לשימושים אחרים.
לצפיה בהרצאה " AI in the Cloud Workflows with MATLAB" מכנס MATLAB Expo 2021, שנערך בחודש מאי 2021 – לחצו פה (26 דקות).
לפורטל "MATLAB in the Cloud" – לחצו פה.
יש לך שאלה? אנחנו לרשותך במוקד התמיכה שלנו! ניתן לפנות אלינו באמצעות הטלפון 03-7660111 או דרך האתר.