cactus-compute/needle
Automation foundation model for tiny devices: 2-bit, 8-29 MB, tool calls, ASR, structured extraction and embeddings on phones, wearables, smart homes, robots, cars and microcontrollers.
Hızlı değerlendirme
Özet
Needle, küçük cihazlarda tool calling, structured extraction ve embedding çalıştırmayı hedefleyen kompakt bir model ve yazılım paketidir.
Profiline uyum
Mobil cihazlarda offline fonksiyon çağrısı ve agent çalıştırma, mobil uygulamalarınıza yerel AI özellikleri ekleme ihtiyacına kısmen uyuyor.
Neden yükseliyor
Küçük cihazlarda yerel tool calling ve extraction ihtiyacına odaklanması, 216 günde 12.730 yıldıza ulaşması ve son 28 gündeki 36 commit ile 15 farklı yazarın katkısı dikkat çekiyor. Yıldızlar ilginin göstergesi; model performansının bağımsız doğrulaması değil.
Problem
Telefon ve benzeri sınırlı kaynaklı cihazlarda, her isteği buluta göndermeden uygulama araçlarını seçmek, yapılandırılmış veri çıkarmak ve metinleri eşleştirmek zor.
Çözüm
README'ye göre 8–29 MB'lık quantized model dosyaları ve `cactus-needle` Python paketiyle tool calling, grammar ile kısıtlanmış JSON extraction ve embedding sunuyor; farklı katman derinliklerinde dağıtılabilen bir model mimarisi kullanıyor.
Yenilik
Öne çıkan iddia, farklı derinliklerde dağıtılabilen Laddered Simple Attention Network mimarisi ve küçük model boyutunda tool calling performansı. Yaklaşımın ne ölçüde üstün olduğu README'deki benchmark iddialarına dayanıyor; verilen bilgiler bağımsız karşılaştırma veya tekrar üretilebilirlik kanıtı sunmuyor.
Teknolojiler
- Python
- JAX
- LoRA
- GQA
- Monarch Hadamard MLP
- Cactus Quants
- WASI
Riskler
- Benchmark sonuçları README'de sunuluyor; bağımsız doğrulama ve aynı koşullarda tekrarlanabilirlik bu bilgilerden anlaşılamıyor.
- Genel amaçlı chat kapasitesinden ödün verildiği belirtiliyor; temel kullanım alanı dışındaki işler için uygun olmayabilir.
- 8–29 MB boyutu tek başına gerçek cihazlardaki latency, bellek kullanımı, güç tüketimi ve doğruluğu kanıtlamaz.
- Cihaz ve platform desteğini, lisans koşullarını ve dağıtılacak model ağırlıklarının kullanım şartlarını benimsemeden önce ayrıca doğrulamak gerekir.
Detaylı değerlendirme
Uyum profiline göre: bu işime yarar mı?
Ne yapar
Needle, telefon, wearable, akilli ev, arac ve mikrodenetleyici gibi kucuk cihazlarda calismak uzere tasarlanmis 8-29 MB'lik, 2-bit quantize edilmis bir foundation model. Genel sohbet kapasitesinden feragat ederek uc ise odaklaniyor: tool calling (uygulamanin sundugu fonksiyonlardan dogrusunu secip argumanlari doldurma, kapsam disi istekte bos liste dondurme), schema tabanli structured extraction (fatura, rezervasyon, form gibi) ve text embedding. Her yanit kalibre edilmis bir confidence skoru ile geliyor.
Nasıl çalışır
'Laddered Simple Attention Network' adli ozel bir mimari kullaniyor: FFN yerine Monarch Hadamard MLP, causal conv tap'li GQA attention, gather ile okunan engram n-gram bellegi ve multi-lane hyper-connection. 2 ile 20 katman arasindaki her derinlik ayri deploy edilebilir bir model olacak sekilde egitilmis. Parametrelerin cogu engram'da duruyor; 121M modelin hesap yuku 50M civarinda oldugu belirtiliyor. Schema'lardan derlenen byte-level grammar her token'i kisitliyor, bu yuzden cikti her zaman parse ediliyor. Agirliklar .cact formatinda tutuluyor ve 1 MB'in altindaki platforma ozel engine'ler (macOS, Linux ARM, browser/WASI, C API) tarafindan yukleniyor. Fine-tuning icin iki yol var: yerelde JAX ile LoRA ya da Cactus GPU'larinda ucretli platform uzerinden tam model egitimi.
Kullanım alanları
- Mobil uygulamalarda cihaz ustu tool calling (ornegin sesli komutu uygulama aksiyonuna cevirme)
- Akilli ev ve IoT cihazlarinda offline komut yorumlama
- Cihaz ustunde mesy metinden structured extraction (bildirim, fatura, form)
- Yerel embedding ile cihaz icinde arama ve yonlendirme
- Air-gapped ortamlarda kucuk otomasyon ajanlari
Alternatifler
- Gemma 3 270M / FunctionGemma (Google'in kucuk cihaz odakli modelleri)
- Qwen2.5/Qwen3 kucuk modelleri + llama.cpp
- Hammer / xLAM kucuk function-calling modelleri
- transformers.js ile tarayicida kucuk embedding modelleri
Kimler için
Mobil, embedded, robotik veya otomotiv tarafinda ag baglantisi olmadan, dusuk bellekle LLM tabanli tool calling ya da extraction yapmasi gereken ekipler icin. Bulutta calisan web SaaS ekipleri icin degil.
Olgunluk
Beta / hizli gelisen. Gerekceler: 12.6k yildiz ve son 28 gunde 15 farkli yazardan 36 commit, aktif ve sirket destekli bir ekip oldugunu gosteriyor; model 3. nesilde ve Needle 2 geriye uyumlulugu korunuyor. Ote yandan GitHub'da hic surum (release) yok, 213 gunluk bir proje, mimari tamamen ozel ve benchmark'lar ureticinin kendi sitesinde yayinlaniyor, bagimsiz dogrulama README'den anlasilmiyor. Binary'de telemetry varsayilan olarak acik.
Kurulum
Kolay: `pip install cactus-needle` ile Python'dan dakikalar icinde denenebilir; tarayicida demo da var. Platform binary'si icin `needle build --platform <folder>` kullaniliyor. Fine-tuning yerelde JAX gerektiriyor, platform secenegi icin API key ve ucretlendirme var. Deno/TypeScript icin resmi SDK README'de gecmiyor; browser/WASI engine uzerinden entegrasyon mumkun olabilir ama bu ek is ister.
Bizim için
Somut kullanım
Dogrudan bir kullanim yeri yok. Teorik olarak iki nokta var. Birincisi, Edge Function'larda cok basit intent veya router siniflandirmasini Anthropic cagrisi yerine ucuz bir yerel modele devretmek; ancak Deno icin WASI/wasm engine'in cold start ve bellek limitlerinde calisip calismadigi README'den anlasilmiyor. Ikincisi, tarayicida istemci tarafli basit form extraction yapmak. Ikisi de su an somut bir ihtiyaca karsilik gelmiyor. Embedding icin pgvector ile birlikte kullandigimiz sunucu tarafi embedding daha uygun kalir.
Uyum gerekçesi
Kaliwa bir web urunu: Next.js arayuz, Vercel ve Supabase Edge Functions uzerinde calisiyor, LLM tarafinda Anthropic kullaniliyor. Needle'in guclu oldugu alan, yani kucuk cihazda offline calisma, bizim darbogazimiz degil. Python ve native binary odakli oldugu icin TS/Deno yiginimiza dogrudan oturmuyor. Tool calling ve embedding konulari takip ettigimiz agent ve embedding alanlariyla kesisiyor, bu nedenle skor sifir degil.
Engeller
- Python ve native binary odakli; TypeScript/Deno SDK'si belirtilmemis
- Ozel .cact formati ve ozel runtime nedeniyle vendor bagimliligi
- Binary'de varsayilan acik telemetry
- GitHub'da resmi surum yok
- Tam fine-tuning ucretli Cactus platformuna bagli
- Benchmark'lar uretici kaynakli, bagimsiz dogrulama yok
Ne zaman kullanılır
Uygulama offline ya da cok dusuk gecikmeyle cihaz ustunde calismak zorundaysa, bellek butcesi on MB'lar seviyesindeyse ve is dar bir tool seti uzerinde fonksiyon secmekten ya da sabit schema'ya extraction'dan ibaretse.
Ne zaman kullanılmaz
Sunucu tarafinda Claude gibi guclu bir modele zaten erisim varsa, genel akil yurutme, uzun baglam, RAG uzerinden cevap uretme veya sohbet gerekiyorsa, ya da telemetry ve ozel .cact formatina bagimlilik kabul edilemiyorsa.
Dikkat edilecekler
- NEEDLE_TELEMETRY=0 ve DO_NOT_TRACK=1 ayarlanmadan kullanilmamali
- Yerel LoRA fine-tuning'de confidence None donuyor
- Sohbet ve genel akil yurutme kapasitesi bilincli olarak feda edilmis
- Embedding kalitesi README'de olculmemis; pgvector ile karsilastirma yapmadan kullanilmamali