Vai al contenuto
AI.info

The Pulse

Cactus lancia Needle 3, un modello per chiamate agli strumenti da 9–29 MB sul dispositivo

Cactus Compute ha rilasciato Needle 3, un modello compatto per la selezione locale degli strumenti, l’estrazione strutturata e gli embedding testuali su telefoni, dispositivi indossabili, robot e altri dispositivi di piccole dimensioni. La

Cactus lancia Needle 3, un modello per chiamate agli strumenti da 9–29 MB sul dispositivo

AI.info Team ·

Cactus Compute scommette sul fatto che molti assistenti integrati nei dispositivi non abbiano bisogno di un chatbot generico. L’azienda ha rilasciato Needle 3, un modello progettato per selezionare strumenti, compilare argomenti e restituire dati strutturati localmente, con binari distribuiti che vanno da 9 MB a 29 MB. Cactus afferma che il modello rinuncia alla capacità di conversazione generica per competere con modelli fino a 10 volte più grandi nei test di chiamata agli strumenti su dispositivi mobili.

Il rilascio pone Cactus in aperto contrasto con il consueto approccio alla progettazione degli agenti per dispositivi: inviare una richiesta a un grande modello cloud e aspettare che decida quale azione intraprendere. Needle 3, invece, mantiene sul dispositivo il modello, gli schemi degli strumenti e il motore di inferenza. Tra i dispositivi a cui è destinato figurano telefoni, orologi, occhiali per la realtà aumentata, automobili, robot, apparecchiature per la casa intelligente e schede della classe dei microcontrollori.

Needle 3 circoscrive il compito alle azioni e ai dati

Needle 3 gestisce tre attività correlate. Sceglie tra le funzioni messe a disposizione da un’applicazione ed estrae gli argomenti necessari per richiamarle; trasforma testo non strutturato in uno schema definito dagli sviluppatori; e genera embedding testuali per la ricerca, l’abbinamento e l’instradamento locali.

Questo ambito ristretto cambia ciò che il modello deve fare. A un assistente a cui si chiede di abbassare la luce in una stanza e chiudere a chiave una porta dovrebbero corrispondere due chiamate in sequenza. Una richiesta che riguarda un’azione non supportata dovrebbe produrre un elenco vuoto, anziché un’ipotesi apparentemente plausibile. Per l’estrazione, Cactus afferma che la grammatica di decodifica garantisce che l’output rispetti la struttura richiesta.

Il modello fornisce anche un punteggio di confidenza per ogni risposta. Il runtime di Cactus può bloccare una chiamata se il punteggio è inferiore a una soglia minima, consentendo a un’applicazione di agire automaticamente sui risultati ad alta confidenza, chiedere conferma in caso di incertezza o rifiutarsi di agire quando non viene trovato uno strumento adatto. La pagina del rilascio mostra una risposta di esempio che contiene una chiamata per controllare le luci, un campo di ragionamento, un punteggio di confidenza di 0,94, misurazioni del throughput e l’uso massimo della memoria.

La fascia da 9 a 29 MB deriva da un’unica scala di modelli

Needle 3 si basa su quella che Cactus chiama Laddered Simple Attention Network. Gli sviluppatori possono selezionare una sotto-rete da due a 20 livelli, considerando ogni profondità come un modello distribuibile. Cactus afferma che la versione a 20 livelli contiene 121 milioni di parametri, ma esegue calcoli tipici di un modello più piccolo perché molti parametri si trovano nella sua componente di memoria engram.

Il rilascio utilizza la quantizzazione CQ2, che Cactus identifica come un formato di pesi a 2 bit. La pagina del prodotto afferma che i binari CQ2 distribuiti vanno da 9 MB a 29 MB. Non fornisce una tabella delle dimensioni per ciascuna profondità. Lo stesso motore può caricare ogni profondità, permettendo agli sviluppatori di trovare un compromesso tra accuratezza, memoria e velocità in base alla categoria di dispositivo a cui puntano.

