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

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

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

סוגי מודלים
-----------

### Unigram

ניתן להתייחס למודל Unigram כשילוב של כמה אוטומטים סופיים של מצב אחד. המודל מניח שההסתברויות של אסימונים ברצף אינן תלויות, למשל:

{\displaystyle P\_{\text{uni}}(t\_{1}t\_{2}t\_{3})=P(t\_{1})P(t\_{2})P(t\_{3}).}
במודל זה, ההסתברות של כל מילה תלויה רק בהסתברות של אותה מילה במסמך, כך שיש לנו רק אוטומטים סופיים של מצב אחד כיחידות. לאוטומט עצמו יש התפלגות הסתברות על כל אוצר המילים של המודל, המסתכמת ל-1. להלן איור של דגם Unigram של מסמך.

| תנאים | הסתברות במסמך |
| --- | --- |
| a | 0.1 |
| world | 0.2 |
| likes | 0.05 |
| we | 0.05 |
| share | 0.3 |
| ... | ... |

{\displaystyle \sum \_{\text{term in doc}}P({\text{term}})=1}
ההסתברות שנוצרת עבור שאילתה ספציפית מחושבת כ

{\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. גישה נפוצה היא ליצור מודל סבירות מקסימלית עבור כל האוסף ואינטרפולציה ליניארית של מודל האוסף עם מודל סבירות מקסימלית עבור כל מסמך כדי לפשט את המודל.

### n-gram

במודל n-gram, ההסתברות {\displaystyle P(w\_{1},\ldots ,w\_{m})} של התבוננות במשפט {\displaystyle w\_{1},\ldots ,w\_{m}} משוער כ

{\displaystyle P(w\_{1},\ldots ,w\_{m})=\prod \_{i=1}^{m}P(w\_{i}\mid w\_{1},\ldots ,w\_{i-1})\approx \prod \_{i=2}^{m}P(w\_{i}\mid w\_{i-(n-1)},\ldots ,w\_{i-1})}
ההנחה היא שההסתברות להתקלות במילה *ה- i* *w i* בהיסטוריית ההקשר של ה- *i* הקודם - ניתן להעריך 1 מילים לפי ההסתברות להתבונן בה בהיסטוריית ההקשר המקוצרת של ה- *n* הקודמת - 1 מילים ( נכס מרקוב מסדר *n* ). כדי להבהיר, עבור *n=3* ו- *i=2* יש לנו {\displaystyle P(w\_{i}\mid w\_{i-(n-1)},\ldots ,w\_{i-1})=P(w\_{2}\mid w\_{1})}

ניתן לחשב את ההסתברות המותנית מתוך ספירת תדירות של מודל n-gram:

{\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, בהתאמה.

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

במקום זאת, נחוצה צורה כלשהי של "החלקה", הקצאת חלק ממסת ההסתברות הכוללת למילים בלתי נראות או ל-n-gram. נעשה שימוש בשיטות שונות, החל מהחלקה פשוטה של "הוספה אחת" (הקצאת ספירה של 1 ל-*n-* גרם בלתי נראה, כקודם לא אינפורמטיבי) ועד למודלים מתוחכמים יותר, כגון הנחות של Good-Turing או back-off models.

#### דו-כיווני

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

#### דוגמה

במודל שפה bigram (*n*=2), ההסתברות של המשפט *שראיתי את הבית האדום* משוערת כמו

{\displaystyle P({\text{I, saw, the, red, house}})\approx P({\text{I}}\mid \langle s\rangle )P({\text{saw}}\mid {\text{I}})P({\text{the}}\mid {\text{saw}})P({\text{red}}\mid {\text{the}})P({\text{house}}\mid {\text{red}})P(\langle /s\rangle \mid {\text{house}})}
ואילו במודל שפה trigram (*נ*=3), הקירוב הוא

{\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* -גרם מלא בסמנים של תחילת המשפט, המסומנים בדרך כלל על ידי 
.

### אקספוננציאלי

מודלים של שפת אנטרופיה מקסימלית מקודדים את הקשר בין מילה להיסטוריה של n-gram באמצעות פונקציות תכונה. המשוואה היא

{\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}))}
כאשר {\displaystyle Z(w\_{1},\ldots ,w\_{m-1})} היא פונקציית המחיצה, {\displaystyle a} הוא וקטור הפרמטר, ו {\displaystyle f(w\_{1},\ldots ,w\_{m})} היא פונקציית הפיצ'ר. במקרה הפשוט ביותר, פונקציית התכונה היא רק אינדיקטור לנוכחות של n-gram מסוים.

המודל הלוג-ביליניארי הוא דוגמה נוספת למודל שפה אקספוננציאלי.

### רשת נוירונים

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

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

בדרך כלל, מודלים של שפת רשת נוירונים בנויים ומאומנים כמסווגים הסתברותיים הלומדים לחזות התפלגות הסתברות

{\displaystyle P(w\_{t}\mid \mathrm {context} )\,\forall t\in V}
כלומר, הרשת מאומנת לחזות את התפלגות ההסתברות על פני אוצר המילים, בהתחשב להקשר לשוני כלשהו. זה נעשה באמצעות אלגוריתמים סטנדרטיים לאימון רשת נוירונים כגון "ירידה בשיפוע סטוכסטי" עם "התפשטות לאחור". ההקשר עשוי להיות חלון בגודל קבוע של מילים קודמות, כך שהרשת מנבאת

{\displaystyle P(w\_{t}\mid w\_{t-k},\dots ,w\_{t-1})}
מ"וקטור תכונה" המייצג את k המילים הקודמות. אפשרות נוספת היא להשתמש במילים "עתידיות" כמו גם במילים מה"עבר" כתכונות, כך שההסתברות המשוערת היא

{\displaystyle P(w\_{t}\mid w\_{t-k},\dots ,w\_{t-1},w\_{t+1},\dots ,w\_{t+k})}
זה נקרא מודל "שק של מילים" (bag-of-words). כאשר וקטורי התכונה של המילים בהקשר משולבים על ידי פעולה רציפה, המודל הזה מכונה ארכיטקטורת שקית המילים הרציפה (CBOW).

אפשרות שלישית שמתאמנת לאט יותר מה-CBOW אבל מתפקדת מעט יותר טוב היא להפוך את הבעיה הקודמת ולגרום לרשת נוירונים ללמוד את ההקשר בהינתן מילה. או בצורה מדויקת יותר, בהינתן רצף של מילות אימון {\displaystyle w\_{1},w\_{2},w\_{3},\dots ,w\_{T}}, אחד מגדיל את ההסתברות הממוצעת לlog

{\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, גודל ההקשר האימון, יכול להיות פונקציה של המילה המרכזית {\displaystyle w\_{t}}. זה נקרא מודל שפת דילוג על גרם (skip-gram). מודלים של שקית מילים ודילוג על גרם הם הבסיס לתוכנית word2vec.

מודלי שפה בולטים
----------------

* מודל שפה כללי (GLaM) של טריליון פרמטרים, ממחקר של Google
* מודלי שפה ליישומי דיאלוג (LaMDA) מודל של 137 מיליארד פרמטרים מ-Google Research
* Megatron-Turing מודל פרמטרים של 530 מיליארד NLG, מבית Microsoft/Nvidia
* יצירת תמונה תלת-ממדית של DreamFusion/Imagen מ-Google Research
* Get3D מ-Nvidia
* MineClip מ-Nvidia
* 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
* BERT: ייצוג מקודד דו-כיווני של רובוטריקים (BERT)
* GPT-NeoX-20B: מודל שפה אוטורגרסיבית בקוד פתוח עם 20 מיליארד פרמטרים.
* OPT-175B מאת Meta AI: מודל נוסף של שפה של 175 מיליארד פרמטרים. זה זמין לקהילת המחקר הרחבה יותר של AI.
* Point-E מאת OpenAI: מחולל מודלים תלת־ממדיים.

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

הערכת איכות של מודלים
---------------------

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

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

מערכי נתונים שונים פותחו לשימוש כדי להעריך מערכות עיבוד שפה:

* קורפוס של קבילות לשונית
* מדד GLUE
* קורפוס הפרפראזה של מיקרוסופט
* הסקת שפה טבעית רב-ז'אנרית
* שאלה בהסקת שפה טבעית
* צמדי שאלות Quora
* זיהוי מעורבות טקסטואלית
* מדד דמיון טקסטואלי סמנטי
* מבחן תשובה לשאלות SQuAD
* Stanford Sentiment Treebank
* וינוגרד NLI

ביקורת
------

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

קישורים חיצוניים
----------------

* בחירה נכונה של מודל שפה, באתר ai-blog

הערות שוליים
------------

1. ↑  Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, pages 237–240. Cambridge University Press, 2009
2. ↑  Buttcher, Clarke, and Cormack. Information Retrieval: Implementing and Evaluating Search Engines. pg. 289–291. MIT Press.
3. ↑  Craig Trim, *What is Language Modeling?*, April 26th, 2013.
4. ↑  Karpathy, Andrej. "The Unreasonable Effectiveness of Recurrent Neural Networks".
5. ↑  Bengio, Yoshua (2008). "Neural net language models". *Scholarpedia*. Vol. 3. p. 3881. Bibcode:2008SchpJ...3.3881B. doi:10.4249/scholarpedia.3881.
6. ↑  Harris, Derrick (16 באוגוסט 2013). "We're on the cusp of deep learning for the masses. You can thank Google later". *Gigaom*. `{{cite web}}`:  (עזרה)
7. ↑  Dai, Andrew M; Du, Nan (9 בדצמבר 2021). "More Efficient In-Context Learning with GLaM". *ai.googleblog.com* (באנגלית). נבדק ב-2022-12-05. `{{cite web}}`:  (עזרה)
8. ↑  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}}`:  (עזרה)
9. ↑  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]*.
10. ↑  Poole, Ben; Jain, Ajay; Barron, Jonathan T.; Mildenhall, Ben (2022). "DreamFusion: Text-to-3D using 2D Diffusion". נבדק ב-2022-12-05.
11. ↑  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.
12. ↑  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=` (עזרה)
13. ↑  "ChatGPT: Optimizing Language Models for Dialogue". *OpenAI* (באנגלית). 2022-11-30. נבדק ב-2022-12-05.
14. ↑  Wiggers, Kyle (2022-12-20). "OpenAI releases Point-E, an AI that generates 3D models". *TechCrunch* (באנגלית). נבדק ב-2022-12-25.
15. ↑  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
16. ↑  "The Corpus of Linguistic Acceptability (CoLA)". *nyu-mll.github.io*. נבדק ב-2019-02-25.
17. ↑  "GLUE Benchmark". *gluebenchmark.com* (באנגלית). נבדק ב-2019-02-25.
18. ↑  "Microsoft Research Paraphrase Corpus". *Microsoft Download Center* (באנגלית אמריקאית). נבדק ב-2019-02-25.
19. ↑  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
20. ↑  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)
21. ↑  "The Stanford Question Answering Dataset". *rajpurkar.github.io*. נבדק ב-2019-02-25.
22. ↑  "Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank". *nlp.stanford.edu*. נבדק ב-2019-02-25.
23. ↑  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.

