Vai a Mappa Corsi Laboratorio Glossario Come funziona Problemi comuni Inizia →
ITEN
← Corso 06 · Dal modello all'app (Lezione 06.05 · 20 minuti · Il tuo modello · Il tuo modello)

Un'app che funziona senza rete.

Un modello utile deve arrivare in tasca e funzionare anche in campagna. Qui vedi come una pagina diventa un'app che lavora senza rete, come si aggiorna il modello e come può continuare a imparare senza spedire i tuoi dati.

Cosa impari
  1. Cos'è una PWA e come funziona senza rete
  2. Perché la privacy è il vantaggio più solido dei modelli in locale
  3. Come si aggiorna un modello già installato
  4. Cosa sono l'addestramento sul dispositivo e il federated learning
Ti serve sapere

Se non ti ricordi una di queste cose, il link ti porta al capitolo che la spiega.

Come vuoi seguirla
Preparo la scena…
  1. 01 Installabile

    Una pagina che si installa come un'app.

    Il laboratorio di questo corso è una pagina web, ma si può aggiungere alla schermata home. Si apre a tutto schermo, senza la barra del browser, e funziona anche senza rete. Questo tipo di pagina si chiama PWA, progressive web app. Non passa dagli store, e si aggiorna da sola quando c'è connessione.

    In pratica. Su Android usa Aggiungi a schermata Home dal menu del browser. Su iPhone l'app della schermata Home ha una memoria sua, quindi addestra lì i modelli che vuoi usare dall'app.

01 / 07
(Approfondisci)

Qualche numero in più.


(01)

Come lavora un service worker

Il service worker è un file JavaScript che il browser installa accanto alla pagina. Si mette in mezzo a ogni richiesta che la pagina fa e decide se rispondere dalla rete o dalla memoria salvata. Funziona solo sulle pagine https, o su localhost mentre si sviluppa.

Questo corso ne usa uno con tre regole. Le pagine si chiedono prima alla rete e poi alla memoria, così un testo corretto arriva subito. Gli altri file si prendono prima dalla memoria. I modelli stanno in una memoria a parte, che resta anche quando esce una nuova versione del sito, così non si riscaricano ogni volta.

(02)

Dove si salvano i dati nel browser

Il browser offre più memorie. localStorage è piccola e semplice, adatta alle impostazioni e all'avanzamento nel corso. IndexedDB è una vera base dati e regge centinaia di MB, adatta a dataset e modelli addestrati. Cache Storage è quella del service worker, per le pagine e i file scaricati.

Quando il telefono è pieno, il browser può cancellare questi dati. Con navigator.storage.persist una pagina chiede di tenerli al sicuro, e molti browser lo concedono alle app installate. È un passaggio da non dimenticare se nel telefono c'è il dataset che hai raccolto per un'ora.

if (navigator.storage && navigator.storage.persist) {
  const tenuti = await navigator.storage.persist();   // true: il browser non li cancella da solo
}
(03)

Il federated learning della tastiera

Nel 2017 Brendan McMahan e Daniel Ramage di Google hanno raccontato il primo uso su larga scala. La tastiera Gboard impara quali parole suggerire sui telefoni delle persone, di notte, sotto carica e con il Wi-Fi. Arrivano al server solo le correzioni, mescolate con quelle di tanti altri telefoni.

Negli anni dopo Google ha aggiunto la privacy differenziale, un modo matematico di aggiungere rumore che garantisce quanto poco si può scoprire di una singola persona. Nel 2023 ha scritto che tutti i modelli di lingua di Gboard vengono addestrati così.

(Prova sul telefono)

Il passo finale


Riprendi uno dei modelli che hai addestrato nel laboratorio, per esempio quello della tazza e delle chiavi, e portalo fino in fondo. Servono dieci minuti.

  1. Apri il laboratorio e scegli un modello già addestrato, dall'elenco I tuoi modelli.
  2. Nel passo Alleggerisci premi Alleggerisci a 8 bit. Vedi il peso e il risultato sulle prove, prima e dopo. Se il risultato tiene, spunta la versione a 8 bit.
  3. Su Android aggiungi il corso alla schermata home, dal menu del browser. Su iPhone resta in Safari. L'app aggiunta alla schermata Home ha una memoria sua, e lì il modello addestrato in Safari non c'è.
  4. Metti il telefono in modalità aereo. Su Android apri l'app dalla schermata home, su iPhone riapri il laboratorio in Safari. Dall'elenco I tuoi modelli riapri il modello e prova dal vivo.
  5. Scrivi la scheda del modello ed esportalo, se vuoi usarlo altrove.
Apri il laboratorio →
(Verifica)

4 domande per chiudere la lezione.

Quando rispondi a tutte, la lezione risulta fatta e sulla mappa la sua pietra diventa gialla. Conta rispondere, non il punteggio.


  1. (01)

    Cosa permette a una pagina web di funzionare in modalità aereo?

  2. (02)

    Qual è il vantaggio più solido di un modello che lavora nel telefono?

  3. (03)

    Nel federated learning, cosa arriva al server?

  4. (04)

    Pubblichi un modello nuovo. Cosa conviene salvare con ogni risposta?

Per chiudere la lezione rispondi alla verifica

← Formati e motori Torna alla mappa
(Prossima lezione · 06.06) L'AI responsabile