Needle 2 Model Binary Size and RAM Requirements: A Complete Technical Guide

Needle 2 delivers a 45 M‑parameter language model in a single 14 MiB binary that consumes approximately 28 MiB of RAM during inference, maintaining constant memory usage regardless of conversation length.

The cactus-compute/needle repository provides a lightweight inference engine designed for edge computing scenarios. Understanding the Needle 2 model binary size and RAM requirements is essential for deploying this 45 M‑parameter transformer on resource-constrained devices.

Needle 2 Binary Size and Model Architecture

The 14 MiB Engine Binary

Needle 2 ships as a single binary containing the entire 45 M‑parameter model. According to the repository's README.md (line 5), the engine binary is approximately 14 MiB and is fetched once from Hugging Face before being cached locally. The download and caching logic is implemented in needle/agent/fetch.py, which handles the one-time retrieval and local storage of the binary.

Simple Attention Network Architecture

The underlying model architecture is defined in needle/model/architecture.py, which implements the Simple Attention Network powering Needle 2. This efficient architecture compresses 45 million parameters into the compact 14 MiB footprint, enabling deployment on devices with severe storage constraints.

RAM Requirements and Memory Management

Constant 28 MiB Memory Footprint

During a full inference session, Needle 2 utilizes approximately 28 MiB of RAM. As documented in llms.txt (line 3), the binary’s runtime maintains this constant memory usage regardless of conversation length, preventing the memory ballooning common in larger language models.

Edge Deployment Suitability

These specifications make Needle 2 suitable for tiny devices and edge-computing scenarios where storage and memory are at a premium. The predictable 28 MiB footprint allows developers to confidently deploy the model on microcontrollers, mobile phones, and embedded systems without risk of memory exhaustion.

Implementation and Verification

Installing and Initializing Needle 2

To begin using the model, install the runtime via pip and initialize the agent. The first invocation triggers the download of the 14 MiB engine binary to your local cache:


# pip install cactus-needle

import needle

# First call triggers one-time download of the 14 MiB engine binary

agent = needle.Needle(
    tools=[lambda x: x],               # any simple tool set

    system="device: phone; locale: en-US"
)

# Run a query – the engine stays within ~28 MiB RAM

result = agent.run("What is the weather in Paris?")
print(result["results"])

Monitoring Real-Time RAM Usage

You can verify the advertised memory footprint using the psutil library to monitor the process:

import psutil, os

pid = os.getpid()
mem = psutil.Process(pid).memory_info().rss / (1024**2)   # Convert to MiB

print(f"Current RAM usage: {mem:.1f} MiB")

Running this monitoring code alongside inference typically shows memory usage around 30 MiB, confirming the documented ~28 MiB RAM requirement. This empirical verification aligns with the specifications outlined in the source code documentation.

Summary

  • Binary Size: Needle 2 ships as a single 14 MiB binary containing the complete 45 M‑parameter model, downloaded once from Hugging Face and cached locally via needle/agent/fetch.py.
  • RAM Requirements: The model maintains a constant ~28 MiB memory footprint during inference, regardless of conversation length or complexity.
  • Architecture: The efficient Simple Attention Network defined in needle/model/architecture.py enables this compact packaging.
  • Deployment: These minimal requirements make Needle 2 ideal for edge devices, mobile phones, and embedded systems with limited resources.

Frequently Asked Questions

How large is the Needle 2 model binary?

The Needle 2 model binary is approximately 14 MiB in size. This single binary contains the entire 45 M‑parameter model and is automatically downloaded once from Hugging Face during the first initialization, then cached locally for subsequent use.

What are the RAM requirements for running Needle 2?

Needle 2 requires approximately 28 MiB of RAM for a full inference session. According to the source code documentation in llms.txt, this memory usage remains constant regardless of conversation length, making it predictable for resource-constrained deployments.

Where does Needle 2 store the downloaded binary?

The engine binary is downloaded and cached locally by the needle/agent/fetch.py module. After the initial download from Hugging Face, the 14 MiB binary is stored in the local cache, eliminating the need for repeated downloads across sessions.

Can Needle 2 run on mobile devices?

Yes. With a 14 MiB storage footprint and 28 MiB RAM requirement, Needle 2 is specifically designed for mobile phones, microcontrollers, and other edge devices where storage and memory are limited. The Simple Attention Network architecture ensures efficient inference without memory ballooning.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →