Perplexity (metric) (HE)

From Systems analysis Wiki
Jump to navigation Jump to search

פרפלקסיה (באנגלית: Perplexity, PPL) בתורת המידע ובלמידת מכונה היא מדד לאי-וודאות או ל"הפתעה" של מודל שפה בעת ניבוי מדגם טקסט. פרפלקסיה נמוכה מצביעה על כך שהתפלגות ההסתברות של המודל תואמת היטב את נתוני הבדיקה, בעוד שפרפלקסיה גבוהה מעידה שהמודל מנבא את הרצף בצורה גרועה[1].

פורמלית, פרפלקסיה של התפלגות הסתברות מוגדרת כחזקה של האנטרופיה שלה. עבור התפלגות דיסקרטית p(x) היא שווה ל-2H(p), כאשר H(p) היא האנטרופיה[2]. באופן אינטואיטיבי, ניתן להבין את הפרפלקסיה כמספר ה"אפקטיבי" של אפשרויות שמהן המודל בוחר בכל שלב. אם הפרפלקסיה שווה 100, הדבר מעיד שאי-הוודאות של המודל שקולה לבחירה אחת מבין 100 תוצאות בעלות הסתברות שווה[3].

המונח הוצג לראשונה בשנת 1977 על ידי קבוצת חוקרים מ-IBM בהנהגת פרדריק ג'לינק, בהקשר של זיהוי דיבור סטטיסטי, לשם כימות "קושי" המשימה[4].

פרפלקסיה במודלי שפה

בתחום עיבוד שפה טבעית (NLP), הפרפלקסיה הפכה למדד פנימי (intrinsic) סטנדרטי להערכת איכות מודלי שפה. היא מודדת עד כמה המודל מנבא היטב רצף של מילים או token-ים בנתוני הבדיקה.

הגדרה פורמלית

עבור קורפוס בדיקה W=w1w2wN ומודל שפה q, הפרפלקסיה מחושבת כממוצע הגיאומטרי ההפוך של הסתברות קורפוס הבדיקה, מנורמל לפי מספר המילים: PP(W,q)=(i=1N1q(wiw1,,wi1))1/N

נוסחה זו שקולה לחזקה של אנטרופיה צולבת, או ממוצע ההפסד הלוגריתמי (negative log-likelihood): PP(W,q)=exp(1Ni=1Nlogq(wiконтекст))

מזעור הפרפלקסיה שקול למיקסום הסבירות של המודל על נתוני הבדיקה. לפיכך, מודל בעל פרפלקסיה נמוכה יותר נחשב מדויק יותר מבחינה סטטיסטית[5].

שימוש היסטורי ו-LLM מודרניים

היסטורית, הפרפלקסיה שימשה רבות להערכת מודלי n-gram סטטיסטיים. לדוגמה, עבור קורפוס Wall Street Journal, מודל unigram (המתחשב רק בתדירויות מילים) מגיע לפרפלקסיה של כ-962, בעוד שמודל trigram (המתחשב בהקשר של שתי המילים הקודמות) מגיע לכ-109[6]. ירידה חדה זו ממחישה עד כמה טוב יותר המודל לוכד חוקיות לשונית.

עם התפתחות מודלי השפה הגדולים (LLM), הפרפלקסיה שמרה על תפקידה כאמת מידה בסיסית. חוקרים מדווחים על פרפלקסיה בנתוני בדיקה סטנדרטיים (כגון WikiText) כמדד ל"שטף" המודל. כך, במאמר OpenAI על GPT-2 צוין שמודל עם כ-117 מיליון פרמטרים מגיע לפרפלקסיה של כ-37 על קורפוס WikiText-103[7]. ירידה בפרפלקסיה בדרך כלל מתאמת עם שיפור באיכות המודל, ולכן המדד משמש אינדיקטור נוח לקדמה בתהליך האימון והאופטימיזציה.

מגבלות ופרשנות המדד

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

  • פרפלקסיה נמוכה ≠ איכות גבוהה. הפרפלקסיה מודדת ביטחון המודל בתחזיותיו, אך לא את מהימנותן. המודל עשוי לטעות בביטחון רב, ולייצר טקסט חסר משמעות אך סטטיסטית סביר (לדוגמה, על ידי חזרה על מילים וביטויים שכיחים מאוד)[3].
  • רגישות לנתונים ולטוקניזציה. הפרפלקסיה אינה מתאימה להשוואה ישירה בין מודלים בעלי ארכיטקטורות, אוצרות מילים או שיטות tokenization שונות. לדוגמה, מודל ברמת תווים עשוי להציג פרפלקסיה נמוכה יותר מבחינה מספרית ממודל ברמת מילים, אך אין בכך כדי להעיד שהוא פותר משימות שפה טוב יותר[3].
  • חוסר יכולת להעריך סמנטיקה והקשר ארוך. הפרפלקסיה היא מדד מקומי המעריך ניבוי ה-token הבא. היא מתאמת בצורה חלשה עם יכולת המודל לתפוס תלויות ארוכות טווח והקשר תוכני על פני מרחקים גדולים. מחקר משנת 2023 (Hu et al.) הראה שיכולת LLM להבין טקסטים ארוכים (עד 100 אלף token-ים) כמעט אינה באה לידי ביטוי במדד הפרפלקסיה[8].
  • אפשרות לתמרון. ניתן "להערים" על המדד. מודל שסבל מ-overfitting יציג פרפלקסיה נמוכה באופן מלאכותי על נתונים שה"זכור". מחקרים (Wang et al., 2022) הראו גם שכפילות של קטעי טקסט או אפילו היעדר נקודה בסוף משפט עלולים להוריד או להעלות את הפרפלקסיה ללא הצדקה, מבלי להשפיע על איכות הטקסט בפועל[9].

סיכום: תפקיד הפרפלקסיה כיום

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

אולם להערכה מלאה של LLM, הפרפלקסיה לבדה אינה מספיקה. כיום היא משולבת בהכרח עם מדדים חיצוניים (extrinsic) הקשורים למשימות ספציפיות, כגון:

  • דיוק מענה על שאלות;
  • הערכה אנושית (human evaluation);
  • BLEU/ROUGE לתרגום מכונה ולסיכום טקסטים.

בשילוב עם שיטות אלו, הפרפלקסיה ממשיכה למלא תפקיד חשוב — לשמש מדד אובייקטיבי ל"הפתעה" של המודל — אך תוצאותיה תמיד מפורשות תוך התחשבות במגבלות האמורות[3].

קישורים

  • מאמר "פרפלקסיה במודלי שפה" ב-Хабре
  • תיעוד Hugging Face לחישוב פרפלקסיה

ספרות

  • Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
  • Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (מהדורה 3, פרק 3: N-gram Language Models). PDF.
  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
  • Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
  • Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
  • Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.

הערות

  1. «Перплексия». Википедия. [1]
  2. «Perplexity». Wikipedia. [2]
  3. 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
  4. «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
  5. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
  6. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
  7. «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
  8. Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 мая 2024 г. [8]
  9. Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 окт. 2022 г. [9]