Tiny-vLLM、C++とCUDAでLLM inferenceを作りながら学ぶ小さな実装
Original: Show HN: Tiny-vLLM – high performance LLM inference engine in C++ and CUDA View original →
Tiny-vLLMは、C++とCUDAで書かれた小さなLLM inference engineだ。Llama 3.2 1B InstructをSafetensorsから読み込み、prefillとdecode、KV cache、static batching、continuous batching、online softmax、FlashAttention系の考え方、PagedAttentionまで扱う。さらにリポジトリ全体がcourse形式のREADMEとして構成されている。
注目点は、実装範囲と説明が同じ場所にあることだ。LLM inferenceを学ぼうとすると、論文、巨大なフレームワーク、断片的なブログに分かれがちだ。Tiny-vLLMはモデルファイルを読むところから、tensor shape、bfloat16、CUDA kernel、cuBLAS、attention、Paged KV cacheへ順番に進める。APIで隠すのではなく、仕組みを見える大きさに縮める設計になっている。
Hacker Newsの議論でも、READMEの読みやすさが何度も挙がった。作者は、コードを全部読む前に有用なメンタルモデルを作れるよう文書を書いたと説明している。コメントでは、lesson形式がCUDAとLLM inferenceを初めて結びつける人に向いているという声が目立った。初期のllama.cppを思い出すという反応もあり、小さなコードベースが大きな概念を近づける好例になっている。
もちろん範囲は絞られている。特定のモデルとNVIDIA CUDA環境を前提にしており、運用向けserving stackの機能をすべて持つわけではない。それでもKV cache、batching、PagedAttentionの意味を手で確かめたい開発者には、抽象的な解説より強い入口になる。
Related Articles
このReddit threadは TGI を惜しむ空気ではない。active momentum が離れた後に operator 同士が答え合わせをしている感じで、general inference serving の default はもう vLLM だという見方がかなり強い。
注目点は、巨大なMoEモデルを普通のPCで実用的に動かせるのかという現実的な問いだ。ColibriはGLM-5.2の疎な活性化を使い、モデル全体をRAMやGPUへ一度に載せない設計を取る。
ngrokは2026-03-25公開のexplainerで、quantizationがLLMをroughly 4x smaller、2x fasterにでき、4-bitと8-bitのtrade-offをどう読むべきかを丁寧に整理した。Hacker Newsはこの投稿を247 pointsと46 commentsまで押し上げ、memory bottleneckとlocal inferenceのコスト構造をあらためて議論した。