GuppyLM、LLM学習を読み解ける8.7MパラメータのShow HNプロジェクト

最近の Hacker NewsのShow HN投稿で紹介された GuppyLM は、LLMを巨大なブラックボックスではなく理解可能な仕組みとして見せることに重点を置いたプロジェクトだ。リポジトリの説明は明快で、1つのColabノートブックと短いPyTorchコードで、データ生成、tokenizer準備、学習、推論、ブラウザ実行までを一通り追えるようにしている。

モデル自体も意図的にシンプルだ。GuppyLMは 8.7M parameters、6 layers、hidden size 384、attention heads 6、BPE vocab 4,096、context window 128 tokens から成る vanilla transformer を採用している。作者によれば、60個のトピックにまたがる60,000件の synthetic conversations からゼロから学習されており、水や餌、光、水槽の生活を話題にする魚のキャラクターを一貫して保つ設計になっている。

このプロジェクトの価値は、性能の高さよりも観察しやすさにある。READMEでは、GQA、RoPE、SwiGLU、early exit などの高度な要素をあえて入れていない理由まで説明している。目的は最新最適化の比較ではなく、transformerの中核ループをできるだけ直接的に示すことだからだ。リポジトリにはデータ生成、学習ループ、inference、ONNX export、さらに quantized model を WebAssembly でローカル実行するブラウザデモまで含まれている。

なぜHNで目を引いたのか

教育向けLLMプロジェクトは多いが、実際にコードを追ってすぐ試せる形まで整えられている例は多くない。GuppyLMはColabですぐ動かせるうえ、ブラウザでもサーバーなしで試せる。そのため、アプリケーション寄りの開発者でも tokenization、short context、small-model behavior を大きな研究環境なしで体感できる。

学習ターゲットは、single T4 GPUでおよそ5分の再現可能なパイプラインだ。

配布ターゲットは、約10 MBの quantized ONNX model を使ったブラウザ内ローカル推論だ。

主なトレードオフは、汎用性ではなく transparency と reproducibility を優先している点にある。

GuppyLMは実用assistantを名乗るものではない。むしろ、現在のLLMスタックを半日で読めて、動かして、改変できるサイズにまで縮めたことが価値だ。Show HNで評価された理由もそこにある。