![[Show HN] サカサス・ニードル 3:8〜29MB の自動化モデルが、DeepSeek V4 Flash と同等の性能を発揮する](/_next/image?url=%2Fscreenshots%2F2026-09-19%2F1789768414420.webp&w=3840&q=75)
2026/09/18 9:11
[Show HN] サカサス・ニードル 3:8〜29MB の自動化モデルが、DeepSeek V4 Flash と同等の性能を発揮する
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Anthropic が Needle 3 を発表しました。これは、モバイル機器、ウェアラブル機器、自律型ロボット、スマートホーム、自動車システム、マイクロコントローラー、およびコンピュータ向けに特化して設計された基盤モデルです。Needle 3 は、Novel Simple Attention Network に「Intelligence laddering」を組み込んだ新規アーキテクチャを基盤としており、大幅に小さなバイナリ重みファイル(9 MB から 29 MB の単一バイナリ重み)において高いパフォーマンスを実現します。サブネットワークの構成は 2 レイヤーから 20 レイヤーまで対応可能です。
Needle 3 は標準的なトランスフォーマーモデルと比較して 2 倍以上の効率性を発揮し、トークンあたりの MFLOPs を削減しつつ、より大型のモデルと同等かそれ以上の性能を発揮します。モバイル環境でのツール呼び出しでは、10 倍サイズのモデルを上回り、抽出タスクでは 2〜3 倍サイズのモデルと同等のパフォーマンスを示します。Raspberry Pi 5 などのハードウェア上では、デコード速度が 400〜4k トークン/秒、プリフィル速度が 1〜10k トークン/秒を達成します。
このモデルには組み込みの信頼性ゲート機能を備えており、すべての回答にキャリブレーションされた信頼度スコアが含まれます。0.1 未満の呼び出しは推測を防ぐために自動的に抑制され、高いスコアの場合はカスタムルーティングロジックを実行できます。また、アプリ定義から関数を自動的に選択し、ユーザー入力から引数を埋め込み、多段階の要求に対して順次ツール呼び出しを実行するか、該当するツールがない場合空リストを返します。構造化されたタスクでは、文法を用いて雑多なテキストを入力型フィールド(例:請求書、フォーム)へ変換し、パース可能であることを保証する出力を生成します。抽出および分類の両方をサポートします。
Needle 3 はインターネット接続なしでもオンデバイスでローカルベクトルを生成し、意味的検索、ツールルーティング、ニア・duplicate アラートの統合に利用できます。オフラインでのスマートホーム制御、高精度なロボットナビゲーションおよび移動コマンド、ウェアラブル機器からのデータ読取、車内での自動車コマンド、デバイス動作(写真撮影、警報)、そして自然言語によるコンピュータ制御をサポートします。入力はテキストプロンプト、ツール定義、または抽出スキーマとして受け付けられ、出力はツール呼び出しや抽出フィールドを含む構造化された JSON フォーマットとなります。
開発者は Cactus Platform を通じてモデルをカスタマイズでき、特化したサブネットワークを作成し、フル深さのトレーニングパイプラインを用いてデータセット上でファインチューニングが可能です。プラットフォームには評価ツールの提供も行っています。ツール呼び出しアプリの使用におけるベストプラクティスには、1 つのアクションにつき 1 つのツールを定義する、Enum オプションをユーザーの表現に合わせて命名し、必須だが欠落している引数のデフォルト値を提供し、正しいルーティングを保証するためにトリガー/意図(intents)を使用することが含まれます。
本文
Needle 3: 小型デバイス向け知能モデルの発表とカスタマイズガイド
🚀 概要:知能の階段(Intelligence Laddering)
Needle 3 は、モバイルデバイス、ウェアラブル機器、ロボット、スマートホーム、自動車、マイクロコントローラー向けに設計された基礎モデルです。
- アーキテクチャ: 独自開発の シンプル・アテンション・ネットワーク(Simple Attention Network) を採用。
- 容量とサイズ: 8 MB 〜 29 MB の単一バイナリファイルで提供され、深さ 2〜20 層のサブネットワークを構成要素として持ちます。
- 性能のトレードオフ: 一般チャット能力の一部は簡素化されていますが、以下の優位性を確保します。
- ツール呼び出し: サイズが10 倍大きいモデルを凌駕するパフォーマンス。
- 情報抽出: サイズが2〜3 倍大きいモデルと同等の精度を発揮。
✨ 主要な機能
ツール呼び出し(Tool calls)
- 自動機能選択: ユーザーの入力内容に基づき、アプリ公開の機能の中から適切な機能を自動的に選定し、すべての引数を埋めます。
- 並列実行: 2 つ以上の要素を同時に要求すると、2 つの呼び出しが順番に実行されます。
- 厳密な対応: ツールの範囲に含まれない場合は推測を行わず、空リストを返却します。
構造化抽出(Structured extraction)
- 不整文テキストからの定型化: シェープ(型)を宣言し、不規則なテキストを入力するだけで、定型化されたフィールド(請求書、予約データ、通知など)を返却します。
- 汎用性の高さ: デコード用文法の保証により出力解析が可能であり、分類問題などの他のタスクでも良好に動作します。
テキスト埋め込み(Text embedding)
- ローカル検索とマッチング: 同じモデルがテキストに対してベクトルを生成するため、アプリ側でオフラインでの検索、マッチング、ルーティングが可能です。
- 具体例:
- 意図するノートや文脈の検索。
- 要求に近いツールの自動選択。
- 重複アラートの統合。
📱 製品における実現像(使用シナリオ)
| 領域 | 機能と利点 |
|---|---|
| スマートホーム | **「家の会話」**を実現。 『寝室の照明を暗くして施錠してください』のようなリクエストは、ハブへの往復通信なしにオフラインで 2 つの呼び出しとして実行。 |
| ロボット | ニュアンスのある指示を実行可能。 『キッチンだけを掃除』『完了したらドックに戻る』など、動作シーケンスとして理解。 |
| スマートフォン | 端末上で実際に行動するアシスタント。 写真の自動分類・アルバム作成、ブラウザ起動・暗転、契約書検索など。 |
| ウェアラブル | 通知の構造化データへの変換。 明細から商社・金額抽出、メッセージからの返信作成、苦情文脈での感情フラグ設定。 |
| AR 眼鏡 | ネットワーク介在なしでの動作。 簡易リクエストからナビゲーションや周辺検索を即時実行。 |
| 自動車 | 車内リクエストへの安定した対応。 気候制御、メディア再生、ナビゲーション、通話。ツールセットは固定で長時間の会話でも安定。 |
| コンピュータ | 平易な表現での機械制御。 メール作成、タイマー起動、住所コピー、タブ開閉など。 |
| 検索とマッチング | デバイスローカルでの埋め込み利用。 ノート・ドキュメントのセマンティック検索、数百ツール中の最適マッチング、重複アラート統合。 |
🧠 モデル仕様について
基本構成
- 知能の階段(Intelligence Laddering): 各層が単調増加する容量を持つサブネットワークです。開発者は 2 層(2L)から 20 層(20L) のいずれかを選択可能です。
- 学習データ: 3,600 億トークン分の自社の構造化データセットでトレーニング済み。
- モデル構造: 29M〜121M パラメータの階段状シンプルアテンション・ネットワーク、CQ2 量子化対応。
- 入力/出力:
- 入力:テキストプロンプト、ツール定義、抽出スキーマ。
- 出力:ツール呼び出しや抽出結果を含む構造化 JSON。
パフォーマンスと速度(Raspberry Pi 5 環境)
- デコード速度: 時速 400〜4,000 トークン。
- プリフィル速度: 時速 1〜10,000 トークン。
- 計算効率: 同じ構成のトランスフォーマーモデルと比較し、1 トークンあたり 2 倍以上低い MFLOPs で動作します。
注釈: グラフ比較における Needle モデルは f16 プリンセス vLLM(ローカル)、DeepSeek V4 Flash はクラウド API を経由して測定されています。
ファインチューニングによる性能向上
- 手法の柔軟性: 各サブネットワークはファインチューニングに柔軟です。例として、4L スタブネットワークをダウンストリームタスクで 1 エポック分ファインチューニングすれば、DeepSeek V4 Flash と同等のパフォーマンスを示します。
- Cactus プラットフォームでの成果: DroidCall でのファインチューニングにより、各サブネットワークのスコアが 18〜36 ポイント向上。
- パラメータ効率: 4 層以上のチューニング済みモデルは、パラメータ数 29M で DeepSeek V4 Flash を凌駕します(強制呼び出し評価)。
🛠️ すぐに始める:Python パッケージ導入
Needle は Hugging Face からダウンロードされキャッシュされるため、追加のビルド作業は不要です。
# Python パッケージのインストール pip install needle
重要: Needle は記述の質を全て読み取ります。ツール定義の精度が結果を左右します。
💻 ツールの作成と制御方法
1. シンプルな利用(関数装飾)
- 仕組み: 関数に装飾を加えるだけで動作開始。
- 構成要素:
- シグネチャ:引数の型を与えます。
- ドクストリング:ツールの記述(説明)となります。
メソッド:ループ完了でモデルが呼び出しを選択し、結果をフィードバックします。run()
- フロー: モデルによる呼び出し選択 ➔ Needle 実行 ➔ 結果フィードバック ➔ 最終レスポンス返却。
2. パターンによるルーティング(正則表現)
- 用途: すべての言い回しを列挙できない場合の対応。
- 仕組み: ツールトリガーとして一致する正則表現を指定します。
- 一致するとデコード範囲が該当ツールのみに制限され、呼び出しが強制されます。
- 確信度閾値以下でも意図されたツールに到達します(拒絶・誤ルート防止)。
- 注意点: 一致判定はターン全体を制限するため、「catch-all」用の固有名詞(例:
)を除きつつも、ファンオンや照明暗転など複数の意図を持つ要求にも対応できるように設計します。^(?![\s\S]*\b(lights?|doors?)\b)
3. 構造化データの抽出
- 手法: テキストから構造化データを引き出すには型を宣言し、
を呼び出します。extract() - 例: Pydantic モデルを渡すと定型化されたオブジェクトが返却されます。
⚙️ 確信度ゲートとルーティングの動作ロジック
各ターンは 1 つの JSON オブジェクト を返却します。レスポンスにはキャリブレーションされたヘッドからの確信度スコアが付与され、エンジン側では既定で 0.1 の閾値が適用されます。
| 確信度スコア | 動作内容 |
|---|---|
| < 0.1 | 呼び出しが抑制され、 に記録。 は空リストになります。 |
| > 0.1 | スコアを自由に活用可能。 |
| 高いスコア | 即時実行。 |
| 中間スコア | 呼び出しを表示してユーザーに確認を求める。 |
| 低いスコア (但し >0.1) | 結果が空であれば拒絶とみなす。 |
トリガー付きツール: 常に一致する要求に対して呼び出しを生むため、スコアは「実行すべきか」「確認すべきか」の判断基準となります。
📝 ツール作成のベストプラクティス
モデルはスキーマを文字通り読み取るため、以下の点に注意してください。
- 範囲の狭さ: 単純な記述(範囲が狭い)の方が広範な記述より優れています。
- 個別化: 各アクションごとに 1 つずつ ツールを作成し、カテゴリー名ではなく動作そのもので記述します。
- ❌ 『照明を制御する』
- ⭕ 『部屋の照明をオンまたはオフにする』
- 命名とシノニム: ユーザーが使った言葉に合わせた名前と、同義語も記述に含めます。
- 例:
action: ["increase", "decrease"]
- 例:
- 引数の完全性: 要求から省略される可能性がある場合は必須引数にもデフォルト値を設定します。根拠がなくかつデフォルトのない必須引数は保持されます。
- 形式の明示: 値の形式(例:
や"City, ST"
)を必ず記述に含めます。"e.g. T-1042" - セットの小型化: 誤ルートの機会を増やさないため、各ターンのツールセットは小さく保ってください。
⚡ ファインチューニングの捷径
Python パッケージがファインチューニングへの最速ルートです。
- ベースモデル: 凍結された全層(20 層)に対して LoRA を適用します。
- サブネットワーク選択: 同じエンジンで動作する任意のサブネットワークについて、4 ビット
ファイルを取得します。.cact
☸️ Cactus プラットフォーム
Needle はカスタマイズを前提に設計されており、Cactus プラットフォームはフルソリューションを提供します。
- 最適化: 容量を狭く明確なタスクに制限することで、小型デバイスで最先端レベルの精度を実現。
- 包括的な機能セット:
- Cactus データセット。
- 出荷モデルの背後にある 2 ビット量子化技術。
- 評価設計と追跡システム。
- フル深さファインチューニングとデータセット管理。
- 利点: すべて社内のインフラストラクチャとトレーニングパイプライン上で完結するため、ユーザーは自前で構築する必要がありません。
🚀 デプロイメント手順
すべてのデプロイ先には、起動時に
needle3.cact の重みをロードする事前ビルドされたエンジン(1 MB 未満)が含まれています。
ビルドコマンド
プラットフォーム用のエンジンをダウンロードし、フル深さの 20 層またはそれ以下のサブネットワークを含む重みファイルを配置します。
needle build --platform
ファイル構成と管理
- コマンド実行により、エンジンがダウンロードされ、
がその隣に配置されます。needle3.cact - ターゲットごとのフォルダで管理可能です(例:特定のプラットフォーム用の専用ディレクトリ)。