Innhold Vis
Needle 2 får lokal tool calling ned i en binærfil på 14 MB og kjører en hel økt med rundt 28 MB RAM. Det betyr at enheten kan tolke en vanlig setning, velge riktig funksjon og fylle ut argumentene uten å sende forespørselen til en skyplattform.
Modellen har 45 millioner parametre og er laget for telefoner, wearables, smarthus, roboter og annen maskinvare der en vanlig språkmodell blir altfor tung. Den trenger verken GPU eller NPU. Cactus Compute oppgir blant annet 500 tokens i sekundet på Raspberry Pi 5 og 300-700 tokens i sekundet på rimelige telefoner.
Dette er smalt med vilje. Needle 2 skal ikke skrive romaner, vinne en quiz eller diskutere meningen med livet. Den skal gjøre én jobb: oversette menneskelig språk til en gyldig og kontrollert handling. Akkurat derfor er dette en så spennende modell.
Hva er Needle 2?
Needle 2 er en åpen modell med 45 millioner parametre for tool calling, styring av enheter og strukturert datauttrekk. Ifølge det offisielle modellkortet på Hugging Face er modellen pakket med CQ2-kvantisering i en selvstendig binærfil på 14 MB, mens en full økt bruker rundt 28 MB RAM.
Tool calling betyr at modellen ikke bare svarer med tekst. Du gir den en liste over funksjoner og beskriver hvilke argumenter de tar. Når noen sier «demp lyset på kjøkkenet til 10 prosent», kan modellen velge funksjonen for lysstyring og returnere rom og lysnivå som strukturert JSON. Programmet rundt modellen utfører selve handlingen.
Den samme mekanismen kan trekke leverandør, sum og forfallsdato ut av en faktura, velge riktig kommando på en dings eller rute en forespørsel til et større system. Cactus Compute har lagt både inference-, trenings- og eksportkoden på GitHub og modellvektene på Hugging Face. Koden er lisensiert med MIT, mens modellkortet oppgir Apache 2.0 for modellutgaven.
Den første Needle-modellen viste allerede at dette kunne presses ned til 26 millioner parametre. Jeg skrev om hvordan første Needle flyttet tool calling til vanlig forbrukermaskinvare. Needle 2 er ikke bare et nytt tall i modellnavnet. Den leveres som et mer komplett produkt med egen motor, fast minnebruk, verktøyhenting og confidence-score.
Hvorfor betyr 14 MB og 28 MB RAM så mye?
En modell på 14 MB kan følge med selve programmet eller enheten, mens minnebruk på rundt 28 MB åpner for maskinvare der selv små milliardmodeller er uaktuelle. Cactus Compute bygger Needle 2 for CPU-er uten GPU og NPU, med ferdige mål for blant annet ARM64, x86-64, ARMv7, RISC-V, MIPS, Android, Apple-plattformer og WebAssembly.
Det praktiske skillet er større enn forskjellen mellom en 3B- og en 8B-modell. En modell med flere milliarder parametre kan være liten nok for en god PC eller mobil, men fortsatt altfor stor for en klokke, en ruter, et kamera eller en enkel smarthusenhet. Her er ikke spørsmålet hvor mye VRAM du har. Hele poenget er at VRAM ikke skal være nødvendig.
Cactus Compute oppgir 400-1 500 tokens i sekundet på Meta Quest 3S og Apple Vision Pro, 500 på Raspberry Pi 5 og 300-700 på rimelige telefoner. Dette er leverandørens egne ytelsestall, og fart vil variere med prosessor, operativsystem og oppgave. Likevel er nivået høyt nok til at lokal kommandohåndtering kan føles umiddelbar. En modell som bare skal produsere en funksjon og noen argumenter trenger heller ikke lange tekstsvar.
Lokalkjøringen har tre opplagte fordeler. Den virker uten nett, data kan bli på enheten, og hvert trykk på lysbryteren trenger ikke en API-runde til et datasenter. For en skjermløs dings eller et produkt som skal fungere selv når nettet er ustabilt, er dette ikke en liten bonus. Det er forskjellen mellom en funksjon og en pyntelig demo.
Hvordan holder Needle 2 minnebruken fast?
Needle 2 bruker et kontekstvindu som glir over de siste 256 tokenene, mens systeminformasjonen og beskrivelsene av tilgjengelige verktøy blir festet i minnet. Dermed vokser ikke KV-cachen uten kontroll gjennom en lang samtale. Cactus Compute beskriver resultatet som et minnetak nær 28 MB, ikke en kurve som fortsetter oppover for hver nye melding.
Det er et bevisst kompromiss. Et vindu på 256 tokens er knøttlite sammenlignet med språkmodeller som reklamerer med hundretusener eller millioner av tokens. Needle 2 trenger heller ikke huske en bok. Den må holde fast på verktøyene, forstå den aktuelle kommandoen og ta med nok av de siste resultatene til å fullføre en kort kjede av handlinger.
Hvis du først søker etter en kontakt og deretter sender en melding til kontakt-ID-en som kom tilbake, kan modellen føre resultatet videre til neste steg. Den kan også avslutte med et vanlig tekstsvar basert på resultatene. Dette er en liten agentløkke, bare uten infrastrukturen og minneforbruket vi vanligvis forbinder med ordet «agent».
Arkitekturen bygger på Cactus Computes Simple Attention Network. Den bruker blant annet GQA-attention, en Hadamard-basert MLP, engram-minne og flere parallelle residualstrømmer. Forskningsarbeidet bak Simple Attention Networks fant at attention-only-modeller kunne komme svært nær vanlige transformere når parameterbudsjettet ble flyttet til mer dybde, selv om de var svakere når kunnskap måtte hentes fra selve vektene. Det passer godt her: Verktøy og brukerens kommando gir modellen konteksten den trenger.
Hvordan unngår den ødelagt JSON og feil verktøy?
Needle 2 kompilerer funksjonsskjemaene til en grammatikk som begrenser hvilke bytes modellen får lov til å generere. Hvis et argument skal være et heltall mellom 0 og 100, eller ett av tre gyldige valg, kan modellen ikke bare finne på en fjerde verdi. Gyldig struktur er en del av dekodingen, ikke et håp formulert i systemprompten.
Det er viktigere enn det høres ut. Tool calling feiler ofte på kjedelige ting: et feilskrevet funksjonsnavn, en manglende klammeparentes eller et argument med feil type. En stor modell kan forstå intensjonen perfekt og likevel levere noe programmet ikke kan bruke. Needle 2 snevrer inn handlingsrommet før tokenet velges.
Har du fem verktøy eller færre, legges alle direkte inn i konteksten. Har du flere, bruker modellen en egen retrieval-head til å rangere katalogen og slipper bare de fem mest relevante verktøyene inn i den aktuelle runden. Resten er utilgjengelige for dekoderen. Det sparer både kontekst og reduserer risikoen for at modellen velger en funksjon som bare ligner.
Hvert svar får også en confidence-score. Tanken er enkel: Utfør handlingen når scoren er høy nok, be om en avklaring eller send oppgaven videre til en større modell når den er lav. En forespørsel som ingen av verktøyene kan løse, skal returnere en tom liste i stedet for å late som. Det er en langt sunnere kontrakt enn en liten modell som må svare på absolutt alt.
Hva viser målingene – og hva viser de ikke?
Needle 2 leder begge Seal-Tools-delene i Cactus Computes testoppsett. Den får 32,6 på oppgaver innenfor domenet og 28,7 utenfor domenet, mot henholdsvis 26,9 og 17,0 for LFM2.5 230M. FunctionGemma 270M får 16,3 og 15,6. Det er sterke resultater for en modell som er fem til 70 ganger mindre enn sammenligningsmodellene i leverandørens størrelsesregnestykke.
Men modellen vinner ikke alt. På Mobile Actions får Needle 2 en samlet score på 63,7, mens LFM2.5 230M får 69,1 og FunctionGemma 270M får 64,0. På BFCL v4 single-turn får Needle 2 42,6. LFM2.5 når 60,8, FunctionGemma 46,1 og Apple FM 61,7. Det er en ganske tydelig påminnelse om hva spesialisering betyr.
Cactus Compute sier selv at treningsmaterialet er rettet mot handlinger på forbrukerenheter, ikke brede bedrifts-API-er. Sammenligningen har dessuten to skjevheter: Konkurrentene kjøres i f16, mens Needle 2 kjøres i den leverte CQ2-utgaven. Det favoriserer konkurrentene på presisjon, men Needle 2 er samtidig trent spesifikt for denne typen oppgaver. Resultatene er leverandørmålinger, ikke en uavhengig dom over hvilken modell som er «best».
Jeg synes det ærlige bildet er mer spennende enn en benchmarkseier. Needle 2 slår ikke større modeller overalt. Den er god nok på et avgrenset sett oppgaver til å flytte selve beregningen over på enheter som ellers måtte brukt skyen. Det er et produktvalg med en målbar nytte, ikke bare enda en pokal i en tabell.
Hvem bør faktisk vurdere Needle 2?
Needle 2 passer best når oppgaven kan beskrives som et begrenset sett med funksjoner og tydelige skjemaer. Smarthusstyring, offline stemmekommandoer, enkle robothandlinger, ruting, klassifisering og uttrekk fra korte tekster er naturlige kandidater. Enheten kan gjøre det vanlige lokalt og bare kontakte en større modell når confidence-scoren faller under grensen du har satt.
Den passer dårlig når produktet trenger bred kunnskap, lange dokumenter, fri samtale eller komplisert resonnering. En 45M-modell med 256 tokens arbeidsvindu blir ikke en generell assistent fordi du gir funksjonene lange og kreative navn. Bruk den smale modellen der oppgaven faktisk er smal. Det er hele trikset.
For utviklere er inngangen uvanlig enkel. Python-pakken installeres med pip install cactus-needle. En funksjon kan registreres med en dekoratør, der signaturen gir argumenttypene og dokumentasjonsteksten forklarer verktøyet. Det finnes også støtte for rå JSON-skjemaer, Pydantic-modeller, LoRA-finetuning og eksport til en egen .cact-fil.
Jeg ville likevel testet tre ting før en reell utrulling: egne formuleringer fra faktiske brukere, feil verktøy som ligner på det riktige, og terskelen for når handlingen skal stoppes eller sendes videre. En modell som styrer en lampe kan få litt slingringsmonn. En modell som låser en dør eller sender penger bør møtes av langt strengere regler og vanlig programmatisk validering. Confidence er et signal, ikke en sikkerhetsgaranti.
Utviklingen minner litt om det vi har sett med IBMs effektive Granite-modeller, men Needle 2 går mye lenger i spesialiseringen. Den prøver ikke å være den minste modellen som kan gjøre nesten alt. Den prøver å være liten nok til å gjøre én viktig ting på nesten hva som helst.
Det er nettopp derfor jeg liker retningen. Mye av AI-utviklingen handler om større modeller, større datasentre og større regninger. Needle 2 viser en annen vei: Skjær bort oppgaver modellen ikke trenger å løse, bygg inn harde rammer og flytt handlingen helt ut til enheten. 14 MB. Rundt 28 MB RAM. Ingen GPU. Det er vanskelig å ikke bli litt begeistret av det.
Ofte stilte spørsmål
Kan Needle 2 kjøre uten internett?
Ja. Selve inferensen kjører lokalt uten nett når motoren og modellen er installert. Python-pakken henter motoren første gang og lagrer den lokalt, mens Cactus Compute også dokumenterer oppsett for enheter som skal klargjøres helt uten internettilgang.
Trenger Needle 2 et grafikkort?
Nei. Needle 2 er laget for CPU-er uten GPU eller NPU. Leverandøren tilbyr mål for blant annet x86-64, ARM, RISC-V, MIPS og WebAssembly, og oppgir rundt 500 tokens i sekundet på en Raspberry Pi 5.
Kan Needle 2 erstatte en vanlig språkmodell?
Nei. Modellen er spesialisert for tool calling, enhetsstyring og strukturert uttrekk. Den har et glidende vindu på 256 tokens og er ikke laget for bred kunnskap, lange dokumenter eller fri samtale. Styrken er at den gjør smale oppgaver lokalt med svært lite minne.
Er tool calling med Needle 2 alltid trygt?
Nei. Grammatikkstyrt dekoding sikrer gyldig struktur, og confidence-scoren kan brukes til å stoppe usikre kall. Du må fortsatt validere argumenter, begrense tillatelser og kreve ekstra kontroll ved handlinger som kan koste penger, låse dører eller endre viktige data.