Neural Text Degeneration — ניוון טקסט נוירוני
ניוון טקסט נוירוני, המכונה גם התנוונות טקסט בעת יצירה נוירונית (באנגלית: Neural Text Degeneration), הוא מחלקה של פתולוגיות יצירת טקסט במודלי שפה נוירוניים, שבהן הפלט הופך לא טבעי: חזרתי מדי, שגרתי, דל-תוכן או מאבד קוהרנטיות. המונח התפשט לשימוש נרחב לאחר עבודתם של Ari Holtzman ושותפיו The Curious Case of Neural Text Degeneration (2019; ICLR 2020), שבה הודגם כי אסטרטגיות פענוח המבוססות על מקסימום ישיר של הסתברות נותנות לעיתים קרובות תוצאה ירודה במשימות יצירת טקסט פתוח.[1]
הסבר פשוט
ניוון טקסט נוירוני הוא מצב שבו המודל ממשיך את הטקסט מבחינה פורמלית, אך עושה זאת באופן ירוד מבחינת שפה טבעית.
בדרך כלל זה נראה כך:
- המודל מתחיל לחזור על אותן מילים או ביטויים;
- הטקסט הופך שגרתי מדי ו"חסר חיות";
- התשובה מאבדת קוהרנטיות סמנטית;
- ההמשך מתחיל לכלול מילים אקראיות או גרועות.
במילים אחרות, המודל או הופך "זהיר" מדי ובוחר כל פעם באותו דבר, או לחלופין מקבל יותר מדי חופש ומתחיל למשוך המשכים חלשים ורועשים. בשני המקרים הטקסט חדל להידמות לדיבור אנושי טבעי.[1]
תולדות החקר
הבעיה נוסחה בפירוט על ידי Holtzman ושותפיו בשנת 2019 על בסיס יצירת טקסט פתוח — בעיקר סיפורים, המשכים חופשיים ותשובות דיאלוגיות. המחברים הראו כי שיטות פענוח המכוונות למקסימום הסתברות, כגון חיפוש חמדני (greedy search) וחיפוש קרן (beam search), במשימות פתוחות מובילות לעיתים קרובות לרצפים לא טבעיים, חזרתיים ודלי-תוכן.[1]
באותה עבודה הוצג גם כי הגישה ההפוכה — דגימה סטוכסטית טהורה ללא חיתוך — בעייתית אף היא, שכן המודל עשוי לבחור tokens מ"זנב הבלתי-אמין" של התפלגות ההסתברות. הדבר פוגע בקוהרנטיות ומגביר את הסיכון להמשכים אקראיים ומתואמים-גרוע.[1]
עבודות מאוחרות יותר הבהירו והרחיבו הסבר זה. בפרט, Finlayson ושותפיו הציעו פרשנות תיאורטית לכך שבדרך כלל שיטות חיתוך (למשל Top-p) מסייעות להפחית ניוון טקסט: חיתוך הזנב מאפשר להימנע מ-tokens שלגביהם המודל בלתי-אמין במיוחד.[2]
Meister ושותפיו קישרו בנוסף את בעיית הניוון להפרת טיפוסיות מקומית: טקסט אנושי נוטה בדרך כלל לשמור על תוכן מידעי הקרוב לאנטרופיה התנאית הצפויה, ולא פשוט למקסם את ההסתברות של כל token הבא.[3]
ביטויים עיקריים
ניוון טקסט נוירוני יכול להתבטא לא רק כחזרות מפורשות, אלא גם בצורות נסתרות יותר: מדלדול סמנטי ועד לפירוק הדרגתי של הקוהרנטיות. מבחינה חיצונית, טקסטים כאלה נותרים לעיתים קרובות נכונים דקדוקית, אך מתחילים להיבדל בצורה ניכרת מהשפה האנושית הטבעית מבחינת מגוון, אינפורמטיביות ויציבות התפתחות המחשבה.[1][3]
חזרות והיתקעות בלולאה
הצורה הידועה ביותר היא חזרה על tokens, ביטויים או קונסטרוקציות תחביריות שלמות. הטקסט מתחיל "לסובב בעיגולים", מוסיף המשכים כמעט זהים שוב ושוב.[1]
ניוון כזה יכול להתבטא ברמות שונות:
- חזרה על מילים בודדות;
- שחזור כפייתי של אותו ביטוי;
- חזרה מחזורית לאותה מחשבה;
- העתקה מרובה של אותה סכמה תחבירית עם שינויים מינימליים.[1]
אופייני במיוחד שהחזרות הופכות לעיתים קרובות למחזקות את עצמן: קונסטרוקציה שנוצרה פעם אחת מתחילה לחזק את עצמה, שכן המודל ממשיך להסתמך על הקטע שכבר נוצר ומשחזר אותו שוב בצורה שונה במקצת. כתוצאה מכך, הטקסט עשוי לשמור על מראית עין של התקדמות, אך למעשה חדל להתפתח מבחינת תוכן.[1]
שגרתיות ודלדול תוכן
גם אם אין לולאות מפורשות, המודל עשוי לייצר טקסט צפוי מדי ודל-תוכן. פלט כזה נשאר נכון דקדוקית, אך הופך בנאלי, אחיד ודל מבחינת תוכן מידעי.[1]
בצורת ניוון זו הטקסט בדרך כלל נראה "נכון", אך עושה רושם בטוח ומוצע מדי. המודל מעדיף את המילים והביטויים הצפויים ביותר, ולכן:
- מגוון לקסיקלי יורד;
- אותם תבניות דיבור חוזרות בתדירות גבוהה יותר;
- ניסוחים פחות מובנים מאליהם, אך עשירים יותר בתוכן, נעלמים;
- הטקסט הופך חלק יותר מבחינת צורה, אך דל יותר מבחינת משמעות.[1][3]
דווקא לכן ניוון אינו נראה תמיד כטעות מפורשת: לפעמים הוא מתבטא כטקסט צפוי מדי, "שטוח" וריק, שנכתב נכון פורמלית אך כמעט אינו מוסיף מידע חדש.[1][3]
אובדן קוהרנטיות
כאשר יש אקראיות מופרזת או שליטה חלשה בזנב ההתפלגות, היצירה עשויה לשמור על נכונות דקדוקית מקומית, אך לאבד קוהרנטיות סמנטית כוללת: מילים לא מתאימות, מעברי נושא בלתי-צפויים וקרעים לוגיים מתחילים לחדור לטקסט.[1]
במצב כזה, ביטויים סמוכים עשויים להיראות קבילים כשלעצמם, אך הקשרים הסיבתיים, הנושאיים והלוגיים ביניהם נחלשים. הדבר מתבטא בכך ש:
- המשפט נכון דקדוקית, אך קשור בקושי למשפט הקודם;
- המחשבה משנה כיוון פתאום ללא מעבר ברור;
- הטקסט כולל המשכים קבילים מקומית אך בלתי-מתאימים לקונטקסט;
- מהלך הדיון הכולל הופך רופף ובלתי-יציב.[1]
במילים אחרות, המודל עשוי לשמור על חלקות מקומית ברמת ביטויים בודדים, אך לאבד קוהרנטיות גלובלית ברמת הפסקה כולה או תשובה ארוכה.[1]
סחף סמנטי
צורת ניוון נוספת היא הסטת משמעות הדרגתית, שבה הטקסט אינו קורס מיד, אלא מתרחק לאט לאט מהנושא המקורי, המשימה או קו הנרטיב.[1]
בניגוד לאי-קוהרנטיות מפורשת, כאן הדגרדציה מתפתחת בהדרגה:
- המודל מתחיל בתשובה רלוונטית;
- לאחר מכן מוסיף פרטים כלליים יותר או קשורים-חלש;
- לאחר מכן הנושא המקורי מיטשטש;
- בסוף הטקסט עשוי להישאר חלק פורמלית, אך כבר לא להשיב היטב על הבקשה המקורית.[1]
סחף כזה בולט במיוחד ביצירה ארוכה: המודל אינו בהכרח נופל ללולאות, אך צעד אחר צעד מאבד משמעת נושאית, וההמשך חדל להיות רלוונטי באמת.[1]
ירידה באינפורמטיביות
ניוון יכול להתבטא לא רק בחזרות, אלא גם בכך שהטקסט חדל להוסיף מידע חדש. המודל ממשיך לכתוב, אך ה"צפיפות" הסמנטית של הפלט יורדת, וההמשך הופך ריק מתוכן.[3]
בטקסט כזה מילים ומשפטים ממשיכים להצטבר, אך ההתקדמות הסמנטית מואטת. ביטויים חדשים:
- מנסחים מחדש את הנאמר כבר;
- מוסיפים כמות מינימלית של עובדות חדשות;
- מחליפים ספציפיות במילים כלליות;
- שומרים על נפח הטקסט ללא גידול מקביל בתוכן.[3]
זה חשוב במיוחד, שכן ניוון כזה עשוי להיראות פחות בולט מחזרות מפורשות: הטקסט נראה "תקין", אך בקריאה מדוקדקת מתברר שהוא בעיקרו חוזר על אותה מחשבה במילים שונות.[3]
ניוון נסתר ללא כשלים מפורשים
לא כל ניוון טקסט נוירוני נראה כתקלה גסה. במקרים מסוימים הטקסט אינו מכיל לולאות מפורשות, קרעים לוגיים חדים או "רעש" ברור, ועדיין חורג בצורה ניכרת מהכתיבה האנושית הטבעית.[1][3]
צורה נסתרת זו מתבטאת כשילוב של:
- צפיות מופרזת;
- קצב אחיד של ביטויים;
- ניסוחים בטוחים אך חלשים;
- חוסר בהפתעה, ניואנסים ועומק סמנטי.[1][3]
דווקא לכן ניוון טקסט נוירוני אינו מסתכם בלולאות בלבד. הוא מקיף מגוון רחב יותר של תסמינים — מחזרות מפורשות ועד לדלדול סמנטי עדין, שבו הטקסט נשאר נכון פורמלית, אך מאבד מגוון, ביטוייות וערך תוכני.[1][3][2]
סיבות
אי-התאמה בין אימון לפענוח
מודלי שפה מאומנים בדרך כלל לנבא את ה-token הבא לפי התפלגות הסתברות. אולם בעת יצירה, הטקסט לעיתים קרובות אינו נשאב כדגימה מהתפלגות זו, אלא באמצעות נהלים שמקסמים נוקשה את ההסתברות בכל שלב או לאורך כל הרצף. הפער בין מטרות האימון לכללי הפענוח הוא אחת הסיבות המרכזיות לניוון במשימות פתוחות.[1]
"הזנב הבלתי-אמין" של ההתפלגות
מן הצד השני, חופש דגימה מלא יכול אף הוא להיות מזיק. אפילו tokens בעלי הסתברות נמוכה מאוד בדרך כלל בעלי הסתברות אפסית-שאינה-אפס, ובתוכם נמצאים גרסאות רבות חלשות, רועשות או מתואמות-גרוע. אם המודל בוחר token מזנב כזה, איכות ההמשך עשויה להידרדר בחדות.[1][2]
הפרת טיפוסיות מקומית
Meister ושותפיו קושרים את הניוון לכך שטקסט טבעי בדרך כלל שומר על תוכן מידעי הקרוב לאנטרופיה התנאית הצפויה. כאשר הפענוח סוטה באופן שיטתי מ"טיפוסיות" זו, הטקסט עשוי להיות בנאלי מדי או רועש מדי.[3]
קשר לשיטות פענוח
ניוון טקסט נוירוני קשור קשר הדוק לא רק לאיכות מודל השפה עצמו, אלא גם לאופן שבו ה-token הבא נבחר מהתפלגות ההסתברות שלו. אותה קבוצת הסתברויות עשויה לתת תוצאות שונות בצורה ניכרת בהתאם לאסטרטגיית הפענוח: שיטות מסוימות מחזקות חזרות ושגרתיות, אחרות מגדילות מגוון אך מסתכנות באובדן קוהרנטיות, ואחרות מנסות לשמור על פשרה בין הקצוות הללו.[1]
חיפוש חמדני ו-beam search
חיפוש חמדני וחיפוש קרן נוטים במיוחד לחזרות ולשגרתיות במשימות יצירה פתוחה, שכן הם מעדיפים באופן שיטתי את ההמשכים הסבירים ביותר.[1]
במקרה של חיפוש חמדני, המודל בוחר בכל שלב את ה-token הסביר ביותר. גישה זו עובדת היטב כשלמשימה יש קבוצה צרה יחסית של תשובות נכונות, אך ביצירה חופשית היא לעיתים קרובות הופכת את הטקסט לצפוי מדי. המודל בוחר שוב ושוב בהמשכים ה"בטוחים" ביותר, ולכן:
- הנטייה לחזור על קונסטרוקציות שנבחרו מתחזקת;
- מגוון הניסוחים יורד;
- הטקסט הופך שגרתי ודל יותר בתוכן.[1]
חיפוש קרן (beam search) מרחיב חלקית את מרחב החיפוש, שכן הוא עוקב בו-זמנית אחר מספר השערות הסבירות ביותר. אולם במשימות טקסט פתוח זה לא תמיד מונע ניוון. להפך, בשל ההכוונה הכוללת למקסימום הסתברות, הוא גם עשוי להעדיף באופן שיטתי המשכים "נכונים" מדי אך בלתי-טבעיים, מה שמגביר את הסיכון ל:
- אחידות;
- חזרתיות;
- טקסט חלק מדי אך דל בתוכן.[1]
במילים אחרות, שיטות הבוחרות בעקביות מדי את ההמשך הסביר ביותר לעיתים קרובות מנצחות בצפיות מקומית, אך מפסידות בטבעיות יצירה ארוכה.[1]
דגימה טהורה
דגימה שאינה מוגבלת נוקשה מגדילה מגוון, אך ללא מסננים נוספים לוכדת לעיתים קרובות tokens חלשים מזנב ההתפלגות, מה שעלול לפגוע בקוהרנטיות הטקסט.[1]
בדגימה טהורה, ה-token הבא נבחר באקראי בהתאם להתפלגות ההסתברות המלאה של המודל. בניגוד לחיפוש חמדני או beam search, גישה זו נותנת למודל יותר חופש ומסייעת להימנע מ"תקיעה" מוקדמת מדי בתבנית אחת.[1]
אולם לחופש זה יש צד שלילי. גם אם ההסתברות של tokens רבים נמוכה מאוד, בדרך כלל עדיין יש להם סיכוי אפסי-שאינו-אפס להיבחר. בשל כך, המודל עשוי ללכוד המשכים מ"זנב" ההתפלגות, שם שכיחים יותר:
- מילים אקראיות וחלשות מבחינת קונטקסט;
- המשכים מתואמים-גרוע;
- tokens קבילים מקומית אך פוגעים בקוהרנטיות הכוללת של הטקסט.[1]
כתוצאה מכך, דגימה טהורה לעיתים קרובות מפחיתה שגרתיות, אך בו-זמנית הופכת את הטקסט לפחות יציב: הוא עשוי להישאר מגוון, אך הופך רופף יותר, בלתי-עקבי יותר או סמנטית בלתי-יציב.[1]
שיטות חיתוך ההתפלגות
שיטות חיתוך ההתפלגות — בעיקר Top-p ו-Top-k — הוצעו כדרך מעשית להפחית ניוון. הן מגבילות את קבוצת ה-tokens המותרים ובכך מורידות את הסתברות ההמשכים הכושלים.[1][2]
ההיגיון הכללי של שיטות אלה הוא לא לאפשר למודל לבחור את ה-token הבא מתוך כל הלקסיקון. במקום זאת, רק החלק הסביר ביותר של ההתפלגות נבחן:
- Top-k מותיר מספר קבוע של ה-tokens הסבירים ביותר;
- Top-p מותיר "גרעין" דינמי של tokens שהסתברותם המצטברת מגיעה לסף נתון.[1]
הגבלה זו מפחיתה את הסיכון שהמודל יבחר המשך חלש מהזנב הבלתי-אמין, אך אינה מחייבת אותו לבחור בכל פעם בגרסה ה"טובה" היחידה. בזכות כך, שיטות החיתוך הן לעיתים קרובות פתרון ביניים בין שני הקצוות:
- מקסימציה נוקשה מדי;
- דגימה חופשית ורועשת מדי.[1]
במועד מאוחר יותר, Finlayson ושותפיו הציעו פרשנות תיאורטית מחמירה יותר לאפקטיביות זו. הם מראים כי שיטות truncation מסייעות לפסול tokens שסביר יותר שאינם שייכים לתמיכה של התפלגות הטקסט ה"אמיתית", כלומר בלתי-אמינים במיוחד מנקודת מבט המודל. לכן ניתן לראות בחיתוך לא רק תחבולה הנדסית אמפירית, אלא גם דרך להפחית את הסתברות שגיאות שיטתיות בשלב בחירת ה-token.[2]
אסטרטגיות מודרניות
שיטות מאוחרות יותר, כגון locally typical sampling, שואפות להפחית חזרות ניווניות תוך שמירה על איכות היצירה.[3] באופן דומה, contrastive search הוצע כדרך להגדיל מגוון מבלי להקריב קוהרנטיות טקסט.[4]
שיטות אלה מפתחות את הרעיון שהבעיה נעוצה לא רק בכמות ה-tokens לשמור, אלא גם באילו tokens ראוי לראות כמועמדים טובים.
Locally typical sampling אינו מתמקד פשוט בהסתברות גבוהה, אלא בקרבת התוכן המידעי של ה-token לאנטרופיה התנאית הצפויה. הדבר מאפשר להפחית מצבים שבהם המודל:
- בוחר המשכים בנאליים ו"ריקים" מדי;
- נתקע בחזרות ניווניות;
- הופך צפוי מדי גם ללא לולאות מפורשות.[3]
Contrastive search משתמש בהיגיון שונה: הוא שואף לבחור המשכים שבה-בעת נשארים סבירים ואינם דומים מדי לקונטקסט שכבר נוצר. בזכות כך, יורד הסיכוי שהמודל יחזק אותן קונסטרוקציות פשוט משום שהן סבירות מאוד מקומית.[4]
בהשוואה לאסטרטגיות decoding קלאסיות, שיטות אלה מנסות לא רק להגביל את הבחירה, אלא להפוך את קריטריון הבחירה עצמו לרגיש יותר לאיכות יצירה ארוכה — כלומר, האם הטקסט יישאר תוכני, מגוון וקוהרנטי לאורך מספר משפטים או פסקאות.[3][4]
תלות במצב הפענוח
הקשר בין ניוון נוירוני לפענוח אינו מסתכם בניגוד בין שיטות "טובות" ל"רעות". אותו אלגוריתם עשוי להתנהג בצורה שונה בהתאם לנוקשות או חופש ההגבלה שהוא מטיל על ההתפלגות בכל שלב.[1]
באופן כללי ניתן להבחין בשלושה מצבים:
- בחירה נוקשה מדי — המודל לוקח כמעט תמיד את ה-tokens הסבירים ביותר, מה שמחזק שגרתיות וחזרות;
- בחירה חופשית מדי — המודל מקבל גישה רחבה מדי להמשכים חלשים, מה שמגביר את סיכון חוסר הקוהרנטיות;
- בחירה מוגבלת-מתונה — המודל שומר על מגוון אך נשאר בגבולות החלק המהימן של ההתפלגות.[1][2]
דווקא לכן ניוון נוירוני נחשב לעיתים קרובות כתוצאה לא רק מאיכות המודל עצמו, אלא גם ממצב פענוח כושל: נוקשה מדי, רך מדי, או לא מתואם היטב עם משימת היצירה הספציפית.[1][3]
בפשטות, ניוון מופיע לעיתים קרובות יותר בשני הקצוות: כאשר המודל בוחר בנוקשות יתרה רק את המילים הסבירות ביותר, או להפך, מקבל יותר מדי חופש ומתחיל למשוך המשכים אקראיים וחלשים. האסטרטגיות היציבות ביותר בדרך כלל נמצאות בין שני המצבים הקיצוניים הללו.[1][2]
שיטות הפחתה
למרות שאין דרך אוניברסלית לסלק לגמרי ניוון טקסט נוירוני, בפועל פותח מספר שיטות המאפשרות להפחית בצורה ניכרת את ביטוייו האופייניים ביותר — בעיקר חזרות, שגרתיות, אובדן קוהרנטיות ולכידת ה"זנב הרועש" של ההתפלגות. שיטות אלה נבדלות זו מזו באופן שבו הן מגבילות את בחירת ה-token הבא: חלקן פשוט כורתות גרסאות חלשות, אחרות מתחשבות בצורת ההתפלגות בעדינות רבה יותר, ואחרות מנסות לאזן ישירות בין קוהרנטיות ומגוון.[1][2][5]
חיתוך ההתפלגות
הדרך הנפוצה ביותר להילחם בניוון נוירוני היא להגביל את בחירת ה-token הבא לא לכל הלקסיקון, אלא רק לחלקו הסביר ביותר. על כך מבוססים Top-p ו-Top-k.[1][2]
הרעיון המרכזי של שיטות אלה הוא שהמודל לא צריך לבחור חופשי מבין כל ה-tokens האפשריים, שכן חלק משמעותי מההתפלגות נמצא ב"זנב הבלתי-אמין", שבו מצטברים גרסאות חלשות, רועשות או מתואמות-גרוע. החיתוך מאפשר לצמצם מלאכותית את מרחב הבחירה ובכך להפחית את ההסתברות שהיצירה תסטה בחדות לחוסר קוהרנטיות או תתחיל להתפרק.[1][2]
בפועל, שתי הסכמות הידועות ביותר הן:
- Top-k — מותיר רק מספר קבוע של ה-tokens הסבירים ביותר;
- Top-p (nucleus sampling) — מותיר "גרעין" דינמי של tokens שהסתברותם המצטברת מגיעה לסף נתון .[1]
המשמעות הכוללת שלהן זהה: לא לאפשר למודל לבחור ממספר גדול מדי של המשכים חלשים. במקביל, Top-p בדרך כלל נחשב גמיש יותר, שכן גודל הקבוצה המותרת משתנה משלב לשלב בהתאם לצורה הנוכחית של ההתפלגות.[1]
Finlayson ושותפיו הציעו פרשנות מחמירה יותר לכך ששיטות truncation לעיתים קרובות עובדות: החיתוך מסייע לפסול tokens שעשויים שלא לשייך לתמיכה של התפלגות הטקסט ה"אמיתית", כלומר בלתי-אמינים במיוחד מנקודת מבט המודל. לכן שיטות כאלה אינן פשוט "כורתות זנב" מכנית, אלא למעשה מפחיתות את ההסתברות של שגיאות שיטתיות בשלב בחירת ה-token.[2]
בפשטות, חיתוך ההתפלגות עוזר למודל לא להכנס יותר מדי לאזור הגרסאות החלשות והאקראיות. בזכות כך הטקסט נשאר לעיתים קרובות קוהרנטי יותר, טבעי יותר ופחות נטוי לניוון.
שיטות דגימה אדפטיביות יותר
Locally typical sampling, η-sampling וגישות קרובות מנסות לא פשוט "לכרות את הזנב", אלא להתחשב בצורת ההתפלגות ובמבנה המידעי של שלב היצירה הנוכחי.[3]
בניגוד לחיתוך פשוט, שיטות כאלה שואפות להתחשב לא רק בכמה סביר ה-token, אלא גם בכמה הוא טיפוסי לקונטקסט הנוכחי. זה חשוב, משום שניוון מתרחש לא רק בשל tokens חלשים מדי, אלא גם בשל העדפת יתר להמשכים "בטוחים" ובנאליים מדי.[3]
למשל, locally typical sampling מתמקד בקרבת התוכן המידעי של ה-token לאנטרופיה התנאית הצפויה. במילים אחרות, הוא מנסה לבחור לא פשוט את המילים הסבירות ביותר, אלא אלה המתאימות טוב יותר ל"רמת האינפורמטיביות הנורמלית" לקונטקסט הנוכחי. הדבר מאפשר להפחית:
- חזרות ניווניות;
- שגרתיות מופרזת;
- דלדול סמנטי של הטקסט תוך שמירה על קוהרנטיות כוללת.[3]
שיטות אדפטיביות אחרות משתמשות בהיגיון דומה: במקום חיתוך קבוע פשוט, הן שואפות להתאים את עצמן למצב הנוכחי של ההתפלגות. בזכות כך, המודל פחות נוטה ליפול לשני הקצוות:
- להיות צפוי ו"שטוח" מדי;
- ללכוד המשכים חלשים ורועשים מדי.[3]
שיטות כאלה בדרך כלל מורכבות יותר לפרשנות ולכיוון מאשר Top-k או Top-p, אך הן עשויות להתמודד טוב יותר עם צורות עדינות של ניוון, שבהן הבעיה אינה חוסר קוהרנטיות מפורש, אלא אובדן אינפורמטיביות וחזרתיות של תבניות דיבור.[3][5]
בפשטות, שיטות אדפטיביות יותר מנסות לא פשוט להסיר מילים חלשות, אלא לשמור על ההמשכים המתאימים ביותר לקונטקסט הנוכחי מבחינת משמעות ו"טבעיות".
Contrastive search
Contrastive search ושיטות קרובות שואפות לשמור בו-זמנית על קוהרנטיות ומגוון, תוך הפחתת חזרות המופיעות לעיתים קרובות בפענוח מבוסס מקסימציה נוקשה.[4]
רעיון הגישה הנגדית (contrastive) הוא לא להסתמך רק על ההסתברות של ה-token הבא. במקום זאת, בחירת המועמד בנויה כפשרה בין שתי דרישות:
- ההמשך חייב להיות סביר מספיק;
- ההמשך לא צריך להיות דומה מדי לקונטקסט שכבר נוצר ובכך לחזק חזרה.[4]
בזכות כך, contrastive search מנסה לדכא בדיוק אותם המשכים שנראים פורמלית סבירים מאוד, אך בפועל מובילים ללולאות, שגרתיות או יצירה אחידה מדי. בניגוד לדגימה טהורה, גישה זו אינה מציגה אקראיות כמנגנון מרכזי נגד ניוון, אלא מנסה לבחור בכוונה המשכים סבירים מספיק, אך פחות ניווניים.[4]
שיטות כאלה חשובות במיוחד משום שאסטרטגיות מבוססות-מקסימציה קלאסיות לעיתים קרובות מעניקות ביטחון מקומי גבוה, אך משלמות על כך בטבעיות הטקסט. Contrastive search מנסה לשמור על נקודות החוזקה של הבחירה הדטרמיניסטית — קוהרנטיות ויציבות — תוך הפחתה בו-זמנית של חזרות ואחידות.[4]
בפשטות, contrastive search מנסה לא לקחת המשך רק משום שהוא הסביר ביותר. הוא "מעניש" בנוסף גרסאות אחידות מדי, כדי שהטקסט לא ייתקע בלולאה ולא יהיה שגרתי מדי.
התאמת האסטרטגיה למשימה
מחקרים מאוחרים יותר מדגישים שאין שיטה אוניברסלית: האפקטיביות של אסטרטגיית decoding ספציפית תלויה בסוג המשימה, גודל המודל, יישור ועוד גורמים. מה שעובד היטב ליצירת דיאלוג או חיבור, עשוי לעבוד פחות טוב בקוד, מתמטיקה או תחומים דטרמיניסטיים אחרים.[5]
הדבר אומר שההתמודדות עם ניוון נוירוני אינה רק בחירת האלגוריתם ה"טוב ביותר", אלא גם התאמת השיטה לסוג המשימה. ביצירה פתוחה (סיפורים, דיאלוגים, תשובות ארוכות), שיטות דגימה וסכמות בחירה גמישות יותר לעיתים קרובות מסייעות לשמור על מגוון וטבעיות. במשימות נוקשות ודטרמיניסטיות יותר — לדוגמה, בתכנות, מתמטיקה או משימות עם תשובה נכונה חד-משמעית — סטוכסטיות אגרסיבית מדי, להפך, עשויה להוריד את איכות התוצאה.[5]
Shi ושותפיו גם מראים שהתוצאה הסופית מושפעת לא רק מאסטרטגיית הפענוח עצמה, אלא גם מ:
- גודל המודל;
- מידת יישורו;
- רגישות להיפרפרמטרים;
- סביבת הפריסה ומגבלות inference.[5]
מכאן נובע מסקנה מעשית חשובה: אותה שיטה עשויה להיראות חזקה בתצורה אחת ובצורה ניכרת חלשה יותר — באחרת. לכן הפחתת ניוון נוירוני בפועל כמעט תמיד מחייבת כיוון פרמטרים ובדיקה על מחלקת משימות ספציפית, ולא הסתמכות על "מתכון אוניברסלי" אחד.[5]
בפשטות, שיטת פענוח טובה תלויה במה שהמודל עושה בדיוק. לטקסט חופשי עובדות שיטות אחד, לקוד, מתמטיקה ומשימות מדויקות אחרות — אחרות.
שילוב שיטות
בפועל, שיטות ההפחתה לעיתים קרובות מיושמות לא בבידוד, אלא בשילוב זו עם זו. לדוגמה, חיתוך ההתפלגות עשוי להשתמש יחד עם טמפרטורה, ואסטרטגיות מורכבות יותר — לשולב עם הגבלות נוספות על בחירת tokens.[1][5]
המשמעות של שילובים כאלה היא לחלק פונקציות:
- מנגנון אחד קובע את הרמה הכוללת של מגוון;
- אחר מגביל את ה"זנב הרועש";
- השלישי מפחית את הסיכון לחזרות או שגרתיות.[1][4]
אולם ריבוי המנגנונים המכוונים בו-זמנית מסבך את השליטה בהתנהגות המודל. לכן סכמה מורכבת יותר לא תמיד אומרת תוצאה טובה יותר: הרווח תלוי לעיתים קרובות בכמה טוב כוונו ההיפרפרמטרים ובכמה השילוב הספציפי מתאים למשימה.[5]
במילים אחרות, הפחתת ניוון נוירוני לרוב בנויה לא על שיטה "קסומה" אחת, אלא על שילוב זהיר של מספר הגבלות, שכל אחת מהן מסלקת את חלקה שלה בבעיה.
לא לבלבל עם model collapse
יש להיזהר ולא לערבב בין ניוון טקסט נוירוני במשמעות Holtzman ושותפיו לבין model collapse — תופעה נפרדת הנחקרת בעבודות על אימון רקורסיבי של מודלים על נתונים סינתטיים.
במקרה הראשון, מדובר בעיקר בניוון טקסט בשלב היצירה (inference), כאשר אסטרטגיית פענוח כושלת מובילה לחזרות, שגרתיות או אובדן קוהרנטיות.[1] בשני — בדגרדציה של המודל בשלב האימון, כאשר נתונים שנוצרו על ידי המודל מתחילים ל"זהם" את קבוצת האימון של דור המודלים הבא, מה שעלול להוביל להיעלמות אירועים נדירים וצמצום ההתפלגות.[6]
תופעות אלה קשורות נושאית, שכן שתיהן עוסקות בהידרדרות איכות הטקסט הנוירוני, אולם בספרות הן נחשבות בדרך כלל לבעיות שונות: האחת שייכת לפענוח, האחרת — לנתונים ולאימון.[1][6]
משמעות עבור מודלי שפה גדולים
בעידן מודלי שפה גדולים, בעיית ניוון הטקסט הנוירוני לא נעלמה, אלא עברה מתחום גנרטורי הטקסט הקטנים לתחום ניהול ההתנהגות של מערכות חזקות יותר. אמנם LLM מודרניים בדרך כלל מיושרים טוב יותר ונופלים פחות ללולאות חזרה גסות, אך בחירת אסטרטגיית decoding עדיין משפיעה בצורה ניכרת על הטבעיות, המגוון ויציבות הפלט.[5]
מסיבה זו, ניוון טקסט נוירוני אינו נתפס כפגם צר של מודלי שפה מוקדמים, אלא כבעיה יסודית של יצירה מעשית: מודלינג הסתברותי טוב כשלעצמו אינו מבטיח טקסט טוב בשלב inference.[1][2]
ראו גם
- Top-p sampling
- Top-k sampling
- טמפרטורה
- מודלי שפה גדולים
ספרות
- Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019; פורסם ב-ICLR 2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
- Finlayson, M., Hewitt, J., Koller, A., Swayamdipta, S., & Sabharwal, A. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
- Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. TACL 2023.
- Shi, C., Yang, H., Cai, D., Zhang, Z., Wang, Y., Yang, Y., & Lam, W. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. EMNLP 2024.
- Su, Y., Lan, T., Wang, Y., Yogatama, D., Kong, L., & Collier, N. (2022). A Contrastive Framework for Neural Text Generation. arXiv:2202.06417.
- Shumailov, I. et al. (2024). AI models collapse when trained on recursively generated data. Nature 2024.
הערות
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 1.35 1.36 1.37 1.38 1.39 1.40 1.41 1.42 1.43 1.44 1.45 1.46 1.47 Holtzman, A., Buys, J., Du, L., Forbes, M., & Choi, Y. (2019). The Curious Case of Neural Text Degeneration. arXiv:1904.09751. [1]
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 Finlayson, M., Hewitt, J., Koller, A., Swayamdipta, S., & Sabharwal, A. (2024). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693. [2]
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 Meister, C., Pimentel, T., Wiher, G., & Cotterell, R. (2023). Locally Typical Sampling. Transactions of the Association for Computational Linguistics, 11. [3]
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Su, Y., Lan, T., Wang, Y., Yogatama, D., Kong, L., & Collier, N. (2022). A Contrastive Framework for Neural Text Generation. arXiv:2202.06417. [4]
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 Shi, C., Yang, H., Cai, D., Zhang, Z., Wang, Y., Yang, Y., & Lam, W. (2024). A Thorough Examination of Decoding Methods in the Era of LLMs. EMNLP 2024. [5]
- ↑ 6.0 6.1 Shumailov, I. et al. (2024). AI models collapse when trained on recursively generated data. Nature. [6]