Ein Transformer kann nur rechnen. Bevor der Transformer also seine Arbeit aufnimmt, muss Sprache in eine mathematische Struktur verwandelt werden. Das macht der Tokenizer:
Ein vollwertiger Transformer wird mit einer Unmenge von Text trainiert, bevor er sinnvolle Antworten liefert. Chat-GPT wird z.B. mit Millionen von Textseiten aus dem Internet trainiert.
Hier betrachten wir einen sehr kurzen Trainings-Text:
In Spanien ist Paella als Essen beliebt.
In Deutschland ist Bier als Getränk beliebt.
In Japan ist Sushi als Essen beliebt.
In Deutschland ist Apfelstrudel als Essen beliebt.
In Spanien ist Sangria als Getränk beliebt.
In Italien ist Kaffee als Getränk beliebt.
In Italien ist Pizza als Essen beliebt.
In Japan ist Sake als Getränk beliebt.
In Spanien ist Tortilla als Essen beliebt.
In Japan ist Sushi als Essen beliebt.
In Deutschland ist Bratwurst als Essen beliebt.
In Italien ist Wein als Getränk beliebt.
Damit mit Sprache gerechnet werden kann, wird eine Wortliste (Vokabular) aus dem Trainingstext entnommen und jedem Wort in der Wortliste wird ein sogenannter One-Hot-Vektor zugeordnet:
Vokabular:
In [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Spanien [0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
ist [0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Paella [0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
als [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Essen [0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
beliebt [0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Deutschland [0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0]
Bier [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]
Getränk [0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0]
Japan [0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0]
Sushi [0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0]
Apfelstrudel [0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0]
Sangria [0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
Italien [0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0]
Kaffee [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0]
Pizza [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0]
Sake [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]
Tortilla [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0]
Bratwurst [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]
Wein [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]
Der Prompt wird in Sprache formuliert. Mit den Worten kann der Transformer nichts anfangen. Also werden die Worte des Prompts im Vokabular gesucht und anstelle der Worte werden die One-Hot-Vektoren dem Transformer übergeben:
Prompt: "Essen in Spanien"
One-Hot-Vektoren ohne Beachtung der Groß-/ Kleinschreibung:
[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Die One-Hot-Vektoren werden anstelle der Worte dem Transformer übergeben. Mit diesen Zahl-Listen (Vektoren) kann der Transformer rechnen.