14MBで動くLLM「Needle 2」を解説 — 45Mパラメータ・2bit量子化が示すオンデバイスAIの現在地
はじめに
2026年8月11日、Hacker News のトップを取ったのは巨大モデルの発表ではなく、14MB のLLMだった。Cactus Compute の「Needle 2」は、パラメータ数わずか45M、セッション全体のRAM消費が約28MBというサイズで、ツール呼び出し(function calling)と構造化データ抽出をこなすエージェント型モデルだ。488ポイントを集め、この日の HN 最多得票となった。
同じ日の HN 上位には、Apple Silicon 向けのネイティブ推論実装、macOS VM での llama.cpp 高速化、小型モデルの性能報告が並んだ。上位10件のうち4件が「ローカル推論をいかに軽く・速くするか」に関するものだった。この記事では Needle 2 を軸に、なぜこのサイズが実現できたのか、そして実際にどこまで使えるのかを掘り下げる。
Needle 2 は何ができるモデルなのか
Needle 2 は汎用チャットモデルではない。想定用途は明確に3つに絞られている。
- ツール呼び出し: 型付きパラメータを伴う関数の実行
- デバイス制御: スマートホーム、ウェアラブル、ロボットへの命令
- 構造化抽出: スキーマに沿ったデータ抽出と分類
配布形態は単一の 14MB バイナリで、ライセンスは Apache 2.0。動作実績として公表されている数値が興味深い。
| デバイス | デコード速度 |
|---|---|
| Raspberry Pi 5 | 500+ tok/s |
| Meta Quest 3S / Apple Vision Pro | 400〜1,500 tok/s |
| 200ドル未満のスマートフォン | 300〜700 tok/s |
ESP32-S3 クラスのマイコンでの動作にも言及があり、「LLMを動かす」という言葉が指す範囲が一段下に降りたことが分かる。
前世代の Needle(26Mパラメータ)は、タイマー・メッセージング・ナビゲーションなど15のツールカテゴリについて Gemini で合成した20億トークンの function-calling データで後訓練されている。開発チームの設計思想は明快で、ツール呼び出しを次のように定義している。
Tool calling is fundamentally retrieval-and-assembly (match query to tool name, extract argument values, emit JSON), not reasoning. (ツール呼び出しは本質的に「検索と組み立て」であって、推論ではない)
推論能力が要らないなら、推論能力を捨てる。この割り切りがサイズを決めている。
なぜ 14MB に収まるのか — 3つの設計判断
サイズの秘密は単一の魔法ではなく、積み重ねられた3つの判断にある。
1. FFN に知識を持たせないアーキテクチャ
Needle 2 は「Simple Attention Network」と呼ばれる設計をベースに、Hadamard MLP、GQA アテンション、engram 方式の Key-Value メモリを組み合わせている。前世代の実験ではMLP を完全に排除し、アテンションとゲーティングのみという極端な構成が取られていた。
根拠となっているのは、外部の構造化知識(RAG やツール定義)にアクセスできるなら、モデルが FFN の重みに事実を記憶しておく必要はない、という観察だ。通常の Transformer ではパラメータの大半を FFN が占めるため、ここを削れば効果は大きい。HN では 1トークンあたり約70 MFLOPs という数値も挙がっている。
2. 2bit をあとから被せず、最初から2bitで訓練する
一般的な量子化は、f16 で訓練したモデルを事後的に低ビット化するため、精度劣化が避けられない。Needle 2 が採る「CQ2-bit」は、事前学習から後訓練まで一貫して Cactus Quants に対して訓練するアプローチだ。45Mパラメータが 14MB に収まる計算の主因はここにある(45M × 2bit ≒ 11MB)。
比較対象として挙げられている FunctionGemma 270M や LFM2.5 230M はいずれも f16 であり、Needle 2 はビット幅とパラメータ数の両面で小さい。
3. コンテキストを256トークンに固定する
見落とされがちだが、RAM 28MB を成立させているのはこれだ。Needle 2 は256トークンのスライディングウィンドウで動作し、ツール定義を KV sink としてピン留めする。1ターンで検索対象となるツールは上位5件までに制限される。
KVキャッシュはコンテキスト長に比例して膨らむため、ここを固定しない限り「セッション全体で28MB」は成立しない。長文を読ませる用途が最初から切り捨てられている、と読むべき制約でもある。
現実の壁 — ベンチマークとHNでの検証
公表されているモバイルアクション評価(961行)の精度は次の通りだ。
| モデル | 精度 | サイズ |
|---|---|---|
| LFM2.5 230M (f16) | 69.1% | 約70倍 |
| FunctionGemma 270M (f16) | 64.0% | 約70倍 |
| Needle 2 45M (2bit) | 63.7% | 14MB |
サイズ差を考えれば健闘しているが、絶対値としては約6割である点は直視する必要がある。
HN のスレッドでは、公開デモを実際に触ったユーザーから具体的な失敗例が次々に報告された。
- 「Make it warmer(暖かくして)」に対して冷房モードを選択する、意味が反転した応答
- 「make it a little warmer」では confidence が 0 になる
- 「potato」「HN」といった無関係な入力に対して、ドアの施錠ツールを呼び出そうとするドメイン外検出の失敗
- ドイツ語での confidence 低下
開発チームは confidence スコアによるフィルタリングと、提供している Python の fine-tuning パイプラインでの改善を案内しているが、「デフォルト挙動がこれでは信頼できない」という反応が残った。「14MBの正規表現で足りるのでは」という指摘に対しては「ターゲットとするデバイスでは LLM 自体の実行が困難な領域を狙っている」と回答している。
筆者の見方としては、この批判はモデルの失敗ではなく、適用範囲の線引きの問題だ。63.7% という数字は「単体で自律動作させる」には低すぎるが、「候補を出して confidence で足切りし、確信度が低ければルールベースにフォールバックする」構成の一段目としては機能しうる。問題は、デモがそのガードなしで露出していたことにある。
エンジニアへの影響 — どう向き合うか
実務でこの種のモデルを検討するなら、判断軸は3つになる。
1. ネットワークを前提にできない領域か。 クラウドAPIが使えるなら、精度でもコストでも大抵はそちらが勝つ。Needle 2 が効くのは、オフライン動作が要件のウェアラブル、レイテンシがUXを直接壊すデバイス制御、通信コストが積み上がるIoT群といった領域だ。逆に言えば、単に「ローカルで動かしたい」だけの動機なら選ぶ理由は薄い。
2. confidence を運用設計に組み込めるか。 HN での失敗例はいずれも、閾値による足切りと非LLMのフォールバックがあれば被害を抑えられる性質のものだった。オンデバイス小型モデルは「必ず何か答える部品」ではなく「自信があるときだけ答える部品」として設計に組み込むのが現実的だ。
3. fine-tuning を前提にできるか。 汎用性を捨てた45Mパラメータのモデルは、対象ドメインのツール定義で追加学習してはじめて実用ラインに乗る。Apache 2.0 で公開されている点はここで効いてくる。
Flutter や React Native でモバイルアプリを作っている立場からは、「音声コマンドを構造化JSONに変換する」層をアプリ内で完結させられる意味が大きい。ユーザーの発話をサーバーに送らずに済む構成は、プライバシー要件のある案件でそのまま差別化になる。
今日のその他のニュース
macOS VM での llama.cpp が最大16倍高速化。 Apple の Virtualization.framework がゲストに対して GPU 能力を保守的に申告していた(Apple 5世代相当、bfloat16 と SIMD-group matrix が無効)ことが原因で、llama.cpp が古い計算パスを選んでいた。Cua チームはプロセス単位の Metal 互換レイヤーで申告値を書き換え、M1 Ultra + TinyLlama 1.1B のトークン生成を 12.63 → 206.60 tok/s(16.36倍)まで引き上げている。(出典)
LFM2.5-2.6B が4倍規模のモデルと競合。 2.69Bパラメータ、30層のうち22層が畳み込みブロック、8層が GQA というハイブリッド構成。128Kコンテキストで、メモリフットプリントは2.5GB未満。M5 Max で220 tok/s。コーディングと知識集約タスクには非推奨と明記されている点が誠実だ。(出典)
antirez が MiniMax-H3 の Apple Silicon ネイティブ推論を公開。 MiniMax-H3 は7月31日にオープンウェイトで公開された omni-modal 動画生成モデル。h3.c は Metal 4 の TensorOps によるネイティブ BF16 を使い、M5 Max で 512×512・22フレーム・20ステップの生成を12.60秒で処理する。MITライセンス。(出典)
まとめ
- Needle 2 は45Mパラメータ・14MB・RAM 28MB で動くツール呼び出し特化モデル。Apache 2.0 で公開されている
- サイズを支えるのは、FFN に知識を持たせないアーキテクチャ、2bit ネイティブ訓練、256トークン固定ウィンドウという3つの割り切り
- モバイルアクション評価での精度は63.7%。70倍大きい f16 モデル(69.1%)に肉薄するが、単体で自律動作させるには不足
- HN では意味の反転やドメイン外での誤発火が報告された。confidence による足切りとフォールバック設計が前提になる
- 同日の HN 上位はローカル推論の高速化・軽量化が占め、この方向性が一時的な流行ではないことを示した
巨大モデルの性能競争とは別のレイヤーで、「動かせる場所を増やす」競争が進んでいる。14MB という数字は象徴的で、これが現実になった以上、次に問われるのはどこまで小さくできるかではなく、小さいモデルをどう安全に組み込むかの設計論だろう。
ソース
- Needle 2 - The 14 MB Agentic LLM for Tiny Devices | Cactus
- Show HN: Needle2 (Hacker News・488pts)
- Cactus-Compute/needle2 (Hugging Face)
- Needle: We Distilled Gemini Tool Calling into a 26M Model | Cactus
- Apple Silicon and macOS VMs: 11–16× Faster LLM Inference with Llama.cpp
- LiquidAI/LFM2.5-2.6B (Hugging Face)
- antirez/h3.c - Native MiniMax-H3 inference for Apple Silicon