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.

LLMTransformerPyTorchGitHubTextFreeEnglish

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

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:

  1. LLM-Grundlagen verstehen
  2. Textdatenverarbeitung
  3. Aufmerksamkeitsmechanismen
  4. GPT-Architekturimplementierung
  5. Vortrainingstechniken
  6. Feinabstimmungsmethoden
  7. Praktische Anwendungsbereitstellung

Lernempfehlungen

  1. Anfänger: Beginnen Sie mit Kapitel 1, lernen Sie der Reihe nach und schließen Sie die Übungen jedes Kapitels ab
  2. Fortgeschrittene: Können vertraute Kapitel überspringen und sich auf bestimmte Themen konzentrieren
  3. Praktiker: Nutzen Sie die Bonusmaterialien, um fortgeschrittene Themen zu erkunden
  4. Forscher: Beziehen Sie sich auf das Zitatformat, um diese Ressource in Ihrer Forschung zu zitieren

Community und Support

Feedback-Kanäle

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

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.