Baustein 4 von 6 · GrundlagenGelesen
Skalar, Vektor, Matrix, Tensor: die Bausteine der Zahlen
Von der Wetter-App zum Chatbot: wie eine Zahl, eine Liste, eine Tabelle und ein Stapel von Tabellen zusammenhängen und warum deine Chatnachricht und dein Foto für ein Modell genau solche Zahlenblöcke sind.
Du tippst in einen Chatbot: „Die Katze sitzt.” Aus dem vorigen Baustein weißt du, was zuerst passiert. Der Tokenizer zerlegt den Satz in Tokens, und jedes Token bekommt eine Nummer, etwa 417 für „Die”. Mit dieser Nummer allein kann das Modell aber wenig anfangen. Es benutzt sie als Adresse und holt sich damit eine lange Liste gelernter Zahlen. Bei der kleinsten Version von GPT-2 sind es 768 Zahlen pro Token, für die fünf Tokens aus dem Beispiel des vorigen Bausteins also schon 3.840. Die Modelle hinter heutigen Chatbots arbeiten mit noch längeren Listen.
Wie behält ein Modell bei so vielen Zahlen den Überblick? Die Antwort ist unspektakulär: Es ordnet sie, immer nach denselben wenigen Mustern. Diese Muster kennst du schon, und zwar aus der Wetter-App.
Eine Zahl und eine Liste
Die Wetter-App meldet für heute Mittag 18 Grad. Das ist eine einzelne Zahl, und mehr braucht es nicht, um die Frage „Wie warm ist es?” zu beantworten. Eine einzelne Zahl heißt Skalar.

In der Wochenvorschau stehen sieben Werte, für jeden Tag einen: 18, 21, 19, 15, 14, 17, 20 (ausgedachte Werte). Hier zählt nicht nur jede Zahl, sondern auch ihre Reihenfolge. Die 15 gehört zum Donnerstag, weil sie an vierter Stelle steht. Vertauschst du zwei Zahlen, stimmt die Vorhersage für zwei Tage nicht mehr, obwohl noch dieselben Zahlen dastehen. Eine geordnete Liste von Zahlen heißt Vektor. Jede Zahl hat darin ihren festen Platz, und der Platz gehört zur Information dazu.
Und dein Chat? Die 768 Zahlen, die das Modell für das Token „Die” holt, bilden genau so eine geordnete Liste, also einen Vektor. Und am Ende bekommt jedes mögliche nächste Textstück eine einzelne Bewertung, den Score aus dem Baustein über Input und Output. Jeder einzelne Score ist ein Skalar.
Viele Listen untereinander: die Matrix
Jetzt willst du die Woche für vier Städte vergleichen: Berlin, Hamburg, Köln und München. Am übersichtlichsten ist eine Tabelle mit einer Zeile pro Stadt und einer Spalte pro Tag. Um eine bestimmte Zahl zu finden, brauchst du zwei Angaben: Stadt und Tag. Eine solche Tabelle heißt Matrix. Jede ihrer Zeilen ist wieder ein Vektor, nämlich die Woche einer Stadt.
Die Zahlen selbst sind dabei immer Temperaturen geblieben. Geändert hat sich nur, wie sie angeordnet sind: einzeln, in einer Reihe oder in einer Tabelle. Genau das unterscheiden die drei Begriffe.
Auch dein Chat hat so eine Tabelle. Dein Satz „Die Katze sitzt.” besteht aus fünf Tokens, und jedes bringt seine Liste mit 768 Zahlen mit. Schreibt man die fünf Listen als Zeilen untereinander, entsteht eine Tabelle mit fünf Zeilen, eine pro Token: eine Matrix. Wie das Modell diese Zeilen findet, zeigt ein späterer Abschnitt.
Bevor du weiterliest: Der Wetterdienst misst nicht nur die Temperatur, sondern auch Wind und Regen, für dieselben vier Städte und sieben Tage. Wie würdest du diese Zahlen ablegen, damit nichts durcheinandergerät?
Tabellen stapeln: der Tensor
Die naheliegende Lösung: drei Tabellen gleicher Bauart, eine für Temperatur, eine für Wind, eine für Regen. Legst du sie übereinander, entsteht ein Stapel. Um eine Zahl darin zu finden, brauchst du jetzt drei Angaben: welche Messgröße, welche Stadt, welcher Tag. „Wind, Köln, Freitag” führt zu genau einer Zahl.
Für solche Zahlenblöcke mit mehr als zwei Richtungen gibt es das Wort Tensor. Bei KI-Modellen wird es sogar für jeden Zahlenblock benutzt, egal wie viele Richtungen er hat. Auch Skalar, Vektor und Matrix zählen dann als Tensoren. Alle Zahlen in einem Tensor sind von derselben Sorte, etwa lauter Kommazahlen. So kann der Rechenchip jede Zahl mit demselben Handgriff behandeln.
Das Wort klingt nach Physikstudium, und tatsächlich stammt es aus Physik und Mathematik. Dort steht dahinter ein strengerer Begriff mit eigenen Rechenregeln. Bei KI-Modellen ist aber schlicht ein Zahlenblock gemeint. Wer eine Wettertabelle lesen kann, versteht auch einen Tensor.

