close menu

על המלחמה בריכוזיות הבינה המלאכותית – אימון המודל היעיל בעולם

  • אומן מודל שפה (GPT-J) בגודל 6 מיליארד פרמטרים המגיע לאיכות המתחרה בGPT-3 בגודל 175 מיליארד פרמטרים!
  • האימון התבצע דרך האינטרנט על גבי רשת מכונות פרטיות הנמצאות בבתי החוקרים שגרים בשמונה מדינות שונות (!!!)
חושבים שאתם סובלים מצווארי בקבוק באימון?
לפחות אתם לא צריכים לחכות לגרדיאנטים מיפן או באצ' חדש מאנגליה.
ואם זה לא מספיק:
  • תשתית הרשת ב"ענן" שאתם משתמשים בו היא תשתית ביתית "מעפנה".
  • אה וגם המכונות עצמן נמצאות פיסית "במרתף של החבר".
כך אומן (ושוחרר) אחד המודלים החזקים בעולם:
  • המודל GPT-JT, בעל 6 מיליארד פרמטרים בלבד.
זה סיפורם של קבוצת המחקר "Together" שהחליטה להתנגד לריכוזיות ההולכת וגוברת בתחום [1].

מודל השפה היעיל אי פעם – GPT-JT

המודל המאומן שוחרר ממש לפני כמה ימים ויכולותיו משמעותית איכותיות יותר ממודל הבסיס עליו הוא מבוסס. מורגש! שחקו איתו כאן: https://huggingface.co/spaces/togethercomputer/GPT-JT

המודל GPT-JT הוא גרסה מאומנת של GPT-J (מElutherAI) המתפקדת בצורה יוצאת דופן בכמה משימות שפה כשבחלקן תוצאותיו (RAFT) אפילו מתקרבות למודלי שפה גדולים ממנו בהרבה

למשל GPT-3 002 בלי לנקוב בשמות

אימון GPT-JT התאפשר על ידי מגוון פרוייקטי קוד פתוח המנגישים מודלים, דאטהסטים, בנצ'מארקים ותרומות נוספות לתשתיות האימון המבוזר.
מה הטריק?
רוב כוחו של המודל מגיע משילוב עבודת המחקר של גוגל: UL2

שנכון לרגע זה נחשב למודל טקסט->טקסט החזק בעולם – עליו כתבתי פוסט כששוחרר [8]

האימון עצמו בוצע על גבי מכונות הנמצאות בבתים (!!) של חברי הקבוצה

המפוזרים בשמונה מדינות שונות בעולם!

מודלי שפה וקוד פתוח:
אלו הם פרוייקטי הקוד הפתוח שאפשרו את ההישגים אליהם הגיע המודל:
  • העבודה של EleutherAI שהיו הראשונים לשחרר מודלים פתוחים שנמצאים היום בשימוש נרחב אצל מיליוני אנשים (דוגמאות: GPT-J-6B, GPT-NeoX). בנוסף: הראשונים לאסוף, לנקות ולשחרר דאטהסטים לאימון מודלי שפה גדולים, חלקם הפכו להיות ה-סטנדרט בתחום (דוגמה: The Pile). עבודתם של EleutherAI השפיעה בצורה עצומה על כמעט כל המחקר המודרני במודלים גדולים.

רק כדי ליישר קו: הם לא גוף מאורגן (ובטח שלא ממומן). הם קבוצת אנשים בדיסקורד שפשוט החליטו לאמן GPT-3ים בגדלים הולכים וגדלים ביחד. חלקם עומדים גם מאחורי חלקים בStable Diffusion.

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

  • העבודה של Google Research שפרסמו את UL2 ואת Chain-of-Thought (CoT) ובאופן כללי מפרסמים כמעט הכל תמיד. גם משקולות. גם קוד. בלי משחקים.

חוץ מזה שלפעמים מתפלק איזה טנזורפלו 1

  • העבודה של AllenAI בשחרור הדאטהסט Natural-Instructions (NI) המכיל למעלה 1,600 משימות והוראות המשמשות לאימון ביצוע הוראות (Instruct). הדאטהסט מגיע כתגובה לבעיה המוצגת במאמר של OpenAI: כשמאמנים מודלים לביצוע הוראות. הדאטה הזמין היום אינו כתוב בשפה יום יומית "מלוכלכת" וטבעית מה שיוצר מצב שלמודלים קשה להכליל למשימות בשפה "באמת חופשית".

