Ein Entwickler baut LLM-Inferenz von Grund auf in C++ und CUDA – mit 85 handgeschriebenen Seiten Notizen
Hours of YouTube and 85 handtyped pages of notes on LLM Inference – Start here
samir-vllm ist eine kleine Inferenz-Engine für Llama 3.2 1B, die Schritt für Schritt in C++17 und CUDA entsteht. Die begleitende Videoreihe (über 6 Stunden) und mehr als 85 Seiten handschriftlicher Notizen erklären, was zwischen Prompt und generiertem Token passiert: Gewichte laden, Embedding-Gather, RMSNorm, RoPE, Self-Attention, SwiGLU, KV-Cache, Paged Attention und Continuous Batching. Der Code lädt Safetensors direkt, nutzt cuBLAS und einen eigenen BPE-Tokenizer. Die Notizen sind ausdrücklich ohne KI-Unterstützung verfasst.
Ich habe den gesamten Text in dieser PDF selbst verfasst, ganz ohne KI-Unterstützung.
- ericreg92
Diese Folien sind offensichtlich von einem LLM generiert.
- samirswr
Ich habe über 6 Stunden Filmmaterial aufgenommen und mehr als 85 Seiten Notizen handschriftlich verfasst, um absoluten Anfängern etwas über KI-Inferenz beizubringen.
In den letzten 2 Monaten habe ich neben meiner Vollzeitstelle als SWE-Praktikant nach Feierabend geschuftet, um diese Videoreihe zu erstellen. Ich habe Programmieren unter anderem durch YouTube-Videos gelernt, die sich an Anfänger richten. Jetzt, mit dem Aufstieg der KI, tauchen solche Videos seltener auf, also beschloss ich, das zu ändern.
Das ist . Viel Nachdenken und Überlegung sind in die Erstellung geflossen, und alle meine Notizen sind von mir geschrieben. Zur Transparenz: Fast der gesamte Code wurde ebenfalls von mir geschrieben, mit Ausnahme kleiner Bugfixes, Readme-Updates und ähnlichem. Es gibt auch zusätzliche Notizen zu jedem Video, die KI-generiert sind, aber die Hauptnotizen sind alle von mir.
Die Reihe führt dich durch den Bau einer kleinen Llama 3.2 1B Inference Engine in C++ und CUDA, beginnend damit, was passiert, wenn du einem LLM einen Prompt sendest.
Ich behandle:
Wie Text zu Tokens und Tokens zu Embeddings werden.
Das Laden von Modellgewichten in den GPU-Speicher.
CUDA-Grundlagen, das Schreiben eigener GPU-Kernel und Matrixmultiplikation mit cuBLAS.
Den Transformer Schritt für Schritt: RMSNorm, RoPE, Attention und das SwiGLU-Feed-Forward-Netzwerk.
Prefill und Decode: die Verarbeitung deines Prompts und die Generierung einer Antwort Token für Token.
KV-Caching und wie es wiederholte Berechnungen einspart.
Statisches und kontinuierliches Batching zur Bewältigung mehrerer Anfragen.
Paged KV-Caching und Paged Attention zur Verwaltung und zum Lesen zwischengespeicherter Daten auf der GPU.
Hier ist das GitHub-Repo […]
- samirswr
Wenn dir gefällt, was du siehst, lass uns vernetzen! : https://www.linkedin.com/in/samir-sarwar-swe/