Einen Tensor hast du vermutlich schon selbst verschickt. Wenn du einem Chatbot ein Foto zeigst und fragst, was darauf zu sehen ist, bekommt das Modell genau so einen Stapel. Oft wird das Foto vorher noch verkleinert oder in kleine Stücke geteilt, am Aufbau aus drei Farbtabellen ändert das aber nichts. Ein Foto besteht aus Bildpunkten, und jeder Bildpunkt hat drei Farbwerte: wie viel Rot, wie viel Grün und wie viel Blau, jeweils eine Zahl von 0 bis 255. Für das Modell werden diese Werte sortiert. Alle Rotwerte kommen in eine Tabelle, alle Grünwerte in eine zweite, alle Blauwerte in eine dritte. Jede Tabelle ist so hoch und breit wie das Foto. Drei gleich gebaute Tabellen übereinander, das ist derselbe Aufbau wie beim Wetterstapel, nur mit Farben statt Messgrößen.
Ein Foto mit 400 Bildpunkten Höhe und 600 Bildpunkten Breite ergibt schon einen ziemlich großen Stapel. Wie beschreibt man so einen Block kurz, ohne jedes Mal alles aufzuzählen?
Achsen und Form: der Steckbrief eines Zahlenblocks
Jede Richtung, in die sich ein Block ausdehnt, heißt Achse. Die Wochenliste hat eine Achse, die Tage. Die Städtetabelle hat zwei, Städte und Tage. Der Wetterstapel hat drei: Messgröße, Stadt und Tag. Ein einzelner Skalar hat keine Achse, denn er dehnt sich in keine Richtung aus. Deshalb ist auch er ein Tensor, nur einer ohne Achse.
Die Form eines Blocks nennt für jede Achse, wie viele Einträge sie hat. Die Wochenliste hat die Form 7, die Städtetabelle 4 × 7, der Wetterstapel 3 × 4 × 7. Aus der Form liest du zwei Dinge ab. Die Zahl der Angaben verrät, wie viele Achsen der Block hat. Und multiplizierst du die Angaben, erhältst du die Zahl der Einträge: 3 · 4 · 7 = 84 Zahlen im Wetterstapel.
Jetzt das Foto. Es hat die Form 3 × 400 × 600: drei Farben, 400 Zeilen, 600 Spalten. Drei Angaben, also drei Achsen. Wie viele Zahlen sind das? Rechne kurz selbst, bevor du weiterliest. Es sind 720.000, und das für ein eher kleines Foto. Dein Satz „Die Katze sitzt.” hat die Form 5 × 768, das sind 3.840 Zahlen. Wer mit KI-Modellen arbeitet, beschreibt jeden Zahlenblock auf diese Weise. Die Form ist sein Steckbrief.
Live-Demo · zum Ausprobieren
Vom Wetterwert zum Zahlenstapel
Die vier Schritte aus dem Text zum Anklicken: Jeder Schritt ordnet dieselben Wetterdaten neu an. Tippe danach auf eine Zahl und sieh, welche Angaben nötig sind, um sie zu finden.
Alle Wetterwerte sind ausgedacht. Dein Chat folgt demselben Muster: Jedes Token bringt eine Reihe aus 768 Zahlen mit, fünf Tokens untereinander sind eine Tabelle, und viele Sätze auf einmal ein Stapel.
Eine Ebene tiefer: Ist ein Vektor nicht ein Pfeil?
Viele kennen Vektoren aus der Schule als Pfeile, und dort stimmt das auch: Zwei oder drei Zahlen lassen sich als Pfeil in eine Ebene oder in den Raum zeichnen. Bei KI-Modellen ist ein Vektor zuerst eine geordnete Zahlenliste, und die kann 768 Zahlen lang sein. Mathematisch bleibt sie ein Pfeil, nur bräuchte man zum Zeichnen einen Raum mit 768 Koordinaten statt zwei oder drei. Den kann sich niemand mehr vorstellen. Die Liste funktioniert dagegen bei zwei Zahlen genauso wie bei 768.
Ähnlich verwirrend ist das Wort „Dimension”. Manche meinen damit die Zahl der Achsen („ein dreidimensionaler Block”), andere die Länge einer Achse („ein Vektor mit 768 Dimensionen” ist eine Liste mit 768 Zahlen). Dieser Baustein sagt deshalb „Achse” für die Richtung und „Länge” für die Zahl der Einträge.
Fehlt noch die Antwort auf die Frage, woher die 768 Zahlen für „Die” überhaupt kommen.
Vom Token zum Zahlenblock
Stell dir ein dickes Nachschlagebuch vor. Es hat eine Seite für jedes Textstück, das das Sprachmodell kennt, also für jeden Eintrag seines Vokabulars. Auf jeder Seite steht eine Liste mit 768 Zahlen. Bei der kleinsten Version von GPT-2 hat dieses Buch 50.257 Seiten.
Die Token-ID ist einfach die Seitenzahl. Kommt die 417 für „Die” herein, schlägt das Modell Seite 417 auf und übernimmt die Liste, die dort steht. Mehr passiert in diesem Schritt nicht. Es wird nichts gerechnet, nur nachgeschlagen.
Im Rechner ist das Buch eine große Tabelle, und jede Seite ist eine Zeile darin.
Für deinen Satz „Die Katze sitzt.” passiert das fünfmal, einmal pro Token. Jedes Token schlägt seine Seite auf, und die fünf Listen werden in derselben Reihenfolge untereinandergeschrieben. So entsteht die Tabelle mit fünf Zeilen, die du schon aus dem Abschnitt über die Matrix kennst.
Wer hat die Zahlen ins Buch geschrieben? Kein Mensch. Sie gehören zu den Parametern des Modells und wurden beim Training Schritt für Schritt eingestellt. Ein anderes Modell hat deshalb auf Seite 417 ganz andere Zahlen.
Hier hinkt der Vergleich mit dem Wetter. In der Wettertabelle hat jede Zahl einen Namen: Montag, Hamburg, Wind. Auf Seite 417 hat die einzelne Zahl meist keinen. Niemand hat festgelegt, dass etwa die 312. Zahl „Tier” bedeutet. Was die Liste ausdrückt, ergibt sich erst beim Training. Darum geht es später.

Beim Training schickt man meist viele Sätze gleichzeitig durch das Modell. Jeder Satz ist eine Tabelle wie eben. Diese Tabellen werden gestapelt, genau wie vorhin die Wettertabellen, und so entsteht ein Tensor. Damit hast du die ganze Kette beisammen: Die Token-ID ist eine Seitenzahl. Jede Seite liefert eine Liste, also einen Vektor. Dein ganzer Satz ergibt eine Tabelle, also eine Matrix. Und viele Sätze übereinander ergeben einen Stapel, also einen Tensor.
Eine Ebene tiefer: Wenn Sätze verschieden lang sind
Ein Stapel braucht gleich große Schichten. Echte Sätze sind aber selten gleich lang. Ein ausgedachtes Beispiel: „Die Katze sitzt.“ hat fünf Tokens, ein zweiter Satz hat acht. Ihre Tabellen haben die Formen 5 × 768 und 8 × 768, und zwei verschieden hohe Tabellen ergeben keinen sauberen Stapel.
Deshalb wird der kürzere Satz aufgefüllt, auf Englisch heißt das Padding. Er bekommt hinten drei zusätzliche Stellen mit einem besonderen Füll-Token, das nur Platz hält. Jetzt sind beide Sätze acht Tokens lang, und der Stapel hat die Form 2 × 8 × 768: zwei Sätze, acht Positionen, 768 Zahlen pro Position.
Damit die Füllung nicht als Text zählt, bekommt das Modell eine zweite, viel kleinere Tabelle mit, die Maske (englisch Attention Mask). Sie hat die Form 2 × 8 und enthält nur Einsen und Nullen. Eine 1 heißt „hier steht ein echtes Token“, eine 0 heißt „hier ist nur Füllung“:
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| Satz 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
| Satz 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Die Stellen mit einer 0 beachtet das Modell nicht.
In die andere Richtung gibt es eine Obergrenze: das Kontextfenster aus dem Baustein über Tokenizer, also die Zahl der Positionen, die ein Modell auf einmal verarbeiten kann. Bei GPT-2 sind es 1024. Ein längerer Text passt nicht in den Block und wird abgeschnitten, auf Englisch Truncation: Was über die Obergrenze hinausgeht, fällt weg. Je nach Einstellung trifft das das Ende oder den Anfang. Fällt der Anfang weg, entsteht der Effekt aus dem Baustein über Tokenizer: Ein Chatbot scheint in einem langen Chat zu vergessen, was ganz am Anfang stand. Auffüllen und Abschneiden zusammen sorgen dafür, dass jeder Block eine feste, rechteckige Form hat.
Warum Modelle in Zahlenblöcken rechnen
Ob Satz, Foto oder Wetterdaten: Für das Modell ist alles ein Zahlenblock mit Achsen und einer Form. Warum dieser Aufwand? Weil sich so dieselbe Rechnung auf sehr viele Zahlen gleichzeitig anwenden lässt.
Angenommen, alle 28 Temperaturen der Städtetabelle sollen von Celsius in Fahrenheit umgerechnet werden. Für jede Zahl ist es derselbe Handgriff, und keine Rechnung muss auf eine andere warten. Genau darauf sind Grafikprozessoren gebaut, die Chips, auf denen große Modelle meist laufen. Sie führen Tausende gleichartiger Rechnungen parallel aus, statt eine nach der anderen. Dafür muss der Chip die Arbeit vorher aufteilen können. Weil im Block jede Zahl eine feste Adresse hat, geht das ohne Suchen: Ein Rechenwerk nimmt die Berlin-Zeile, das nächste die Hamburg-Zeile, und jedes weiß sofort, wo seine Zahlen liegen. Ein ordentlich geformter Block ist für sie die ideale Arbeitsportion. Die 28 Temperaturen sind ein kleiner Happen, die 720.000 Zahlen des Fotos ein großer, aber nach demselben Muster.
Das betrifft jede Frage, die du einem großen Chatbot stellst. Sie wird nicht auf deinem Handy beantwortet, sondern in einem Rechenzentrum mit solchen Chips. Dort laufen die Zahlenblöcke deiner Nachricht durch das Modell, und jeder Block wird in großen Portionen parallel verarbeitet statt Zahl für Zahl. Schon das Training der Modelle hinter ChatGPT lief auf Zehntausenden solcher Chips. Deshalb rechnen Modelle in Tensoren. Die Mathematik dahinter ist nicht geheimnisvoll: Gleich gebaute Zahlenblöcke lassen sich einfach am schnellsten verarbeiten.
Auch am Ausgang des Modells steht ein Zahlenblock: die Score-Liste aus dem Baustein über Input und Output. Für das nächste Textstück enthält sie 50.257 Scores, einen für jeden Eintrag des Vokabulars. Jetzt hat sie ihren Namen: Sie ist ein Vektor.
Damit ist die Frage vom Anfang beantwortet: Ein Modell behält die Tausende Zahlen deines Satzes im Griff, weil sie in Blöcken fester Form liegen. Jede Zahl hat eine Adresse, und weil alle Blöcke gleich gebaut sind, kann der Chip viele davon gleichzeitig verarbeiten. Offen bleibt, was das Modell mit dem Score-Vektor am Ende anfängt. Scores wie 7,1 oder −2,3 sind noch keine Wahrscheinlichkeiten. Wie daraus die Entscheidung für das nächste Token wird, zeigt der nächste Baustein.
Einfacher erklären lassen
- Einfacher erklärenKernaussage und ein Vergleich aus dem Alltag
- Mit BeispielEin konkretes Beispiel, Schritt für Schritt
- AusführlicherJeder Gedankenschritt einzeln, in einfacher Sprache
Abrufmoment
Was ist hängen geblieben?
Beantworte die Fragen ohne zurückzuscrollen. Es geht nicht um eine Note, sondern darum, das Gelernte einmal aus dem Gedächtnis abzurufen. Sobald du eine Antwort anklickst, siehst du, ob sie stimmt.
Fragen werden vorbereitet …
Fragen aus der Community
Etwas ist unklar geblieben? Stell deine Frage zu diesem Baustein im Community-Board. Dort antworten andere Lernende und das Projekt — und du siehst, was andere schon gefragt haben.