close menu

איך לשפר מודלי שפה פי 3 בחינם

הכל טוב ויפה שהתאגידים הגדולים בעולם מתדיינים להם על האם כדאי לאמן מודל בגודל חצי טריליון פרמטרים או שאולי כדאי רק 175 מיליארד..

וזה באמת מעניין להקשיב

אבל איפה כל זה פוגש אותנו? אלו המעוניינים לאמן מודלים בתקציב הקטן מארבעה מיליון דולר.
האם יש משהו שאנחנו יכולים ללמוד בשביל האימונים שלנו מכל חידושי המודלים הענקיים?
או שהScaling Laws אמרו את שלהם – זה מה יש.

ואז ואולי רק ג'נסון יציל אותנו עוד כמה שנים עם RTX 8090 TI

נראה שנדפקנו. ככל שמגדילים מודלי שפה הם הופכים לטובים יותר. בכל המשימות. ומה שהכי מעניין מצריך מיליוני דולרים.
אבל "הScaling Laws" אומרים ש..
במאמר המקורי על הScaling Laws הגיעו לתוצאות מדהימות – בהנתן כוח חישוב סופי:
אפשר לשפר מודלים פי 7.
רק על ידי בחירה נכונה של דאטה, גודל מודל וכמות החישובים הכללית הזמינה לחישוב (כמות הצעדים בכללי).
אבל האם אפשר לעקם את הScaling Laws?

כן. [1]

מסתבר שאפשר לעקם את הScaling Laws כך שהמודלים ישתפרו בערך פי 3 על ידי שימוש בפחות מ0.1% חישובים.

שזה בערך כמו לאמר "בחינם"

איך? לאמן מודלים מוכנים עוד (ממש) קצת עם הלוס של UL2.

למי שלא מכיר: UL2 הוא מודל הטקסט->טקסט הכי חזק בעולם, מגיע אלינו מבית גוגל. גודלו 20 מיליארד פרמרטרים, הוא מכסח את כולם. בהכל. והוא זמין להורדה כאן: https://huggingface.co/google/ul2 – תודה לכם גוגל! לא מובן מאליו!

הרעיון הכללי בUL2 הוא פשוט:
"נקח את כל הטריקים מכל המאמרים האחרים של כולם: מה שעובד -> נכניס אותו למודל שלנו"
הטריקים הם אימון שלוש משימות שונות במקביל:
  • תיקון רעש בטקסט: נקרא גם בסלנג "Masked Language Modeling" או בקיצור MLM: הרעיון הוא פשוט – מסתירים מהמודל מילים במשפט ועל המודל לנחש אילו את המילים החסרות. שימו לב: לא להתבלבל עם הMLM בBERT או כל המודלים הקלאסים יותר: כאן המשימה היא של מודל טקסט->טקסט כלומר על מודל "לייצר טקסט" חדש מאפס ובתוך הטקסט "לאמר לנו" מה המילים החסרות. הוא לא פשוט משלים את הוקטור.
  • השלמת "ההמשך": מסתירים מודל חלק מהטקסט מנקודה מסוימת ועד הסוף ועל המודל להשלים את כל הטקסט החסר. שוב לא להתבלבל עם GPT שמשימתו היא "להזיז את הטקסט". כאן המשימה היא ממש "להשלים את הטקסט". מודל מקבל טקסט אחד ומוציא טקסט אחר (ההמשך).
  • השלמת "אקסטרים": מסתירים מהמודל חלקים ארוכים במשפט ועל המודל להשלים אותם (לא מילים בודדות וגם לא מובטח שהן יגיעו בסוף המשפט). בעיה של המודל, עליו להשלים את כל הטקסט.
כל הטריקים האלו הוצגו במאמר [2] של UL2 ולאחר מכן גוגל טוענים במאמר המשך [3] שבשימוש טריקים אלו, ניתן לשפר גם מודלים שכבר מאומנים כמעט פי 3. לשיטה הם קוראים UL2R.
מה עוד יש במאמר?
במאמר "Transcending Scaling Laws with 0.1% Extra Compute" גוגל טוענים שUL2R משפר את הביצועים במגוון משימות ואף פותח יכולות חדשות במשימות שבעבר היו אפשריות לפתרון רק על ידי מודלי שפה ענקיים (למשל כמו "המצאת מילים" או "הסבר בדיחות" – יכולות "אנושיות" שנראה כי אפשריות רק מגדלי מודלים מטורפים).
בנוסף הם גם טוענים כי אימון שני על דאטהסטים המכילים טקסטים המנוסחים כמשימות והוראות במספר ניסוחים שונה (הוצג במאמר של FLAN [3])

