close menu

טריק לאימון מודלי ענק FINE TUNING אצלכם במחשב

אבל בלי באמת לאמן אותם כן? למי יש כסף לזה?

נניח וקמתם בבוקר וחשבתם לעצמכם: “מעניין אם GPT-3 יכול לייצר שלבים למשחק מחשב מטקסט?”

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

אז אמנם לGPT-3 אין לנו גישה, אז נשתמש בתחליף – מודל ענקי אחר: למשל BLOOM.

אבל כמו שכתבנו, לאמן אותו אי אפשר. אז מה כן אפשר?

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

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

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

אז אם אנחנו לא הולכים “להרכיב” ראש חדש למודל, מה כדאי לנו כן לעשות?

להשתמש בCross Attention: במאמר חדש ששוחרר ממש לפני כמה ימים, נשאלת השאלה הזו בדיוק: “האם מודל שפה יכול לייצר שלבים לסופר מריו?” התשובה היא כמובן כן.

במאמר, הכותבים משתמשים בראש מקודק טקסט קפוא ומחברים אותו בCross Attention לGPT שתפקידו לייצר את השלב.

למי שלא מכיר: הרעיון בCross Attention הוא שכל הטוקנים ב”רגל” אחת של המודל מקבלים סיגנל מכל הטוקנים “ברגל השניה” של המודל – כך בנויים הטרנספורמרים המקודדים -> מפענחים כמו T5.

שימוש זה בCross Attention מיתר לחלוטין את אימון המודל המקודד, הפעלתו למשל בתצורה חסכונית כמו INT-8 יכולה להיות קלילה במיוחד ולאפשר לכם להשתמש בידע הנמצא בו.

קלילה ומדויקת הרבה יותר אפילו מאימון אדפטרים דרך אגב.

על המאמר – יצירת שלבי משחק לסופר מריו

המאמר MarioGPT כאן: https://arxiv.org/pdf/2302.05981.pdf

קוד לMarioGPT כאן: https://github.com/shyamsn97/mario-gpt

חוץ מהשימוש המעניין בCross Attention המאמר מנסה לפתור בעיה נפוצה המופיעה במודלי שפה – ביצירת טקסטים ארוכים, מסובכים ומגוונים הם נוטים להתפזר ולייצר טקסטים לא איכותיים למדי.

במאמר הכותבים פותרים בעיה זו על ידי שימוש בכמה טריקים:

  • קודם כל, מקודד עם Cross Attention המקודד את הפרומפט הטקסטואלי מהמשתמש.
  • בנוסף: הכותבים מגדירים “טקסטים חדשניים” על פי גודל הלוס על פני הטוקנים בהם. במידה ושלב “מפתיע” מספיק – הוא נחשב “חדשני”. על שלבים אלו מופעלת מוטציה – חלק רנדומלי מהשלב מוחלף ועל GPT להשלים את החסר. לאחר מכן על מנת “לחבר” את חלקי השלב באיזורים אותם GPT השלים – הכותבים מאמנים BERT קטן לInpainting שתפקידו לתקן נקודות אי רציפות אלו.

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

עוד בנושא: