Phase 4: Deep Learning und neuronale Netze
Ein umfassendes Tutorial zum Aufbau großer Sprachmodelle von Grund auf, schrittweise Implementierung der GPT-Architektur mit PyTorch, einschließlich des gesamten Prozesses von Vortraining, Feinabstimmung und Bereitstellung.
Detaillierte Kursbeschreibung: LLMs-from-scratch
Projektübersicht
LLMs-from-scratch ist eine umfassende Lernressource, erstellt von Sebastian Raschka, die darauf abzielt, den Bau von Großen Sprachmodellen (LLMs) von Grund auf zu lehren. Dieses Projekt ist das offizielle Code-Repository für das Buch "Build a Large Language Model (From Scratch)".
Kernmerkmale
📚 Lernziele
- Das Innenleben von Großen Sprachmodellen verstehen
- Schritt für Schritt eigene LLMs durch Programmierung erstellen
- Die Trainings- und Entwicklungsmethoden hinter grundlegenden Modellen wie ChatGPT erlernen
- Techniken zum Laden und Feinabstimmen vortrainierter Modellgewichte beherrschen
🎯 Lehrmethoden
- Von Grund auf programmieren: Implementierung mit PyTorch von Grund auf, ohne externe LLM-Bibliotheken
- Schritt für Schritt: Jede Phase wird mit klaren Texten, Diagrammen und Beispielen erklärt
- Praxisorientiert: Erstellung kleiner, aber voll funktionsfähiger Bildungsmodelle
- Umfangreiche Begleitmaterialien: Enthält einen 17 Stunden und 15 Minuten langen Videokurs
Kursstruktur
Kapitelinhalte
Kapitel 1: Große Sprachmodelle verstehen (Understanding large language models)
- Einführung in grundlegende LLM-Konzepte
- Überblick über Modellarchitekturen
Kapitel 2: Arbeiten mit Textdaten (Working with text data)
- Hauptcode:
ch02.ipynb,dataloader.ipynb - Textvorverarbeitung und Datenladen
- Übungslösungen:
exercise-solutions.ipynb
Kapitel 3: Aufmerksamkeitsmechanismen programmieren (Coding attention mechanisms)
- Hauptcode:
ch03.ipynb,multihead-attention.ipynb - Implementierung des Selbstaufmerksamkeitsmechanismus
- Detaillierte Erklärung des Multi-Head-Aufmerksamkeitsmechanismus
Kapitel 4: Ein GPT-Modell von Grund auf implementieren (Implementing a GPT model from scratch)
- Hauptcode:
ch04.ipynb,gpt.py - Vollständige GPT-Architekturimplementierung
- Detaillierte Erläuterung der Modellkomponenten
Kapitel 5: Vortraining auf ungelabelten Daten (Pretraining on unlabeled data)
- Hauptcode:
ch05.ipynb,gpt_train.py,gpt_generate.py - Vortrainingsprozess
- Implementierung der Textgenerierung
Kapitel 6: Feinabstimmung für Klassifikationsaufgaben (Finetuning for classification)
- Hauptcode:
ch06.ipynb,gpt_class_finetune.py - Anpassung des Modells für spezifische Klassifikationsaufgaben
- Feinabstimmungstechniken und -strategien
Kapitel 7: Feinabstimmung zur Befolgung von Anweisungen (Finetuning to follow instructions)
- Hauptcode:
ch07.ipynb,gpt_instruction_finetuning.py - Methoden zur Anweisungs-Feinabstimmung
- Modellbewertung:
ollama_evaluate.py
Anhangsinhalte
Anhang A: Einführung in PyTorch
- Code:
code-part1.ipynb,code-part2.ipynb - Verteiltes Datenparallel-Training:
DDP-script.py - Schnelleinführung in die PyTorch-Grundlagen
Anhang B-E
- Anhang B: Referenzen und weiterführende Literatur
- Anhang C: Zusammenfassung der Übungsantworten
- Anhang D: Zusätzliche Funktionen hinzufügen
- Anhang E: Parameter-effiziente Feinabstimmung
Bonusmaterialien
Kapitel 5 – Zusätzliche Ressourcen
- Alternative Methoden zum Laden von Gewichten: Verschiedene Techniken zum Laden von Modellgewichten
- Vortraining auf dem Project Gutenberg-Datensatz: Training auf einem großen Textkorpus
- Optimierung des Trainingszyklus: Hinzufügen verschiedener Verbesserungsfunktionen
- Lernraten-Scheduler: Optimierung des Trainingsprozesses
- Hyperparameter-Optimierung: Optimierung der Vortrainings-Hyperparameter
- Benutzeroberfläche erstellen: UI zur Interaktion mit vortrainierten LLMs
- Modellkonvertierung:
- GPT zu Llama konvertieren
- Llama 3.2 von Grund auf implementieren
- Qwen3 Dense- und Mixture-of-Experts (MoE)-Modelle
- Gemma 3 von Grund auf implementieren
- Speichereffizientes Laden von Gewichten: Optimierung des Modellladens
- Erweiterung des Tiktoken BPE-Tokenizers: Neue Token hinzufügen
- PyTorch-Leistungsoptimierungstipps: Beschleunigung des LLM-Trainings
Kapitel 6 – Zusätzliche Ressourcen
- Fortgeschrittene Techniken für die Klassifikations-Feinabstimmung
Kapitel 7 – Zusätzliche Ressourcen
- Datensatz-Tools: Finden von annähernden Duplikaten und Erstellen von Passiv-Einträgen
- Antwortbewertung: Bewertung von Anweisungsantworten mit der OpenAI API und Ollama
- Datensatzgenerierung: Generierung von Datensätzen für die Anweisungs-Feinabstimmung
- Datensatzverbesserung: Verbesserung der Qualität von Anweisungs-Feinabstimmungsdatensätzen
- Präferenzdatensatzgenerierung: Mit Llama 3.1 70B und Ollama
- DPO-Alignment: Implementierung der Direct Preference Optimization
- Benutzeroberfläche: Interaktion mit einem Anweisungs-feinabgestimmten GPT-Modell
Inferenzmodell-Ressourcen (aus dem reasoning-from-scratch Repository)
- Qwen3-Basis
- Methoden zur Modellbewertung
Technische Anforderungen
Vorkenntnisse
- ✅ Erforderlich: Fundierte Kenntnisse in Python-Programmierung
- ✅ Hilfreich: Grundkenntnisse in tiefen neuronalen Netzen
- ✅ Hilfreich: PyTorch-Grundlagen (Anhang A bietet eine Schnelleinführung)
Hardware-Anforderungen
- 💻 Normaler Laptop ausreichend: Der Code der Hauptkapitel ist für die Ausführung auf einem Standard-Laptop konzipiert
- 🚀 Automatische GPU-Beschleunigung: Falls verfügbar, nutzt der Code automatisch die GPU
- ⚡ Keine spezielle Hardware erforderlich: Gewährleistet, dass ein breites Publikum lernen kann
Software-Umgebung
- Python 3.x
- PyTorch
- Weitere Abhängigkeiten siehe Verzeichnis
setup
Begleitmaterialien
Videokurs
- 📹 17 Stunden und 15 Minuten vollständiger Videokurs
- Kapitelweise Code-Demonstrationen
- Kann als eigenständige Lernressource oder in Verbindung mit dem Buch verwendet werden
- Manning-Plattform: Master and Build Large Language Models
Folgebuch
"Build A Reasoning Model (From Scratch)"
- Kann als Fortsetzung betrachtet werden
- Beginnt mit vortrainierten Modellen
- Implementierung verschiedener Schlussfolgerungsmethoden:
- Erweiterung der Inferenzzeit
- Reinforcement Learning
- Destillationstechniken
- Verbesserung der Schlussfolgerungsfähigkeiten des Modells
- GitHub-Repository: reasoning-from-scratch
Testressourcen
Kostenloses 170-seitiges PDF: "Test Yourself On Build a Large Language Model (From Scratch)"
- Ca. 30 Quizfragen und Antworten pro Kapitel
- Hilft, das Verständnis zu testen
- Kostenloser Download auf der Manning-Website
Übungslösungen
- Jedes Kapitel enthält mehrere Übungen
- Lösungen sind in Anhang C zusammengefasst
- Entsprechende Code-Notebooks befinden sich in den jeweiligen Kapitelordnern
- Beispiel:
./ch02/01_main-chapter-code/exercise-solutions.ipynb
- Beispiel:
Projektzugang
Download-Methoden
Methode 1: Direkter ZIP-Download
# Klicken Sie auf der GitHub-Seite auf die Schaltfläche "Download ZIP"
Methode 2: Git-Klonen
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
Code-Organisation
- Jedes Kapitel hat einen eigenen Ordner:
ch02/,ch03/, etc. - Der Hauptcode befindet sich im Unterordner
01_main-chapter-code/ - Zusätzliche Ressourcen befinden sich in den entsprechenden nummerierten Ordnern
Empfohlener Lernpfad
Denkmodell
Das Buch bietet eine klare Mindmap, die alle behandelten Inhalte zusammenfasst:
- LLM-Grundlagen verstehen
- Textdatenverarbeitung
- Aufmerksamkeitsmechanismen
- GPT-Architekturimplementierung
- Vortrainingstechniken
- Feinabstimmungsmethoden
- Praktische Anwendungsbereitstellung
Lernempfehlungen
- Anfänger: Beginnen Sie mit Kapitel 1, lernen Sie der Reihe nach und schließen Sie die Übungen jedes Kapitels ab
- Fortgeschrittene: Können vertraute Kapitel überspringen und sich auf bestimmte Themen konzentrieren
- Praktiker: Nutzen Sie die Bonusmaterialien, um fortgeschrittene Themen zu erkunden
- Forscher: Beziehen Sie sich auf das Zitatformat, um diese Ressource in Ihrer Forschung zu zitieren
Community und Support
Feedback-Kanäle
- 💬 Manning Forum: Offizielles Forum
- 💭 GitHub Discussions: Diskussionsbereich
- 🤝 Alle Formen von Feedback, Fragen und Ideenaustausch sind willkommen
Hinweise zur Mitarbeit
- Aufgrund des zugehörigen gedruckten Buches bleibt der Code der Hauptkapitel konsistent
- Beiträge zur Erweiterung der Hauptkapitelinhalte werden derzeit nicht angenommen
- Dies gewährleistet die Übereinstimmung mit dem physischen Buch und bietet ein reibungsloses Lernerlebnis
Zitierinformationen
Chicago-Format
Raschka, Sebastian. Build A Large Language Model (From Scratch). Manning, 2024. ISBN: 978-1633437166.
BibTeX-Format
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/rasbt/LLMs-from-scratch}
}
Wichtige Links
- 📖 GitHub-Repository: https://github.com/rasbt/LLMs-from-scratch
- 🛒 Manning-Verlag: http://mng.bz/orYv
- 🛒 Amazon-Kauf: https://www.amazon.com/gp/product/1633437167
- 📹 Videokurs: https://www.manning.com/livevideo/master-and-build-large-language-models
- 🧠 Folgeprojekt Inferenzmodelle: https://github.com/rasbt/reasoning-from-scratch
- 📄 Konfigurationsdokumentation: setup/README.md
Zusammenfassung
Dies ist eine umfassende, systematische LLM-Lernressource, geeignet für:
- 🎓 Lernende, die ein tiefes Verständnis der Funktionsweise von LLMs erlangen möchten
- 👨💻 Entwickler, die GPT-ähnliche Modelle praktisch implementieren möchten
- 🔬 Forscher, die im Bereich NLP und Deep Learning tätig sind
- 🚀 Technikbegeisterte mit Interesse an KI und maschinellem Lernen
Durch dieses Projekt erwerben Sie die vollständige Fähigkeit, Große Sprachmodelle von Grund auf zu bauen, zu trainieren und feinabzustimmen.