מה זה FLAN? המודל FLAN היה עד לא מזמן המודל החזק בעולם לטקסט->טקסט – גם הוא מבית גוגל. אותו תוכלו למצוא במספר גדלים רחב (מקטן לגדול) ממש כאן: https://huggingface.co/google/flan-t5-baseותודה לכם גוגל שאתם באמת משחררים את כל המודלים שלכם!

לכל הקוראים: זה המודל שאתם רוצים בשביל לאמן טקסט->טקסט!! FLAN מפלצת! גם בגדלים קטנים!

גישה זו לא רק משפרת את הביצועים, אלא גם משפרת את השימושיות של מודל השפה על ידי בני אדם בלי יותר מידי טריקים של Prompt Engineering.
במאמר החדש גוגל משלבים את שתי השיטות ומאמנים מודל בגודל 540 מיליארד פרמטרים (אוף נו..) שמנצח את כל המודלים האחרים בכל המשימות בכ10% (!!!).

"המודלים האחרים" הכי חזקים בעולם הם המודל PaLM [4] בגודל 500 מיליארד פרמרטרים. הוא גם של גוגל. גוגל מנצחים את גוגל. [5] אחרי שהם ניצחו את גוגל [6] ולאחר שהם ניצחו את גוגל. [7]

איך זה עובד?
מודלי שפה בדרך כלל מאומנים או "להזיז משפט אחורה" זה מה שמאפשר למודל לחזות את המילה הבאה ברצף (למשל, GPT-3 או PaLM).או לייצר טקסט על סמך טקסט – רואים את כל המשפט בקלט אבל רואים את רק את העבר בפלט (למשל T5).
אז למרות שיש יתרונות לכאן או לכאן – מודלים ליצירת טקסט טובים יותר ביצירת טקסטים ארוכים ומודלי טקסט->טקסט טובים יותר לFine Tuning.
בעבודה זו גוגל מראים שאימון משולב משפר את שניהם בשתי המשימות!
הגדולה האמיתית של השיטה
אבל גוגל עושים כאן גם שירות קהילתי ומשחררים שיטה "לעניים" – במקום לאמן מודל מאפס, נזדקק רק לכמות מזערית של צעדים על מנת לשפר מאוד מודל קיים שכבר אומן ויש לנו גישה אליו! זו השיטה שגוגל מציעים בUL2R.
מנצחים את הScaling Laws בכל הגדלים
מנתונים העולים בזמן האימון של גוגל נראה כי הScaling Laws משפרים דרמטית כשמשתמשים בשיטת האימון שלהם (במאמר יש הבדל של 4.4 מיליון שעות TPUv4).
גרף השיפור של המודל עצמו מול שאר המודלים – הוא פשוט בגרף משל עצמו.
הם מדדו את המודל ב-26 מבחני שפה שונים והמודל החדש מנצח את המודל הקודם בכולם על ידי שימוש בכמות חישובים קטנה.
יכולות מתעוררות
יש משימות מודלי שפה שהן.. איך לאמר.. אנושיות יותר.
כמו..
  • "איך נקרא דייט בין שני מדעני נתונים?"
  • תשובה: "date-mining" 

זה באמת בדאטה..

יכולות אל-אנושיות בShit Posting
יכולות אל-אנושיות בshit-posting ומשימות שונות הקרובות נכללות במדדים המקובלים כ"יכולות מתעוררות" – יכולות שנחשבות "ממש אנושיות" ולכן קשות יותר למודלי שפה. אפילו PaLM וכל 500 מיליארד הפרמרטרים שלו ללא ממש מצליח בהן מי יודע מה.

מודלים קטנים שאומנו במיוחד למשימות של "לבלבל את המוח" ככה דווקא עובדים מצוין! מניסיון!

מסתבר שיכולות אלו הפכו לנגישות פתאום למודלים קטנים בהרבה (במאמר מדובר על מודלים בגודל 8 מיליארד פרמטרים שעוקפים מודלים ענקיים בגדלי מאות מיליארד פרמטרים).
איפה זה פוגש אותנו, האם המודל הזה טוב לFine Tuning?
הרעיון במאמר השני של גוגל [7] הוא שהצגת ניסוחים שונים לאותה הבעיה משפר משמעותית את הביצועים של המודל וגורם לתופעה מעניינית: המודל מכליל למשימות חדשות שמעולם לא ראה! (כי הוא לומד איך מורכבים ניסוחים שונים גם לבעיות אחרות)
גוגל המשיכו ואימנו את המודל הכי חזק בעולם שלהם כך שיהיה אפילו עוד יותר הכי חזק בעולם עם יותר מ1800 משימות שונות כשכולן מנוסחות בכמה ניסוחים שונים ועל הדרך גם הוסיפו
  • קצת CoT

לתת למודל להוציא את כל מה שהוא יודע על הבעיה עם הטריק "Let's think step by step" ואז להשתמש בזה לאימון

  • וגם קצת Few Shot

לתת למודל להתאמן על כמה משימות אחת אחרי השניה כדי שיבין במציאות שצריך להסתכל דוגמאות נוספות שבני אדם מספקים לו לפתרון הבעיה

והם מאמנים על כל האפשרויות, בוחרים רנדומלית משימות וקונפיגורציה.

כשיש לך 4 מיליון שעות TPU..

ואת כל זה הם בודקים על מודלים בכמה גדלים שונים ההולכים וגדלים.
התוצאה: הם עקפו את הScaling Laws!
המאמר ממשיך ובודק את כל הקונפיגורציות (או!! עכשיו אנחנו מדברים!) וכל אחת מהן בפני עצמה משפרת ביצועים.
על פי בדיקות שנעשו בגוגל, המודל עצמו מצוין לFine Tuning ומבין במהירות את בקשות המשתמש – יותר ממודלים אחרים.
גוגל מתעצבנים על גוגל שעקפו את גוגל וחייבים לעקוף חזרה את גוגל:
לבסוף אנשי גוגל משתמשים בכל השיטות למעלה ביחד כדי לאמן את המודל הכי מפלצתי שלהם

עד עכשיו. יום 1.6.2023 שעה: 23:48. הכי מפלצתי עד עכשיו.

הם משלבים את השיטות ב UL2R ו-Flan כדי לאמן את המודל Flan-U-PaLM. התצאות הם מה שאתם חושבים, לא הסתכלתי בכלל על המספר עצמו בשלב הזה..
החלק המעניין (לדעתי) הוא שהמחקר ממש טוב ובודקים את כל הקומבינציות! גם flan גם UL2 גם ביחד גם בלי כלום. המודל החדש מכסח את כל המודלים בעולם בכל המדדים (MMLU, BBH, TyDiQA ו-MGSM).
לסיכום, UL2R ו-Flan הן שתי שיטות שונות לשיפור מודלי שפה שכבר מאומנים מראש. UL2R מלמד את המודל להשתמש ב"שני צידי" המשפט בהוראה על מנת לענות עליה בעוד ש-Flan מלמד את המודל להכליל למשימות חדשות שמעולם לא ראה כדי שהמודל ילמד "מה זה אומר" לבצע משימות בכלל.
ככל שהמודלים הופכים לגדולים יותר ויותר, טריקים כאלו הופכים ליותר ויותר שימושים ומעניינים.

מה?! איך זה עובד בכלל?!

רק רגע.
לא לא לא.
עצרו הכל.
מה זאת אומרת המודלים לא התאמנו כמו GPT? איך הם יכולים ליצר טקסט בכלל?

היום מימשתי את זה! היה לא כיף! תודה ששאלתם!

את כל הטריקים האלו כבר ראיתם בפעולה – במודל GPT-JT

מודל בגודל 6 מיליארד פרמרטרים המגרד את GPT-3 בגודל 175 מיליארד הפרמטרים

איך בדיוק אימנו אותו אם אין Masking על "העתיד" בזמן האימון?
מתשובת הכותבים עצמם (Together Computer) הכותבים שהם פתרו את זה בצורה מעניינת:
על מנת לאמן מודל מפענחים בלבד (כמו GPT) אבל שיש בו חלק שגם "רואה את העתיד" במשימה אותה הוא נדרש לבצע הכותבים בנו את המודל כך שיקבל גם את הMasking בזמן האימון לכל דוגמה בנפרד.
זה חכם. כל כל פשוט, כל כך חכם.
רפרנסים:
  1. [1] – כבר אמרתי מזמן שכל מאמרי הScaling Laws מדברים על תצורת מודלים אחת מאד ספציפית ולא נכון לדעתי להסתכל עליה כ"הגורל" של התחום.
  2. [2] – המאמר של UL2 פה https://arxiv.org/abs/2205.05131
  3. [3] – מאמר ההמשך של UL2R: https://arxiv.org/pdf/2210.11399.pdf
  4. [4] – המודל החזק בעולם עד לא מזמן (PaLM) שגוגל ניצחו: https://arxiv.org/abs/2204.02311
  5. [5] – המודל החזק בעולם עד לא מזמן עד לא מזמן (Flan-T5) שגוגל ניצחו: https://huggingface.co/google/flan-t5-base
  6. [6] – מודל חזק מאד מבית גוגל (LongT5) אותו גודל ניצחו: https://arxiv.org/abs/2112.07916
  7. [7] – מודל הטקסט -> טקסט (T5) מבית גוגל https://arxiv.org/pdf/1910.10683.pdf
  8. [8] – המאמר על FLAN בו גוגל מגדילים את המודל ובודקים את השפעת הטקסט https://arxiv.org/abs/2210.11416. זה לא המאמר המקורי של FLAN! זה מאמר מלפני כמה שבועות שממשיך אותו!
עוד בנושא: