מודל שפה

מודל שפה הוא מודל הסתברותי של שפה טבעית. הדוגמאות המוכרות ביותר של שימוש במודלי שפה הן "השלמה אוטומטית", המציעה את המילה או המילים הכי סבירות להשלמת טקסט שהוקלד עד כה, וכן כלי בינה מלאכותית טקסטואליים דוגמת ChatGPT או Bard. מודלי שפה משמשים עבור מגוון בעיות בבלשנות חישובית; זיהוי דיבור והפיכתו לטקסט, כדי להבטיח שרצפי מילים בסבירות נמוכה לא יופיעו, ועד לשימוש רחב יותר בתרגום מכונה, יצירת טקסט ממוכן דמוי אדם, זיהוי חלקי דיבור, זיהוי תווים אופטי, זיהוי ממוחשב של כתב יד, ויישומים נוספים. ניתן להתייחס למודל Unigram כשילוב של כמה אוטומטים סופיים של מצב אחד. המודל מניח שההסתברויות של אסימונים ברצף אינן תלויות, למשל: P uni ( t 1 t 2 t 3 ) = P ( t 1 ) P ( t 2 ) P ( t 3 ) . {\displaystyle P_{\text{uni}}(t_{1}t_{2}t_{3})=P(t_{1})P(t_{2})P(t_{3}).} במודל זה, ההסתברות של כל מילה תלויה רק בהסתברות של אותה מילה במסמך, כך שיש לנו רק אוטומטים סופיים של מצב אחד כיחידות. לאוטומט עצמו יש התפלגות הסתברות על כל אוצר המילים של המודל, המסתכמת ל-1. להלן איור של דגם Unigram של מסמך. ∑ term in doc P ( term ) = 1 {\displaystyle \sum _{\text{term in doc}}P({\text{term}})=1} ההסתברות שנוצרת עבור שאילתה ספציפית מחושבת כ P ( query ) = ∏ term in query P ( term ) {\displaystyle P({\text{query}})=\prod _{\text{term in query}}P({\text{term}})} למסמכים שונים יש מודלי Unigram, עם הסתברויות פגיעה שונות של מילים. התפלגויות ההסתברות ממסמכים שונים משמשות ליצירת הסתברויות פגיעה עבור כל שאילתה. ניתן לדרג מסמכים עבור שאילתה לפי ההסתברויות. דוגמה למודלי Unigram של שני מסמכים: בהקשרים של אחזור מידע, מודלי Unigram מופשטים לעיתים קרובות כדי למנוע מקרים שבהם P (מונח)=0. גישה נפוצה היא ליצור מודל סבירות מקסימלית עבור כל האוסף ואינטרפולציה ליניארית של מודל האוסף עם מודל סבירות מקסימלית עבור כל מסמך כדי לפשט את המודל. במודל n-gram, ההסתברות P ( w 1 , … , w m ) {\displaystyle P(w_{1},\ldots ,w_{m})} של התבוננות במשפט w 1 , … , w m {\displaystyle w_{1},\ldots ,w_{m}} משוער כ P ( w 1 , … , w m ) = ∏ i = 1 m P ( w i ∣ w 1 , … , w i − 1 ) ≈ ∏ i = 2 m P ( w i ∣ w i − ( n − 1 ) , … , w i − 1 ) {\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 יש לנו P ( w i ∣ w i − ( n − 1 ) , … , w i − 1 ) = P ( w 2 ∣ w 1 ) {\displaystyle P(w_{i}\mid w_{i-(n-1)},\ldots ,w_{i-1})=P(w_{2}\mid w_{1})} ניתן לחשב את ההסתברות המותנית מתוך ספירת תדירות של מודל n-gram: P ( w i ∣ w i − ( n − 1 ) , … , w i − 1 ) = c o u n t ( w i − ( n − 1 ) , … , w i − 1 , w i ) c o u n t ( w i − ( n − 1 ) , … , w i − 1 ) {\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), ההסתברות של המשפט שראיתי את הבית האדום משוערת כמו P ( I, saw, the, red, house ) ≈ P ( I ∣ ⟨ s ⟩ ) P ( saw ∣ I ) P ( the ∣ saw ) P ( red ∣ the ) P ( house ∣ red ) P ( ⟨ / s ⟩ ∣ house ) {\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), הקירוב הוא P ( I, saw, the, red, house ) ≈ P ( I ∣ ⟨ s ⟩ , ⟨ s ⟩ ) P ( saw ∣ ⟨ s ⟩ , I ) P ( the ∣ I, saw ) P ( red ∣ saw, the ) P ( house ∣ the, red ) P ( ⟨ / s ⟩ ∣ red, house ) {\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 באמצעות פונקציות תכונה. המשוואה היא P ( w m ∣ w 1 , … , w m − 1 ) = 1 Z ( w 1 , … , w m − 1 ) exp ⁡ ( a T f ( w 1 , … , w m ) ) {\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}))} כאשר Z ( w 1 , … , w m − 1 ) {\displaystyle Z(w_{1},\ldots ,w_{m-1})} היא פונקציית המחיצה, a {\displaystyle a} הוא וקטור הפרמטר, ו f ( w 1 , … , w m ) {\displaystyle f(w_{1},\ldots ,w_{m})} היא פונקציית הפיצ'ר. במקרה הפשוט ביותר, פונקציית התכונה היא רק אינדיקטור לנוכחות של n-gram מסוים. המודל הלוג-ביליניארי הוא דוגמה נוספת למודל שפה אקספוננציאלי. מודלי שפות מבוססי רשתות נוירונים משתמשים בייצוגים או הטמעות מתמשכות של מילים כדי לבצע את התחזיות שלהם. מודלים אלה עושים שימוש ברשתות עצביות מלאכותיות. ככל שמודלי שפה מאומנים על טקסטים גדולים יותר ויותר, אוצר המילים של המודל גדל. וכך גם מספר הרצפים האפשריים של מילים גדל באופן אקספוננציאלי. דבר זה גורם לבעיה של "דלילות נתונים" בגלל הרצפים הרבים האפשריים. לפיכך, יש צורך בסטטיסטיקה כדי להעריך נכון את הסתברות הופעת המילה. רשתות נוירונים נמנעות מבעיה זו על ידי ייצוג מילים בצורה מבוזרת, כצירופים לא ליניאריים של משקלים ב"רשת נוירונים". בדרך כלל, מודלים של שפת רשת נוירונים בנויים ומאומנים כמסווגים הסתברותיים הלומדים לחזות התפלגות הסתברות P ( w t ∣ c o n t e x t ) ∀ t ∈ V {\displaystyle P(w_{t}\mid \mathrm {context} )\,\forall t\in V} כלומר, הרשת מאומנת לחזות את התפלגות ההסתברות על פני אוצר המילים, בהתחשב להקשר לשוני כלשהו. זה נעשה באמצעות אלגוריתמים סטנדרטיים לאימון רשת נוירונים כגון "ירידה בשיפוע סטוכסטי" עם "התפשטות לאחור". ההקשר עשוי להיות חלון בגודל קבוע של מילים קודמות, כך שהרשת מנבאת P ( w t ∣ w t − k , … , w t − 1 ) {\displaystyle P(w_{t}\mid w_{t-k},\dots ,w_{t-1})} מ"וקטור תכונה" המייצג את k המילים הקודמות. אפשרות נוספת היא להשתמש במילים "עתידיות" כמו גם במילים מה"עבר" כתכונות, כך שההסתברות המשוערת היא P ( w t ∣ w t − k , … , w t − 1 , w t + 1 , … , w t + 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 אבל מתפקדת מעט יותר טוב היא להפוך את הבעיה הקודמת ולגרום לרשת נוירונים ללמוד את ההקשר בהינתן מילה. או בצורה מדויקת יותר, בהינתן רצף של מילות אימון w 1 , w 2 , w 3 , … , w T {\displaystyle w_{1},w_{2},w_{3},\dots ,w_{T}} , אחד מגדיל את ההסתברות הממוצעת לlog 1 T ∑ t = 1 T ∑ − k ≤ j ≤ k , j ≠ 0 log ⁡ P ( w t + j ∣ w t ) {\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, גודל ההקשר האימון, יכול להיות פונקציה של המילה המרכזית w t {\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 Christopher Manning and Hinrich Schütze, Foundations of statistical natural language processing, MIT, 1999, ISBN 9780262133609 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.