Sprachmodell
Ein Sprachmodell[A 1] (englisch language model) ist ein mathematisches Modell, das die Abfolge von Elementen in einer Sequenz (zum Beispiel von Buchstaben oder Wörtern in natürlichsprachlichen Texten) modelliert, meist in Form eines stochastischen Prozesses.
Sprachmodelle spielen eine zentrale Rolle in der modernen Computerlinguistik und sind eine entscheidende Komponente dortiger Praxisanwendungen, etwa zur maschinellen Übersetzung oder Spracherkennung.[1][2] Bekanntheit gewonnen haben sie durch das Aufkommen von Generativer Künstlicher Intelligenz. So ist auch das ChatGPT zugrunde liegende GPT ein Sprachmodell.
Mathematische Beschreibung
Sprachmodelle modellieren Sequenzen (zum Beispiel Sätze) als Abfolgen von Elementen (zum Beispiel Buchstaben oder Wörtern). In stochastischen Sprachmodellen sind diese Elemente Zufallsgrößen und bilden einen zeitdiskreten stochastischen Prozess. Um dasselbe Modell für Sequenzen unterschiedlicher Länge einsetzen zu können, werden ihr Beginn und ihr Ende typischerweise durch zusätzliche Zufallsgrößen und markiert, die einen speziellen Wert (mögliche Notation: ) annehmen. Die Wahrscheinlichkeit einer konkreten Sequenz lässt sich dann formulieren als die Wahrscheinlichkeit der Konjunktion
- .
Eine häufige Kurzschreibweise[A 2] für diese Wahrscheinlichkeit lautet
- .
Nach dem Gesetz der totalen Wahrscheinlichkeit lässt sich diese Wahrscheinlichkeit auch so schreiben:
Oder kurz:
- .
In Worten: Die Wahrscheinlichkeit der Sequenz ist das Produkt der Wahrscheinlichkeiten für das jeweils nächste Element gegeben die bisherigen Elemente.
Da in der Modellierung für stets der Wert verwendet wird ( fast sicher), gilt . Der entsprechende Faktor kann daher entfallen.
Unterschiedliche Arten stochastischer Sprachmodelle unterscheiden sich darin, wie sie die bedingten Wahrscheinlichkeiten modellieren. Der Fall wird dabei häufig nicht gesondert betrachtet, sondern so getan, als ob auch ein gültiges Sequenzelement (zum Beispiel ein Wort) wäre.
N-Gramme
Die Modellierung der bedingten Wahrscheinlichkeiten muss mit beliebig langen Sequenzen im Bedingungsteil umgehen können ( kann beliebig groß sein). Es stehen aber nur endlich viele Modellparameter zur Verfügung. Ein klassischer Umgang damit ist die Markov-Annahme (englisch markov assumption), laut der die Wahrscheinlichkeit des nächsten Elements nur von einer begrenzten Anzahl unmittelbar vorhergehender Elemente abhängt[3] (Markow-Kette -ter Ordnung). Die Wahrscheinlichkeit, dass auf folgt, hängt (für ) also nur von ab:[A 3]
- .
Die -Tupel werden -Gramme genannt.
Für ergibt sich keine Vereinfachung der bedingten Wahrscheinlichkeit; sie hängt vom kompletten Präfix ab. Um auch diesen Fall mit -Grammen abdecken zu können, definiert man häufig für .
Die Modellparameter sind dann die bedingten Wahrscheinlichkeiten für alle -Gramme , die sich leicht als relative Häufigkeiten aus Textkorpora abschätzen lassen. Vor allem für große können bestimmte -Gramme aber so selten sein, dass sie in einem betrachteten Korpus überhaupt nicht vorkommen (Beispiel: das 8-Gramm Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo). Ein Großteil der Forschung zu -Grammen hat sich daher mit Techniken (im Englischen smoothing techniques genannt) beschäftigt, mit denen positive Wahrscheinlichkeiten auch für solche „unbeobachteten“ -Gramme geschätzt werden können.[4][5][2]
Obwohl natürliche Sprache die Markov-Annahme im Allgemeinen nicht erfüllt, liefern bereits relativ kleine gute Sprachmodelle. -Gramme waren jahrzehntelang der dominierende Ansatz zur Sprachmodellierung.[3]
Neuronale Sprachmodelle
In neuronalen Sprachmodellen werden die Wahrscheinlichkeiten von künstlichen neuronalen Netzen berechnet. Statt Wahrscheinlichkeiten direkt abzuschätzen, werden also Parameter (Gewichte) des Netzes geschätzt. Die Berechnungsstruktur kann (etwa durch Verwendung von Softmax als Aktivierungsfunktion der letzten Schicht) so vorgegeben werden, dass Nullwahrscheinlichkeiten ausgeschlossen sind.
Auch neuronalen Sprachmodellen kann die Markov-Annahme zugrunde liegen. Ein Ansatz, Wahrscheinlichkeiten von Trigrammen (3-Grammen) nicht direkt aus einem Korpus zu schätzen, sondern von einem neuronalen Netzwerk berechnen zu lassen, findet sich bereits 1988.[6] In einer neueren Architektur von Bengio et al. (2003) gibt es für jedes Element (Wort) und auch für den Start- und Endmarker je einen Parametervektor; zur Berechnung werden die Vektoren der Wörter aus dem Bedingungsteil () konkateniert und über eine oder mehrere Netzwerkschichten (englisch hidden layers) in eine Wahrscheinlichkeitsverteilung für das nächste Wort () transformiert. Sowohl die Komponenten der Vektoren für die Wörter als auch die Gewichte der Netzwerkschichten werden als Modellparameter geschätzt.[7][8] Die Wahrscheinlichkeiten werden also mit einer Formel (der Berechnungsvorschrift des neuronalen Netzes) berechnet, statt aus einer Tabelle zum Beispiel ausgezählter relativer Häufigkeiten abgelesen zu werden.
Vorteile dieser Modellierung gegenüber „gewöhnlichen“ -Grammen sind:[9][8]
- Das Modell kann deutlich weniger Parameter haben. Die Anzahl der -Gramme über einem Vokabular (zum Beispiel Menge aller vorkommenden Wörter inklusive Start- und Endmarker) der Größe beträgt . Ein künstliches neuronales Netz der beschriebenen Form kann schon mit Parametern auskommen, wobei die Dimension der Parametervektoren für die Wörter ist.
- Das Modell kann (über die Parametervektoren jedes einzelnen Wortes) Wörter zusammenfassen, die ähnliche Auswirkungen auf die Wahrscheinlichkeit des folgenden Wortes haben. Beispielsweise braucht keine eigene Wahrscheinlichkeit dafür gespeichert zu werden, dass „Auto“ auf „blaues“, „grünes“, „rotes“ oder „schwarzes“ folgt – die Wahrscheinlichkeit ist jedes Mal ähnlich.
- Das Modell kann (über die Gewichte der hidden layers) verschiedenen Wörtern unterschiedlich starken Einfluss auf die Wahrscheinlichkeit des folgenden Wortes zumessen, beispielsweise nähere Wörter stärker gewichten als weiter entfernte.
Mithilfe rekurrenter neuronaler Netze wie LSTMs ist es sogar möglich, auf die Markov-Annahme zu verzichten. Dabei wird die komplette Sequenz vom neuronalen Netz verarbeitet, um die Wahrscheinlichkeitsverteilung für das -te Wort zu berechnen. Die Transformer-Architektur[10] wurde speziell für diese Aufgabe entwickelt.
Generierung mit Sprachmodellen
Stochastische Sprachmodelle berechnen Wahrscheinlichkeiten von Sequenzen als Produkt der bedingten Wahrscheinlichkeiten jedes einzelnen Elements gegeben die jeweils vorhergehenden Elemente. Aus der so spezifizierten Wahrscheinlichkeitsverteilung können umgekehrt auch Sequenzen erzeugt werden (englisch sampling). Dazu wird zunächst das erste Element (zum Beispiel das erste Wort in einem Satz) entsprechend der Verteilung bestimmt. Ist beispielsweise
so wird mit Wahrscheinlichkeit das Wort „Der“ als erstes Wort gewählt, mit Wahrscheinlichkeit das Wort „Die“ und mit Wahrscheinlichkeit das Wort „Das“. Ist das erste Element (Wort) gewählt, wird analog das zweite entsprechend der Verteilung bestimmt. Wurde im obigen Beispiel etwa das Wort „Die“ gewählt, so könnten diese Wahrscheinlichkeiten
lauten. So wird sukzessive das jeweils nächste Element (Wort) bestimmt, bis die Wahl auf den Endmarker () fällt – dann endet die Sequenz.[11]
Mitunter wird das nächste Element nicht anhand der gesamten Wahrscheinlichkeitsverteilung bestimmt, sondern es werden nur die Elemente mit der höchsten Wahrscheinlichkeit betrachtet bzw. nur die wahrscheinlichsten Elemente, deren Wahrscheinlichkeit aufsummiert gerade noch ergibt. Diese Strategie nennt man Top-- bzw. Top--Sampling. Sie ist vor allem dann von Vorteil, wenn das Vokabular sehr groß ist (bei linguistischen Sprachmodellen, deren Elemente Wörter sind, meist der Fall), weil ansonsten häufig recht unwahrscheinliche Wörter ausgewählt werden.[12] bzw. ist im Prinzip frei wählbar und steuert die Balance zwischen Kreativität und Kohärenz: je höher der Wert, desto kreativer können die Antworten sein. ChatGPT nutzt das Top--Sampling.[13]
Wenn nicht irgendeine Sequenz erzeugt werden soll, sondern ein Bezug zu Eingangsdaten gewünscht ist, etwa bei der maschinellen Übersetzung (hier bestehen die Eingangsdaten aus dem zu übersetzenden Text in der Ausgangssprache), muss das Modell zusätzlich die Abhängigkeit von den Eingangsdaten ausdrücken. Die zu modellierenden Wahrscheinlichkeiten haben dann nicht nur die Form
- ,
sondern
für Eingangsdaten . In neueren Architekturen wird das mitunter bewerkstelligt, indem mit der Generierung der Ausgabesequenz nicht beim Startmarker begonnen wird, sondern als „Fortsetzung“ einer Eingabesequenz, getrennt durch ein weiteres spezielles Element (mögliche Notation: ).[14] Soll beispielsweise der englische Satz Time flies like an arrow ins Deutsche übersetzt werden, so beginnt die Generierung der deutschen Übersetzung als „Fortführung“ der Sequenz
- ,
das erste Wort der deutschen Ausgabe richtet sich nach der Verteilung
und so weiter.
Auch GPT-Architekturen zur Sprachgenerierung, auf denen unter anderem ChatGPT basiert, nutzen diese Strategie.[15]
Sprachmodelle und künstliche Intelligenz
Laut Yoav Goldberg kann die Fähigkeit, das nächste Wort nach einer vorgegebenen Folge von Wörtern mit großer Genauigkeit vorherzusagen, als Indikator für Intelligenz auf menschlichem Niveau gesehen werden, da auch jedes Präfix der Form „Die Antwort auf Frage X ist“ vervollständigt werden können müsse und die Lösung dieser Aufgabe daher nicht nur Ausnutzung linguistischer Regularitäten, sondern auch eine große Menge an Weltwissen erfordere.[16]
Literatur
- Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 105–114, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- Michael Collins: Language Modeling. Course notes for NLP, Columbia University. 2013 (englisch, columbia.edu [PDF; 203 kB]).
Einzelnachweise
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 105, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ a b Stanley Chen, Joshua Goodman: An Empirical Study of Smoothing Techniques for Language Modeling. In: Aravind Joshi, Martha Palmer (Hrsg.): Proceedings of the 34th Annual Meeting of the ACL. Juni 1996 (englisch, arxiv.org [PDF; 227 kB]).
- ↑ a b Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 106, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 107, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ Collins (2013), Abschnitt 1.4
- ↑ Masami Nakamura, Kiyohiro Shikano: A study of English word category prediction based on neural networks. In: Journal of the Acoustical Society of America. Band 84, Nr. S1, 1988, S. 60–61, doi:10.1121/1.2026400 (aip.org [PDF; 842 kB]).
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 109, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ a b Yoshua Bengio, Réjean Ducharme, Pascal Vincent, Christian Janvin: A neural probabilistic language model. In: Journal of Machine Learning Research. Band 3, 2003, ISSN 1532-4435, S. 1137–1155, doi:10.1007/10985687_6 (neurips.cc [PDF; 1,6 MB]).
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 109-, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan Gomez, Łukasz Kaiser, Illia Polosukhin: Attention Is All You Need. In: 31st Conference on Neural Information Processing Systems. 2017 (neurips.cc [PDF; 556 kB]).
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 112, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch).
- ↑ Gerhard Paaß, Sven Giesselbach: Pre-trained Language Models. In: Foundation Models for Natural Language Processing. Springer International Publishing, Cham 2023, ISBN 978-3-03123189-6, S. 19–78, hier: S. 41, doi:10.1007/978-3-031-23190-2_2 (englisch).
- ↑ Top-k-Sampling in ChatGPT. 2. Mai 2023, abgerufen am 16. Juli 2023 (deutsch).
- ↑ Peter Liu, Mohammad Saleh, Etienne Pot, Ben Goodrich, Ryan Sepassi, Łukasz Kaiser, Noam Shazeer: Generating Wikipedia by Summarizing Long Sequences. 2018, S. 5, doi:10.48550/arXiv.1801.10198 (arxiv.org [PDF; 1,2 MB]).
- ↑ Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever: Improving Language Understanding by Generative Pre-Training. 2018, S. 4 (openai.com [PDF; 528 kB]).
- ↑ Yoav Goldberg: Neural Network Methods for Natural Language Processing (= Graeme Hirst [Hrsg.]: Synthesis Lectures on Human Language Technologies. Nr. 37). Morgan & Claypool Publishers, 2017, ISBN 978-1-62705-295-5, Chapter 9 Language Modeling, S. 105, doi:10.2200/S00762ED1V01Y201703HLT037 (englisch, insbesondere Fußnote 2).
Anmerkungen
- ↑ Wie meistens in der modernen Informatik ist auch hier die englische Bezeichnung präsenter. Die deutsche Bezeichnung Sprachmodell findet sich beispielhaft in:
- Franziska Meyer: Sprachmodelle im Natural Language Processing. Seminararbeit an der Universität Leipzig. 2020 (uni-leipzig.de [PDF; 344 kB]).
- Sina Schmitt: Einfluss dynamischer Kontexterweiterungen auf die Schlussfolgerungsfähigkeiten neuronaler Sprachmodelle. Bachelorarbeit am Karlsruher Institut für Technologie. 2021 (archive.org [PDF; 2,8 MB]).
- Alena Behrens: Evaluation des Sprachmodells GPT-3 für den Einsatz an der ZBW – Leibniz Informationszentrum Wirtschaft. Masterarbeit an der Technischen Hochschule Wildau. 2022 (kobv.de [PDF; 3,3 MB]).
- ↑ so auch in Goldberg (2017) verwendet, allerdings teilweise ohne Start- und Endmarker; der Startmarker ist dort ansonsten
<s>
statt und der Endmarker</s>
; bei Collins (2013) heißt der EndmarkerSTOP
- ↑ Je nachdem, ob selbst mitgezählt wird oder nicht, kann es auch sein. Dieser Artikel verwendet die bei -Grammen übliche Konvention, dass mitgezählt wird, d. h. Unigramme (1-Gramme) betrachten die Wahrscheinlichkeiten der Elemente völlig unabhängig von ihrem Kontext.