| בינה מלאכותית |
| --- |
| כללי | מבחן טיורינג • היסטוריה של הבינה המלאכותית • ציר הזמן של בינה מלאכותית • התקדמות הבינה המלאכותית (אנ') • AI-שלמות מערכת מומחה • אסדרת בינה מלאכותית (אנ') • בינה מלאכותית צרה • בינה חישובית • הסברתיות בינה מלאכותית • הפרדוקס של מורבק • סוכן תבוני • אתיקה של בינה מלאכותית |  |
| תחומים | עיבוד שפה טבעית • ראייה ממוחשבת • בינה מלאכותית יוצרת • אומנות בינה מלאכותית |
| סוגי למידת מכונה | מערכת לומדת • למידה מונחית • למידה בלתי מונחית • למידה עמוקה • למידת חיזוק • סיווג בייסיאני נאיבי • רשת בייסיאנית |
| אלגוריתמי למידת מכונה קלאסית | פרספטרון • עץ החלטה • מכונת וקטורים תומכים • Bag of words • אלגוריתם k-מרכזים • אלגוריתם מיקסום התוחלת • הורדת ממד • אלגוריתם שכן קרוב • Q-learning •‏ T-SNE •‏ Tf–idf • חיזוק גרדיאנט |
| למידה עמוקה | רשת עצבית מלאכותית • רשת זרימה קדימה • רשת עצבית רקורסיבית • טרנספורמר • Attention •‏ GAN |
| עיבוד שפה טבעית | מודל שפה • שיכון מילים (אנ') • בלשנות חישובית • תרגום מכונה • חילוץ מידע (אנ') • ניתוח סנטימנט • זיהוי חלקי דיבר (אנ') • מערכת זיהוי דיבור • זיהוי ישויות • כריית טקסט • תיוג תפקידים סמנטי • Word2vec • מודל שפה גדול • GPT •‏ BERT (אנ') • מודל Bag-of-words (אנ') • יצירת טקסט בשפה טבעית (אנ') • מילת עצירה • ניתוח מחרוזות • Stemming (אנ') • למטיזציה (אנ') |
| יישומים לבינה מלאכותית (אנ') | צ'אטבוט • זיהוי דובר • זיהוי עצמים • זיהוי תבניות • עוזר וירטואלי • זיהוי תווים אופטי • מחולל תמונות (הזיות (אנ')) |
| מערכות בינה מלאכותית | אלייזה • ChatGPT •‏ DALL-E •‏ Midjourney •‏ Gemini •‏ Perplexity •‏ GitHub Copilot • דיפ־פייק • סירי • Google Assistant • אמזון אלכסה |
| סוגיות בטיחות בינה מלאכותית (אנ') | סכנה קיומית מבינה מלאכותית כללית • בינה מלאכותית חזקה • יישור בינה מלאכותית (אנ') • בקרת יכולות בינה מלאכותית (אנ') • השתלטות בינה מלאכותית (אנ') • בינה מלאכותית ידידותית (אנ') • התכנסות אינסטרומנטלית (אנ') • סינגולריות טכנולוגית |
| ספריות בשימוש נרחב | TensorFlow •‏ PyTorch •‏ Torch •‏ Hugging Face •‏ Keras •‏ spaCy (אנ') •‏ Caffe |