דוגמה למשימה בשפה "באמת חופשית": "אחי, כתוב פונקצית פייתון שמרימה הכי הרבה בחדר כושר" – בדיחה שGPT-3 002 מבין מצוין וזורם איתה. המודלים הפתוחים המתחרים: FLAN, T0, BLOOMZ: פחות [7].

  • העבודה של BigScience ביצירת הדאטהסט הציבורי "P3" המקבץ כמה דאטהסטים באנגלית המכסים הוראות ל 55 משימות שונות.
  • העבודה של Ought בהגדרת הבנצ'מארק RAFT – דאטהסט לסיווג טקסט. (עוד עליו בהמשך)
  • העבודה של Stanford CRFM בשחרור הבנצ'מארק HELM לצורך בקרת האיכות – בנצ'מארק למודלי שפה המנסה למדוד מודלי שפה בקשת נושאים רחבה.
לסיכום:
  1. שלב האימון הראשון: כדי לאמן את GPT-JT הכותבים התחילו מGPT-J-6B שילבו את אוסף הטכניקות והטריקים שהוזכרו למעלה והתחילו לאמן: האימון מתחיל ב 2.62 מיליארד טוקנים עם לוס UL2, ולאחר מכן 0.92 מיליארד טוקנים עם לוס קאוזלי סטנדטרטי.
  2. שלב האימון השני: חלוקת הדאטה 5% מ-COT, 20% מ-P3, 20% מ-NI, ויחד עם 55% מThe Pile. התוצאה היא GPT-JT.
הכותבים בדקו את GPT-JT על ההדאטהסט RAFT המורכב מאוסף מגוון של משימות סיווג טקסט. המשימות בRAFT מכילות אתגרים המייצגים מקרי שימוש רבים בעולם האמיתי.
כמו שאפשר לראות בתמונה: GPT-JT מקבל משמעותית ציון גבוה יותר על-RAFT על פני ה-GPT-J המקורי.

הוא כל כך טוב שהוא מתעלה על רוב המודלים האחרים בהשוואה. חלקם גדולים יותר מ 100 מיליארד פרמטרים.

המודל מציג גם שיפורי ביצועים רבים במשימות רבות אחרות.
אימון מודלים מבוזר ברשת ביתית "מעפנה"
מודלי שפה בסיסיים (Foundation Models) כמו GPT-3, BLOOM ו-GLM יקרים מאד לאימון.
לדוגמה: אימון יחיד GPT-3 (175B) צורך כ3.6K PetaFLOPS-ימים [2] – בערכה גסה, המחיר בAWS של עיבוד בסדר גודל כזה: 4.6 מיליון דולר.[3]. עלות אימון זו יקרה כל כך בין היתר, בשל עלות הGPU בענן.
מחוץ לענן: ישנם שפע משאבי חישוב הפזורים ברחבי העולם. בדוח של Jon Peddie Research מדווח שבשוק הGPU הפרטים נשלחו 101 מיליון יחידות ברבעון האחרון של 2021 בלבד [4].
כשמחשבים את עלויות החשמל והקירור המצטברות של הפעלת V100 (או כל GPU בעל כוח חישוב דומה) בבעלות פרטית, הן יכולות להיות נמוכות גם פי 50-100 ממחירי ספוט בAWS עבור חומרה זהה. [5]

אם רק הינו יכולים להשתמש בחומרה הזו כדי לאמן מודלים.. 

נעשו בעבר מאמצים דומים בתחומים אחרים, למשל פרויקט ה-Folding@Home רץ על יותר מ40,000 מכשירי מתנדבים.
כשמדובר בלמידת מכונה:
עד לרגע זה נראה כי עלות התקשורת איטית מידי.
אימון דרך האינטרנט לא אפשרי.
בטח שלא מקצוות שונים בעולם.

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

אימון מבוזר דרך האינטרנט (מקרה פרטי של רשת "מעפנה")
המודל אומן דרך האיטרנט. לא על קלאסטר מסודר.
במקום שכל המכונות יהיו מחוברות דרך רשת מרכזית מהירה, לחוקרים היו חיבורים ביתיים איטים של עד 1Gbps.

מיותר לציין שזה גורם לקצת בעיות

כאן הבעיה: במודל GPT-JT, השתמשו במקבול מרובע מה שיוביל לתקשורת של 633 טרהבייט לכל מכונה במהלך האימון.

בחישוב זריז: ברשת "מעפנה" במהירות 1Gbps, רק עלות התקשורת תסתכם בחודשיים. לפני אימון. רק תקשורת. (1440 שעות)

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

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

לפרטים מלאים: ראו את סדרת המאמרים באתר שלהם [6]
הריכוזיות בלמידת המכונה
הרבה מפיתוח מודלי השפה הגדולים הוכתב עד כה על ידי קבוצה קטנה של גופים עם גישה לכוח מחשוב רב.
גופים אלו השתמשו בתשתיות פרטיות כדי לאמן מודלים מרשימים כגון GPT3 – שנשאר סגור עד היום. נעשו כמה ניסיונות לאמן מודלים פתוחים לאיכות דומה אך ללא הצלחה משמעותית.
וככל שהזמן עבר, GPT-3 הלך והשתפר. נראה כי יהיה קשה לקהילת הקוד הפתוח להדביק את הקצב (והמחיר) ההולך ומאיץ.
המודל החדש GPT-JT מצייר תמונה אחרת:
אנשים פרטים יוכלו מעכשיו לאחד כוחות ולאמן מודלים על גבי רשתות "מעפנות" יחד!
בעוד ש-GPT-JT הוא מודל מרשים, הוא עדיין יחסית קטן. כדי לאמן מודל גדול בהרבה, נזדקק לעוד כמה פיתוחים בכיוון.
השאלה היחידה היא מתי. מתי קבוצות קטנות ומבוזרות יוכלו לאמן מודלים בגודל ובאיכות הדומה לאלו שאומנו על ידי הענקיות הגדולות?

דעתי האישית היא שזה רק עניין של זמן. וההשלכות הן עצומות.

אז באינטרנט כבר הספיקו להזכיר באותה הנשימה את סין.
שלאחרונה קיבלה מכה לא קלה לתעשית המחקר בה בעקבות אישור הגבלות יצוא החומרה בארה"ב [9]. הגבלות אלו מונעות ממנה גישה ל-GPUs החזקים ביותר כיום.
אז אני לא רוצה לתת לאף אחד רעיונות אבל כוח החישוב של מכונה בודדת לא כל כך משנה כשיש יותר ממיליארד מכונות באותה המדינה.
רפרנסים:
  1. [1] – האתר של קבוצת המחקר Together כאן: https://www.together.xyz/
  2. [2] – מתוך המאמר של GPT-3. כאן: https://arxiv.org/abs/2005.14165
  3. [3] – אימון GPT-3, העלויות: https://lambdalabs.com/blog/demystifying-gpt-3
  4. [4] – דוח על GPUs פרטיים: https://www.jonpeddie.com/…/q421-sees-a-nominal-rise…/
  5. [5] – חישוב עלויות חומרה וקירור בחומרה פרטית: https://venturebeat.com/…/the-real-cost-of-mining…/
  6. [6] – כמות הפוטנציאל פה עצומה! מדובר על אימון כבד על 3.53 מיליארד טוקנים. בשביל Fine-tune אנחנו מדברים על אימון קל בסדרי גודל (לפעמים גם פי 100, תלוי משימה).
  7. [7] – התשובה דרך אגב היא פונקציה שרצה בלולאה וכל איטרציה ומדפיסה יותר ויותר "חלבון" – כמובן שזה הפלט הכי מצחיק שקיבלתי אבל כמעט בכל המקרים שניסיתי, GPT-3 כן הבין את הרעיון בבדיחה.
  8. [8] – על המודל של גוגל: U2 כתבתי כאן: https://www.facebook.com/photo/?fbid=10159950816494663…
  9. [9] – הגבלות יצוא החומרה לסין – https://spectrum.ieee.org/chip-ban
עוד בנושא: