close menu

כך תריצו מודל בגודל 14 מיליארד פרמטרים על טלפון

ב2022 כולנו כבר יודעים שAttention Is All You Need
ביום בקיץ סתמי למדי בשנת 2017 צץ לו מאמר מעניין בArxiv שלימים שינה את העולם. Attention Is All You Need הציג לעולם את הטרנספורמר – עם עד שלב זה ניסינו לשפר ארכיטקטורה קיימת כך שלאחר האימון תגיע למשקולות מאומנות טובות יותר לדאטה, מעכשיו לאכיטקטורה יכולת חדשה: "לבחור" בזמן אמת באיזה משקולות מאומנות להשתמש בהתאם לדאטה הנכנס לרשת.
הטרנספורמר הוא לא "עוד טריק" כמו "focal loss" או "SeLU" או "SE Blocks". הטרנספורמר משמעותית "חזק יותר" מארכיטקטורות אחרות.
רשתות סקיילאביליות
רעיון זה פתח דלת שלא חשבנו שבכלל חסומה לנו: סקיילאביליות הלמידה עמוקה – אפשר לאמן טרנספורמרים ענקיים ונקבל שיפור משמעותי בביצועים.
ולכן, היום נדבר על אחד ממודלי השפה החזקים בעולם:

רשת LSTM.

טוויסט בעלילה!

על הRNN הגדול בעולם: RWKV (גודל: 14 מיליארד פרמטרים)
כן כן חברים. אתם שומעים נכון. מדובר בLSTM פשוט.
כמו ששמיטהובר אימון בשנת 1854.
פותח ואומן על ידי ElutherAI
בדיסקורד של ElutherAI מפותחים הרבה פרוייקטים מעניינים במקביל.

למשל: T5 משופר או The Pile 2..

אחד מאותם הפרוייקטים כלל אימון RNN "מפלצתי" – בגודל של טרנספורמר מודרני: 14 מיליארד פרמטרים.
בשביל לראות מה יקרה!
יש לזה סיכוי בכלל?
אבל, אנחנו כבר יודעים את התשובה:
הScaling Laws הביאו לנו את "טרנספורמר חזקים יותר מLSTM אסימפטוטית!" "וLSTM מפסיק להשתפר לאחר 100 טוקנים" מנבאים שחבל על הזמן שלנו ואין בשביל מה לנסות בכלל.

רענון על הScaling Laws: המאמר כאן: https://arxiv.org/pdf/2001.08361.pdf

אז בElutherAI לא אוהבים להקשיב וניסו בכל זאת.
אבל.. עוד פעם.. בשביל מה? יש לנו GPT!
יש סיבה טובה: טרנספורמרים אמנם אפשר למתוח לגדלים מטורפים אבל טרנספורמרים גם צורכים יותר ויותר זכרון ככל שהקלט הולך וגדל. עם RNN זה לא המצב.
רשתות RNN מרקוביות: כדי לדעת מה יקרה מחר, מספיק לדעת מה קורה היום.
כך פועלת הרשת RWKV: סתם LSTM פשוט.

אין לי מה להוסיף תיאור.. <|endoftext|>?

הטריק היחיד הוא שהLSTM בגודל 14 מיליארד פרמטרים.

יש עוד כמה קטנים בהמשך

בעיה: בערך כאן מתחיל להגמר התוכן על אותו LSTM.
ולכן, במקום לדבר על המבנה הטכני של אותו המודל, נתלהב מביצועים קודם!
נתלהב מהביצועים:
  • צריכת זכרון לרשת בגודל מיליארד וחצי פרמטרים (בדיוק בגודל של GPT-2 XL המפורסם להשוואה): בהרצה על A14 נקבל תמיד 0.015 שניות/טוקן.
  • מנגד GPT2-XL 1.3B על אותה החומרה מגיע ל 0.032 שניות/טוקן.
"צעצוע נחמד אבל לא שימושי"
  • מכיוון שבזמן ההרצה אין מכפלות מטריצה-מטריצה (רק וקטור-מטריצה) הריצה באינפרנס מהירה כל כך שאתם יכולים להריץ את הרשת על הטלפון שלכם (!!!)
  • מודל שפה. עם ביצועים דומים לLLM בגודל 14 מיליארד פרמטרים. אצלכם בטלפון. לא "דרך האינטרנט". אצלכם ביד.

מתחילים כבר להבין למה זה כן מעניין?

