Ternlight: modello embedding da 7 MB nel browser con WASM

Ternlight è un modello di embedding da 7 MB eseguibile via WASM nel browser, ideale per search semantico e RAG client-side in app React/Next.js senza backend né costi API.

Ternlight: modello embedding da 7 MB nel browser con WASM

Ternlight e la ricerca semantica nel browser

Ternlight è un modello di embedding da 7 MB che esegue operazioni di semantic search direttamente nel browser attraverso WebAssembly. La notizia è emersa su Hacker News con un demo che integra il motore su documentazione React. Il pacchetto include pesi ternari e layer transformer ottimizzati per l'esecuzione locale senza chiamate di rete dopo il caricamento iniziale.

Architettura e implementazione tecnica

A futuristic abstract representation of a neural network architecture, featuring glowing nodes and connections, with a focus on lightweight, compressed data flow and microchip elements symbolizing local CPU processing, modern tech style, dark background with neon blue and purple accents, no text or logos.

Il modello utilizza pesi ternari attraverso BitLinear per ridurre la dimensione complessiva. Le componenti principali comprendono layer transformer con attention heads, una dimensione del modello definita e un output limitato a un massimo di token in ingresso. L'inizializzazione del motore avviene in WASM e il bundle rimane sotto i 7 MB dopo la prima cache.

Il demo riporta metriche concrete: latenza per singola chiamata embed(), throughput in embedding al secondo sulla CPU del client e tempo di elaborazione cumulativo. L'integrazione prevede funzioni come embed() che restituiscono vettori utilizzabili per confronti di similarità senza mantenere stato tra componenti React.

Integrazione in applicazioni web

Per chi sviluppa con React o Next.js, Ternlight permette di spostare la generazione di embedding sul client. Questo elimina la dipendenza da endpoint esterni per query semplici e riduce la latenza di round-trip. Il pacchetto supporta la condivisione di stato tra componenti e l'esecuzione di codice dopo il render senza prop drilling aggiuntivo.

Il consumo di risorse rimane contenuto perché il modello gira su CPU del browser. In scenari di ricerca interna a documentazione o cataloghi, il throughput misurato nel demo risulta sufficiente per interazioni in tempo reale su dispositivi moderni.

Limiti pratici nell'uso quotidiano

A conceptual 3D illustration showing a balance between a small, glowing, agile geometric shape and a massive, complex data structure, symbolizing the trade-off between lightweight efficiency and heavy processing power, modern tech style, minimalist, no text or logos.

La dimensione ridotta comporta un compromesso sulla qualità degli embedding rispetto a modelli più grandi. Per task che richiedono alta precisione semantica, i risultati possono risultare inferiori a quelli ottenuti con modelli server-side. L'esecuzione in WASM dipende inoltre dalle prestazioni della CPU del client e non sfrutta accelerazione GPU nel browser.

Il caricamento iniziale richiede il download del bundle, anche se le esecuzioni successive restano locali. Chi gestisce applicazioni con volumi elevati di query deve valutare il carico sulla CPU dell'utente finale prima di adottare questo approccio in produzione.

FAQ

Ternlight funziona offline dopo il primo caricamento? Sì, il modello viene memorizzato nella cache del browser e tutte le chiamate successive avvengono localmente senza traffico di rete.

Quali framework supporta l'integrazione? Il demo mostra l'uso con React, ma il motore WASM può essere richiamato da qualsiasi applicazione JavaScript che supporti WebAssembly.

La qualità degli embedding è paragonabile a modelli più grandi? No. La riduzione a pesi ternari e la dimensione di 7 MB comportano un calo di accuratezza rispetto a modelli server-side di dimensioni superiori.

---

📖 Leggi anche

Hai bisogno di una consulenza?

Aiuto aziende e startup a sviluppare software, automatizzare processi e integrare AI. Parliamone.

Scrivimi
← Torna al blog