קורס זה מיועד להקנות לסטודנטים לתואר השני בלמידת מכונה וניתוח נתוני עתק שליטה במגוון כלים טכניים מודרניים למשימות הנפוצות בתחום: תיעוד ניסויים ואופטימיזציה של היפר-פרמטרים, פריסת מודלים (deployment), ניתוח אוספי נתונים מבוזרים ואימון מודלים מבוזר (על קלאסטרים של CPU ו-GPU). הדגש בקורס יושם על רכישת יכולות טכניות, אך הסטודנטים יתוודעו גם לצד התיאורטי של הנושאים במסגרת הכרת ארכיטקטורות המערכות השונות.
תוכן הקורס
יחידה 1: MLOps עם MLflow
ניהול מאגר מודלים
מעקב אחר ניסויים: תיעוד פרמטרים, מדדים וארטיפקטים
אופטימיזציה של היפר-פרמטרים: אינטגרציה עם optuna
Deployment וניטור מודלים
יחידה 2: חישוב מבוזר עם Ray
עקרונות חישוב מבוזר: חישוב אסינכרוני, סקלביליות, ניהול עומסים ועמידות לתקלות
מבוא ל-Ray: קריאה לפונקציות מרחוק, ניהול state מבוזר, ניהול נתונים משותפים
ארכיטקטורת Ray: מתזמן המשימות, מאגר האובייקטים המבוזר, התמודדות עם כשלים
פרדיגמות חישוב יעילות (כגון MapReduce) ואנטי-תבניות
אימון מודלים מבוזר
Ray Data: עיבוד נתונים מקבילי, עבודה עם אוספי נתונים מחולקים (sharded)
יחידה 3: אימון מבוזר של מודלי למידה עמוקה בעזרת PyTorch Distributed
תקשורת קולקטיבית: broadcast, reduce, gather, scatter
אתגרים באימון מקבילי: חישוב, זיכרון, תקשורת
ניתוח ביצועים: PyTorch profiler, TensorBoard
אימון מבוזר על מאיצים גרפיים (GPU)
חמישה ממדי מקביליות: data, tensor, pipeline, context & expert parallelism