איפה הקאצ'? מה עם כל שאר מה שעושים עם רשתות טקסט? יש התנהגות שונה? איפה זה נשבר?
נבדקו כבר text2img עם Stable diffusion וכרגע התוצאות נראות לא רעות בכלל (המודל לא אומן לאותה הרמה של CLIP עדיין) – במידה והפרוייקט יצא לפועל אנו נקבל Stable Diffusion עם אורך טקסט אינסופי.
וFew Shot? איך הוא "מרגיש"?
בקצרה:
יש בדיסקורד של הפרוייקט בוט דמוי ChatGPT שמריץ מודל בגודל 7 מיליארד פרמרטים, הם מדברים איתו ומבלי שהוא אומן בכלל לבצע משימות או לענות להודעות צ'אט – הוא מגיע לביצועים "רכים" מפתיעים מאד (!!).

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

  • פעם אחת ביקשו ממנו לכתוב משפט ארוך מאד ואז להמציא ראשי תיבות חדשים לשם של עצמו RWKV: הוא ניפח את המשפט סתם ואז החליט שקוראים לו "Robotic and Wonderful Knowledge Virtual assistant".
  • עוד תגובה מעניינת היתה של יוזר שאימון Fine Tuning מודל GPT בגודל 13 מיליארד פרמטרים ליצירת סיפורים קצרים ותגובתו על הRNN בגודל 6 מיליארד פרמטרים (שמעולם לא אומן לייצר סיפורים קצרים) "הרצתי מודל בגודל 13מיליארד ואז הרצתי את מודל הRNN בגודל 7 מיליארד ווואו הוא פי 3 יותר מהיר והתוצאות גם טובות יותר."

אצרף לתגובות לפוסט צילומי מסך מתוך הדיסקורד של הפרוייקט

איך אימנו את הטירוף הזה?
  • לקחו LSTM בפייטורצ'.
  • אימנו אותו על The Pile.
  • צחוקים.
זה הסתיים תוך זמן סביר? זה לא לקח חמש שנים?
לא. הם השתמשו בטריק אימון סדרות זמן של GPT -> הם מאמנים על כל הרצף במכה אחת בדיוק כמו שעושים בGPT.

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

תגובות משתמשים: (אמיתי מתוך דוקטומנטצית הפרוייקט)
  • "סתם שיחקתי במודל ואימנתי אחד קטן על דאטה קטן (בסביבות 10GB טקסט), והתוצאות טובות במיוחד. בדומה למודלים שלוקח הרבה יותר זמן לאמן"
  • "או מיי גאד הRNN הזה מהיר. הרצתי אימון ועברתי לטאב אחר וכשחזרתי הוא כבר יצר מילים נכונות ותקינות, אז הלכתי לחמם קפה וכשחזרתי הוא יצר טקסטים ארוכים נכונים לחלוטין."
שתי תגובות אלו מדברות על א-י-מ-ו-ן מודל מאפס (!!) לא על פרדיקציה. על אימון!
מה הקאצ'?! איך זה עובד?!?

טוב מספיק. עוד רגע אתחיל להמליץ להשתמש בSVM לתמונות או שXGBoost לא עובד. מה RNN?! בשנת 2023?!

ישנם מספר טריקים הנכנסו לעיצוב הרשת, למשל:
  • בנית הארכיטקטורה בבלוקים בצורה הבאה: LayerNorm(SmallInit(Embedding)) – זה משפר אמפירית את האמבדינגס שילמד.
  • טריק Token-shift: להשתמש בכל שלב ב"חצי מהצ'אנלים של הטוקן הנוכחי וחצי מהצ'אנלים של הטוקן הקודם.
  • טריק פשוט הוסיפון Q & K שלטרנספורמר. מין הסתם זה שיפר ביצועים בהכל.

לא הפעילו במודל המאומן הסופי "כדי שזה ישאר LSTM ולא "קצת טרנספורמר".

  • שער "ריסט" נוסף בשכבת הFFN בבלוקים ובאקטיבצית רילו בריבוע. (הגיע מPrimer)
  • אתחול מיוחד
  • ועוד הרבה הרבה טריקים..
לסיכום: "מתי יש לי ChatGPT RNN שרץ על מחשבון?"
  • הפרוייקט עדיין בחיתולים (בדיוק נפרד מElutherAI לדיסקורד משל עצמו ואפילו עדיין לא שוחררו מודלים לHuggingface (הדיסקורד כבר מכיל מעל ל200 איש – יש התעניינות).
  • המודל עובד טוב בצורה מפתיעה (!!) ניסיתי אותו בFew Shot והוא "הרגיש GPT" לגמרי.
  • הוא גם ממש מעניין בצ'אט! באופן מפתיע! אין כמעט צ'אט בThe Pile.
  • האם זה תחילתו של הסוף? אני לא חושב שטרנספורמרים יעלמו בזמן הקרוב. אבל אני כן חושב שלמודלים קלילים (מבחינת צריכת כוח החישוב) יש מקום כיום ויפה לראות שיש מחקר המתקדם בכיוון.
המשימות הקרובות של הפרוייקט:
  • שילוב בHuggingFace ושחרור מודלים מאומנים לקהל הרחב.
  • מימוש הארכיטקטורה תוך כדי תמיכה ב CPU & iOS & Android & WASM & WebGL כך תתאפשר ההפעלה של LLM בטלפון שלכם.
  • אימון מודל קצה-לקצה לטקסט<->תמונה (Clip) ותמיכה במודלי יצירת תמונה.

ניסיתי מאד לגרד עוד ועוד תוכן מעניין לטקסט אבל באמת שאין הרבה מה לסקור (וזה מצוין!).

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

"אימנו RNN עם כמות פרמטרים זהה לGPT וקיבלו מודל עם פוטנציאל להתחרות בGPT. בשבריר מכוח העיבוד."

עוד בנושא: