要点(30秒で): 手元のRaspberry Piやスマートリングで「音声→操作」を完結させたいなら、いま試すべき選択肢が一つ増えた。Cactusが公開したNeedle 2は45Mパラメータを14MBに畳み、Pi 5で毎秒500トークン以上を吐く。ただし雑談能力はゼロなので、まず pip install cactus-needle で自分のツール定義を食わせ、誤発火率を自前で測ってから判断してほしい。

小さいモデルの話はもう珍しくない。それでも今回のNeedle 2が海外のエンジニア界隈で500ポイント超の反応を集めたのは、サイズの数字そのものより、そこに至る設計の割り切り方が異様だったからだ。

Transformerの心臓部と長らく信じられてきたフィードフォワード層を、丸ごと取り払っている。

何が出たのか

Cactus Computeが公開したNeedle 2は、45Mパラメータの関数呼び出し特化モデルだ。バイナリは14MBの単一ファイルで、セッションを丸ごと回してもピークRAMは28MBに収まる。

用途は三つに絞られている。自然言語をツールの引数へ写す関数呼び出し、スマート家電やウェアラブルの操作、そして文書から型付きフィールドを抜き出す構造化抽出。雑談はしない。設計としてできないようにしてある。

同社は2月にGitHubリポジトリを立ち上げ、5月12日に初代Needle(26Mパラメータ、Gemini 3.1 Flash Liteからの蒸留、INT4で14MB)を出していた。今回はその第二世代にあたり、パラメータは1.7倍に増えたのにファイルサイズは据え置きという妙な進化をしている。リポジトリは3,700スターを超えた。

MLPを捨てるという賭け

Needle 2の土台は、同社が「Simple Attention Network」と呼ぶ構造だ。GQAアテンションは残っているが、通常のFFNは無く、代わりにアダマール変換ベースのMLPが置かれている。重みを持たない固定行列を n log n で掛けるだけなので、読み出すパラメータが要らない。

無茶に聞こえるが、ちゃんと検証論文が出ている。Henry Ndubuakuらの「A Controlled Study of Attention-Only Transformers」は、6Mから87Mまでのスケールで、パラメータ数・計算量・深さを揃えて通常のTransformerと比較した。

結果が面白い。深さを揃えたままFFNを取り除くと損失は0.47ナット悪化するが、浮いた容量をアテンション層の追加に振り直すと、差は0.006ナット——全損失の0.27%——まで縮む。しかもこの差は5B・30B・105Bトークンと予算を増やすほど縮み、29倍のサイズ差をまたいでおよそ0.02ナットに留まったという。

知識はハッシュ表に逃がす

ただし論文は、埋められない部分もはっきり書いている。注意だけのモデルは文脈依存のタスクでは互角以上に戦えるが、重みの中に知識を溜め込む必要がある問題では負ける。FFNは知識の貯蔵庫だった、という古典的な見方を裏側から支持する結果だ。

Needle 2はここで、貯蔵庫を外に出す。ハッシュしたn-gramテーブルからキーと値の行を引く「エングラム」という仕組みを持ち、世界知識をそこに逃がしている。27層・幅512の本体に多レーンの残差ストリームを通し、深く狭い構造で押し切る設計だ。

副作用として、1トークンあたりの計算量が劇的に落ちる。同社の計測で70 MFLOPs。同規模のTransformerが87、LFM2.5 230Mが460以上とされるなかで、この数字がこの後の速度をほぼ説明してしまう。

2ビットは後から掛けない

もう一つの柱が量子化だ。Cactus Quantsと呼ばれる手法で、事前学習から事後学習まで一貫して量子化された状態で訓練する。対象は重みだけでなく活性化とKVキャッシュにも及ぶ。

つまり配布されている2ビットモデルは、訓練されたモデルそのものだ。小さいモデルに後付けで2ビットを掛けると品質が崩壊するのが常識だが、その崩壊を「最初から2ビットで育てる」ことで回避している。

アテンションは256トークンのスライディングウィンドウなので、セッションがどれだけ長引いてもKVキャッシュの上限は変わらない。しかもシステムプロンプトとツール宣言は恒久的なシンクとしてピン留めされ、構造上追い出せない。長い会話でモデルが自分の道具を忘れる、という事故が起きない作りだ。文脈を畳んで捨てない発想は、何も消さないのに忘れる——AIの記憶を畳む426トークンのOptMemで紹介した方向とも重なる。

速さの桁が違う

数字を並べる。Raspberry Pi 5でプリフィル800トークン/秒超、デコード500トークン/秒超。Meta Quest 3SやVision ProといったVR機で400〜1,500トークン/秒。200ドル以下の廉価Androidで300〜700トークン/秒。ESP32-S3やSTM32H7といったマイコン、さらにWebAssembly経由でブラウザ内でも動く。

比較対象を置くと輪郭が出る。Liquid AIが6月に出したLFM2.5-230Mは、同じRaspberry Pi 5で42トークン/秒と報告されていた。桁が一つ違う。$8のマイコンで重みをフラッシュへ逃がしたGemmaの試み($8のマイコンでLLMが動いた)が「動くこと」の証明だったとすれば、こちらは実用速度の領域に踏み込んでいる。

ベンチマークは「引き分け」

ただし精度は圧勝ではない。同社が公開したOrdered Strict Exact Matchの表を見ると、Mobile Actions(961行)でNeedle 2が63.7%、FunctionGemma 270Mが64.0%、LFM2.5 230Mが69.1%。DroidCall(200行)は17.0%対17.5%対11.0%と、全モデル揃って低い。

一方でSeal-Toolsでは差がつく。ドメイン内で32.6%対16.3%対26.9%、ドメイン外では28.7%対15.6%対17.0%。見たことのないツール定義を渡されたときに崩れにくいのは、むしろ一番小さいNeedle 2のほうだった。

同社の表現は正直で、5倍から70倍大きいモデルと「勝ちを分け合う」。しかも相手はf16、こちらは2ビットである。単純な性能勝負ではなく、同じ精度帯をどれだけ安く運ぶかという勝負に土俵を移した、と読むのが正確だろう。

指輪の中ですでに動いている

これがデモで終わっていないのが今回の重みだ。PebbleのスマートリングIndex 01は、Needleをローカルで走らせている。

使い方はこうだ。ボタンを押して喋ると内蔵メモリに録音され、スマホが圏内に入ると音声がアプリへ流れる。そこで端末上でテキスト化され、端末上のLLMが取るべきアクションを選ぶ。ネットワークに依存しない。

99ドル(先行75ドル)の指輪の中で、画面もキーボードも無いまま「言った言葉が操作になる」経路が閉じている。ロボットや家電へこの層が降りていく話は、足から指先まで一つの頭脳で——Gemini Robotics 2の全身知能で見た大型モデル側の動きと、ちょうど逆方向から同じ場所を目指している。

賢くない、という指摘

Hacker Newsのスレッドは称賛一色ではなかった。あるユーザーが試しに「HN」とだけ入力したら、なぜかドアを施錠する関数が返ってきたと報告している。

この手の誤発火に対する批判は具体的だった。「理解できないクエリに対しては、せめて何もツールを呼ばないでほしい。実際そうする場面もあるが、一貫していない」。別の参加者はもっと辛辣で、旧世代のSiri的なヒューリスティックで拾える範囲より当たらないなら、素直に「わかりませんでした」と返す昔のやり方のほうがマシだ、と書いている。

創業者のNdubuakuは逃げずに答えている。モデルは自分が間違っているときを知っているので、その部分を隠して定型文を返すこともできる、と。信頼度の閾値については「実験上プラス60%あたりが良い、ただし自分のワークロードで試すしかない」。ツール説明を明確に書けば精度は上がるとしつつ、指摘は今後の改善に取り込むと認めた。

仕様上、対象外の要求には空の配列が返る。自由文でごまかす逃げ道が無いぶん、閾値の設定がそのまま製品の体験を決める。ここは利用側の宿題として残っている。

使いどころと始め方

導入は pip install cactus-needle で、重みは実行エンジンに焼き込まれている。別途モデルファイルを置く必要がない。

ツールはデコレータで定義でき、引数の説明や値の制約を needle.Field で細かく縛れる。文法コンパイラがデコード段階で構文を強制するため、壊れたJSONが返ってこない。ツールが大量にあるカタログからは、上位5件だけを描画して渡す検索層も付いている。

追加学習は凍結したベース重みに対するLoRAで、単一の .cact ファイルにマージして配れる。エンジンの再コンパイルは不要だ。なお、GitHubリポジトリのライセンス表記はMIT、Hugging Face側のモデルカードはApache 2.0となっており、商用投入前に確認しておいたほうがいい。

日本・個人開発の視点

日本の個人開発者にとって、この種のモデルの意味は「クラウド代がゼロになる」ことだけではない。音声を端末から出さずに処理できる、という一点が、介護施設や医療現場、学校といった導入ハードルの高い現場で効く。

Cactus自体はY Combinator S25、Oxford Seed FundとGoogle for Startupsが支援する小さなチームだ。潤沢な計算資源で殴る側ではなく、設計で削る側から出てきた成果である点は、リソースの限られた個人開発者にとって参照価値が高い。

現実的な使い方としては、Needle 2に全部を任せるのではなく、確度が閾値を割ったらクラウドの大きいモデルへ回す二段構えだろう。信頼度スコアが最初から付いているのは、そのために設計されているからだ。

要点まとめ

  • Needle 2は45Mパラメータを14MBの単一バイナリに収め、セッションのピークRAMは28MB。ライセンスはGitHub側がMIT、モデルカード側がApache 2.0と表記が割れている。
  • FFNを丸ごと捨てた「Simple Attention Network」構造で、失われる知識はハッシュn-gramテーブル(エングラム)に逃がす。検証論文では容量を再配分すれば損失差が0.006ナットまで縮むとされる。
  • 事前学習から一貫した2ビット訓練により、Raspberry Pi 5でデコード500トークン/秒超。同じ機材で42トークン/秒とされるLFM2.5-230Mと桁が違う。
  • 精度は5〜70倍大きいモデルと勝ち負けが分かれる水準で、圧勝ではない。特にドメイン外のツール定義では優位、Mobile Actionsでは劣位。
  • PebbleのIndex 01リングで実運用中。一方でHacker Newsでは無関係な入力に対する誤発火が指摘され、閾値調整は利用側の責任として残る。

🐦‍⬛ 編集部の視点

面白いのは、このモデルが「小さくても賢い」と主張していないところだ。むしろ賢くない。雑談はできないし、常識も薄いし、意味不明な入力にドアの鍵を掛けようとする。

それでも刺さるのは、賢さの定義を切り替えてきたからだ。ここ数年、私たちはずっと一つのモデルに全部やらせる前提で考えてきた。Needle 2が示すのは、音声を操作へ変える最後の数センチには、47MBのアプリより小さい部品で足りるかもしれない、という可能性である。

しかも根拠が「動きました」で終わっていない。FFNは本当に要るのかを、パラメータと計算量と深さを揃えて測り、要らないと言い切った論文が後ろにある。この順番——先に構造を疑い、後から製品にする——を小さなチームがやってのけた事実のほうが、14MBという数字より重い。

気になるのは誤発火の扱いだ。空の配列を返せる設計は正しいが、閾値をどこに置くかは結局作る側に投げられている。60%で切ればいいのか、あなたの用途では80%必要なのか。ここを測らずに製品へ載せた瞬間、「勝手に鍵が掛かる家」が生まれる。

手元にRaspberry Piやスマートリングがある人は、まず自分の日本語コマンド20個で試してほしい。何%が正しく通って、何%が沈黙して、何%が余計なことをするか。その三つの数字が出た時点で、このモデルを自分の生活に入れるかどうかの答えはたぶん出ている。

出典・リンク

コメントを残す

Trending

World AI Newsをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む