Über das Buch
Sebastian Raschka, früher Statistik-Professor, heute Research Engineer beim KI-Unternehmen Lightning AI, ist durch mehrere Lehrbücher zum maschinellen Lernen bekannt. Sein Buch folgt einem Prinzip, das Richard Feynman zugeschrieben wird: „I don't understand anything I can't build." Genau das passiert hier: Schritt für Schritt entsteht in Python ein großes Sprachmodell auf dem Niveau von GPT-2 — selbst gebaut, selbst trainiert, am Ende fähig, Text zu erzeugen. Nötig sind dafür nur solide Python-Kenntnisse und etwas Grundwissen im maschinellen Lernen; alles läuft auf einem normalen Laptop, auch ohne GPU.
Aufbau
Das Buch ist als Roadmap in drei Stufen angelegt. Zuerst wird das Modell gebaut: Datenaufbereitung, Attention-Mechanismus, Architektur. Das Training macht daraus in Stufe 2 ein Foundation Model — Trainings-Schleife, Evaluation, Laden vortrainierter Gewichte. In Stufe 3 wird daraus per Finetuning entweder ein Klassifikator oder ein persönlicher Assistent, also ein Chatbot.
Das erste Kapitel gibt einen Überblick aus der Vogelperspektive; danach werden die Bausteine der GPT-Architektur entwickelt, immer nach demselben Muster: erst das Prinzip, dann die Umsetzung in Code — etwa in Kapitel 3 der Attention-Mechanismus.
Dazu kommt ein umfangreicher Anhang: eine PyTorch-Einführung, kommentierte Referenzen, Lösungen zu den Übungen, Erweiterungen der Trainings-Schleife (Learning-Rate-Warmup, Cosine Decay, Gradient Clipping) und Finetuning mit LoRA. Der gesamte Code steht als Jupyter-Notebooks auf GitHub.
Meine Bewertung
Den Grundgedanken finde ich faszinierend: die Technologie, um die sich derzeit aller Hype dreht, nicht als Black Box zu benutzen, sondern Baustein für Baustein selbst zu bauen — ganz im Sinne Feynmans.
Visuell ist das Buch ansprechend, mit vielen Diagrammen und Tabellen — wenn auch nicht ganz auf dem Niveau von „Hands-On Large Language Models", das ich zuletzt besprochen habe. Mathematisches Vorwissen braucht es kaum; selbst das Skalarprodukt wird in einem eigenen Kästchen erklärt. Besonders gelungen finde ich die bebilderten Schritt-für-Schritt-Beispiele, etwa zur Berechnung der Attention-Gewichte: So erschließt sich der Mechanismus fast von selbst. Nach diesem Muster funktioniert das ganze Buch — jeder Bestandteil des Sprachmodells wird erst anschaulich erklärt, dann in Python implementiert, bis am Ende tatsächlich ein Modell auf GPT-2-Niveau läuft.
Andere Stimmen
Auf Amazon bekommt das Buch durchweg sehr gute Kritiken.
Kapitel für Kapitel
Kapitel 1: Understanding large language models (S. 1)
Konzeptionelle Einordnung ohne Code: Was große Sprachmodelle sind, das zweistufige Trainingsparadigma aus Pretraining und Finetuning, die Transformer-Architektur mit Encoder- (BERT) und Decoder-Zweig (GPT) sowie der Drei-Stufen-Bauplan des Buchs.
Kapitel 2: Working with text data (S. 17)
Die Daten-Pipeline vor dem Modell: ein selbst gebauter Tokenizer mit Vokabular, dann der Wechsel zu Byte-Pair-Encoding via tiktoken, Sliding-Window-Sampling der Trainingsdaten sowie Token- und Positions-Embeddings.
Kapitel 3: Coding attention mechanisms (S. 50)
Der Attention-Mechanismus in vier aufsteigenden Stufen: vereinfachte Self-Attention ohne trainierbare Gewichte, Attention mit trainierbaren Query/Key/Value-Matrizen, kausale Attention mit Maske und Dropout, schließlich Multi-Head-Attention — jeweils erst mit konkreten Zahlen durchgerechnet, dann als kompakte Klasse.
Kapitel 4: Implementing a GPT model from scratch to generate text (S. 92)
Die komplette GPT-2-Architektur mit 124 Millionen Parametern: Layer-Normalisierung, GELU-Aktivierung, Feed-Forward-Netz und Shortcut-Verbindungen werden einzeln gebaut und zum Transformer-Block und zur Modellklasse zusammengesetzt; eine erste Generierungsfunktion erzeugt mit dem untrainierten Modell erwartungsgemäß Kauderwelsch.
Kapitel 5: Pretraining on unlabeled data (S. 128)
Die Loss-Berechnung wird Schritt für Schritt hergeleitet, dann folgen eine vollständige Trainings-Schleife und das Pretraining auf einer Kurzgeschichte (rund fünf Minuten auf einem Laptop); dazu Temperature Scaling und Top-k-Sampling. Am Ende werden die originalen GPT-2-Gewichte von OpenAI in das eigene Modell geladen.
Kapitel 6: Fine-tuning for classification (S. 169)
Aus dem vortrainierten Modell wird ein Spam-Klassifikator: Der Output-Layer wird durch einen Zwei-Klassen-Kopf ersetzt, nur die letzten Schichten werden trainiert; auf einem SMS-Datensatz erreicht das Modell nach wenigen Minuten Training rund 96 % Test-Genauigkeit.
Kapitel 7: Fine-tuning to follow instructions (S. 204)
Instruction-Finetuning des mittleren GPT-2-Modells auf 1.100 Instruktions-Antwort-Paaren im Alpaca-Format; die Antworten werden anschließend automatisiert von einem lokal laufenden Llama-3-Modell bewertet. Der Schluss gibt einen Ausblick (u. a. Preference-Tuning) und Tipps, wie man in dem schnellen Feld aktuell bleibt.
Anhänge A–E (S. 251)
Eine Einführung in PyTorch (von Tensoren bis Multi-GPU-Training), kommentierte Referenzen zum vertieften Lesen, vollständige Lösungen aller Übungen, Ergänzungen zur Trainings-Schleife (Learning-Rate-Warmup, Cosine Decay, Gradient Clipping) sowie LoRA-Finetuning, von Grund auf implementiert.
Kommentare
Noch keine Kommentare. Schreib den ersten.
Melde dich an, um zu kommentieren.