Scaling your AI Research from Desktop to Cloud
יחד עם הקידום וההתפתחות של AI למספר הולך וגדל של דיסציפלינות מדעיות והנדסיות, עולה הצורך לתמוך בתהליכי עבודה ניסיוניים בקנה מידה גדול במרחב שכזה. בפוסט זה נדון בפרטים של יישום תהליכי עבודה ובשיקולים שצריך לקחת בחשבון כאשר צריך לדאוג לשינוי קנה מידה ממחשבים שולחניים, מקומיים, למחשבי ענן AWS/Azure ואחרים.
בדרך כלל על מנת לפתח מוצר מבוסס AI אשר עומד בדרישות באופן טוב, עלינו לבצע ניסויים רבים של אימון רשת למידה עמוקה על מערכי נתונים גדולים. כלומר, עלינו להיות מסוגלים להריץ ניסויים קטנים במחשבי GPU בודדים, וזולים אבל בסופו של דבר באופן בלתי נמנע, נצטרך גם להריץ ניסויים רבים בתצורות מחשב רב עוצמה של GPU חזק שמסוגל להכיל זאת ולתת תוצאה מהימנה.
יש מספר דרכים בעזרת MATLAB לגשת לעננים ציבוריים כגון Amazon Web Services (AWS) ו- Azure. הצעות הענן הללו מקלות עלינו להפעיל את MATLAB בענן על ידי שימוש בתבניות מחשב מוגדרות מראש. כל זאת ועוד מופיע באתר שלנו.
למה בכלל לבצע AI בענן?
אחסון נתונים בענן יכול להקל עלינו לגשת ליישומי ענן ללא צורך בהעלאה או הורדה של כמויות גדולות של נתונים בכל פעם. גם AWS וגם Azure מציעות שירותי אחסון נתונים, כגון AWS S3 ו-Azure Blob Storage, בהתאמה.
כדי למנוע את הזמן והעלות הכרוכים בהעברת כמויות גדולות של נתונים, מומלץ להגדיר משאבי ענן עבור יישומי ה-AI באמצעות אותו ספק ענן ואזור שבו מאחסנים את הנתונים בענן.
כדי לגשת לנתונים המאוחסנים בענן מ- MATLAB, יש להגדיר את הגישה מתוך MATLAB. למידע נוסף על איך להגדיר משתני סביבה כדי לגשת לנתוני ענן מה- MATLAB, וכן למידע נוסף על איך להגדיר משתני סביבה על עובדים מקבילים באשכול מרוחק, ראו את הלינקים המצורפים בסוף הפוסט.
דאטה בענן = דאטה נגיש מכל מקום
אם אין לנו GPU מתאים וזמין לאימון רשתות הנוירונים שלנו, נוכל להאיץ את הלמידה העמוקה עם GPU אחד או יותר בעל ביצועים גבוהים בענן. עבודה בענן דורשת הגדרה ראשונית מסוימת, אך שימוש במשאבי ענן יכול להפחית משמעותית את זמן האימון או לאפשר לנו לאמן יותר רשתות באותו פרק זמן. בנוסף לעובדה שאנו לא מוגבלים לסוג מסוים אם היינו קונים אותו בעצמנו, דרך הענן אנחנו יכולים לשנות ולהחליף את סוגי ה-GPU והמעבדים השונים עליהם נריץ את האלגוריתם שלנו.
ניתן להאיץ את האימון באמצעות GPU אחד או יותר במכונה בודדת או באמצעות אשכול מכונות עם מספר רב של GPUs. אפשר לאמן רשת אחת באמצעות מספר GPUs, או לאמן מספר רשתות בו-זמנית.
לאחר הגדרת MATLAB או MATLAB Parallel Server בפלטפורמת הענן שנבחרה, נוכל לבצע למידה עמוקה עם שינויים מינימליים בקוד שעובד במחשב המקומי.
אם MATLAB מופעל על מכונה בודדת בענן אז ניתן להתחבר באמצעות ssh או remote desktop protocol (RDP), ובכך ההפעלה וההדרכה ברשת ישתמשו באותו קוד כאילו היינו רצים במחשב המקומי שלנו.
אימון מודלים במהירות בעזרת גישה קלה ופשוטה למשאבי מחשוב חזקים
אימון רשתות עמוקות הוא אינטנסיבי מבחינה חישובית ויכול לקחת שעות רבות של זמן מחשוב; עם זאת, רשתות עצביות הן אלגוריתמים שמתאימים למיקבול מטבעם. אפשר לנצל את עובדה זו על ידי ריצה במקביל באמצעות GPUs ואשכולות מחשבים בעלי ביצועים גבוהים.
אימון מקבילי על מספר GPUs בענן
מומלץ להתאמן באמצעות GPU או מספר GPUs. אפשרות אחרת היא להשתמש רק במעבד יחיד או במספר מעבדים אם אין GPU. המעבדים הם בדרך כלל הרבה יותר איטיים ממעבדי ה-GPU הן לאימון והן להסקה. הפעלה על GPU יחיד מציעה בדרך כלל ביצועים טובים בהרבה מאשר ריצה על מספר ליבות מעבד.
בחירת פתרון ההטמעה ל-Production שמתאים במיוחד עבורך
עבור השלב הבא של יישום הרשת שלנו, ניתן לפרוס את MATLAB Production Server ב-Azure.
MATLAB Production Server מאפשר לשלב את הגישה הנוחה הן למסד הנתונים והן לאלגוריתם שהכנו בענן. ניתן לקחת את האלגוריתמים שהכנו ב- MATLAB, לארוז אותם באמצעות MATLAB Compiler SDK, ולאחר מכן לפרוס אותם ל- MATLAB Production Server מבלי לקודד מחדש או ליצור תשתית מותאמת אישית. לאחר מכן, המשתמשים יכולים לגשת לגרסה העדכנית ביותר של הניתוח באופן אוטומטי או שנרצה הדאטה העדכני יגיע ישירות למודל, יעדכן אותו ויוציא תוצאה מדויקת יותר.
אם לא בענן, ניתן להקים שרת הפועל על מחשבים מרובי מעבדים ומחשבים מרובי ליבות, ומספק עיבוד עם אחזור נמוך של בקשות עבודה במקביל וכן ניתן לפרוס ולהגדיל את הקיבולת ולספק יתירות לפי הצורך.
לסיכום….
ראינו שיש פתרון מקצה לקצה בכל תהליך בניית אלגוריתם ה-AI שלנו. משלב התכנון המקומי אצלנו ועד שלב הפריסה וגישה למשתמש קצה.
בכל שלב ישנן כמה אפשרויות וחשוב שנבין מהם הקריטריונים החשובים לנו ומה הם האילוצים שלנו בכדי שנוכל לבחור את הפתרון המתאים ביותר עבורנו ועבור המודל שנבנה.
אז לפני שתיגשו ישר לעבודה, תעצרו רגע, תנתחו, תתכננו את הצעדים הבאים ותבואו מוכנים כי השמיים הם כבר לא הגבול והאפשרויות הן אינסופיות!
אז קדימה – תתחברו לעננים 😊
למידע נוסף תוכלו לעיין בלינקים הבאים: