Tokenwerk · Das LLM-Lehrbuch

Kapitel 32 · VII · Bau dein LLM · 5 Minuten

Dein Bauplan: ein GPT in acht Schritten

Jetzt wird gebaut. In den nächsten Kapiteln schreibst du ein komplettes Sprachmodell in PyTorch – Datei für Datei. Am Ende erzählt es Märchen und antwortet auf Wünsche.

Jetzt wird gebaut

Bis hierher hast du jedes Bauteil eines Sprachmodells kennengelernt: Tokens, Embeddings, Attention, Blöcke, Loss, Training, Sampling. Bisher hast du sie aber nur angeschaut. In diesem Teil schreibst du sie selbst – in echtem PyTorch, auf deinem eigenen Rechner.

Am Ende steht ein Sprachmodell, das du von der ersten bis zur letzten Zeile selbst geschrieben hast. Es lernt aus Grimms Märchen und schreibt danach eigene Märchen. Nach etwa zwei Minuten Training auf einem gewöhnlichen Laptop sieht das so aus:

text
Es war einmal ein König und ein kleines Drechsler, und der war so schön,
daß er ein Futter mehr tragen konnte ... Da sprach er: »Bringt mir doch
die Schwert herum, daß ich dich nicht sehen war.«

Kein Literaturpreis, klar. Aber das Modell hat ganz allein gelernt, wie Märchen klingen: „Es war einmal“, „Da sprach er“, wörtliche Rede in »Anführungszeichen«, Könige und Brüder. Niemand hat ihm eine einzige Regel verraten. Und danach bringst du ihm sogar bei, auf Wünsche zu antworten.

Der Bauplan

Wir bauen in acht Schritten. Fast jeder Schritt ist eine Datei, und jede Datei setzt Ideen aus einem Kapitel um, das du schon kennst.

Schritt Datei Was sie tut Die Idee steckt in
1 tokenizer.py Text in Token-IDs zerlegen und zurück Kapitel 12
2 prepare.py Märchen laden, aufteilen, in IDs übersetzen Kapitel 21
3 bigram.py Ein erstes, winziges neuronales Sprachmodell Kapitel 14 und 16
4 model.py, check.py Das GPT: Attention, Blöcke, alles zusammen Kapitel 17 bis 19
5 train.py Die Trainingsschleife Kapitel 22
6 generate.py Text erzeugen Kapitel 24
7 sft.py, chat.py Aus dem Märchenerzähler wird ein Chat Kapitel 28
8 model.py Modernisieren mit RMSNorm, RoPE und SwiGLU Kapitel 25

Zusammen sind das gut 500 Zeilen Python, Kommentare inklusive. Klingt viel, ist aber überschaubar: Die meisten Dateien haben 30 bis 90 Zeilen, und jedes Stück wird erklärt.

Was du brauchst

  • Einen Rechner mit Windows, macOS oder Linux. Eine Grafikkarte brauchst du nicht – alles läuft auf dem normalen Prozessor.
  • Python 3.10 oder neuer und rund 1 GB freien Platz für PyTorch.
  • Grundkenntnisse in Python: Variablen, Listen, Schleifen, Funktionen, Klassen. Wenn du schon mal ein kleines Python-Programm geschrieben hast, reicht das.
  • Etwa einen Nachmittag für alle acht Schritte.

Du musst nicht alles abtippen. Die komplette Musterlösung gibt es als Download: mein-llm.zip. Ehrlicher Tipp: Tipp den Code trotzdem selbst. Beim Abtippen fallen dir Fragen ein, die du beim Kopieren nie hättest – und genau die machen den Unterschied.

Die Werkstatt einrichten

Leg einen neuen Ordner an und richte darin eine virtuelle Umgebung ein (die Details, auch für Windows, stehen in Kapitel 10):

bash
mkdir mein-llm
cd mein-llm
python3 -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install torch numpy

Dann ein kurzer Test, ob PyTorch läuft:

bash
python -c "import torch; print(torch.__version__)"

Wenn eine Versionsnummer wie 2.6.0 erscheint, bist du startklar. Alle Dateien der nächsten Kapitel legst du direkt in diesen Ordner mein-llm.

So arbeitest du in diesem Teil

Jedes Bau-Kapitel folgt demselben Muster:

  1. Was wir bauen – und welches Konzeptkapitel dahintersteckt.
  2. Der Code, Stück für Stück – jedes Stück wird erklärt.
  3. Die ganze Datei zum Vergleichen.
  4. Ausführen und prüfen – mit der Ausgabe, die du ungefähr sehen solltest.
  5. Wenn etwas schiefgeht – die häufigsten Fehler.

Deine Zahlen werden nicht exakt wie im Buch aussehen. Andere Rechner, andere PyTorch-Versionen und Zufall sorgen für kleine Unterschiede. Die Größenordnung sollte aber passen. Weicht etwas stark ab, schau in den Abschnitt „Wenn etwas schiefgeht“.

Die Trainingsdaten: Grimms Märchen

Ein Sprachmodell braucht Text zum Lernen. Wir nehmen „Deutsche Märchen gesammelt durch die Brüder Grimm“ von Project Gutenberg. Der Text ist gemeinfrei, also frei nutzbar, und das Programm lädt ihn im nächsten Schritt selbst herunter.

Warum Märchen? Drei Gründe: Sie sind auf Deutsch. Sie sind einheitlich im Stil – „Es war einmal“, „Da sprach der König“ –, sodass ein kleines Modell schnell Muster findet. Und sie sind klein genug, dass das Training auf einem Laptop in Minuten statt Tagen läuft: rund 560 KB Text, nach dem Zerlegen etwa 140.000 Tokens.

Zwei Eigenheiten vorab, damit du dich nicht wunderst: Der Text ist über hundert Jahre alt und schreibt „daß“ statt „dass“. Und ein paar Märchen sind auf Plattdeutsch – die filtern wir beim Vorbereiten heraus.

Kurz gemerkt

  • In diesem Teil schreibst du ein komplettes GPT in PyTorch, in acht Schritten, meist mit je einer Datei.
  • Du brauchst nur Python, PyTorch und einen normalen Rechner – keine Grafikkarte.
  • Trainiert wird auf Grimms Märchen. Am Ende schreibt dein Modell eigene Märchen und antwortet auf Wünsche.