Needle 2 實測:14MB 模型跑 AI Agent,無需 GPU 和聯網

Needle 2 實測:14MB 模型跑 AI Agent,無需 GPU 和聯網

Needle 2 實測:14MB 模型跑 AI Agent,無需 GPU 和聯網

當整個 AI 行業都在追逐千億參數的巨型模型時,一家名叫 Cactus Compute 的公司走了一條截然相反的路——他們剛剛發佈的 Needle 2,是一個只有 45M 參數、14MB 大小的模型,卻能在樹莓派上以每秒 500 token 的速度運行完整的 AI Agent。

這不是實驗室裏的概念驗證。Needle 2 已經在 Pebble Index 01 智能戒指上商用,用戶對着戒指說話,無需聯網就能觸發設備動作。

這篇文章,我們來深度拆解這個”反常識”的模型:它到底能做什麼?不能做什麼?以及在 2026 年的端側 AI 版圖中,它處於什麼位置。

Needle 2 是什麼?

Needle 2 是 Cactus Compute 開發的開源端側 Agent 模型。Cactus Compute 是一家專注於超小型 AI 模型的公司,他們的核心理念是:不是所有 AI 任務都需要大模型,很多場景下,一個足夠小、足夠快的專用模型反而更合適。

Needle 2 的核心定位非常明確——它不做聊天、不寫文章、不回答問題,它只做三件事:

  1. 工具調用(Tool Calling):把用戶的自然語言指令映射到具體的函數調用
  2. 設備控制(Device Use):在手機上執行 UI 操作序列
  3. 結構化提取(Structured Extraction):從文本中提取符合 Schema 的結構化數據

用一句話概括:Needle 2 不是一個”對話 AI”,而是一個”動作 AI”。

核心規格一覽

指標Needle 2說明
參數量45M4500 萬參數
模型大小14 MB單個二進制文件
運行內存28 MB峯值會話 RAM
GPU 需求純 CPU 推理
量化精度CQ2-bit自研 2-bit 量化
上下文窗口256 token滑動窗口,工具聲明固定保留
解碼速度(樹莓派 5)500+ tok/sCPU-only
解碼速度(Meta Quest 3S)400-1,500 tok/sVR 設備
解碼速度(三星 A 系列)300-700 tok/s低於 $200 的手機
預訓練數據115B token私有語料庫
後訓練數據38B token含緊湊推理鏈
開源協議MIT完全開源

28MB 的內存佔用是什麼概念?一塊 ESP32-S3 微控制器就有 8MB PSRAM,而更新的微控制器已經有足夠的內存跑 Needle 2。這意味着一個幾美元的小芯片就能運行 AI Agent。

架構解析:Simple Attention Network

Needle 2 之所以能這麼小還能幹活,核心在於它的架構設計——Simple Attention Network(SAN)。這不是對 Transformer 的微調,而是一次從底層重新思考的設計。

關鍵創新

1. Hadamard MLP 替代傳統 FFN

傳統 Transformer 的前饋網絡(FFN)是參數大戶。Needle 2 用一個固定的 Walsh-Hadamard 變換加上可學習的對角矩陣來替代,通道混合的計算成本幾乎不佔參數。

2. Engram 記憶系統

世界知識不在模型權重裏,而在哈希 n-gram 表中。每個 token 只讀取幾行,解碼時幾乎零成本。這對閃存讀取既耗電又耗時的嵌入式設備至關重要。

3. 多通道殘差流

27 層、512 寬的網絡通過多通道設計獲得了遠超其寬度的路由靈活性,代價只是每層幾個點積。

4. 有界內存注意力

256 token 的滑動窗口確保 KV 緩存始終有界。工具聲明作爲永久”匯點”被釘住——一個工具調用模型最不能忘記的就是它的工具,這在結構上就不可能被遺忘。

5. 訓練即量化

這是最精妙的設計。Needle 2 不是在訓練後做量化(那會毀掉小模型),而是從預訓練到後訓練全程在 CQ2-bit 精度下訓練——權重、激活值、KV 緩存都是 2-bit。你部署的 2-bit 模型就是訓練時的模型,沒有精度損失。

Needle 1 → Needle 2:關鍵改進

Needle 1(也叫 Cactus Needle)是 26M 參數的模型。Needle 2 升級到 45M 參數,改進體現在多個維度:

維度Needle 1Needle 2改進
參數量26M45M+73%
模型大小~10 MB14 MB略增
能力範圍工具調用工具調用 + 設備控制 + 結構化提取大幅擴展
預訓練數據未公開115B token首次公開
後訓練未公開38B token(含推理鏈)首次公開
工具檢索內置檢索頭,每輪選 Top-5新增
置信度評分每個響應附帶校準置信度新增
微調方式全量LoRA + 合併導出更實用
瀏覽器 Playground有,支持 WebAssembly新增

最值得注意的兩個新增能力:

工具檢索(Tool Retrieval):你可以聲明大量工具,Needle 2 內置的檢索頭會在每輪只渲染最相關的 5 個工具,並且語法約束也只限定在這 5 個工具上。這意味着你可以給它一個包含上百個工具的 API,它不會迷路。

置信度門控(Confidence Gating):每個響應都帶一個校準後的置信度分數。你可以設定閾值——高於閾值直接執行,低於閾值升級到雲端或要求用戶確認。這讓 Needle 2 在生產環境中可以安全地”說我不知道”而不是瞎猜。

對比:Needle 2 vs 同級別模型

Needle 2 的直接競爭對手不是 GPT-4 或 Claude,而是同樣面向端側的小模型。以下是關鍵對比:

模型參數量大小RAM工具調用設備控制結構化提取開源
Needle 245M14 MB28 MBMIT
FunctionGemma 270M270M~540 MB~1 GB
LFM2.5 230M230M~460 MB~800 MB
Apple Foundation Model未公開~數百 MB~數百 MB部分
Meta Muse Glimmer 30B30B~18 GB~20 GB
Phi-4-mini (量化)3.8B~2.3 GB~4 GB

關鍵洞察:Needle 2 在 Mobile-Actions 基準測試上與 FunctionGemma 270M、LFM2.5 230M 互有勝負——但它的參數量只有對方的 1/5 到 1/70,而且運行在 2-bit 精度下,對方是 f16。

這不是一點點效率提升,這是數量級的差距。

部署實戰

Python 快速開始

pip install cactus-needle

最基本的工具調用只需要幾行代碼:

import needle

@needle.tool
def get_weather(city: str):
    """获取指定城市的当前天气"""
    return {"city": city, "temp_c": 27, "sky": "晴"}

agent = needle.Needle(tools=[get_weather])
result = agent.run(" Lagos 现在天气怎么样?")
print(result["results"])
# [{'city': 'Lagos', 'temp_c': 27, 'sky': '晴'}]

結構化提取

from pydantic import BaseModel

class Invoice(BaseModel):
    vendor: str
    total: float
    due_date: str

invoice = needle.extract(
    "Invoice from Acme Corp, $1,200.00, due 2026-09-01",
    Invoice
)
print(invoice.vendor, invoice.total)  # -> Acme Corp 1200.0

微調自己的工具

# 合成训练数据
needle generate-data --tools my_tools.json --num-samples 500 --output data.jsonl

# LoRA 微调
needle finetune data.jsonl --epochs 10

# 导出为单一 .cact 文件
needle build checkpoints/needle2.pkl --lora checkpoints/needle_lora.pkl --out my_needle.cact

微調後的模型仍然是一個單一文件,可以在同一個引擎上直接運行,無需重新編譯。

樹莓派 / 嵌入式部署

Needle 2 的整個推理引擎是一個無依賴的 C++ 二進制文件。它在啓動時探測 CPU 特性並選擇合適的 kernel,模型、分詞器、語法編譯器全部封裝在內。

一個產物,從 Cortex-M 到 x86 到 WebAssembly 全平臺運行。沒有額外需要安裝或下載的東西。

# WebAssembly 版直接在浏览器运行
# 访问 cactuscompute.com/needle 的 Playground 即可体验

適用場景與侷限性

✅ 適合的場景

場景爲什麼適合
智能家居語音控制開燈、調溫度不需要大模型,28MB 就夠
可穿戴設備手錶、戒指沒有足夠的內存跑大模型
離線設備無網絡環境下需要本地推理
IoT 設備21 億+ IoT 設備,大多數內存 < 100MB
隱私敏感場景所有數據留在設備端,不上傳雲端
低成本手機全球大多數手機售價低於 $200
機器人端側推理小機器人需要快速、低延遲的工具調用
瀏覽器端 AIWebAssembly 版本,無需安裝

❌ 不適合的場景

