Needle 2 14MB エージェンティックLLMが200ドル未満のデバイスにオンデバイスのツール呼び出しをもたらす
Needle 2は200ドルクラスのデバイス向けにフルセッションLLMを提供
Needle 2は、45Mパラメータのモデルを14MBのバイナリに詰め込み、28MBのRAMで完全な推論セッションを実行し、Raspberry Pi 5で500 tokens/secのデコード速度を達成します。これにより、安価なスマートフォン、ウェアラブル、マイクロコントローラ、ロボットにおいて、機能的でプライバシーを保護するAIが実現可能になります。
コアとなる技術的成果
1. ロスレス2ビット量子化による14MBのフットプリント
Needle 2は、事前学習中に重み、アクティベーション、KVキャッシュを量子化するカスタムのCQ2-bitフォーマットである Cactus Quants を使用してエンドツーエンドでトレーニングされています。モデルがフル精度の重みを一度も参照しないため、2ビット表現による品質の低下がなく、45Mのパラメータがディスク上でわずか14MBしか占有しません。
2. シンプルなAttention Networkによるトークンあたりの演算削減
このアーキテクチャは、密なMLP投影を固定のWalsh-Hadamard変換と学習された対角行列に置き換え、matmulアクティブなパラメータを82Mから35Mに削減しています。その結果、計算コストは 70 MFLOPs per token となり、同規模の従来のTransformerと比較して約2〜3倍の削減を実現しています。
3. バイトレベルの文法とengramルックアップによる語彙の削減
コンパイルされたバイトレベルの文法が各ステップでの有効なトークンセットを制限し、構造的なトークンに対する softmaxの最大98% をスキップします。engramレイヤーは、算術演算なしにハッシュ化されたn-gramテーブル(約8Mパラメータ)から数行を読み取り、FLOPsとメモリ帯域幅をさらに低下させます。
4. 固定サイズのスライディングKVキャッシュによる28MB RAMの上限保証
256トークンのスライディングウィンドウがKVキャッシュを制限するため、セッションメモリが会話の長さに伴って増大することはありません。システムプロンプトとツールスキーマは永続的なシンクとして固定されており、モデルがツールの定義を忘れないようにします。
5. シングルバイナリ、ハードウェア適応型ランタイム
C++エンジンは起動時にCPUを調査し、最適なカーネル(SDOT, NEON, AVX2, RISC-V vectors, WASM SIMD, またはscalar)を選択します。すべての重みはディスク上では圧縮されたまま保持され、レジスタ内でのみ展開されるため、常駐メモリは14MBのblobサイズに抑えられます。
エッジハードウェアでのパフォーマンス
| デバイス | Prefill速度 | Decode速度 |
|---|---|---|
| Raspberry Pi 5 | 800 tok/s | 500 tok/s |
| Meta Quest 3S / Apple Vision Pro | 400–1,500 tok/s (コアにより変動) | — |
| 200ドルクラスのスマートフォン (Samsung A-Series) | 300–700 tok/s | — |
| ESP32-S3 (外部PSRAM付き) | 28MB RAMの上限内で動作 | — |
これらの数値は、Needle 2がGPUやNPUを搭載していないデバイスでも完全にオフラインで動作でき、音声制御アシスタントにインタラクティブなレイテンシを提供できることを示しています。
大規模モデルと比較したツール呼び出しの精度
Needle 2は、エージェンティックなツール使用と構造化抽出のために特別に設計されています。5つの公開ベンチマークにおいて、5倍〜70倍小さいサイズであるにもかかわらず、より大規模なモデルと同等以上の性能を発揮します。
Mobile Actions (961行)
- Needle 2の精度: 63.7% (名前の精度 98.3%)
- FunctionGemma 270M: 全体 64.0%, 名前精度 87.3%
- LFM2.5 230M: 全体 69.1%, 名前精度 93.0%
- Apple FM (オンデバイス): 全体 57.6%
DroidCall (200行)
- Needle 2: 全体 17.0%, 名前精度 36.5%
- FunctionGemma 270M: 全体 17.5%, 名前精度 37.5%
- LFM2.5 230M: 全体 11.0%
Seal-Tools (in-domain, 700行)
- Needle 2: 32.6% 全体, 名前精度 64.9%
- LFM2.5 230M: 全体 26.9%, 名前精度 45.4%
- FunctionGemma 270M: 全体 16.3%, 名前精度 56.0%
Seal-Tools (out-of-domain, 654行)
- Needle 2: 28.7% 全体, 名前精度 58.7%
- LFM2.5 230M: 全体 17.0%
- FunctionGemma 270M: 全体 15.6%
BFCL v4 single-turn (3,641行)
- 全体スコア: Needle 2 42.6 vs Apple FM 61.7, LFM2.5 60.8, FunctionGemma 46.1
- Well-formed率: Needle 2 93.4% (FunctionGemmaの100%に匹敵)
結論: タスクが正確なツール呼び出しである場合、Needle 2の特化したトレーニングと文法強制により、5〜6倍大きなモデルに対抗できます。
実世界での導入例
PebbleのIndex 01ウェアラブルは、Needle 2をローカルで実行し、ネットワークに依存することなく音声コマンドをアクションに変換します。このデバイスには画面がないため、信頼性とレイテンシが極めて重要であり、14MBのモデルがその両方の制約を満たしています。
"Pebble Index Ringには画面がありません。そのため、話しかけたとき、インターネット接続の有無にかかわらず、常にアクションが実行される必要があります。私たちはクラウドに頼る代わりに、アプリ内でCactus Needleをローカルで実行しています。モデルのフットプリントは非常に小さく、パフォーマンスに失望させることがありません。" — @Pebble engineering team
コミュニティのフィードバックのハイライト
"マイクロLLMの領域は過小評価されています。より大きなエージェントが小さなスペシャリストを訓練するという階層構造が、一般的なパターンになる可能性があります。" — nater5000
"Confidence gating(信頼度ゲーティング)は極めて重要です。曖昧なクエリに対して、モデルが回答を控える代わりに、信頼度の低い呼び出しを返してしまうことがあります。" — grenli
"ESP32-S3での動作は可能ですが、バイナリを書き込むためのドキュメントがまだ不足しています。" — forsalebypwner
"モデルの推論フィールドが関数呼び出しの後に表示されるため、ダウンストリームのパイプラインにとって混乱を招く可能性があります。" — alex7o
"4ビットではなく2ビットフォーマットが選ばれたのは、バイナリを14MB未満に抑えるためです。4ビットでは、比例した品質の向上なしにサイズが増大してしまいます。" — r0ze-at-hn
これらのコメントは、オンデバイスのエージェンティック・パラダイムへの熱意と、ツール、信頼度のキャリブレーション、およびデプロイのエルゴノミクスに関する実用的な懸念の両方を浮き彫りにしています。
制限事項と未解決の課題
- 一般知識 – Needle 2はチャットモデルではありません。デバイスのアクション以外の世界知識を欠いているため、自由回答形式のクエリは、信頼度が低いか誤った呼び出しを返すことがよくあります。
- 信頼度のキャリブレーション – クラウドへエスカレーションするための閾値は学習されていますが、公開ドキュメントにはありません。ユーザーからは、時折過度に自信満々な誤った呼び出しが報告されています。
- ツールスキーマの柔軟性 – 新しい関数を追加するには、Mac/PCでのファインチューニングが必要です。プロセスは迅速(数分から数時間)ですが、非技術的な開発者にとっては依然として障壁となります。
- ハードウェアサポート – 現在、バイナリはCortex-M、x86、およびWASMをターゲットとしています。一部のユーザーでは、汎用64ビットARMデスクトップでの実行に失敗しています。
なぜNeedle 2がエッジAIエコシステムにとって重要なのか
Needle 2は、問題が構造化された関数マッピングとして定義される場合、エージェンティックな能力に数十億のパラメータは必要ないことを証明しています。アーキテクチャ、量子化、およびランタイムを共同設計することで、Cactus Computeは、大多数のIoTデバイス(エッジハードウェアコストの約80%が200ドル未満)のメモリと計算の範囲内に収まるモデルを提供します。これにより、AIのデプロイモデルはクラウド中心のAPIから、プライベートで即時、かつオフラインのアシスタントへと移行し、補聴器、ホームオートメーション、ロボティクス、低コストスマートフォンにおける新しいユースケースを切り開きます。
はじめに
- モデルの重み – Hugging Face上のApache 2.0ライセンスのチェックポイント:
Cactus-Compute/needle-2。 - ランタイム – 依存関係のないC++バイナリ(GitHubにソースあり)が最適なカーネルを自動的に選択します。ブラウザ用のWASMモジュールとしても利用可能です。
- ファインチューニング – Pythonパッケージ
needleを使用すると、カスタムのツール定義を追加し、ノートPC上で数時間でトレーニングできます。 - デモ – ウェブプレイグラウンドでは、ウェアラブル、スマートホーム、ロボット向けの音声からアクションへのシナリオを紹介しています。
Needle 2は、14MBのLLMがオンデバイスのツール呼び出しを確実に実行できることを証明しており、現在存在する数十億の安価なエッジデバイス全体に、プライバシーを優先したユビキタスなAIへの実用的な道筋を提供します。
Sources
関連
- プロジェクト
- Dispatch
- Dispatch
- Dispatch
- Dispatch