Edge computing semakin menjadi prioritas utama bagi software engineer yang membangun aplikasi AI di 2026. Mengirim data ke cloud untuk setiap inferensi tidak lagi praktis ketika latensi, privasi, dan konektivitas menjadi concern. Di sinilah Needle 2 dari Cactus Compute masuk: sebuah model foundation 45M parameter yang seluruhnya hanya berukuran 14MB dan berjalan dalam 28MB RAM. Artikel ini adalah panduan lengkap untuk men-deploy Needle 2 di perangkat edge.
Tren utama dalam pengembangan AI saat ini adalah pergeseran dari cloud-only ke hybrid edge-cloud. Perangkat seperti smartphone, wearable, smart home, dan robot memerlukan kemampuan inferensi lokal. Alasannya beragam: privasi data pengguna, latensi di bawah 50ms, operasi offline, dan pengurangan biaya bandwidth. Namun, kebanyakan model LLM modern memerlukan gigabyte memori dan GPU powerful, menjadikannya tidak viable untuk edge.
Needle 2 menawarkan solusi yang radical: model tool-calling dan structured extraction yang berukuran 5x hingga 70x lebih kecil dari competitor seperti FunctionGemma 270M atau Apple FM, namun tetap competitive pada benchmark. Dengan ukuran hanya 14MB, model ini bisa berjalan di hampir semua perangkat modern termasuk Raspberry Pi, smart speaker, dan microcontroller kelas tinggi.
Arsitektur Needle 2 didasarkan pada Simple Attention Network, sebuah desain dense small-model yang menggunakan Hadamard MLP sebagai pengganti FFN tradisional, GQA attention, engram key-value memory, dan multi-lane hyper-connections. Model dikompresi ke CQ2-bit menggunakan Cactus Quants dan dibundel dalam engine sendiri. Detail teknis lengkap tersedia di paper arXiv:2607.18363.
Yang membuat Needle 2 unik adalah kombinasi dari self-contained binary (tidak perlu file model terpisah), confidence-gated output (setiap respons memiliki calibrated confidence score), bounded memory (tetap 28MB tidak peduli berapa lama percakapan berlangsung), dan tool retrieval bawaan. Repository cactus-compute/needle menyediakan Python package lengkap dengan inference, LoRA fine-tuning, dan export tools.
Instalasi Needle 2 sangat straightforward karena tim Cactus Compute telah menyediakan package PyPI. Pastikan Python 3.9 atau lebih baru terinstal di sistemmu, lalu jalankan:
pip install cactus-needle
Saat pertama kali dijalankan, Needle akan secara otomatis mendownload inference engine dari Hugging Face dan menyimpannya di cache lokal. Untuk deployment di perangkat tanpa internet (air-gapped), kamu bisa melakukan setup offline dengan mengikuti panduan di doc/apis.md pada repository. Jika menggunakan GPU NVIDIA, install versi CUDA:
pip install "cactus-needle[gpu]"
Untuk Apple Silicon, gunakan extra metal agar training dan inference memanfaatkan GPU Apple:
pip install "cactus-needle[metal]"
Needle 2 dirancang khusus untuk tool calling. Cara paling sederhana adalah dengan mendekorasi fungsi Python menggunakan decorator @needle.tool. Signature fungsi memberikan tipe argumen, docstring menjadi deskripsi tool, dan method run() menyelesaikan loop:
import needle
@needle.tool
def get_weather(city: str):
"Get the current weather for a city."
return {"city": city, "temp_c": 27, "sky": "clear"}
agent = needle.Needle(tools=[get_weather])
result = agent.run("what's it like in Lagos right now?")
print(result["results"])
# [{'city': 'Lagos', 'temp_c': 27, 'sky': 'clear'}]
Kontrak yang digunakan Needle sangat sederhana: text in, JSON out. Setiap tool call dikembalikan sebagai structured data, dan grammar byte-level yang dikompilasi dari schema kamu membatasi setiap token yang dihasilkan. Ini memastikan output selalu valid dan sesuai format yang diharapkan.
Salah satu fitur paling powerful Needle 2 adalah confidence gating. Setiap respons membawa calibrated confidence score dari learned head. Kamu bisa menetapkan threshold untuk memutuskan kapan harus bertindak dan kapan harus eskalasi ke sistem lain. Contoh implementasi:
response = agent.run("Turn off the living room lights")
if response["confidence"] > 0.85:
execute_action(response["tool_call"])
else:
queue_for_human_review(response)
Fitur ini sangat kritis untuk deployment edge di mana kesalahan bisa berdampak langsung pada hardware fisik. Needle juga mendukung tool retrieval: kamu bisa mendeklarasikan katalog tool yang besar, dan built-in retrieval head hanya akan merender top 5 tool per turn dengan grammar yang terbatas pada subset tersebut.
Untuk use case spesifik, Needle 2 mendukung fine-tuning menggunakan LoRA pada base model yang frozen. Adapter kemudian di-merge saat export, sehingga model yang sudah dituning tetap berupa single .cact file yang berjalan di engine yang sama. Workflow-nya terdiri dari tiga tahap:
1. Synthesize data (opsional). Jika kamu belum memiliki dataset, generate dari tool schema:
export OPENROUTER_API_KEY=sk-or-...
needle generate-data --tools my_tools.json --num-samples 500 --output data.jsonl
2. LoRA fine-tune. Training menggunakan JAX dan berjalan di accelerator apa pun yang didukung:
needle finetune data.jsonl --epochs 10 --lora-rank 16 --lora-alpha 32
3. Build tuned model. Merge adapter ke base dan quantize:
needle build checkpoints/needle2.pkl --lora checkpoints/needle_lora.pkl --out my_needle.cact
Setelah fine-tuning selesai, model siap di-deploy. File .cact yang dihasilkan adalah single binary self-contained. Untuk deployment ke perangkat edge, cukup salin file ini bersama engine runner yang sesuai platform:
needle download macos-arm64 # atau linux-x64, windows-x64
needle download my_needle.cact
Engine runner platform-specific di-download sekali dan bisa digunakan untuk semua model .cact. Tidak ada recompilation yang diperlukan. Di perangkat target, muat model dengan:
import needle
agent = needle.Needle(weights="my_needle.cact", tools=[get_weather, control_lights])
agent.run("Dim the kitchen to 10 percent")
Needle 2 menggunakan sliding window 256 token dengan tools di-pin sebagai KV sinks, menjaga total memori tetap di sekitar 28MB tidak peduli berapa lama percakapan. Untuk optimasi lebih lanjut, gunakan opsi --bits 2 saat build untuk ukuran model lebih kecil, atau naikkan ke 4-bit jika kualitas lebih penting daripada ukuran. Selalu lakukan profiling memori di perangkat target sebelum production deployment.
Needle 2 membuktikan bahwa edge AI tidak harus berkompromi pada kemampuan. Dengan 14MB binary dan 28MB RAM, software engineer bisa men-deploy model tool-calling yang powerful di hampir semua perangkat edge modern. Kombinasi dari simple contract, confidence gating, dan LoRA fine-tuning menjadikannya pilihan ideal untuk aplikasi IoT, smart home, wearable, dan robotics. Mulai eksplorasi di github.com/cactus-compute/needle dan rasakan sendiri masa depan edge AI yang ringan namun powerful.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu