על תופעת "הירידה הכפולה" המאפשרת את מודלי הענק המודרנים
![](https://machinelearning.co.il/wp-content/uploads/2023/02/על-SCALING-LAWS-לרשתות-עמוקות-26-1024x512.png)
על Double Descent
-
תחילה ביצועי המודל הולכים ומשתפרים..
-
..אחר כך הם הופכים גרועים ומחמירים (אוברפיטינג)..
-
..אבל (!!) לאחר מכן הם הולכים ומשתפרים שוב הרבה יותר.
עם הגדלת המודל, גודל הדאטה וכוח המחשוב.
כדי שיהיה ברור: תופעה זו מאפשרת את כל מה שאנחנו רואים היום: אימון מודלי ענק (כמו ChatGPT וGPT-3) לא היה אפשרי אלמלא היתה מתרחשת ומאפשרת אימון מודלים אלו ב"ירידה השניה" הנובעת מהגדלת המודל.
כן. אני מסכים. מוזר מאד.
רעש תיוג – תמונות מתוייגות לא נכון: "תמונת כלב מתויגת בטעות כחתול"
מסקנות:
דמיינו "טריקים" (למשל כמו Scheduler חכם לLearning Rate) כ"מזיזים" את גרף הDouble Descent אך צורתו נשארת זהה.
באופן מפתיע
-
מודלים ק-ט-נ-י-ם מוצלחים יותר (!!)..
-
..אבל..
-
..גם מודלים גדולים מוצלחים יותר (!!).
מסקנה חשובה ליום יום: במידה ולמודל שלכם יש מספיק פרמטרים ואת היכולת ללמוד את הנתונים – אם בזמן האימון אתם צופים בעליה של לוס הולידציה: חכו!
ישנה האפשרות שבעוד כמה צעדי אימון המודל יעבור ל"ירידה השניה" וישתפר משמעותית.
[בבקשה גם שמרו את המודל בצד לפני "העליה".. למקרה ש..]
אמ;לק: פרמטרים במודל מסוגלים או "לשנן דוגמאות" או "ללמוד תכונות" – שינון דוגמאות מוביל להתאמת יתר ולמידת תכונות מובילה להכללה. הירידה הכפולה היא אולי תוצאת מעבר בין שתי אסטרטגיות אלו בזמן האימון.
אמרתי אתמול שאסכם לעומק שוב שניים ממאמרי אנטרופיק מכיוון שמכילים הרבה מידע מעניין וראויים לפוסט משל עצמם: להלן.
סופרפוזיציה ברשתות נוירונים
למשל בתמונות: נוירונים שהיו נדלקים רק עבור "צבע אדום" או רק עבור "אוזניים של כלב".
ביצועיהם הלא פרופורציונלים של מודלי ענק
מודלי הענק שאנו מכירים טובים "הרבה יותר מידי" ביחס למודלים קטנים ומתנהגים שונה מהם משמעותית – "ישנם שני סוגים שונים של טרנספורמרים: גדולים (מעל 6.7B) וקטנים – אין להכליל מהאחד לשני." [7]
תופעה זו המתרחשת רק ברשתות נוירונים הגדולות מ6.7 מיליארד פרמטרים. [7]
מעניין? אם ערכים אלו מעניינים אתכם אני ממליץ בחום לגשת לבלוג [7] ברפרנסים ולקרוא עליהם שם. הבלוג כתוב מצוין! (וככה "על הדרך" מציג שיטה בה ניתן להריץ מודל בגודל 200 מיליארד פרמטרים על מחשב אישי ביתי.. בקטנה..)
נוירונים ל"שינון" ונוירונים ל"הכללה"
לא להתבלבל עם יצוגים הנלמדים מהמידע עצמו בסט האימון. הבדיקה שנעשתה מציגה גרף המכיל את יצוגי הנתונים עצמם מסט האימון. המודל לא למד תכונות מתוך הנתונים – המודל למד "לזהות את וקטורי הנתונים" כמו שהם. כלומר מפריד בין הוקטורים (!!) השונים מסט האימון. [או בעברית: לא למד מידע משמעותי – למד לשנן את נתוני האימון]