close menu

איך לחבר מודלי שפה לאינטרנט? בשביל.. סיבות.

כי מה כבר יכול להשתבש?

לאפשר למודלי שפה לשלוט בעולם האמיתי

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

למה? אני לא יודע! מוזר מאד שהוא מסוגל לצייר תמונות ASCIIArt מפורטות במיוחד וגם להסביר מטארפורות בציורים אלו כיאילו תוכננו בדיוק רב. אבל.. "לא לאמר בדיוק את אותו דבר לא נכון מילה במילה (!!). כשממש הרגע אמרו לך שזו טעות ואפילו התנצלת בתחילת המשפט [וכל זה בתוך הקונטקסט!!]." – קשה מידי.

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

מודל שפה שמחפש בגוגל כדי להחליף את גוגל – מהלך שחמט ארבע מימדי.

קבלת החלטות בעולם האמיתי

אז איך נותנים למודל שפה את היכולת לבצע פעולות בעולם האמיתי?

רמז: הם ליטרלי יכולים לדבר.

פשוט מלמדים אותו לאמר מה הוא רוצה לעשות ועושים את זה בשבילו.
דוגמאות מהעולם האמיתי
דוגמה יפה הגיעה אלינו במאמר של גלקטיקה (מטא), במאמר זה אימנו את המודל להגיב נכונה על שאלות הדורשות חישובים אך בין התשובה הסופית אל החישובים הוסיפו קטע קוד שהרצתו פותרת את השאלה. קטע קוד זה תחום בסימן מיוחד "<work>" ומיד לאחריו הוצמד פלט הרצת הקוד ולאחריו התשובה לשאלה.
הטריק הוא שבזמן הפעלת המודל, המודל מתנהג באותו האופן ועוצר "כדי לתכנת מידי פעם" על מנת לבצע חישובי עזר לצורך מתן התשובה. אותם החישובים מורצים ותשובתם (האמיתית) מודבקת אל הטקסט אותו המודל צריך להשלים [המודל לא מנחש את פלט הקוד].
האלגנטיות בשיטה זו מאפשרת למודל ללמוד במכה אחת גם לעצור לתכנת וגם לקבל החלטות על סמך התוצאות שקיבל מהרצת הקוד. זאת בניגוד ל"פשוט לנחש" את התשובה – מה שבדרך כלל מוביל לחרטוטים "שנראים נכון".

באותה נשימה ראוי לתת את הכבוד לאדם פרטי בטוויטר שבנה עטיפה לGPT-3 המריצה קטעי קוד אותם הוא כותב ובנוסף ביקש מGPT-3 לא לענות על שאלות ללא קטע קטע קוד. אותו אדם התפרסם במיוחד כי היה הראשון שעשה זאת בפומבי.

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

מה כבר יכול להשתבש?

חיבור מודלים לאינטרנט

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