הרעיון: המודל נודד, הנתונים נשארים
למידה מבוזרת (Federated Learning) היא טכניקת אימון שבה מודל לומד ממאגרי-נתונים המפוזרים על פני מכשירים או מוסדות רבים ונפרדים — טלפונים ניידים, בתי-חולים — בלי שהנתונים הגולמיים עצמם עוזבים אי-פעם את המקור שלהם. במקום לאסוף את כל הנתונים למקום מרכזי אחד, כפי שאימון-מודל רגיל דורש, שולחים את המודל עצמו אל הנתונים: כל מכשיר או מוסד מאמן עותק מקומי של המודל על הנתונים שברשותו בלבד, ורק העדכונים שנלמדו — לא הרשומות עצמן — חוזרים ומתאחדים למודל משותף אחד.
איך זה עובד בפועל: אימון מקומי ואיחוד עדכונים
תהליך טיפוסי כולל שלושה שלבים: שרת מרכזי שולח את גרסת-המודל הנוכחית לכל משתתף; כל משתתף מאמן אותה בנפרד על הנתונים המקומיים שלו ומשפר אותה; ואז נשלחים בחזרה לשרת רק העדכונים שנלמדו, לרוב בערוץ מוצפן, בעוד הנתונים הגולמיים נשארים במקום. השרת מאחד את העדכונים מכל המשתתפים לגרסה חדשה ומשותפת של המודל — לרוב באמצעות אלגוריתם ממוצע-פדרטיבי (Federated Averaging, בקיצור FedAvg) — והתהליך חוזר על עצמו סבב אחרי סבב, עד שהמודל המשותף משתפר בלי שאף משתתף חשף את הנתונים שלו לאף אחד אחר.
המקור: גוגל, 2016–2017, מקלדת Gboard
את השיטה ואת אלגוריתם FedAvg הציגו לראשונה חוקרי Google — ברנדן מקמהן, איידר מור, דניאל ראמאג', סת' המפסון ובלייז אגוארה אי ארקס — במאמר Communication-Efficient Learning of Deep Networks from Decentralized Data ב-2016. ב-6 באפריל 2017 פרסמו מקמהן וראמאג' בבלוג הרשמי של גוגל למחקר את השם "Federated Learning" והדגימו שימוש-אמת: מקלדת Gboard באנדרואיד, שלומדת מקומית על כל טלפון אילו הצעות-השלמה המשתמש בפועל בוחר, בלי שנתוני-ההקלדה שלו נשלחים אל גוגל.
יעילות-תקשורת: למה זה בכלל מעשי
האתגר המרכזי בשליחת המודל אל הנתונים, ולא להפך, הוא נפח-התקשורת: עדכון-מודל שנשלח שוב ושוב מכל מכשיר יכול להיות יקר לא-פחות מהעברת הנתונים עצמם. מאמר-המקור של גוגל מדגים שאלגוריתם FedAvg — שמריץ כמה צעדי-אימון מקומיים על כל מכשיר לפני שליחת העדכון, במקום לשלוח עדכון אחרי כל צעד בודד — מצמצם את מספר-סבבי-התקשורת הנדרשים פי 10 עד 100 בהשוואה לירידת-גרדיאנט סטוכסטית מסונכרנת רגילה, בזכות עדכונים איכותיים יותר שמחושבים על המכשיר עצמו.
למה זה שונה מלמידה מבוזרת "רגילה"
למידה מבוזרת שונה מהותית מלמידה מבוזרת קלאסית (Distributed Learning) בהנחות שלה על הנתונים. למידה מבוזרת קלאסית מניחה שהנתונים בכל צומת-חישוב בלתי-תלויים וזהים-בהתפלגותם (i.i.d.) ובגדלים דומים זה לזה — הנחה שנוחה כי מטרתה בעיקר להאיץ חישוב, לא לשמור על פרטיות. למידה מבוזרת פועלת על נתונים הטרוגניים בעליל: משתמש אחד מקליד הרבה, אחר כמעט לא; בית-חולים אחד גדול, אחר קטן — והשיטה נבנתה מלכתחילה כדי להתמודד עם השונות הזו, לא כדי להתעלם ממנה.
שכבת-הגנה נוספת: הצפנה ופרטיות-דיפרנציאלית
שליחת העדכונים בלבד, ולא הנתונים עצמם, מצמצמת חשיפה אך אינה סוגרת אותה לגמרי — עדכון-מודל יכול עדיין לדלוף מידע על הנתונים שיצרו אותו, ולכן פותחו שכבות-הגנה נוספות שרצות מעל השיטה הבסיסית. צבירה-מאובטחת (Secure Aggregation) מאפשרת לשרת לחשב את סכום-העדכונים של כל המשתתפים בלי לראות אף עדכון בודד בנפרד, כך שאפילו השרת עצמו אינו יכול לשייך עדכון למשתתף מסוים. פרטיות-דיפרנציאלית (Differential Privacy) מוסיפה רעש-אקראי מבוקר לעדכונים, שמקשה מתמטית על ניסיון לשחזר מתוכם פרט-מידע ספציפי של משתמש בודד.
אתגרים פתוחים ויישומים מעבר לטלפון
סקירה מקיפה שפרסמו ב-2019 פיטר קיירוז, ברנדן מקמהן ועשרות חוקרים נוספים ממפה את הבעיות הפתוחות של התחום: נתונים לא-אחידים בין המשתתפים, עלות-תקשורת גבוהה, הבדלים ביכולת-החישוב של כל מכשיר, וחשש מתקיפות-פרטיות שמנסות לשחזר נתונים מתוך העדכונים עצמם ולא רק מהנתונים הגולמיים. מעבר למקלדות-טלפון, למידה מבוזרת אומצה ברפואה — כך למשל Owkin מאמנת מודלים על נתוני-מטופלים של בתי-חולים שונים בלי שהרשומות עוזבות כל מוסד, כדי לעמוד במגבלות חוקי הגנת-מידע כמו GDPR. בין תחומי-היישום הנוספים שמוזכרים בסקירות התחום: רכבים אוטונומיים, מכשור-ייצור ומערכות-זיהוי ביומטרי.