Comparthing Logo
טוקניזציהעיבוד שפה טבעיתרוֹבּוֹטרִיקִיםאלגוריתמי-מילות משנהבינה מלאכותית

קידוד זוגות בתים לעומת טוקניזציה של WordPiece

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

הדגשים

  • מיזוגים של BPE מבוססים אך ורק על ספירת תדירות בעוד ש-WordPiece ממטב את נתוני האימון בהתאם לסבירות
  • מודלי GPT משתמשים ב-BPE בעוד ש-BERT והווריאציות שלו מסתמכים על טוקניזציה של WordPiece
  • WordPiece בדרך כלל מייצר גבולות טוקנים נקיים יותר מבחינה לשונית מאשר BPE מונחה תדרים.
  • שתי השיטות פותרות את בעיית חוסר אוצר המילים אך באמצעות יעדי אופטימיזציה שונים במהותם.

מה זה קידוד זוגות בייט?

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

  • BPE פותח במקור בשנת 1994 כאלגוריתם דחיסת נתונים לפני שהותאם ל-NLP על ידי סנריך ועמיתיו בשנת 2016.
  • האלגוריתם מתחיל באוצר מילים של תווים בודדים וממזג שוב ושוב את זוג האסימונים הסמוכים השכיח ביותר.
  • GPT-2, GPT-3 ו-RoBERTa משתמשים כולם באסימון BPE כחלק מצינורות העיבוד המקדים שלהם.
  • BPE משתמש בספירות תדירות כדי לקבוע אילו זוגות אסימונים למזג, מה שהופך אותו למונחה נתונים בלבד ללא מודל שפה.
  • האלגוריתם יכול לייצר מילים מחוץ לאוצר המילים על ידי פירוקן ליחידות תת-מילתיות ידועות, ובכך לשפר את הטיפול במונחים נדירים.

מה זה טוקניזציה של WordPiece?

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

  • WordPiece פותחה במקור על ידי גוגל עבור מערכות חיפוש קולי יפניות וקוריאניות לפני שאומצה עבור טקסט.
  • האלגוריתם בוחר מיזוגים שממקסמים את הסבירות של נתוני האימון במקום פשוט לספור תדירויות
  • BERT, DistilBERT ו-ALBERT כולם משתמשים באסימוניזציה של WordPiece, בדרך כלל עם גודל אוצר מילים של 30,522 אסימונים.
  • WordPiece מאתחל לעתים קרובות את אוצר המילים שלו כך שיכלול את כל התווים הבודדים לפני תחילת תהליך המיזוג.
  • השיטה נוטה לייצר פחות אסימונים ברמת התווים עבור מילים נפוצות בהשוואה ל-BPE, מה שמשפר את היעילות.

טבלת השוואה

תכונה קידוד זוגות בייט טוקניזציה של WordPiece
קריטריון מיזוג תדירות זוגות סמוכים סבירות נתוני האימון
מקרי שימוש עיקריים סדרת GPT, RoBERTa, CLIP ברט, דיסטילברט, אלברט
אתחול אוצר מילים תווים בודדים או בתים דמויות בודדות
טיפול במילים נדירות מתפצל ליחידות תת-מילתיות תכופות פיצולים המבוססים על פילוח מבוסס סבירות
מהירות אימון בדרך כלל מהיר יותר עקב ספירה פשוטה מעט איטי יותר עקב חישוב הסבירות
סגנון פלט אסימון לעתים קרובות יותר גרגירי לעתים קרובות יותר מאוחד עבור מילים נפוצות
פיתוח מקורי 1994 כקומפרסיה; 2016 עבור NLP צוות זיהוי הדיבור של גוגל

השוואה מפורטת

פילוסופיית אלגוריתם ליבה

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

גבולות סמלים ותכונות לשוניות

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

יישום ונעילה של המערכת האקולוגית

