8ドルのESP32で28.9M LLM、鍵はflashに置く重み
Original: Running a 28.9M parameter LLM on an $8 microcontroller View original →
28.9M parameterの言語モデルがESP32-S3 microcontroller上で動いている。GitHubのREADMEによると、約8ドルのchip、512KB SRAM、8MB PSRAM、16MB flashという制約のなかで、serverへ送信せずにtextを生成し、小さな画面へ約9 tokens/sで出力する。似たchipで以前動いていた言語モデルが260K parameter規模だったという説明を見ると、この実験の焦点は賢さよりmemory layoutにある。
工夫は、モデル全体を高速memoryに置かないことだ。25M parameterのlookup tableをflashに残し、tokenごとに必要な数行だけ読む。毎token使う小さな計算coreはSRAMに置き、output headと作業領域はPSRAMに回す。GoogleのGemma系で使われたPer-Layer Embeddingsの考え方を、microcontrollerのかなり小さいmemory構成へ落とし込んだ形だ。
READMEは限界も明示している。モデルはTinyStoriesで訓練されており、短く単純な物語をある程度一貫して書くためのものだ。質問応答、coding、事実知識の処理には向かない。それでも、edge deviceで言語モデルを動かすには何を速いmemoryに残し、何を遅いflashに逃がせるかを示す実験として価値がある。
HNの反応は、低価格hardwareの可能性に集まった。offlineの音声device、20-30M parameter級のTTS、より強い低価格boardとの組み合わせを想像するコメントがあり、Per-Layer Embeddingの使い方そのものに注目する声もあった。巨大モデル競争とは別に、小さなchipでどこまで生成を残せるかを測る実例だ。
Related Articles
議論の中心は、重みを公開するかどうかだけではない。runtime、serving、評価、運用、fine-tuningまで含めたエコシステム競争に移っている。
Claude Opus 5がGitHub Copilotのモデル選択肢に入り、長時間のコード変更や回帰検証をGitHubの作業面から直接任せやすくなる。対象はPro+、Max、Business、Enterpriseで、VS Code、Copilot CLI、cloud agent、JetBrainsなどへ段階的に展開される。
LocalLLaMA のデモ投稿は、Gemma 4 E2B で speech と vision を理解し、Kokoro で text-to-speech を行う Parlor を紹介した。README では Apple M3 Pro 上で end-to-end latency 約 2.5-3.0 秒、decode speed 約 83 tokens/sec とされている。