מודל שפה
מודל שפה הוא שימוש בסטטיסטיקה על גבי רצפים של מילים. המודל מקבל טקסט ומחזיר את ההתפלגות למילה הבאה על פי כל המילים במילון של המודל.
הדוגמה המוכרת ביותר של מודל שפה הוא "השלמה אוטומטית" המציעה את המילה או המילים הכי סבירות ביחס לטקסט שהוקלד עד כה.
מודלי שפה משמשים עבור מגוון בעיות בבלשנות חישובית; זיהוי דיבור והפיכתו לטקסט, כדי להבטיח שרצפי מילים בסבירות נמוכה לא יופיעו, ועד לשימוש רחב יותר בתרגום מכונה, יצירת טקסט ממוכן דמוי אדם, זיהוי חלקי דיבור, זיהוי תווים אופטי, זיהוי ממוחשב של כתב יד, ויישומים נוספים.
סוגי מודלים
Unigram
ניתן להתייחס למודל Unigram כשילוב של כמה אוטומטים סופיים של מצב אחד.[1] המודל מניח שההסתברויות של אסימונים ברצף אינן תלויות, למשל:
במודל זה, ההסתברות של כל מילה תלויה רק בהסתברות של אותה מילה במסמך, כך שיש לנו רק אוטומטים סופיים של מצב אחד כיחידות. לאוטומט עצמו יש התפלגות הסתברות על כל אוצר המילים של המודל, המסתכמת ל-1. להלן איור של דגם Unigram של מסמך.
תנאים | הסתברות במסמך |
---|---|
a | 0.1 |
world | 0.2 |
likes | 0.05 |
we | 0.05 |
share | 0.3 |
... | ... |
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sum_{\text{term in doc}} P(\text{term}) = 1}
ההסתברות שנוצרת עבור שאילתה ספציפית מחושבת כ
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(\text{query}) = \prod_{\text{term in query}} P(\text{term})}
למסמכים שונים יש מודלי Unigram, עם הסתברויות פגיעה שונות של מילים. התפלגויות ההסתברות ממסמכים שונים משמשות ליצירת הסתברויות פגיעה עבור כל שאילתה. ניתן לדרג מסמכים עבור שאילתה לפי ההסתברויות. דוגמה למודלי Unigram של שני מסמכים:
תנאים | הסתברות ב-Doc1 | הסתברות ב-Doc2 |
---|---|---|
a | 0.1 | 0.3 |
world | 0.2 | 0.1 |
likes | 0.05 | 0.03 |
we | 0.05 | 0.02 |
share | 0.3 | 0.2 |
... | ... | ... |
בהקשרים של אחזור מידע, מודלי Unigram מופשטים לעיתים קרובות כדי למנוע מקרים שבהם P (מונח)=0. גישה נפוצה היא ליצור מודל סבירות מקסימלית עבור כל האוסף ואינטרפולציה ליניארית של מודל האוסף עם מודל סבירות מקסימלית עבור כל מסמך כדי לפשט את המודל.[2]
n-gram
במודל n-gram, ההסתברות הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_1,\ldots,w_m)} של התבוננות במשפט הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle w_1,\ldots,w_m} משוער כ
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_1,\ldots,w_m) = \prod^m_{i=1} P(w_i\mid w_1,\ldots,w_{i-1})\approx \prod^m_{i=2} P(w_i\mid w_{i-(n-1)},\ldots,w_{i-1})}
ההנחה היא שההסתברות להתקלות במילה ה- i w i בהיסטוריית ההקשר של ה- i הקודם - ניתן להעריך 1 מילים לפי ההסתברות להתבונן בה בהיסטוריית ההקשר המקוצרת של ה- n הקודמת - 1 מילים ( נכס מרקוב מסדר n ). כדי להבהיר, עבור n=3 ו- i=2 יש לנו הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_i\mid w_{i-(n-1)},\ldots,w_{i-1})=P(w_2\mid w_1)}
ניתן לחשב את ההסתברות המותנית מתוך ספירת תדירות של מודל n-gram:
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_i\mid w_{i-(n-1)},\ldots,w_{i-1}) = \frac{\mathrm{count}(w_{i-(n-1)},\ldots,w_{i-1},w_i)}{\mathrm{count}(w_{i-(n-1)},\ldots,w_{i-1})}}
מודלי bigram וtrigram מציינים מודלי n-gram עם n=2 ו- n=3, בהתאמה.[3]
בדרך כלל, הסתברויות מודל n-gram אינן נגזרות ישירות מספירת תדרים, מכיוון שבמודלים שנגזרו כך צפות בעיות כאשר הם מתמודדים עם n-gram כלשהם שלא נראו במפורש קודם לכן.
במקום זאת, נחוצה צורה כלשהי של "החלקה", הקצאת חלק ממסת ההסתברות הכוללת למילים בלתי נראות או ל-n-gram. נעשה שימוש בשיטות שונות, החל מהחלקה פשוטה של "הוספה אחת" (הקצאת ספירה של 1 ל-n- גרם בלתי נראה, כקודם לא אינפורמטיבי) ועד למודלים מתוחכמים יותר, כגון הנחות של Good-Turing או back-off models.
דו-כיווני
ייצוגים דו-כיווניים מתנים הן לפני והן לאחר ההקשר (למשל, מילים) בכל השכבות.
דוגמה
במודל שפה bigram (נ=2), ההסתברות של המשפט שראיתי את הבית האדום משוערת כמו
ואילו במודל שפה trigram (נ=3), הקירוב הוא
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(\text{I, saw, the, red, house}) \approx P(\text{I}\mid \langle s\rangle,\langle s\rangle) P(\text{saw}\mid\langle s\rangle,I) P(\text{the}\mid\text{I, saw}) P(\text{red}\mid\text{saw, the}) P(\text{house}\mid\text{the, red}) P(\langle /s\rangle\mid\text{red, house})}
שימו לב שההקשר של ה-n הראשונה–1 n -גרם מלא בסמנים של תחילת המשפט, המסומנים בדרך כלל על ידי <s>.
אקספוננציאלי
מודלים של שפת אנטרופיה מקסימלית מקודדים את הקשר בין מילה להיסטוריה של n-gram באמצעות פונקציות תכונה. המשוואה היא
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_m \mid w_1,\ldots,w_{m-1}) = \frac{1}{Z(w_1,\ldots,w_{m-1})} \exp (a^T f(w_1,\ldots,w_m))}
כאשר הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle Z(w_1,\ldots,w_{m-1})} היא פונקציית המחיצה, הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle a} הוא וקטור הפרמטר, ו הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle f(w_1,\ldots,w_m)} היא פונקציית הפיצ'ר. במקרה הפשוט ביותר, פונקציית התכונה היא רק אינדיקטור לנוכחות של n-gram מסוים.
המודל הלוג-ביליניארי הוא דוגמה נוספת למודל שפה אקספוננציאלי.
רשת נוירונים
מודלי שפות מבוססות רשתות נוירונים משתמשים בייצוגים או הטמעות מתמשכות של מילים כדי לבצע את התחזיות שלהם.[4] מודלים אלה עושים שימוש ברשתות עצביות מלאכותיות.
ככל שמודלי שפה מאומנים על טקסטים גדולים יותר ויותר, אוצר המילים של המודל גדל. וכך גם מספר הרצפים האפשריים של מילים גדל באופן אקספוננציאלי. דבר זה גורם לבעיה של "דלילות נתונים" בגלל הרצפים הרבים האפשריים. לפיכך, יש צורך בסטטיסטיקה כדי להעריך נכון את הסתברות הופעת המילה. רשתות נוירונים נמנעות מבעיה זו על ידי ייצוג מילים בצורה מבוזרת, כצירופים לא ליניאריים של משקלים ב"רשת נוירונים".[5]
בדרך כלל, מודלים של שפת רשת נוירונים בנויים ומאומנים כמסווגים הסתברותיים הלומדים לחזות התפלגות הסתברות
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_t \mid \mathrm{context}) \, \forall t \in V}
כלומר, הרשת מאומנת לחזות את התפלגות ההסתברות על פני אוצר המילים, בהתחשב להקשר לשוני כלשהו. זה נעשה באמצעות אלגוריתמים סטנדרטיים לאימון רשת נוירונים כגון "ירידה בשיפוע סטוכסטי" עם "התפשטות לאחור". ההקשר עשוי להיות חלון בגודל קבוע של מילים קודמות, כך שהרשת מנבאת
מ"וקטור תכונה" המייצג את k המילים הקודמות. אפשרות נוספת היא להשתמש במילים "עתידיות" כמו גם במילים מה"עבר" כתכונות, כך שההסתברות המשוערת היא
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle P(w_t \mid w_{t-k}, \dots, w_{t-1}, w_{t+1}, \dots, w_{t+k})}
זה נקרא מודל "שק של מילים" (bag-of-words). כאשר וקטורי התכונה של המילים בהקשר משולבים על ידי פעולה רציפה, המודל הזה מכונה ארכיטקטורת שקית המילים הרציפה (CBOW).
אפשרות שלישית שמתאמנת לאט יותר מה-CBOW אבל מתפקדת מעט יותר טוב היא להפוך את הבעיה הקודמת ולגרום לרשת נוירונים ללמוד את ההקשר בהינתן מילה. או בצורה מדויקת יותר, בהינתן רצף של מילות אימון הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle w_1, w_2, w_3, \dots, w_T} , אחד מגדיל את ההסתברות הממוצעת לlog
- הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{1}{T}\sum_{t=1}^T \sum_{-k \leq j \leq k, j \neq 0} \log P(w_{t+j} \mid w_t)}
כאשר k, גודל ההקשר האימון, יכול להיות פונקציה של המילה המרכזית הפענוח נכשל (SVG (אפשר להפעיל MathML בעזרת הרחבת דפדפן): תשובה בלתי־תקינה ("Math extension cannot connect to Restbase.") מהשרת "https://wikimedia.org/api/rest_v1/":): {\displaystyle w_t} . זה נקרא מודל שפת דילוג על גרם (skip-gram). מודלים של שקית מילים ודילוג על גרם הם הבסיס לתוכנית word2vec.[6]
מודלי שפה בולטים
- מודל שפה כללי (GLaM) של טריליון פרמטרים, ממחקר של Google[7]
- מודלי שפה ליישומי דיאלוג (LaMDA) מודל של 137 מיליארד פרמטרים מ-Google Research[8]
- Megatron-Turing מודל פרמטרים של 530 מיליארד NLG, מבית Microsoft/Nvidia[9]
- יצירת תמונה תלת-ממדית של DreamFusion/Imagen מ-Google Research[10]
- Get3D מ-Nvidia[11]
- MineClip מ-Nvidia[12]
- BigScience Large Open-Science (BLOOM) מודל שפה רב-לשונית פתוחה בגישה פתוחה עם 176 מיליארד פרמטרים.
- GPT-2: Generative Pre-trained Transformer 2 עם 1.5 מיליארד פרמטרים.
- GPT-3: Generative Pre-trained Transformer 3, עם גודל חסר תקדים של הקשר באורך 2048 אורך סמלי ו-175 מיליארד פרמטרים (דורש 800 GB של אחסון).
- GPT-3.5/ ChatGPT /InstructGPT מ-OpenAI[13]
- BERT: ייצוג מקודד דו-כיווני של רובוטריקים (BERT)
- GPT-NeoX-20B: מודל שפה אוטורגרסיבית בקוד פתוח עם 20 מיליארד פרמטרים.
- OPT-175B מאת Meta AI: מודל נוסף של שפה של 175 מיליארד פרמטרים. זה זמין לקהילת המחקר הרחבה יותר של AI.
- Point-E מאת OpenAI: מחולל מודלים תלת ממדיים.[14]
Hugging Face מארח קבוצה של דגמי שפה זמינים לציבור עבור מפתחים לבניית יישומים באמצעות למידת מכונה.
הערכת איכות של מודלים
הערכת האיכות של מודלי שפה נעשית בעיקר על ידי השוואה לאמות מידה מדגמיות שנוצרו על ידי אדם במשימות אופייניות למטרה הנמדדת.
מבחני איכות נוספים בודקים את האופי הפנימי של מודל שפה או משווים שני מודלים אחד לשני. מכיוון שמודלי שפה נועדו בדרך כלל להיות דינמיים וללמוד מנתונים שהם רואים, כמה מודלים מוצעים חוקרים את קצב הלמידה, למשל באמצעות בדיקה של עקומות הלמידה של המודלים.[15]
מערכי נתונים שונים פותחו לשימוש כדי להעריך מערכות עיבוד שפה:
- קורפוס של קבילות לשונית[16]
- מדד GLUE[17]
- קורפוס הפרפראזה של מיקרוסופט[18]
- הסקת שפה טבעית רב-ז'אנרית
- שאלה בהסקת שפה טבעית
- צמדי שאלות Quora[19]
- זיהוי מעורבות טקסטואלית[20]
- מדד דמיון טקסטואלי סמנטי
- מבחן תשובה לשאלות SQuAD[21]
- Stanford Sentiment Treebank [22]
- וינוגרד NLI
ביקורת
למרות שניתן להראות שמודלי שפה בזמננו, דוגמת GPT-2, יכולים לבצע פעולות אנושיות בכמה סוגי משימות, לא הוכח עדיין שהם מודלים קוגניטיביים סבירים. לדוגמה, הוכח שרשתות עצביות חוזרות על דפוסים שבני אדם לא יוצרים באופן טבעי ואינם מצליחים ללמוד דפוסים רבים שבני אדם כן לומדים.[23]
קישורים חיצוניים
- בחירה נכונה של מודל שפה, באתר ai-blog
הערות שוליים
- ^ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, pages 237–240. Cambridge University Press, 2009
- ^ Buttcher, Clarke, and Cormack. Information Retrieval: Implementing and Evaluating Search Engines. pg. 289–291. MIT Press.
- ^ Craig Trim, What is Language Modeling?, April 26th, 2013.
- ^ Karpathy, Andrej. "The Unreasonable Effectiveness of Recurrent Neural Networks".
- ^ Bengio, Yoshua (2008). "Neural net language models". Scholarpedia. Vol. 3. p. 3881. Bibcode:2008SchpJ...3.3881B. doi:10.4249/scholarpedia.3881.
- ^ Harris, Derrick (16 באוגוסט 2013). "We're on the cusp of deep learning for the masses. You can thank Google later". Gigaom.
{{cite web}}
: (עזרה) - ^ Dai, Andrew M; Du, Nan (9 בדצמבר 2021). "More Efficient In-Context Learning with GLaM". ai.googleblog.com (באנגלית). נבדק ב-2022-12-05.
{{cite web}}
: (עזרה) - ^ Cheng, Heng-Tze; Thoppilan, Romal (21 בינואר 2022). "LaMDA: Towards Safe, Grounded, and High-Quality Dialog Models for Everything". ai.googleblog.com (באנגלית). נבדק ב-2022-12-05.
{{cite web}}
: (עזרה) - ^ Smith, Shaden; Patwary, Mostofa; Norick, Brandon; LeGresley, Patrick; Rajbhandari, Samyam; Casper, Jared; Liu, Zhun; Prabhumoye, Shrimai; Zerveas, George; Korthikanti, Vijay; Zhang, Elton (2022-02-04). "Using DeepSpeed and Megatron to Train Megatron-Turing NLG 530B, A Large-Scale Generative Language Model". arXiv:2201.11990 [cs].
- ^ Poole, Ben; Jain, Ajay; Barron, Jonathan T.; Mildenhall, Ben (2022). "DreamFusion: Text-to-3D using 2D Diffusion". נבדק ב-2022-12-05.
- ^ Gao, Jun; Shen, Tianchang; Zian, Wang; Chen, Wenzheng; Yin, Kangxue; Li, Diaqing; Litany, Or; Gojcic, Zan; Fidler, Sanja (2022). "GET3D: A Generative Model of High Quality 3D Textured Shapes Learned from Images" (PDF). nv-tlabs.github.io. נבדק ב-2022-12-05.
- ^ Fan, Linxi; Wang, Guanzhi; Jiang, Yunfan; Mandlekar, Ajay; Yang, Yuncong; Zhu, Haoyi; Tang, Andrew; Huang, De-An; Zhu, Yuke; Anandkumar, Anima (2022-06-17). "MineDojo: Building Open-Ended Embodied Agents with Internet-Scale Knowledge" (באנגלית). doi:10.48550/arXiv.2206.08853.
{{cite journal}}
: Cite journal requires|journal=
(עזרה) - ^ "ChatGPT: Optimizing Language Models for Dialogue". OpenAI (באנגלית). 2022-11-30. נבדק ב-2022-12-05.
- ^ Wiggers, Kyle (2022-12-20). "OpenAI releases Point-E, an AI that generates 3D models". TechCrunch (באנגלית). נבדק ב-2022-12-25.
- ^ Karlgren, Jussi; Schutze, Hinrich (2015), "Evaluating Learning Language Representations", International Conference of the Cross-Language Evaluation Forum, Lecture Notes in Computer Science, Springer International Publishing, pp. 254–260, doi:10.1007/978-3-319-64206-2_8, ISBN 9783319642055
- ^ "The Corpus of Linguistic Acceptability (CoLA)". nyu-mll.github.io. נבדק ב-2019-02-25.
- ^ "GLUE Benchmark". gluebenchmark.com (באנגלית). נבדק ב-2019-02-25.
- ^ "Microsoft Research Paraphrase Corpus". Microsoft Download Center (באנגלית אמריקאית). נבדק ב-2019-02-25.
- ^ Aghaebrahimian, Ahmad (2017), "Quora Question Answer Dataset", Text, Speech, and Dialogue, Lecture Notes in Computer Science, vol. 10415, Springer International Publishing, pp. 66–73, doi:10.1007/978-3-319-64206-2_8, ISBN 9783319642055
- ^ Sammons, V.G.Vinod Vydiswaran, Dan Roth, Mark; Vydiswaran, V.G.; Roth, Dan. "Recognizing Textual Entailment" (PDF). נבדק ב-24 בפברואר 2019.
{{cite web}}
: (עזרה)תחזוקה - ציטוט: multiple names: authors list (link) - ^ "The Stanford Question Answering Dataset". rajpurkar.github.io. נבדק ב-2019-02-25.
- ^ "Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank". nlp.stanford.edu. נבדק ב-2019-02-25.
- ^ Hornstein, Norbert; Lasnik, Howard; Patel-Grosz, Pritty; Yang, Charles (2018-01-09). Syntactic Structures after 60 Years: The Impact of the Chomskyan Revolution in Linguistics (באנגלית). Walter de Gruyter GmbH & Co KG. ISBN 978-1-5015-0692-5.
35383469מודל שפה