TL;DR
nanochat ist Andrej Karpathys Open-Source LLM-Trainings-Framework, mit dem Sie einen Chatbot auf GPT-2-Niveau für unter 50 US-Dollar in etwa 2 Stunden trainieren können. Das Projekt verwendet einen einzelnen 8xH100 GPU-Knoten, minimalen Code (~500 Zeilen für das Kernmodell) und einen Konfigurationsregler (--depth), um alle Hyperparameter automatisch zu optimieren. Aktuelle Aufzeichnungen zeigen den Abschluss des Trainings in 1,65 Stunden mit einem CORE-Wert von 0,2626, womit das GPT-2 von OpenAI aus dem Jahr 2019, das 43.000 US-Dollar kostete und 168 Stunden dauerte, übertroffen wird.
Einführung
Das Training eines großen Sprachmodells erforderte früher Millionen von Dollar und ein Team von promovierten Forschern. Diese Zeiten sind vorbei.
Andrej Karpathy hat kürzlich nanochat veröffentlicht, ein Open-Source-Projekt, das eine leistungsfähige konversationelle KI für weniger als die Kosten eines guten Abendessens trainiert. Die gesamte Pipeline läuft auf einem einzigen 8xH100 GPU-Knoten und ist in unter 2 Stunden abgeschlossen.
Warum dies jetzt wichtig ist
Die KI-Landschaft hat sich Anfang 2026 dramatisch verändert. Was OpenAI 2019 168 Stunden und 43.000 US-Dollar kostete, dauert jetzt 1,65 Stunden und 48 US-Dollar. Das ist eine 100-fache Beschleunigung, angetrieben durch algorithmische Verbesserungen, bessere Hardware und Community-Optimierung.
Für API-Entwickler und Teams, die KI-gestützte Anwendungen erstellen, ändert dies alles. Sie können jetzt mit benutzerdefiniertem Modelltraining experimentieren, architektonische Änderungen testen und LLM-Interna verstehen, ohne massive Infrastrukturbudgets.
Was Sie lernen werden
Am Ende dieses Artikels werden Sie verstehen:
- Wie nanochat eine 100-fache Kostenreduzierung im Vergleich zum traditionellen LLM-Training erreicht
- Die vollständige Architektur (GPT-Modell, Muon-Optimierer, Datenladen)
- Schritt-für-Schritt-Anleitung zum Trainieren Ihres eigenen Modells
- Wie man nanochat für schnelle LLM-Forschung und -Experimente verwendet
- Echte Einschränkungen und was GPT-2-Fähigkeit tatsächlich bedeutet
Was ist nanochat?
nanochat ist ein minimales LLM-Trainings-Framework, das die gesamte Entwicklungspipeline abdeckt: Tokenisierung, Vortraining, Finetuning, Evaluierung, Inferenz und eine ChatGPT-ähnliche Weboberfläche.

