מה זה Adam: שילוב מומנטום וקצב-למידה מסתגל
Adam (קיצור של Adaptive Moment Estimation) הוא אלגוריתם-אופטימיזציה לאימון רשתות-נוירונים, שמשלב שני רעיונות קודמים: "מומנטום" — זיכרון של כיוון-התנועה הקודם שמחליק את הצעדים — ו"קצב-למידה מסתגל", כפי שהוצע קודם באלגוריתמים כמו RMSProp ו-AdaGrad — קצב-למידה נפרד לכל פרמטר בודד ברשת, לא ערך יחיד וקבוע לכולם. השילוב הזה הופך את Adam לפחות תלוי בכיוונון-ידני קפדני של קצב-הלמידה מאשר SGD הבסיסית.
מי פרסם את Adam, ומתי בדיוק — 2014 או 2015
האלגוריתם פורסם לראשונה בדצמבר 2014 על ידי דידריק פ. קינגמה וג'ימי בא, במאמר "Adam: A Method for Stochastic Optimization", שהתקבל רשמית לכנס ICLR ב-2015 — לכן מקובל להתייחס לפרסום כ-2014/2015, לפי אם מציינים את תאריך-ההעלאה הראשוני ל-arXiv או את תאריך-הכנס הרשמי. אין כאן שני מאמרים או שתי גרסאות שונות של השיטה — זהו אותו מאמר יחיד, שהוגש והתקבל בפער של כשנה.
איך זה עובד: שני 'זיכרונות' רצים ותיקון-הטיה
מבחינה טכנית, Adam שומר לכל פרמטר שני "זיכרונות" רצים — ממוצע-נע של הגרדיאנטים עצמם (התנע) וממוצע-נע של הגרדיאנטים בריבוע (המידה שבה הגרדיאנט משתנה) — ומתקן את שניהם בתחילת האימון כדי לפצות על ההטיה שנוצרת מכך שהממוצעים מתחילים מאפס. השם "הערכת-רגע מסתגלת" מתייחס בדיוק לכך: הרגעים הסטטיסטיים (ממוצע ושונות) של הגרדיאנט מוערכים ומתעדכנים בזמן-אמת, לכל פרמטר בנפרד.
מגבלה שהתגלתה: הכללה לעומת SGD
מחקר מאוחר יותר גילה שלמרות היתרונות, Adam לפעמים מכליל פחות טוב על נתונים חדשים מאשר SGD עם מומנטום, בעיקר במשימות ראייה-ממוחשבת מסוימות שבהן מודלים גדולים נוטים "לזכור" את נתוני-האימון בצורה שפוגעת בביצועים על נתונים שלא נראו קודם. בשל כך, חלק מהחוקרים והמהנדסים עדיין בוחרים ב-SGD למרות המורכבות הנוספת בכיוונון-הידני שהוא דורש, כשההכללה קריטית יותר ממהירות ההתכנסות.
AdamW ותפקיד Adam באימון מודלי-שפה-גדולים
מאז פרסומו, Adam עבר גם שיפורים משלו — הבולט ביניהם AdamW משנת 2017, גרסה שמפרידה נכון יותר בין עדכון-המשקלים לבין רגולריזציית "דעיכת-משקלים" (Weight Decay), שבה נמצא כי השילוב המקורי בגרסת Adam פוגע לעיתים בביצועים. AdamW נהפכה מאז לבחירת ברירת-המחדל בפועל לאימון מודלי-שפה-גדולים ורוב הטרנספורמרים המודרניים, כולל משפחות LLaMA ו-BERT ורוב יורשיהן.
Adam בתעשייה: ברירת-מחדל כמעט בכל ספריית-למידה-עמוקה
כמעט כל אימון LLM מודרני משתמש בגרסה כלשהי של Adam או AdamW, לא בגרסת 2014 המקורית ולא ב-SGD הבסיסית — הסטת-בחירה הדרגתית שהפכה את Adam, פחות מעשור מפרסומו הראשון, לכלי-העבודה הכמעט-ברירת-מחדל של כל מי שמאמן רשת-נוירונים גדולה. כל ספריות הלמידה-העמוקה המרכזיות, כולל TensorFlow ו-PyTorch, כוללות מימוש מוכן שלו כאופציה סטנדרטית.