Vai a Mappa Corsi Laboratorio Glossario Come funziona Problemi comuni Inizia →
ITEN
← Corso 06 · Dal modello all'app (Lezione 06.03 · 16 minuti · Nessun sensore · Per tutti)

Potare, distillare, scegliere l'architettura.

Oltre a usare meno bit, un modello si alleggerisce togliendo i pezzi che servono poco, facendolo imitare a uno più piccolo, o partendo da una rete nata per il telefono. Qui vedi le tre strade e in che ordine usarle.

Cosa impari
  1. Cos'è la potatura e quando rende davvero il modello più veloce
  2. Come un modello piccolo impara da uno grande
  3. Perché conviene partire da un'architettura pensata per il telefono
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 Tre strade

    Un modello più piccolo si ottiene in tre modi.

    Un modello troppo pesante per il telefono si può alleggerire anche oltre la quantizzazione01.05. Si tolgono i pezzi che servono poco. Si insegna a un modello piccolo a imitarne uno grande. Oppure si parte da una rete pensata per il telefono. Spesso le strade si usano insieme.

    In pratica. Prima di alleggerire, scrivi quanto deve pesare e quanto deve essere veloce. Senza un obiettivo si continua a limare senza sapere quando fermarsi.

01 / 07
(Approfondisci)

Qualche numero in più.


(01)

La lotteria dei biglietti vincenti

Nel 2019 Jonathan Frankle e Michael Carbin, del MIT, hanno fatto un esperimento curioso. Hanno potato una rete addestrata, poi hanno preso la piccola rete rimasta, l'hanno riportata ai pesi di partenza e l'hanno addestrata da sola. Con il 10 o 20 per cento dei pesi arrivava alla stessa accuratezza della rete intera.

L'hanno chiamata ipotesi del biglietto vincente. Una rete grande contiene tante piccole reti, e l'addestramento trova quella fortunata. Non dice come trovarla prima di addestrare, ma spiega perché la potatura funziona così bene.

(02)

La distillazione con la temperatura

Geoffrey Hinton e colleghi hanno descritto la distillazione nel 2015. Il trucco è la temperatura. Prima della softmax i punteggi dell'insegnante si dividono per un numero maggiore di uno, e le percentuali diventano più morbide. Le classi sbagliate ma plausibili ricevono più peso, e lo studente vede meglio le somiglianze.

Lo studente impara con due obiettivi insieme. Imitare le percentuali morbide dell'insegnante e dare la risposta giusta sulle etichette vere, quando ci sono.

p_morbida(i) = exp(z_i / T) / somma di exp(z_j / T)        con T tra 2 e 10
(03)

Come si disegna una rete per il telefono

Le prime reti per il telefono erano disegnate a mano. Dal 2019, con MobileNetV3, Google ha usato la ricerca automatica dell'architettura. Un programma prova migliaia di varianti e le misura su un telefono vero, tenendo quelle con il miglior rapporto tra accuratezza e millisecondi.

MobileNetV4 ha spinto l'idea oltre. È stata cercata perché andasse bene insieme su CPU, GPU, NPU e acceleratori diversi, invece che su un telefono solo. Il risultato sono blocchi semplici che quasi ogni chip esegue bene, e che per questo si usano anche fuori da Google.

(Prova sul telefono)

Il piano per alleggerire


Pensa a un modello che vuoi portare sul telefono, anche quello del tuo progetto. Scrivi gli obiettivi e il primo passo che proveresti. La scheda resta salvata nel tuo browser.

La scheda si salva da sola mentre scrivi.

(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)

    Hai messo a zero metà dei pesi, ma il modello non è più veloce. Perché?

  2. (02)

    Nella distillazione, cosa impara lo studente oltre alla risposta giusta?

  3. (03)

    Da dove conviene partire per un modello da portare sul telefono?

  4. (04)

    In che ordine si usano di solito le tecniche?

Per chiudere la lezione rispondi alla verifica

← Quantizzare Torna alla mappa
(Prossima lezione · 06.04) Formati e motori