Die Codebasis passt in ein einziges Repository ohne Konfigurationsmonster oder Framework-Komplexität. Karpathy entwarf es als eine „starke Baseline“, die lesbar, hackbar und forkbar ist.
Die Kernbehauptung
Trainieren Sie ein GPT-2-fähiges Modell (1,6 Milliarden Parameter) für:
- 48 $ bei Bedarf (2 Stunden zu ~24 $/Stunde für 8xH100)
- ~15 $ auf Spot-Instanzen
Zum Vergleich: Das ursprüngliche GPT-2-Training von OpenAI im Jahr 2019 kostete etwa 43.000 US-Dollar und dauerte 7 Tage auf 32 TPU v3-Chips.
Was nanochat abdeckt
| Phase | Skript | Beschreibung |
|---|---|---|
| Tokenisierung | scripts.tok_train |
BPE-Tokenizer trainieren (Vokabular 32.768) |
| Vortraining | scripts.base_train |
Basales GPT-Modell trainieren |
| Finetuning | scripts.chat_sft |
Überwachtes Finetuning für Chat |
| Evaluierung | scripts.base_eval |
CORE-Metrik, Bits pro Byte |
| Inferenz | scripts.chat_cli |
CLI-Chat-Oberfläche |
| Web-UI | scripts.chat_web |
ChatGPT-ähnliche Weboberfläche |
Die Philosophie: Ein Regler, um alles zu steuern
Die meisten LLM-Frameworks überfluten Sie mit Konfigurationsdateien. nanochat verfolgt den gegenteiligen Ansatz.
Das gesamte System dreht sich um einen Parameter: --depth (die Anzahl der Transformer-Schichten).
# GPT-1 großes Modell
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=12
# GPT-2 fähiges Modell
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=24
# Die Grenzen ausreizen
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=26
Stellen Sie die Tiefe ein, und nanochat berechnet alles andere automatisch:
- Transformer-Breite (Embedding-Dimension)
- Anzahl der Aufmerksamkeitsköpfe
- Lernraten für jede Parametergruppe
- Trainingshorizont (Gesamtschritte)
- Gewichtsabnahmeschemata
- Batch-Größen
Diese „Ein-Regler“-Philosophie ermöglicht das, was Karpathy die nanochat-Miniserie nennt: eine Familie von rechenoptimierten Modellen unterschiedlicher Größe, die alle mit dem gleichen prinzipiellen Ansatz trainiert wurden.
Warum das funktioniert
Das Team maß Skalierungsgesetze über Dutzende von Trainingsläufen hinweg. Sie fanden vorhersagbare Beziehungen zwischen Tiefe, Breite, Batch-Größe und Trainingsdauer. Anstatt all diese Regler freizulegen, kodiert nanochat diese Beziehungen direkt in das Trainingsskript.

