Machine Learning von Grund auf · Lektion 7.2 · 33 von 33 fertigen Lektionen · 12 Min.
Von neuronalen Netzen zu großen Sprachmodellen
Kurz gesagt
Ein großes Sprachmodell lernt, das nächste Token zu raten. Die Lektion baut die Idee aus einem Wörterzähl-Modell auf und zeigt, was die Temperatur bewirkt.
Aufwärmen Zwei Fragen aus früheren Lektionen. Eine Minute, und sie blockiert die Lektion nicht.
Die Tastatur deines Handys schlägt beim Tippen das nächste Wort vor. Ein Chatbot schreibt ganze Aufsätze, beantwortet Fragen und übersetzt Gedichte. Sind das dieselben Maschinen? Im Kern beider steckt eine überraschend bescheidene Aufgabe: Rate anhand des bisherigen Texts, was als Nächstes kommt. Diese letzte Lektion zeigt, wie weit diese eine Frage trägt und wo ihre Grenzen liegen. Probier es zuerst selbst aus, bevor du die Erklärung liest.
Wähle eine Antwort und wie sicher du bist.
Antworte, um das Labor freizuschalten.
Interaktives Labor
Dieses interaktive Labor läuft im Browser mit aktiviertem JavaScript. Der Text drumherum beschreibt, was es zeigt.
Antwort anzeigen
Richtige Antwort: Praktisch 100 %
Bei Temperatur 1 hat „Garten“ 43 %, bei 0,5 69 % und bei 0,1 fast 100 % (99,99 %), obwohl es im Text nur 3 von 7 Vorkommen sind. Eine niedrige Temperatur schärft die Verteilung: Das häufigste Wort zieht fast alles an sich. Eine hohe (3) flacht sie auf 27 % ab.
Probier es aus
- Gib ein häufiges Wort in das Textfeld ein und lies die Liste der wahrscheinlichen nächsten Wörter und ihre Wahrscheinlichkeiten. Ergeben sie Sinn, gemessen an dem, was du über den Text weißt?
- Schieb den Temperatur-Regler nach links und beobachte, wie das häufigste Wort fast die gesamte Wahrscheinlichkeit an sich zieht. Schieb ihn dann nach rechts und sieh zu, wie sich die Wahrscheinlichkeiten angleichen.
- Probier ein Wort, das in dem kurzen Text vermutlich selten ist. Bei so wenigen Beispielen zum Zählen – wie vertrauenswürdig sind die Wahrscheinlichkeiten, die das Modell zeigt?
- Folge einer Kette von Hand: Gib das wahrscheinlichste nächste Wort ein, dann das wahrscheinlichste Wort danach und so weiter. Klingt der entstehende Satz flüssig? Führt er irgendwohin?
Die Idee in einfachen Worten
Ein Sprachmodell ordnet dem, was in einem Text als Nächstes kommt, Wahrscheinlichkeiten zu. Nach „Ich hätte gern eine Tasse“ ist das Wort „Tee“ wahrscheinlich, „Kaffee“ ebenso, „Kies“ kaum. Hat man solche Wahrscheinlichkeiten, kann man Text erzeugen: ein nächstes Wort wählen, anhängen und erneut fragen.
Das einfachste mögliche Sprachmodell ist ein Bigramm-Modell. Es liest eine Textsammlung (einen Korpus) und zählt einfach, welches Wort auf welches folgt. In dieser Lektion betrachten wir eines, gebaut auf einem kurzen Text, der eigens für diesen Kurs geschrieben wurde. Zu jedem Wort kennt das Modell die Wörter, die im Korpus darauf folgten, mit ihren Wahrscheinlichkeiten.
Stell dir jemanden vor, der nur ein einziges Buch gelesen hat, das aber viele Male, und dessen einzige Fähigkeit darin besteht, sich zu merken, welches Wort auf welches folgte. Bitte diese Person, einen Satz fortzusetzen, und sie produziert etwas, das entfernt nach dem Buch klingt – im Kleinen flüssig, im Großen ziellos. Diese Person ist ein Bigramm-Modell.
Warum es funktioniert
Das Bigramm-Modell schätzt die Wahrscheinlichkeit des nächsten Worts b nach dem Wort a aus Häufigkeiten:
P(nächstes = b | aktuelles = a) = Anzahl(a b) / Anzahl(a)
Kommt „Tasse“ im Korpus zehnmal vor und folgt darauf siebenmal „Tee“, gibt das Modell „Tee“ nach „Tasse“ die Wahrscheinlichkeit 0,7. Das ist alles – zählen und teilen. Lernen heißt auch hier, ein Modell an Beispiele anzupassen, und die Bewertung ist, wie gut es das nächste Wort eines echten Texts vorhersagt.
Um Text zu erzeugen, muss das Modell unter den Kandidaten wählen, und hier kommt die Temperatur ins Spiel. Eine niedrige Temperatur schärft die Verteilung: Das wahrscheinlichste Wort gewinnt fast jedes Mal, und der Text wird repetitiv und sicher. Eine hohe Temperatur macht sie flacher: Seltenere Wörter bekommen eine echte Chance, und der Text wird abwechslungsreicher und sprunghafter. Die Temperatur ändert nicht, was das Modell weiß, sondern nur, wie kühn es zieht.
Ein großes Sprachmodell (Large Language Model, LLM) erledigt dieselbe Aufgabe mit drei großen Verbesserungen. Erstens sagt es Tokens vorher – Wortstücke –, sodass es mit jedem Wort umgehen kann, auch mit einem, das es nie als Ganzes gesehen hat. Zweitens schaut es nicht nur auf das vorherige Wort, sondern ist ein neuronales Netz, meist ein Transformer (2017 vorgestellt), dessen Attention-Mechanismus (Aufmerksamkeit) jede Position auf Tausende vorheriger Tokens zurückblicken und entscheiden lässt, welche wichtig sind. Drittens sind seine Wahrscheinlichkeiten keine Zählungen, sondern Ausgaben eines Netzes mit Milliarden von Gewichten, trainiert mit genau den Werkzeugen dieses Kurses: dem Log-Loss aus Lektion 5 auf das nächste Token, minimiert mit dem Gradientenabstieg aus Lektion 4, mit der Backpropagation aus Lektion 11. Trainiert auf einer riesigen Textmenge, zwingt die Rateaufgabe das Netz, Grammatik, Fakten und Denkmuster aufzunehmen, weil all das hilft vorherzusagen, was als Nächstes kommt.
Häufiger Fehler
Das größte Missverständnis über Sprachmodelle ist der Glaube, sie schlügen Antworten nach. Sie befragen keine Datenbank; sie erzeugen die Fortsetzung, die ihr Training wahrscheinlich gemacht hat. Meistens ist sie auch die wahre, aber nicht immer – wenn das Plausible und das Wahre auseinanderfallen, behauptet das Modell flüssig etwas Falsches, und das nennt man Halluzination. Der zweite Fehler ist, die Temperatur für einen Qualitätsregler zu halten. Eine niedrige Temperatur ist nicht „richtiger“, nur vorhersehbarer; sie passt zu sachlichen Antworten, eine höhere zum Brainstorming.
Das ist die ganze Reise: von einem Schwellenwert auf einem Tumormesswert bis zu einem Netz, das das nächste Wort von allem vorhersagt, was je geschrieben wurde. Das Rezept hat sich nie geändert – eine Familie von Modellen, eine Bewertung, eine Suche und eine ehrliche Prüfung auf Daten, die das Modell nie gesehen hat. Die Atlas-Links unten sind der Ort, um jeden Schritt zu vertiefen.
Finde den Fehler der KI
So hat ein Chatbot geantwortet. Ein Satz ist inhaltlich falsch. Welcher?
Frage: Woher weiß ein Chatbot wie du die Antwort auf meine Frage?
Falschen Satz zeigen
Der falsche Satz: Wenn du eine Frage stellst, schlägt das Modell die Antwort in seiner Datenbank geprüfter Fakten nach und formuliert sie dann flüssig.
Ein Sprachmodell fragt keine Datenbank ab; es erzeugt die Fortsetzung, die sein Training wahrscheinlich gemacht hat, so wie das Modell im Labor nur weiß, dass auf „im“ in 3 von 7 Fällen „Garten“ folgt. Wenn Plausibles und Wahres auseinanderfallen, behauptet es flüssig etwas Falsches: eine Halluzination.
Quiz
Drei Fragen zur Selbstkontrolle. Wähle eine Antwort oder klappe die Lösung unter der Frage auf. Mit der Tastatur: Pfeiltasten wählen, Enter oder Leertaste bestätigt.
Das Wichtigste
- Ein Sprachmodell liefert Wahrscheinlichkeiten für das nächste Token; Text erzeugen heißt, wiederholt daraus zu ziehen.
- Ein Bigramm-Modell zählt, welches Wort auf welches folgt; ein LLM ersetzt die Zählungen durch einen Transformer, der auf langen Kontext schaut.
- Die Temperatur steuert, wie kühn das Modell zieht, nicht, wie viel es weiß.
- LLMs werden mit demselben Rezept trainiert wie der Rest des Kurses: Log-Loss, Gradientenabstieg, Backpropagation.
- Plausibel ist nicht dasselbe wie wahr, deshalb können Sprachmodelle halluzinieren.
Wie geht es weiter?
Das ist die letzte Lektion des Kurses. Der Rest von ML Atlas ist vorerst auf Englisch und Polnisch.
- Wiederholung Fragen aus abgeschlossenen Lektionen kommen nach 1, 7 und 30 Tagen wieder; ein paar Minuten am Tag
- Daily ML ein kurzes Rätsel pro Tag (auf Englisch)
- Atlas of terms Begriffe der Enzyklopädie auf Englisch
Tiefer: Formel, Code, Praxis
Die Mathematik
Bei einem Bigramm-Modell ist die Wahrscheinlichkeit des nächsten Wortes b nach dem Wort a ein Verhältnis von Zählungen: P(b | a) = count(a b) / count(a). Die Temperatur t formt diese Wahrscheinlichkeiten um, ohne die Zählungen zu ändern:
P_t(b | a) = count(a b)^(1/t) / Σ_c count(a c)^(1/t), summiert über alle Wörterc, die aufafolgten.- Bei
t = 1ist das das gewöhnliche Verhältnis. Gehttgegen 0, nimmt das häufigste Wort alles. Wächstt, flacht die Verteilung zu gleichen Chancen hin ab. - Ein LLM nutzt dieselbe Idee auf Logits
z:P_t(b) = exp(z_b / t) / Σ_c exp(z_c / t). Die obigen Zählungen sind der Spezialfallz = log count. - Das Training minimiert den Log-Loss des wahren nächsten Tokens,
−log P(real token | context), gemittelt über den Text.
Im Code (Python)
Der Code liest die englischen Sätze des Labs, zählt, was auf „the“ folgt, und wendet die Temperaturformel an. Er läuft also auf ENGLISCHEN Sätzen, und seine Zahlen sind die der englischen Version der Lektion (das deutsche Lab hat einen eigenen, deutschen Text). Das Notebook, das unter der Ausgabe verlinkt ist, lädt die Daten selbst.
import re
from collections import Counter
src = open("site-src/course/labs/next-token.corpus.js", encoding="utf-8").read()
text = re.search(r"en: `(.*?)`", src, re.S).group(1) # die englischen Sätze des Labs
words = re.findall(r"[a-z']+", text.lower())
after_the = Counter(b for a, b in zip(words, words[1:]) if a == "the")
counts = after_the.most_common()
print(f'"the" seen {sum(after_the.values())} times, {len(after_the)} different next words, top: {counts[:3]}')
for t in (1, 0.5, 0.1, 3):
w = {b: c ** (1 / t) for b, c in counts}
print(f"temperature {t}: P(morning | the) = {w['morning'] / sum(w.values()):.1%}")
Ausgabe
"the" seen 42 times, 26 different next words, top: [('morning', 4), ('cup', 3), ('garden', 3)]
temperature 1: P(morning | the) = 9.5%
temperature 0.5: P(morning | the) = 18.6%
temperature 0.1: P(morning | the) = 85.0%
temperature 3: P(morning | the) = 5.3%
Das sind die Zahlen der englischen Lektion: Auf „the“ folgen an 42 Stellen 26 verschiedene Wörter, und „morning“ ist mit 4 von 42 das häufigste von ihnen, das sind 9,5 % bei Temperatur 1. Bei Temperatur 0,1 bekommt es 85,0 %, bei 3 nur 5,3 %.
Notebook herunterladen (.ipynb). Öffne es in Jupyter oder lade es in Google Colab hoch; fehlende Daten lädt es selbst.
Für die Praxis
- Zählungen aus wenig Text sind verrauscht. Ein Wort, das dreimal vorkommt, liefert dir drei Beispiele, keine verlässliche Verteilung. Deshalb werden echte Modelle auf riesigen Korpora trainiert.
- Gierige Wahl (immer das wahrscheinlichste Wort) ergibt sich wiederholenden Text. Ziehen bei einer Temperatur nahe 1 oder nur aus den wenigen besten Wörtern bringt mehr Abwechslung.
- Nimm eine niedrige Temperatur für Antworten, die stabil und überprüfbar sein sollen, und eine höhere zum Brainstorming. Keine von beiden macht die Antwort wahrer.
- Flüssig heißt nicht korrekt. Prüfe Fakten, Zahlen und Zitate an einer Quelle, denn das Modell setzt nur fort, was wahrscheinlich ist.
- Echte Modelle lesen Tokens, nicht Wörter. Ein seltenes Wort wird in Stücke zerlegt, das Zählen ganzer Wörter wie hier ist also eine Vereinfachung.
War das hilfreich?
Danke! Das hilft uns, besser zu werden.
Mehr im Atlas
Einträge der Enzyklopädie zu den Ideen dieser Lektion: