✨ Visual Editor

close

palette Canvas & Background

Gradient:arrow_forward
Text Color:
135°

style Card Style

40px
16px

text_fields Typography

16px
Nir Ben-Zvi
@nir_benz
בעקבות הציוץ מאתמול, נשאלתי ״למה טוקנייזר חדש אומר שאנטרופיק אימנו מודל חדש?״.
ובכן, אנסה להסביר בשני שרשורים. קודם כל, אנסה להסביר מה זה Tokenizer. אחר כך אסביר למה שינוי שלו (עשוי, לפעמים) לדרוש אימון מודל מחדש.
>>
Thread image
Nir Ben-Zvi
@nir_benz
נטען לפעמים ש-LLMs יודעים בסה״כ לחזות את ה״טוקן״ הבא, אבל לא תמיד ברור מה זה אומר.
מודל שפה הוא מודל שמקבל קלט, וחוזה על בסיסו תשובה מתוך מספר סופי (וגדול) של אפשרויות. מהבחינה הזאת הוא לא שונה ממודל ״איזו חיה יש בתמונה״ מתוך 10,000 סוגי בעלי חיים.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> וכמו שמודל תמונה שכזה צריך *להכיר* 10k זני חיות ולהתאמן עליהן - מודל שפה צריך ״לבחור״ את ה״טוקן״ הבא בכל צעד כשהוא מרכיב משפט, מתוך סט קבוע.
אם נניח שיש לנו מילון סופי ושפה אחת, אפשר לדבר על חיזוי אותיות או חיזוי מילים שלמות, ובאמת אלו דברים שנעשו בעבר. אבל זה לא עובד משהו.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> מילים שלמות: למרות שהם מאוד חכמים, מודלים גדולים ועמוקים לא מצטיינים בחיזוי מתוך מליוני קטגוריות. וזה מה שנצטרך כדי למפות את ״כל המילים״ במודל multilingual. וכמובן שיש מילים שהמודל לא ראה בכלל (כי שפה היא דבר מתפתח)!
>>
Nir Ben-Zvi
@nir_benz
>> אותיות: אם מודל ״מילה״ צריך לבצע 5 צעדים עבור משפט, מודל ״אותיות״ יצטרך לעשות 20-30. זה הרבה, זה יקר חישובית, והרבה יותר קל לטעות. מודל עם טוקנייזר יצטרך משהו באמצע (10-15).
בנוסף, ״להבין״ שפה ״ברמת האות הבודדת״ פשוט עובד הרבה פחות טוב, ותמיכה בריבוי-שפות מוסיפה עוד קושי.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> וכך הגענו ל-tokenizers. אנחנו צריכים משהו שהוא בין מילה לאות. הרעיון הוא לפרק שפה לקבוצה גדולה מאוד, אבל סופית, של ״חתיכות פאזל״ שביחד יכולות להרכיב את כולה. כבונוס - טוקנייזרים גם יכולים לתמוך במספר גדול של שפות.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> טוקנייזרים מודרניים ״נלמדים״ על טקסט דומה לזה של סט האימון של המודל. בסוף התהליך הזה (שלא אכנס אליו) יתקבל אוסף קבוע של ״רצפי אותיות״ שנבנים צעד-צעד לפי ״נפוצות״ אותו הרצף.
כך נקבל רצפי אותיות באורכים שונים.
דוגמא (מומצאת): המילה hello תהיה <hel> <lo> ו-hi תישאר <hi>.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> היום, הטוקנייזר של OpenAI מורכב מ-200k טוקנים. זה הרבה, אבל זה פחות מ-600,000 המילים הקיימות במילון אוקספורד לאנגלית, והרבה פחות ממספר המילים הקיימות בעשרות השפות שהוא תומך בהן. כמובן שטוקנייזר גם מאפשר למודל ״לאכול״ דברים שאינם ״שפה״, כמו...קוד!
>>
Nir Ben-Zvi
@nir_benz
>> אם בתרחיש של ״מודל מילים״ היינו צריכים להוסיף למודל קטגוריה חדשה לכל מילה חדשה, טוקנייזר פותר את זה:
מילים חדשות או שפות תכנות חדשות יתאימו לצירופים של טוקנים קיימים. בשרשור הבא אתחיל מזה.
לפני שנסיים, אזכיר שלטוקנייזר יש תפקיד ״מתקדם יותר״, שמתבצע על ידי special tokens.
>>
Thread image
Nir Ben-Zvi
@nir_benz
>> אלו טוקנים שמסמנים על תחילת\סוף הודעה, קריאה לכלי, ושולטים ב״התנהגות״ שלו.
הטוקנייזר של gpt-4o *כן* עבר עדכון לקראת משפחת gpt-5 ונוספו לו הרבה טוקנים מיוחדים. בגלל שזו רק ״תוספת״, משפטים קיימים עדיין יתמפו לאותם טוקנים, ולכן (ניחוש שלי) לא היה לאמן מודל חדש.
<end_token>
Generated by Thread Navigator
100%
view_carousel Carousel Studio NEW
Press + S to quick-export