לראשונה בעולם: מודל מילוי הוראות (GPT INSTRUCT) בקוד פתוח!
פרוייקט Big Science שיחרר לפני כמה שעות את משפחת המודלים Bloomz – מודלים המסוגלים למלא הוראות בשפה אנושית ביותר מ40 שפות שונות. (GPT Instruct).
למה זה חשוב?
הסיבה פשוטה: מודלים מהסוג הזה "באמת עובדים".
אנו רגילים לדבר בשפה אנושית, מודלי שפה קלאסים לא. הם מאומנים "להשלים טקסט". לא "לבצע הוראות".
ומכאן ההבדל הגדול בין מודלי שפה קלאסים (למשל GPT-3) לבין גרסאותיהם המתקדמות יותר למילוי הוראות (למשל InstructGPT-3), וההבדל הוא הבדל של שמיים וארץ למשתמש הפשוט.
כשמדובר על מודלי שפה קלאסים, על מנת לגרום להם "לעבוד בשבילנו" אנו נדרשים לתחכום (Prompt Engineering).
לדוגמה:
במקום לכתוב:
-
"פתור: 43 כפול 12".
נאלץ לכתוב:
-
"המתמטיקאי הדגול פתר את שאלת 43 כפול 12 במדויק והגיע לתשובה הנכונה.
תשובת המתמטיקאי"
[או כל טקסט אחר בסגנון שמטרתו "לעבוד" על המודל להשלים את הטקסט כך שתתקבל התשובה הנכונה]
במקום לכתוב ישירות את את המשימה אותה נרצה לפתור, נאלץ להתאמץ ולחשוב "אם הינו מוצאים טקסט הפותר את המשימה באינטרנט, כיצד הוא היה מתחיל?"
ומסיבה זו מודלי שפה מסוג Instruct חזקים כל כך. הם מאומנים "להבין" הוראות בשפה אנושיות במדויק ללא צורך בטריקים.
מודלי Instruct עד כה:
שחרור InstructGPT-3 (המודל הראשון בעולם שאומן לבצע הוראות) בתחילת השנה סימן הישג משמעותי. המודל נתפס בעיניי משתמשים רבים בתור המודל "השימושי" הראשון.
אם GPT-3 היה "צעצוע מגניב" או "טכנולוגיה עם פוטנציאל" – עם Instruct-GPT-3 אפשר "להשתמש מהפלאפון ביום יום. כי הוא כל כך טוב." [ציטוט מטוויטר]
לאורך השנה נעשו כמה ניסיונות מצד קהילת הקוד הפתוח להגיע לאותם הביצועים (T0, FLAN) אך מעולם לא בסדר הגודל של Bloomz.
המודל Bloomz:
המודל הוא גרסה מאומנת Fine-Tuned של המודל Bloom -המודל הפתוח הגדול בעולם, שוחרר לפני כמה חודשים [2]. משפחת המודלים המסוגלים לעקוב אחר הוראות אנושיות בעשרות שפות ומגיעה במספר גדלים כשהכבד ביותר בגודל 175 מיליארד פרמטרים והקטן ביותר – פחות ממיליארד.
המודל אומן על הוראות ומשימות בלמעלה מארבעים שפות שונות ונצפה לאחר האימון "מכליל בין שפות". (לצערנו, לא בעברית. כרגע.)
המודל פתוח לגמרי ואתם מוזמנים לשחק איתו כאן: https://huggingface.co/bigscience/bloomz
(וגם להוריד את המשקולות!)
אינטואיציה לגבי מודלים מסוג זה:
דעתי האישית היא שמודלים אלו נמצאים בדיוק בנקודה בה הצד הטכני של התחום (זה שאנו מדברים עליו הרבה בקבוצה) פוגש את העולם האמיתי.
החשיבות שלהם נובעת מהגדרת הבעיה: "הכללה" להוראות חדשות אותן המודל לא למד לבצע מסט האימון היא לא פחות מקסם. [למרות שטכנית, היא "הכללה" קלאסית לסט הולידציה, כמו בכל מודל אחר].
מודלים כאלו מסוגלים לענות על שאלות שמעולם לא ראו בזמן האימון, לבצע משימות שמעולם לא אומנו לבצע ובאופן כללי "כמעט להבין" אותנו.
מהצד הטכני: ברור שהם לא מבינים כלום ומדובר בלא יותר מאינטרפולציה בין טקסטים שונים.
מהצד השני: מודל שמצליח לענות על
"תמציא לי תירוץ חכם לזה שאכלתי את כל הממתקים במשרד"
אותי אישית – מפתיע.
[1] לא אני המצאתי את הרעיון לטקסט: https://arxiv.org/pdf/2102.07350.pdf
[2] פרסום בקבוצה: https://www.facebook.com/photo/?fbid=10159603137839663…