WebLLM

WebLLM: come un modello linguistico entra in una pagina

Far girare un modello linguistico in una scheda del browser sembrava una stranezza da dimostrazione fino a poco tempo fa. Vale la pena spiegare come funziona.

Di Aggiornato il

Schermata home di cronowiz: mosaico delle sezioni Forza, Cardio, Strumenti, Impostazioni, Progressi e Diario

WebLLM è una libreria che prende un modello già quantizzato — cioè con i pesi ridotti a interi a pochi bit invece che a numeri in virgola mobile — e lo esegue nel browser compilando i kernel per WebGPU. La quantizzazione è quello che rende la cosa possibile: un modello da 1 miliardo di parametri in precisione piena non entrerebbe comodamente nella memoria di un telefono, mentre a 4 bit sì.

I pesi vengono scaricati una volta e messi nell’OPFS, un’area di storage per file dedicata all’origine del sito. È la differenza fra una dimostrazione e una funzione utilizzabile: senza persistenza, ogni apertura dell’app significherebbe riscaricare centinaia di megabyte, e nessuno lo farebbe due volte. Con la persistenza, la seconda apertura carica dal disco locale e il motore è pronto in secondi.

La parte che si sente di più è la compilazione dei kernel al primo avvio, che aggiunge qualche secondo. Dopo, viene messa in cache anche quella. È il motivo per cui cronowiz ti lascia decidere quando scaldare il motore: il momento migliore è mentre stai facendo altro, non mentre aspetti una risposta.

  • Modelli quantizzati

    i pesi a pochi bit sono quello che fa entrare un modello nella memoria di un telefono.

  • Persistenza nell’OPFS

    scaricati una volta, letti da disco locale poi. Senza questo sarebbe una demo, non una funzione.

  • Kernel compilati e messi in cache

    il primo avvio paga la compilazione per WebGPU, i successivi no.

  • Nessuna chiave, nessun servizio

    non c’è un’API da chiamare, quindi non c’è un account, un limite o un contatore.

Gratis. Privata. Tua.

Nessun account. Nessun server. Nessun cookie. Solo tu, il tuo telefono e un'app che si fa gli affari suoi. cronowiz è una PWA gratuita che gira interamente sul tuo dispositivo — i tuoi dati non escono. Mai.

Le domande che fanno davvero

La quantizzazione peggiora le risposte?

Un po’ sì: è una perdita di precisione, e su compiti difficili si nota. Su quello che chiediamo a questo modello — leggere numeri che ha davanti e spiegarli in tre frasi — la differenza è piccola rispetto al vantaggio di poterlo eseguire localmente.

Posso scegliere il modello?

Sì, fra Llama 3.2 1B e Gemma 2 2B. Il secondo è un po’ più capace e un po’ più lento, e occupa più spazio. Su un telefono di fascia media il primo è la scelta più sensata.

Cosa succede se cancello i dati del sito?

Spariscono anche i pesi, e il primo utilizzo successivo li riscarica. È l’unico effetto: non c’è niente di irrecuperabile lì dentro, a differenza del diario.