場景爲什麼不適合
開放域對話256 token 上下文 + 45M 參數,無法做通用聊天
長文檔理解滑動窗口限制,無法處理長文本
世界知識問答模型沒有存儲世界知識,只做工具映射
複雜推理不是通用推理模型
多模態任務不支持圖像、音頻輸入

一句話總結:如果你的任務可以表述爲”把自然語言映射到一組預定義的函數調用”,Needle 2 可能是最高效的選擇。如果你需要模型”理解”世界並生成開放文本,它完全不是正確的工具。

邊緣-雲協作模式

Needle 2 的設計哲學不是”替代雲端”,而是”邊緣優先,雲端兜底”:

  1. 默認路徑:所有請求在本地處理——私密、快速、免費
  2. 置信度門控:低於閾值時,自動升級到雲端大模型
  3. 空調用拒絕:離題請求返回空調用,而不是胡編答案

這意味着一個實際的部署架構可以是:

用户语音 → Needle 2(本地,28MB)
              ├── 高置信度 → 直接执行设备动作
              ├── 低置信度 → 转发到云端 GPT-4o / Claude
              └── 离题 → 返回空调用,提示用户

大多數設備控制請求都能在本地完成,雲端調用是少數例外。這讓整個系統既快又省。

行業意義

Needle 2 代表的趨勢比它本身更重要:

1. 模型與任務的匹配

不是所有任務都需要通用智能。工具調用是一個定義明確的任務——輸入是自然語言,輸出是結構化 JSON。爲這種任務訓練一個 45M 參數的專用模型,比用一個 70B 的通用模型更高效、更快速、更私密。

2. 端側 AI 的真正含義

“端側 AI”不應該是”在 MacBook 上跑 llama.cpp”。真正的端是 $200 以下的手機、是樹莓派、是微控制器、是智能戒指。Needle 2 瞄準的是那 80% 的邊緣設備。

3. 訓練即量化的範式

Needle 2 證明了小模型可以在極低精度下從頭訓練而不損失性能。這可能影響未來所有小型模型的設計方式。

總結評價

維度評分說明
技術創新⭐⭐⭐⭐⭐SAN 架構 + 訓練即量化,真正從底層重新設計
實用性⭐⭐⭐⭐工具調用準確,部署極簡,但場景有限
生態成熟度⭐⭐⭐Python 包 + Playground + 微調工具鏈已可用,但社區尚早期
開源誠意⭐⭐⭐⭐⭐MIT 協議,模型權重、引擎、微調工具全部開源
性價比⭐⭐⭐⭐⭐14MB + 28MB RAM,跑在 $35 的樹莓派上

Needle 2 不是要取代你電腦上的大模型,而是要讓那些從未有過 AI 的設備第一次擁有智能。 當 21 億 IoT 設備都能本地運行 Agent 時,這纔是 AI 真正無處不在的時刻。


常見問題(FAQ)

Needle 2 和 Needle 1 有什麼區別?

Needle 2 將參數量從 26M 提升到 45M,新增了設備控制和結構化提取能力(Needle 1 僅支持工具調用),並加入了工具檢索和置信度門控。訓練數據也首次公開:115B token 預訓練 + 38B token 後訓練。

Needle 2 能在手機上運行嗎?

可以。在三星 A 系列等低於 $200 的手機上,Needle 2 的解碼速度爲 300-700 token/s。Pebble 已經在 Index 01 智能戒指應用中集成了 Needle 2,完全離線運行。

Needle 2 需要 GPU 嗎?

完全不需要。Needle 2 是純 CPU 推理,在樹莓派 5 上就能達到 500+ token/s 的解碼速度。整個模型只有 14MB,運行只需 28MB RAM。

Needle 2 能做什麼不能做什麼?

Needle 2 擅長:工具調用、設備控制、結構化數據提取。不擅長:開放域對話、長文檔理解、世界知識問答。它是一個”動作 AI”而非”對話 AI”。

如何微調 Needle 2 用於自己的工具?

使用 pip install cactus-needle 安裝後,可以用 LoRA 方式微調。流程是:準備 JSONL 訓練數據 → needle finetuneneedle build 導出爲單一 .cact 文件。微調可以在 Mac/PC 上完成,幾分鐘到幾小時。


如果你對在本地運行 AI 模型感興趣,還可以看看我們關於 Meta Muse Glimmer 30B 本地 Agent 模型 的深度評測,以及 LuxTTS 語音克隆工具 的實測報告。