>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Python

Come integrare l'AI negli occhiali smart senza impazzire dal ritardo

Immagina di dover sviluppare software per occhiali smart o uno smartwatch. Hai bisogno che il dispositivo comprenda i comandi vocali: "spegni le luci", "che tempo farà domani a San Pietroburgo?" oppure "prenota un tavolo." Di solito, chiameresti le API di modelli linguistici di grandi dimensioni come Gemini o GPT-4. Ma poi iniziano i problemi: un paio di secondi di latenza rovina completamente l'esperienza utente, e i costi per i token crescono più velocemente del numero di utenti.

Il team di Cactus Compute ha deciso di seguire un approccio diverso. Hanno preso le conoscenze dal massiccio Gemini 1.5 e le hanno "trasferite" in un modello minuscolo chiamato Needle, che ha solo 26 milioni di parametri. Per confronto: è centinaia di volte più piccolo dei popolari "modelli compatti" come Llama-3-8B o persino Qwen-0.5B.

Logo

Cosa può fare questo modello minuscolo

Needle non è un chatbot che discuterà con te del senso della vita. È uno strumento a scopo limitato per le Function Calling. Prende la richiesta dell'utente in linguaggio naturale e la trasforma in JSON strutturato che il tuo codice può comprendere.

La caratteristica principale qui è la velocità. Sulla loro infrastruttura, il modello raggiunge 6.000 token al secondo in prefill e 1.200 nella generazione. Ma anche se lo esegui localmente su un MacBook normale, funziona praticamente all'istante.

Ecco alcune caratteristiche che rendono Needle un progetto interessante:

  • Il modello è stato addestrato su 200 miliardi di token. È una quantità seria per le sue dimensioni.
  • È ottimizzato per il computing edge — telefoni, wearable e dispositivi IoT.
  • Include un comodo Playground dove puoi affinare il modello per i tuoi strumenti specifici in un paio di clic.

Come funziona internamente

L'architettura si chiama Simple Attention Network. Se guardi il diagramma che gli autori hanno lasciato nel repository, puoi vedere una soluzione piuttosto elegante.

Il modello è composto da un encoder a 12 strati e un decoder a 8 strati. Curiosamente, l'encoder non ha le tradizionali reti Feed-Forward (FFN) — ha solo Self-Attention e connessioni Gated Residual. Questo risparmia molta memoria e risorse computazionali. I pesi degli embedding e il layer lineare di output sono condivisi, che è anche un trucco standard per ridurre le dimensioni del modello senza perdere qualità.

Gli autori dicono onestamente: Needle è un esperimento. Supera FunctionGemma-270m e Qwen-0.6B nei compiti di function calling, ma è inferiore nelle conversazioni normali. I modelli piccoli hanno poca "memoria" del mondo, quindi è facile confonderli con una domanda complessa e fuori tema.

Avvio rapido e fine-tuning

Distribuire il progetto è estremamente semplice. Dopo aver clonato il repository e aver eseguito lo script di setup, il comando needle playground apre l'interfaccia web. Lì puoi testare immediatamente il modello con i tuoi esempi.

Se hai bisogno di integrare Needle in un progetto Python, il codice è familiare:

from needle import SimpleAttentionNetwork, load_checkpoint, generate, get_tokenizer

# Загружаем веса и конфиг
params, config = load_checkpoint("checkpoints/needle.pkl")
model = SimpleAttentionNetwork(config)
tokenizer = get_tokenizer()

# Просим модель вызвать функцию
result = generate(
    model, params, tokenizer,
    query="Сколько градусов сейчас в Сочи?",
    tools='[{"name":"get_weather","description":"Узнать погоду в городе.","parameters":{"location":{"type":"string","description":"Название города."}}}]'
)
print(result)
# [{"name":"get_weather","arguments":{"location":"Сочи"}}]

La cosa più preziosa è la semplicità del fine-tuning. Se hai API specifiche, puoi "allenare" Needle su di esse. Gli autori consigliano di preparare almeno 120 esempi per strumento per evitare l'overfitting. Il repository include persino uno script per generare tali dati usando il Gemini "più vecchio".

Chi dovrebbe provarlo

Vedo Needle in progetti dove la privacy e il funzionamento offline sono fondamentali. Ad esempio, in un sistema di smart home che non dovrebbe inviare le tue conversazioni al cloud, o in un'app mobile per controllare un'interfaccia complessa con la voce.

Ovviamente, 26 milioni di parametri impongono limitazioni. Non potrai chiedergli di scrivere un saggio o tradurre testi tecnici complessi. Ma se il tuo compito è comprendere cosa vuole l'utente con "abbassa" o "programma una riunione per giovedì", Needle lo gestirà più velocemente e a minor costo di qualsiasi altro modello.

Il progetto è open source, i pesi sono su Hugging Face e la licenza MIT ti permette di usarlo in prodotti commerciali. Se stavi cercando un modo per aggiungere l'AI a un microcontrollore o a un vecchio smartphone — questo è un ottimo candidato per i test.

Progetti correlati