Sie erhalten ein rechenoptimales Training, ohne einen Doktortitel in Deep Learning zu benötigen.
Die Bestenliste: Wettlauf um GPT-2 zu schlagen
nanochat führt eine öffentliche Bestenliste, die die „Zeit bis zur GPT-2-Fähigkeit“ verfolgt. Das Ziel ist es, den ursprünglichen CORE-Wert von OpenAI von 0,256525 bei 22 Bewertungsaufgaben (ARC, MMLU und andere aus der DCLM-Benchmark-Suite) zu übertreffen.
Aktuelle Rekorde
| Lauf | Modell | Zeit | CORE-Wert | Schlüsselinnovation |
|---|---|---|---|---|
| Original GPT-2 | 1.6B | 168 Stunden | 0.2565 | OpenAI 2019 Baseline |
| Lauf 1 | d24 | 3.04 Stunden | 0.2585 | Anfängliche Baseline |
| Lauf 2 | d26 | 2.91 Stunden | 0.2578 | FP8-Training |
| Lauf 3 | d26 | 2.76 Stunden | 0.2602 | 1M Token Batch-Größe |
| Lauf 4 | d24 | 2.02 Stunden | 0.2571 | ClimbMix-Datensatz |
| Lauf 5 | d24 | 1.80 Stunden | 0.2690 | KI-entdeckte Optimierungen |
| Lauf 6 | d24 | 1.65 Stunden | 0.2626 | Verbesserte Smear/Backout |
Wie KI Optimierungen entdeckte
Läufe 5 und 6 beinhalteten Änderungen aus Karpathys „Auto-Research“-System. Ein KI-Agent erforschte architektonische Modifikationen an kleinen d12-Modellen (5-minütige Trainingsläufe) und übertrug dann die erfolgreichen Änderungen auf das vollständige d24-Setup.
Das System fand Verbesserungen für:
- Backout-Mechanismus: Bessere Restwertsubtraktion in der mittleren Schicht
- Smear-Implementierung: Effizienteres Bigram-Mischen aus vorherigen Tokens
Diese Änderungen reduzierten die Trainingszeit von 2,02 Stunden auf 1,65 Stunden, eine 19%ige Verbesserung, die durch autonome Experimente entdeckt wurde.
Wie nanochat funktioniert
Die Codebasis umfasst ungefähr 3.000 Zeilen in den Kernmodulen. Betrachten wir jede Komponente.
1. Das GPT-Modell (nanochat/gpt.py)
Der Transformer folgt modernen Best Practices mit mehreren Optimierungen:
Architekturmerkmale:
- Rotations-Embeddings (RoPE): Relative Positionskodierung ohne gelernte Positions-Embeddings
- QK-Normalisierung: Stabilisiert das Training in großem Maßstab
- Unverbundene Gewichte: Separate Token-Embedding- und Output-Projektionsschichten
- ReLU²-Aktivierung: Quadratisches ReLU in MLP anstelle von GeLU
- Grouped Query Attention (GQA): Weniger KV-Köpfe als Query-Köpfe für schnellere Inferenz
- Sliding Window Attention: Konfigurierbares Muster (z.B. „SSSL“ wechselt kurze/lange Kontexte)
- Flash Attention 3: Hopper GPU-Optimierung mit SDPA-Fallback
Wert-Embeddings (ResFormer):Abwechselnde Schichten enthalten lernbare Wert-Embeddings, die über eingabeabhängiges Gating gemischt werden:
# Wert-Residual: Mischen von Wert-Embeddings mit Gate pro Kopf
if ve is not None:
ve = ve.view(B, T, self.n_kv_head, self.head_dim)
gate = 3 * torch.sigmoid(self.ve_gate(x[..., :self.ve_gate_channels]))
v = v + gate.unsqueeze(-1) * ve
Dies erhöht die Kapazität ohne nennenswerten Rechenaufwand.
Effizienztricks:
Das Modell enthält drei gelernte Mechanismen, die die Trainingsdynamik verbessern:
# 1. Residual-Skalierung pro Schicht
x = self.resid_lambdas[i] * x + self.x0_lambdas[i] * x0
# 2. Smear: Mischen des vorherigen Token-Embeddings für Bigram-Informationen
gate = self.smear_lambda * torch.sigmoid(self.smear_gate(x[:, :, :24]))
x = x + gate * x_pre_smear
# 3. Backout: Subtrahieren des Residuals in der mittleren Schicht
x = x - self.backout_lambda * x_backout
2. Der Muon-Optimierer (nanochat/optim.py)
nanochat verwendet eine gemischte Optimierungsstrategie:
| Parametertyp | Optimierer | Zweck |
|---|---|---|
| Embeddings, lm_head | AdamW | Standard adaptive Optimierung |
| Skalare Parameter | AdamW | Gelernte Skalierungsfaktoren |
| 2D-Matrizen | Muon | Orthogonalisierte Updates |
Muon (Momentum Orthogonalized by Newton-Schulz):
Der Muon-Optimierer orthogonalisiert Gewichtsaktualisierungen mithilfe einer quintischen Newton-Schulz-Iteration namens „Polar Express“:
# Polar Express Koeffizienten (5 Iterationen)
polar_express_coeffs = [
(8.156, -22.483, 15.879),
(4.043, -2.809, 0.500),
# ... weitere Koeffizienten
]
# Orthogonalisierungs-Schleife
for a, b, c in polar_express_coeffs[:ns_steps]:
A = X.mT @ X
B = b * A + c * (A @ A)
X = a * X + X @ B
NorMuon Varianzreduktion:
Nach der Orthogonalisierung werden die Updates pro Neuron normalisiert, um einen Skalierungszusammenbruch zu verhindern:
v_mean = g.float().square().mean(dim=red_dim, keepdim=True)
v_norm = v_mean.sum(dim=(-2, -1), keepdim=True).sqrt()
final_scale = step_size * (v_norm / v_norm_new.clamp_min(1e-10))
g = g * final_scale.to(g.dtype)
Verteiltes Training:
Für Multi-GPU-Setups implementiert der Optimierer Sharding im ZeRO-2-Stil mit dreiphasiger asynchroner Kommunikation:
Phase 1: Alle asynchronen reduce_scatter Operationen starten
Phase 2: Auf Reduktionen warten, Updates berechnen, all_gathers starten
Phase 3: Auf Gathers warten, aktualisierte Parameter zurückkopieren
Dies überlappt die Kommunikation mit der Berechnung und maximiert die GPU-Auslastung.
3. Präzisionsverwaltung (nanochat/common.py)
nanochat verwaltet die Präzision explizit, anstatt torch.amp.autocast zu verwenden:
| Hardware | Standard-Datentyp | Grund |
|---|---|---|
| CUDA SM 80+ (A100, H100) | bfloat16 | Native BF16 Tensor Cores |
| CUDA SM < 80 (V100, T4) | float32 | Keine BF16-Unterstützung |
| CPU / MPS | float32 | Keine reduzierten Präzisionskerne |
Die benutzerdefinierte Linear-Schicht wandelt Gewichte während des Forward-Passes um, um dem Berechnungs-Datentyp zu entsprechen:
class Linear(nn.Linear):
def forward(self, x):
return F.linear(x, self.weight.to(dtype=x.dtype))
Die Master-Gewichte bleiben für die Optimierungspräzision in FP32. Für H100- und Blackwell-GPUs ist FP8-Training über --fp8 verfügbar, wodurch die meisten Schichten in Float8Linear mit tensorweiser Skalierung konvertiert werden.
4. Datenladen (nanochat/dataloader.py)
Der DataLoader verwendet BOS-ausgerichtete Best-Fit-Packung:
- Jede Zeile beginnt mit einem BOS (Beginning of Sequence) Token
- Dokumente werden mit einem Best-Fit-Algorithmus gepackt, um Verschwendung zu minimieren
- Wenn kein Dokument passt, wird eines zugeschnitten, um genau zu passen
- 100 % Auslastung mit ~35 % Token-Zuschneidung bei einer Sequenzlänge von 2048
Dies stellt sicher, dass jedes Token auf BOS zurückgreifen und den vollständigen Dokumentkontext sehen kann.
# Größtes Dokument finden, das vollständig passt
best_idx = -1
best_len = 0
for i, doc in enumerate(doc_buffer):
doc_len = len(doc)
if doc_len <= remaining and doc_len > best_len:
best_idx = i
best_len = doc_len
if best_idx >= 0:
doc = doc_buffer.pop(best_idx)
# Vollständiges Dokument hinzufügen
else:
# Kürzestes Dokument zuschneiden, um den verbleibenden Platz zu füllen
5. Flash-Attention-Vereinheitlichung (nanochat/flash_attention.py)
Das Projekt bietet eine einheitliche Schnittstelle, die automatisch zwischen FA3 und PyTorch SDPA wechselt:
from nanochat.flash_attention import flash_attn
# Funktioniert auf jeder Hardware – wählt automatisch das beste Backend aus
y = flash_attn.flash_attn_func(q, k, v, causal=True, window_size=window_size)
Auf Hopper-GPUs mit bfloat16 wird Flash Attention 3 verwendet. Überall sonst wird auf PyTorchs skalierte Dot-Product-Attention zurückgegriffen.
6. Inferenz-Engine (nanochat/engine.py)
Die Engine-Klasse verwaltet die effiziente Generierung mit:
- KV Cache: Vorgefüllter Prompt-Cache mit FA3s
flash_attn_with_kvcache - Tool Use: Spezielle Tokens lösen Python-Rechner über
eval()aus - Batch Generation: KV Cache klonen für parallele Stichproben
Die Engine koordiniert den Konversationsfluss, einschließlich des Erzwingens von Tool-Output-Tokens, wenn das Modell den Rechner aufruft.
Schritt-für-Schritt: Trainieren Sie Ihr eigenes Modell
Die gesamte Pipeline befindet sich in runs/speedrun.sh. So führen Sie sie aus.
Voraussetzungen
- 8xH100 GPU-Knoten (oder ähnlich)
- ~20 GB Speicherplatz für den Datensatz
- Python 3.10+
- uv Paketmanager
Schritt 1: Umgebung einrichten
# uv installieren
curl -LsSf https://astral.sh/uv/install.sh | sh
# Virtuelle Umgebung erstellen und aktivieren
uv venv
source .venv/bin/activate
# Abhängigkeiten installieren
uv sync --extra gpu
Schritt 2: Trainingsdaten herunterladen
# ~2B Zeichen vom ClimbMix-Datensatz herunterladen
python -m nanochat.dataset -n 170
# Dies lädt ~170 Shards mit je ~100MB herunter
# Gesamt: ~17 GB komprimiert
Das Skript lädt Vortrainingsdaten-Shards mit Dateisperren herunter, um die Koordination mehrerer Ränge zu handhaben.
Schritt 3: Den Tokenizer trainieren
# BPE-Tokenizer mit 32.768 Vokabular trainieren
python -m scripts.tok_train
# Komprimierungsverhältnis evaluieren
python -m scripts.tok_eval
Der Tokenizer verwendet ein Aufteilungsmuster im GPT-4-Stil mit Byte-Fallback BPE. Das Training dauert etwa 10 Minuten bei 2 Milliarden Zeichen.
Schritt 4: Das Basismodell vortrainieren
# d24 Modell trainieren (GPT-2-Fähigkeit)
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- \
--depth=24 \
--target-param-data-ratio=8 \
--device-batch-size=16 \
--fp8 \
--run=my-first-model
Schlüsselparameter:
--depth=24: Modellgröße GPT-2--target-param-data-ratio=8: Leicht untertrainiert für Geschwindigkeit--device-batch-size=16: Batch-Größe pro GPU--fp8: FP8-Training aktivieren (nur H100+)
Erwartete Laufzeit: ~2 Stunden.
Schritt 5: Überwachtes Finetuning
# Identitätsgespräche herunterladen
curl -L -o ~/.cache/nanochat/identity_conversations.jsonl \
https://karpathy-public.s3.us-west-2.amazonaws.com/identity_conversations.jsonl
# SFT für Chat-Fähigkeit ausführen
torchrun --standalone --nproc_per_node=8 -m scripts.chat_sft -- \
--device-batch-size=16 \
--run=my-sft
Dies lehrt das Modell das Konversationsformat, spezielle Token und die Tool-Nutzung.
Schritt 6: Mit Ihrem Modell chatten
# CLI-Chat
python -m scripts.chat_cli -p "Warum ist der Himmel blau?"
# Oder Web-UI starten
python -m scripts.chat_web
Die Web-UI läuft auf Port 8000 und bietet eine ChatGPT-ähnliche Oberfläche.
Forschungs-Workflow: Schnelle Experimente
Verwenden Sie für das Testen neuer Ideen kleinere Modelle für eine schnellere Iteration.
Schnelle Experimente (~5 Minuten)
OMP_NUM_THREADS=1 torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- \
--depth=12 \
--run="d12-test" \
--core-metric-every=999999 \
--sample-every=-1 \
--save-every=-1
Dies trainiert ein d12-Modell (GPT-1-Größe) mit minimaler Protokollierung. Perfekt zum Testen architektonischer Änderungen.
Zu überwachende Metriken
Verfolgen Sie diese in Weights & Biases:
- val_bpb: Validierungs-Bits pro Byte (vokabulargrößenunabhängiger Verlust)
- core_metric: DCLM CORE Bewertungs-Score
- train/mfu: Modell-FLOPS-Auslastung (Hardware-Effizienz)
- train/tok_per_sec: Trainingsdurchsatz
Testanforderungen
Jede Verbesserung muss über alle Tiefen (d12 bis d26) funktionieren. Dies verhindert ein Overfitting an eine einzelne Modellgröße und gewährleistet prinzipielle Fortschritte.
Warum nanochat wichtig ist
Kostenzugänglichkeit
| Ansatz | Kosten | Zeit | Hardware |
|---|---|---|---|
| OpenAI GPT-2 (2019) | 43.000 $ | 168 Stunden | 32 TPU v3 |
| nanochat (2026) | 48 $ | 2 Stunden | 8xH100 |
| nanochat Spot | ~15 $ | 2 Stunden | 8xH100 Spot |
Dies macht LLM-Training erreichbar für:
- Einzelne Forscher
- Kleine Startups
- Universitätskurse
- Hobbyisten
Bildungswert
Die Codebasis dient als Lernressource:
- ~500 Zeilen für das GPT-Modell
- ~530 Zeilen für den Optimierer
- Klare Kommentare zu jeder Designentscheidung
- Keine versteckte Konfiguration
Studenten können eine vollständige LLM-Pipeline lesen, ändern und damit experimentieren.
Forschungsgeschwindigkeit
Die Reduzierung der Trainingszeit von Tagen auf Stunden ermöglicht:
- Schnellere Hypothesentests
- Mehr Experimente pro Woche
- Niedrigere Kosten für Misserfolge
- Community-Zusammenarbeit über Bestenliste
Transparenz
Jede Designentscheidung ist dokumentiert:
- Skalierungsgesetze in
dev/LOG.md - Ablationsstudien in GitHub Discussions
- Vollständige Reproduktionsdetails für Bestenlisten-Einträge
- Klare Offenlegung der KI-Beiträge
Einschränkungen und Realitätscheck
nanochat ist beeindruckend, hat aber klare Grenzen.
Hardware-Anforderungen
Die 48-Dollar-Angabe setzt den Zugang zu einem 8xH100-Knoten voraus. Die Mietkosten in der Cloud variieren:
- Lambda Labs: ~25 $/Stunde für 8xH100
- RunPod: ~15 $/Stunde Spot-Preise
- Gesamtlaufzeit: ~2 Stunden Vortraining + SFT
Für einen vollständigen Lauf benötigen Sie je nach Anbieter ~50-100 US-Dollar.
Fähigkeitsobergrenze
nanochat erreicht GPT-2-Leistungsniveau (Technologie von 2019). Das bedeutet:
Was es kann:
- Grundlegende Konversation
- Einfache Argumentation
- Elementare Mathematik
- Faktische Erinnerung (begrenzt)
Was es nicht kann:
- Komplexe mehrschrittige Argumentation
- Code-Generierung über einfache Funktionen hinaus
- Nuanciertes Befolgen von Anweisungen
- Konkurrenzfähig mit GPT-4, Claude oder Gemini
Stellen Sie es sich wie einen Kindergartenkind vor: fähig zu grundlegender Konversation, aber nicht zu Expertenarbeit.
Datenanforderungen
Der vollständige Speedrun lädt herunter:
- ~170 Datensplitter
- ~17 GB komprimiert
- ~2 Milliarden Zeichen insgesamt
Sie benötigen ausreichend Speicherplatz und Bandbreite.
Metrik-Einschränkungen
Der CORE-Score misst 22 Aufgaben, erfasst aber nicht:
- Reale Konversationsqualität
- Domänenspezifisches Wissen
- Nuancen der Befolgung von Anweisungen
- Sicherheit und Ausrichtung
Verschiedene zufällige Seeds erzeugen eine CORE-Varianz von ~0,016. Ihre Ergebnisse können abweichen.
FAQ
Wie viel kostet es, ein Modell mit nanochat zu trainieren?
Ungefähr 48 US-Dollar bei Bedarf (24 US-Dollar/Stunde × 2 Stunden) oder ~15 US-Dollar auf Spot-Instanzen. Dies deckt nur das Vortraining ab. Für SFT kommen etwa 30 Minuten hinzu.
Welche GPU benötige ich?
Minimum: Einzel-GPU (jede moderne Rechenzentrums-GPU). Optimal: 8xH100 oder 8xA100 für schnellstes Training. Der Code skaliert von 1 GPU auf 8 GPUs mit automatischer Gradientenakkumulation.
Wie lange dauert das Training?
1,65 bis 3 Stunden, abhängig von Konfiguration und Hardware. Der aktuelle Bestenlistenrekord liegt bei 1,65 Stunden für ein d24-Modell.
Was ist die CORE-Metrik?
Der DCLM CORE Score bewertet Modelle anhand von 22 Aufgaben, darunter ARC (Wissenschaftsfragen), MMLU (Multitask Language Understanding) und andere Benchmarks. GPT-2 erreichte 0,256525. nanochat überschreitet regelmäßig 0,26.
Kann ich auf einer einzelnen GPU trainieren?
Ja. Lassen Sie torchrun weg, und der Code verwendet automatisch die Gradientenakkumulation. Das Training dauert 8-mal länger, liefert aber nahezu identische Ergebnisse.
Welchen Datensatz verwendet nanochat?
Die derzeit beste Version verwendet ClimbMix (NVIDIAs kuratierter Web-Datensatz). Frühere Versionen verwendeten FineWeb-EDU. Der Tokenizer trainiert auf ~2 Milliarden Zeichen aus den ersten ~8 Shards.
Funktioniert nanochat auf Apple Silicon?
Ja. Der Code läuft auf MPS (Metal Performance Shaders) mit Float32-Genauigkeit. Das Training ist langsamer als CUDA, aber für Experimente funktionsfähig.
Kann ich das Training von einem Checkpoint fortsetzen?
Ja. Verwenden Sie --resume-from-step=<step>, um von einem gespeicherten Checkpoint fortzufahren. Der Zustand des Datenladers wird ebenfalls für eine exakte Fortsetzung gespeichert.
Was ist der Unterschied zwischen nanochat und nanoGPT?
nanoGPT deckte nur das Vortraining ab. nanochat erweitert dies auf die gesamte Pipeline: Tokenisierung, Vortraining, SFT, RLHF, Evaluierung, Inferenz und Web-UI.
Fazit
nanochat beweist, dass LLM-Training keine massiven Budgets oder spezialisierte Infrastruktur mehr erfordert. Was 2019 43.000 US-Dollar kostete, kostet heute unter 50 US-Dollar.
Der Einfluss des Projekts geht über die reine Kostenreduzierung hinaus. Durch die Bereitstellung einer minimalen, lesbaren Codebasis mit einer „Ein-Regler“-Oberfläche hat Karpathy sowohl ein Forschungswerkzeug als auch eine Bildungsressource geschaffen.
Wichtigste Erkenntnisse
- 100-fache Kostenreduzierung: Von 43.000 $ auf 48 $ für GPT-2-Fähigkeit
- 100-fache Beschleunigung: Von 168 Stunden auf 1,65 Stunden
- Einziger Konfigurationsregler:
--depthsteuert alles - Vollständige Pipeline: Von der Tokenisierung bis zur Web-UI
- Community-gesteuert: Öffentliche Bestenliste mit kontinuierlichen Verbesserungen
Nächste Schritte
Bereit, Ihr eigenes Modell zu trainieren? Beginnen Sie mit dem nanochat-Repository und dem Skript runs/speedrun.sh.
Für API-Entwickler, die KI-gestützte Anwendungen erstellen, war das Verständnis der internen Abläufe des LLM-Trainings noch nie so zugänglich. Die Einstiegshürde ist von „Risikokapital-finanziertes Startup“ auf „Wochenendprojekt“ gesunken.