Su un Raspberry Pi 5, l’azienda dichiara velocità di decodifica che vanno da circa 400 token al secondo all’estremità superiore della scala a 4.000 token al secondo a quella inferiore. Le prestazioni di prefill vanno da 1.000 a 10.000 token al secondo. Sono misurazioni di Cactus, non il risultato di una valutazione indipendente dell’hardware.

Cactus rivendica un vantaggio nelle chiamate agli strumenti su dispositivi mobili

Cactus valuta Needle 3 su tre suite per le chiamate agli strumenti: Mobile Actions, DroidCall e BFCL v4. La prima comprende comandi per telefoni associati a intent Android, distribuiti su 961 righe; DroidCall include 200 richieste per telefoni, comprese quelle che richiedono più chiamate in sequenza; BFCL v4 misura le chiamate a funzioni in un singolo turno su 3.641 righe.

Per l’estrazione, l’azienda riporta risultati sui campi di dialogo di DSTC8 e sul dataset SNIPS, includendo sia l’estrazione a livello di campo sia la selezione dello schema tra sette opzioni. Cactus afferma che Needle 3 supera modelli 10 volte più grandi nelle chiamate agli strumenti su dispositivi mobili e raggiunge risultati pari a quelli di modelli da due a tre volte più grandi nell’estrazione. Il confronto include modelli più grandi con pesi a maggiore precisione eseguiti con vLLM, oltre a DeepSeek V4 Flash, accessibile tramite la sua API cloud.

Questi confronti descrivono una competizione specialistica, non una classifica generale dei modelli linguistici. Needle 3 non è presentato come un sostituto di un modello che scrive documenti lunghi, risponde a domande generali sui fatti o sostiene conversazioni aperte. Il suo progetto presuppone che l’applicazione sappia già quali funzioni o schemi sono disponibili e abbia bisogno di un componente compatto per instradarvi le richieste.

La distribuzione è destinata ai telefoni e alle schede di piccole dimensioni

Insieme al modello, Cactus distribuisce motori specifici per ciascuna piattaforma. Il rilascio elenca versioni per macOS, Linux, Windows, Android, iOS, watchOS, tvOS, WebAssembly e WASI. Ogni motore occupa meno di 1 MB e carica separatamente i pesi del modello, permettendo di abbinare gli stessi pesi a diverse librerie native o runtime per browser.

Il pacchetto Python può scaricare il motore e memorizzarlo nella cache locale, mentre il flusso di lavoro da riga di comando può creare una distribuzione per la piattaforma e la profondità dei livelli selezionate. La pagina mostra flussi di lavoro Python per le chiamate agli strumenti, l’estrazione e il fine-tuning, oltre a comandi per creare una distribuzione per la piattaforma e la sotto-rete scelte.

Il fine-tuning è pensato per far funzionare le versioni più piccole

Cactus presenta le sotto-reti più piccole come punti di partenza per il fine-tuning specifico di un prodotto, anziché come assistenti universali. L’azienda afferma che il fine-tuning sul suo compito DroidCall migliora ogni sotto-rete di 18–36 punti e che le versioni ottimizzate a partire da quattro livelli superano DeepSeek V4 Flash nel confronto a valle che pubblica.

Il flusso di lavoro mantiene il modello completo a 20 livelli come base di addestramento, applica LoRA ai pesi congelati ed esporta poi un file .cact a quattro bit per il dispositivo scelto. Uno sviluppatore può quindi addestrare il modello completo e produrre una distribuzione a due, quattro, otto o 20 livelli senza modificare l’interfaccia del runtime.

La promessa pratica è circoscritta, ma misurabile: selezione degli strumenti, estrazione strutturata e instradamento locale in un pacchetto abbastanza piccolo da affiancare l’applicazione che controlla.

Fonte

Esplora

Altri articoli