Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Wie ein Sprachmodell das nächste Wort wählt

Nach dieser Lektion: Ich kann erklären, wie ein Sprachmodell das nächste Wort wählt und wo es danebenliegt.

Lektion, 55 Min.2 BefehleJupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Eine sichere Antwort, die falsch war

Eine neue Mitarbeiterin fragt einen Chatbot, wann der Verleih sonntags öffnet. Er antwortet sofort, höflich und in einem sicheren Satz. Die Zeiten stimmen nicht.

Kaputt war nichts. Das Modell hat genau das getan, wofür es gebaut ist. Diese Lektion zeigt, was das ist, an einem Modell, das klein genug zum Nachrechnen ist.

Am Ende dieser Lektion

Notiz

Ich kann erklären, wie ein Sprachmodell das nächste Wort wählt und wo es danebenliegt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Sprachmodellein Programm, das die Wahrscheinlichkeit des nächsten Tokens angibt
Tokenein Stück Text, mit dem ein Modell arbeitet, ein Wort oder ein Teil davon
Wahrscheinlichkeitwie wahrscheinlich etwas ist, von 0 bis 1
Bigrammzwei Tokens direkt nebeneinanderder zug
Trainingstextder Text, aus dem ein Modell lernt
Erfundene Antwortflüssiger Text, der nicht stimmt, auch Halluzination genannt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Aus Text werden Tokens

Ein Modell liest Buchstaben nicht so wie Sie. Es zerlegt Text zuerst in Tokens. Bei einem großen Modell sind das häufige Wörter und Stücke seltener Wörter, oft mit dem Leerzeichen davor.

Unser kleines Modell macht es einfach. Es schreibt alles klein, behandelt den Punkt als eigenes Token und trennt an Leerzeichen.

Einen Satz in Tokens zerlegen

Code: python
satz = "Der Laden öffnet um neun. Der Laden schließt um sechs."
# Kleinschreiben, und der Punkt wird ein eigenes Token.
tokens = satz.lower().replace(".", " .").split()
print(tokens)
print(len(tokens), "Tokens")
# Hängen Sie einen eigenen Satz an. Wie viele Tokens sind es jetzt?

Wahrscheinlichkeiten aus Zählungen

Ein Bigramm-Modell lernt nur eines: welches Token auf welches folgt. Gehen Sie den Trainingstext durch und zählen Sie jedes Paar von Nachbarn.

Für die Wahrscheinlichkeiten nach einem Wort teilen Sie jede Zählung durch die Zahl der Male, die auf dieses Wort überhaupt etwas folgte. bigram.py macht das für das englische Wort „the“ in einem kurzen Text über einen Laden.

Zählen, was auf the folgt

Befehl
docker exec jupyter python3 steps/bigram.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Beispiel: nach dem Wort the

Nächstes TokenZählungWahrscheinlichkeit
shop33 / 9 = 0,33
desk22 / 9 = 0,22
hour11 / 9 = 0,11
bikes, customer, doorje 1je 0,11
Summe91,00, bis auf Rundung

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Das nächste Wort selbst zählen

Code: python
# Zählen, was in einem kurzen Text auf ein Wort folgt.
text = "der kaffee ist heiss . der kaffee ist teuer . der tee ist heiss ."
woerter = text.split()
wort = "ist"
zaehlungen = {}
gesamt = 0
for n in range(len(woerter) - 1):
    if woerter[n] == wort:
        danach = woerter[n + 1]
        if danach in zaehlungen:
            zaehlungen[danach] = zaehlungen[danach] + 1
        else:
            zaehlungen[danach] = 1
        gesamt = gesamt + 1
for danach in zaehlungen:
    print(wort, danach, zaehlungen[danach], "von", gesamt)
# Setzen Sie wort auf "der". Welches Wort folgt am wahrscheinlichsten?

Schreiben heißt, immer wieder das nächste Token wählen

Zum Schreiben wählt das Modell ein nächstes Token, oft zufällig nach den Wahrscheinlichkeiten gewichtet. Dann wählt es vom neuen Token aus wieder eines, und so weiter.

Nichts in dieser Schleife prüft, ob der Satz stimmt. Ein großes Modell ist ein neuronales Netz, das auf Tausende früherer Tokens schaut statt auf eines. Es lernt aus riesigen Textmengen, wählt aber trotzdem wahrscheinliche nächste Tokens.

Vier Sätze aus den Zählungen schreiben

Befehl
docker exec jupyter python3 steps/generate.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele denken, ein Sprachmodell schlage Fakten nach und berichte sie. Es erzeugt wahrscheinliche nächste Tokens. Sind die wahrscheinlichen Wörter auch wahr, stimmt die Antwort. Sind sie es nicht, klingt die falsche Antwort genauso sicher. Prüfen Sie deshalb alles, was zählt.

Der Trainingstext entscheidet, was wahrscheinlich ist

Ein Modell kann nur die Muster seines Trainingstexts wiedergeben. Unser Text sagt dreimal „the shop“, also greift das Modell zu „shop“, egal worum es geht.

Ein großes Modell tut dasselbe mit Menschen. Verbindet sein Text einen Beruf meist mit einem Geschlecht oder ein Land mit einem Verbrechen, wiederholt es das. Das ist Verzerrung aus den Daten, in einer einzelnen Antwort oft unsichtbar.

Wie Sie eine Antwort prüfen

Behandeln Sie eine Antwort als Entwurf von jemandem, der schnell schreibt und nie prüft. Fragen Sie, woher eine Angabe stammt, und öffnen Sie die Quelle selbst. Eine Quelle, die es nicht gibt, ist ein Warnzeichen.

Rechnen Sie jede Zahl nach. Stellen Sie dieselbe Frage anders und vergleichen Sie. Geben Sie keine vertraulichen Daten wie Kundennamen ein, außer Ihre Organisation erlaubt das Werkzeug dafür.

Weiterführend: zwei Wörter Rückblick

Kopieren Sie den Text aus generate.py in eine Notebook-Zelle. Lassen Sie das Modell auf zwei frühere Wörter schauen statt auf eines. Zählen Sie, welches Wort auf jedes Paar folgt, etwa auf „the shop“.

Erzeugen Sie vier Sätze mit demselben Startwert. Liegen sie näher am Trainingstext? Erklären Sie, warum ein Modell mit mehr Rückblick besser schreibt, aber trotzdem erfinden kann.

Über dieses Lab und seinen Quellcode: JupyterLab-Lab für Data Science: pandas, Matplotlib und scikit-learn im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.