AI/TLDR

Cactus Compute · 2026-08-10 · major

Needle 2 — 14MB agentic model for phones, robots and microcontrollers

Needle 2 is a 45M-parameter open model for tool calling and structured extraction that ships as one 14MB binary and runs a full session in 28MB of RAM. It scores 63.7% on Mobile Actions under Apache-2.0.

Cactus Needle 2 announcement card for the 14MB agentic model

A 45M-parameter tool-calling model that ships as one 14MB binary and runs on hardware too small for anything else.

Key specs

Parameters45M
File size14 MB

Quick facts

MakerCactus Compute
LicenseApache-2.0
Session RAM28 MB peak
QuantizationCQ2-bit, trained from pretrain through post-train
Speed500+ tok/s decode on a Raspberry Pi 5
Runs onARM64, x86-64, ARMv7, RISC-V and WebAssembly
Weightshuggingface.co/Cactus-Compute/needle2

Benchmarks

Mobile Actions (961 rows, ordered strict exact match)
Needle 2 (45M, CQ2-bit)63.7%
LFM2.5 230M (f16, vLLM)69.1%
Apple FM (~3B, on-device)64.5%
FunctionGemma 270M (f16, vLLM)64%
source ↗

What is it?

Needle 2 packs tool calling, device use, and structured extraction into a single 14MB binary that needs about 28MB of RAM for a whole session. Cactus Compute is aiming at the cheap end of the edge — budget phones, wearables, small robots, and microcontrollers — rather than the Macs and PCs that usually get called 'on-device AI'.

How does it work?

The architecture is Cactus's Simple Attention Network, an attention-only stack described in a July 2026 arXiv paper. A Hadamard MLP swaps dense projections for a fixed Walsh transform, hashed n-gram 'engram' tables hold world knowledge outside the layer stack, and a 256-token sliding window bounds the KV cache. Weights, activations, and cache all train at CQ2-bit precision, so the 2-bit model deployed is the model that was trained.

Why does it matter?

Tool calling does not need world knowledge — mapping a messy sentence onto a typed function is a much smaller problem than chat, and Needle 2 is the argument that 45M parameters cover it. On Mobile Actions it lands within a point and a half of a 3B Apple model and beats FunctionGemma 270M, at a fraction of the size. That puts an offline agent on hardware with no GPU, no NPU, and a few hundred MB of RAM.

Who is it for?

embedded and mobile developers, robotics teams

Frequently asked questions

Is Needle 2 free for commercial use?
Yes. Needle 2 is licensed under Apache-2.0, with weights published on Hugging Face at Cactus-Compute/needle2 and source in the cactus-compute/needle repo. That covers commercial products, and Cactus points to Pebble as a shipping example — the Index 01 app runs Needle locally so a screenless ring can act on speech without a network.
How is Needle 2 different from the first Needle?
The first Needle, published in May 2026, was a 26M-parameter model distilled from Gemini tool calling. Needle 2 is a 45M-parameter model trained from scratch on Cactus's Simple Attention Network architecture, using a proprietary 115B-token pretraining corpus plus 38B post-training tokens, and it adds device use and structured extraction to plain function calling.
What hardware can actually run Needle 2?
Needle 2 reaches 500 tokens per second of decode on a Raspberry Pi 5, 400–1,500 on VR headsets such as Meta Quest 3S and Apple Vision Pro, and 300–700 on sub-$200 phones like Samsung's A-Series. The roughly 28MB peak session RAM means it also fits newer microcontrollers, including the ESP32-S3.
Can I fine-tune Needle 2 on my own product's tools?
Yes, and Cactus designed for it. At 45M parameters, Needle 2 is small enough to retrain on the machine you develop on: the GitHub repo and the cactus-needle Python package handle tuning and testing on a Mac or PC in minutes to a few hours, so you can ship a model that speaks your device's tool vocabulary.
What does Needle 2 do when a request is out of scope?
Needle 2 refuses by returning an empty call rather than guessing. Every response also carries a learned confidence score, so a product can set a threshold: act above it, and re-ask or escalate to a cloud model below it. Cactus argues most device requests are routine control, so escalation stays rare.

Try it

pip install cactus-needle

Sources · 4 outlets

Tags

  • cactus-compute
  • needle-2
  • on-device-ai
  • edge-ai
  • tool-calling
  • function-calling
  • small-language-model
  • quantization
  • apache-2-0
  • structured-output
  • microcontroller
  • webassembly
  • open-weights

← All releases · Learn AI