הבחירה בין טוקנייזרים אלה מסתכמת לעתים קרובות בארכיטקטורת המודל שבה משתמשים ולא בהעדפה עמוקה לאלגוריתם עצמו. משפחת ה-GPT של OpenAI עוצבה על בסיס BPE, כך שכל מי שמכוון או פורס מודלים אלה יורש את סכמת האסימון הזו. המערכת האקולוגית של BERT של גוגל ביססה את WordPiece כבחירה דה פקטו עבור מודלים של שנאים מבוססי מקודדים בלבד. התבססות זו של המערכת האקולוגית פירושה שמומחים כמעט ולא מחליפים טוקנייזרים באופן עצמאי מארכיטקטורות מודל.

טיפול במקרים מיוחדים

שני האלגוריתמים מתקשים עם מקרי קצה מסוימים, אך בדרכים שונות. BPE יכול להיות שביר עם רווחים לבנים ופיסוק, ולפעמים מייצר טוקנים בלתי צפויים כאשר העיצוב משתנה. WordPiece בדרך כלל מוסיף סמל קידומת מיוחד (כמו ## ב-BERT) כדי לציין מילות משנה המשכיות, מה שהופך את שחזור הטקסט המקורי למפורש יותר אך גם מציג ארטיפקטים של טוקניזציה שמודלים במורד הזרם חייבים ללמוד להתמודד איתם.

וריאנטים מודרניים ואבולוציה

בשנים האחרונות חלה התפתחות משמעותית מעבר לשני האלגוריתמים. SentencePiece מציעה מסגרת מאוחדת שיכולה ליישם אסימון של מודלי שפת BPE, WordPiece או יוניגרם עם ספרייה אחת. BPE ברמת הבייט (המשמשת ב-GPT-2) פועלת על בתים גולמיים ולא על תווי יוניקוד, ומבטלת לחלוטין בעיות אסימון לא ידועות. בינתיים, גישות חדשות יותר כמו BPE-dropout מציגות סטוכסטיות במהלך האימון כדי לשפר את החוסן. התפתחויות אלו מראות שבעוד ש-BPE ו-WordPiece נותרו בסיסיים, התחום ממשיך להתקדם.

יתרונות וחסרונות

קידוד זוגות בייט

יתרונות

  • + פשוט ואינטואיטיבי להבנה
  • + אימון מהיר עם חישוב מינימלי
  • + עובד היטב עם קלט ברמת בייט
  • + תמיכה נרחבת בספריות מודרניות
  • + מטפל בכל טקסט יוניקוד

המשך

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

טוקניזציה של WordPiece

יתרונות

  • + יישור טוב יותר עם גבולות המורפמה
  • + אופטימיזציה מפורשת מבוססת סבירות
  • + נקה סמני המשך עם קידומת ##
  • + כלים בוגרים ב-TensorFlow וב-Hugging Face
  • + יעיל עבור מילים נפוצות בנתוני אימון

המשך

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

תפיסות מוטעות נפוצות

מיתוס

BPE ו-WordPiece תמיד מייצרים טוקניזציות שונות עבור אותו טקסט.

מציאות

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

מיתוס

WordPiece משתמש ברשת נוירונים במהלך טוקניזציה.

מציאות

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

מיתוס

BPE לא יכול להתמודד עם שפות עם קבוצות תווים גדולות כמו סינית.

מציאות

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

מיתוס

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

מציאות

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

מיתוס

WordPiece הומצא במיוחד עבור BERT.

מציאות

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

מיתוס

גודל אוצר המילים של BPE לא משנה כל עוד הוא גדול מספיק.

מציאות

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

שאלות נפוצות

מה ההבדל העיקרי בין BPE ל-WordPiece?
ההבדל המהותי טמון באופן שבו הם מחליטים אילו זוגות טוקנים למזג במהלך האימון. BPE פשוט סופר את התדירות שבה זוגות מופיעים יחד וממזג את הזוג השכיח ביותר. WordPiece מחשב במקום זאת איזה מיזוג ימקסם את הסבירות של נתוני האימון תחת מודל יוניגרם. משמעות הדבר היא ש-BPE מונחה תדירות בלבד בעוד ש-WordPiece משלב קריטריון הסתברותי הנוטה לייצר גבולות בעלי משמעות לשונית רבה יותר.
מדוע GPT משתמש ב-BPE בעוד ש-BERT משתמש ב-WordPiece?
בחירות אלו משקפות את קבוצות המחקר השונות ואת ההקשרים ההיסטוריים שלהן ולא צורך טכני עמוק. שושלת ה-GPT של OpenAI ירשה BPE מעבודה קודמת על דחיסה ברמת בייט ומצאה אותה יעילה עבור גישת מידול השפה הגנרטיבית שלהם. צוות BERT של גוגל כבר פיתח את WordPiece עבור מערכות הדיבור והתרגום שלהם, כך שהם יישמו באופן טבעי את הכלים הקיימים שלהם. שניהם עובדים מספיק טוב כך שאף אחת מהקבוצות לא הרגישה מחויבת לעבור.
האם BPE ו-WordPiece יכולים להתמודד עם שפות שאינן משתמשות ברווחים בין מילים?
כן, שני האלגוריתמים פועלים מצוין ללא רווחים לבנים, אם כי הם עשויים לייצר פילוחים פחות אינטואיטיביים. מכיוון ששניהם פועלים על רצפי תווים או בתים, היעדר רווחים אינו שובר אותם. עם זאת, שפות כמו תאילנדית, סינית או יפנית נהנות לעתים קרובות מפילוח מקדים או עיבוד מקדים מיוחד מכיוון שמיזוג סטטיסטי גרידא עשוי שלא להתאים לאינטואיציות של דובר שפת אם לגבי גבולות מילים.
איך אני בוחר בין BPE ל-WordPiece עבור פרויקט חדש?
בפועל, לעיתים רחוקות בוחרים באופן עצמאי מארכיטקטורת המודל. אם אתם מכוונים עדין את GPT-2, GPT-3 או RoBERTa, עליכם להשתמש באסימון ה-BPE שלהם כדי לשמור על תאימות. עבור מודלים מבוססי BERT, נדרש WordPiece. אם בונים מאפס, קחו בחשבון ש-BPE מעט פשוט יותר ליישום וניפוי שגיאות, בעוד ש-WordPiece עשוי לספק פיצולים לשוניים נקיים יותר באופן שולי. ספריות מודרניות כמו SentencePiece מאפשרות לכם להתנסות בקלות בשניהם.
איזה גודל אוצר מילים עליי להשתמש עם BPE או WordPiece?
רוב מודלי ה-NLP המודרניים משתמשים בין 30,000 ל-50,000 טוקנים, כאשר 32,000 ו-50,000 הם ברירת מחדל נפוצה במיוחד. אוצרות מילים קטנים יותר כופים פיצול רב יותר של תת-מילות, מה שמגדיל את אורך הרצף אך נותן טיפול טוב יותר במונחים נדירים. אוצרות מילים גדולים יותר מפחיתים את אורך הרצף אך דורשים מטריצות הטמעה גדולות יותר ועשויים להתקשות עם טוקנים נדירים מאוד. הנקודה המתאימה תלויה בשפה, בגודל הקורפוס ובתקציב החישובי.
האם טוקנייזרים אלה יכולים להתמודד עם אימוג'ים, קוד או טקסט אחר שאינו סטנדרטי?
BPE ברמת בייט מטפל באלה בצורה חזקה משום שהוא פועל על בתים גולמיים ולא על ערכות תווים מוגדרות מראש. BPE סטנדרטי ו-WordPiece עלולים להיכשל על תווי Unicode נדירים אלא אם כן אוצר המילים הראשוני שלהם כולל אותם במפורש. רוב יישומי הייצור משתמשים כיום בכיסוי Unicode ברמת בייט או מורחב כדי להימנע מבעיות אסימונים לא ידועות בטקסט של מדיה חברתית, קוד מקור ותוכן רב-לשוני.
מה זה SentencePiece ואיך זה קשור ל-BPE ול-WordPiece?
SentencePiece היא ספריית טוקניזציה בקוד פתוח של גוגל המספקת יישום מאוחד של אלגוריתמים מרובים של תת-מילות, כולל BPE, WordPiece ואסומניזציה של מודל שפה יוניגרם. היא מטפלת בקדם-טוקניזציה, נרמול ואימון אוצר מילים בכלי אחד. במקום להיות אלגוריתם נפרד, חשבו עליו כמסגרת גמישה המאפשרת לכם לבחור ולהגדיר את אסטרטגיית הטוקניזציה המועדפת עליכם עם ממשקים עקביים.
האם BPE ו-WordPiece עדיין חשובים עם מודלים מודרניים של שפות גדולות?
בהחלט. למרות קנה המידה העצום של מודלים כמו GPT-4, Claude ו-Gemini, כולם עדיין מסתמכים על טוקניזציה של תת-מילות מפתח בבסיסם. האלגוריתם הספציפי עשוי להשתנות, וחלק מהמודלים החדשים יותר מתנסים בגישות חלופיות, אך האתגר המרכזי של ייצוג טקסט באורך משתנה במרחבי אוצר מילים בגודל קבוע נותר אוניברסלי. הבנת BPE ו-WordPiece מספקת אינטואיציה חיונית לאופן שבו מודלים אלה מעבדים שפה.
מדוע שגיאות טוקניזציה גורמות להתנהגות כה מבלבלת במודלי שפה?
טוקניזציה מתרחשת עוד לפני שהרשת הנוירונים רואה את הטקסט, כך שכל מוזרות באופן שבו מחרוזות מפוצלות נאפפת בייצוג הקלט של המודל. ניתן לנצל מודלים גם באמצעות ארטיפקטים של טוקניזציה, שבהם מחרוזות שנוצרו במיוחד עוקפות מסנני בטיחות על ידי כך שהן עוברות טוקניזציה בדרכים בלתי צפויות. זה הופך את תכנון טוקניזציה חזק לחשוב באופן מפתיע לאמינות ואבטחת המודל.
האם יש דרך להמחיש כיצד BPE או WordPiece מבצעים טוקניזציה של טקסט ספציפי?
כן, רוב ספריות ה-NLP המודרניות מספקות כלים לכך. ספריית Hugging Face Transformers כוללת את השיטות tokenizer.decode ו-tokenizer.convert_ids_to_tokens שמראות בדיוק כיצד טקסט מפוצל. ישנם גם כלי ויזואליזציה מבוססי אינטרנט שבהם ניתן להזין טקסט ולראות את גבולות האסימונים מודגשים. אלה יקרי ערך לאיתור ניפוי התנהגות בלתי צפויה של מודלים ולהבנת מדוע קלטים מסוימים מבלבלים את המערכת שלך.
במה שונה נשירת BPE מ-BPE סטנדרטי?
אלגוריתם BPE-dropout, שהוצג בשנת 2020, מדלג באופן אקראי על פעולות מיזוג מסוימות במהלך אימון עם הסתברות מסוימת. זה יוצר מספר טוקניזציות תקפות עבור אותה מילה, מה שפועל כצורה של הגדלת נתונים. המודל המתקבל הופך עמיד יותר בפני וריאציות של טוקניזציה ובדרך כלל מתפקד טוב יותר במשימות במורד הזרם, במיוחד עם נתוני אימון מוגבלים. זהו שיפור פשוט אך יעיל לאלגוריתם BPE הקלאסי.
האם ניתן לשלב טוקניזציות של BPE ו-WordPiece באותו צינור?
אפשרי טכנית אך לא מומלץ מבחינה מעשית. טוקנייזרים שונים מייצרים מזהי טוקן ומיפויי אוצר מילים שאינם תואמים, כך שערבובם ידרוש שכבות יישור זהירות או שלבי טוקניזציה מחדש שבדרך כלל פוגעים בביצועים. אם צריך לשלב מודלים המשתמשים בטוקנייזרים שונים, הגישה הסטנדרטית היא לאמן מחדש או להתאים אחד לשני, או להשתמש בטוקנייזר מאוחד כמו SentencePiece עבור כל הרכיבים מההתחלה.

פסק הדין

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

השוואות קשורות

RAG (יצירת אחזור רבודה) לעומת LLMs מכוונים עדינים

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

RAG עם הקשר חזותי לעומת RAG עם הקשר טקסטואלי בלבד

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

RAG רב-מודאלי לעומת RAG טקסטואלי בלבד

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

אבולוציה של בינה מלאכותית מונחית מחקר לעומת שיבוש ארכיטקטורה

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

אוטומציה לעומת פיקוח אנושי

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