Ottimizzazione del modello TensorFlow

TensorFlow Model Optimization Toolkit riduce al minimo la complessità dell'ottimizzazione dell'inferenza di apprendimento automatico.

L'efficienza dell'inferenza è una preoccupazione fondamentale durante la distribuzione di modelli di machine learning a causa della latenza, dell'utilizzo della memoria e, in molti casi, del consumo energetico. In particolare sui dispositivi perimetrali, come i dispositivi mobili e l'Internet of Things (IoT), le risorse sono ulteriormente limitate e le dimensioni del modello e l'efficienza del calcolo diventano una delle principali preoccupazioni.

La domanda computazionale per la formazione cresce con il numero di modelli addestrati su architetture diverse, mentre la domanda computazionale per l' inferenza cresce proporzionalmente al numero di utenti.

Casi d'uso

L'ottimizzazione del modello è utile, tra le altre cose, per:

  • Riduzione della latenza e dei costi per l'inferenza sia per i dispositivi cloud che per quelli perimetrali (ad es. dispositivi mobili, IoT).
  • Distribuzione di modelli su dispositivi perimetrali con restrizioni su elaborazione, memoria e/o consumo energetico.
  • Riduzione delle dimensioni del carico utile per gli aggiornamenti del modello via etere.
  • Abilitazione dell'esecuzione su hardware limitato o ottimizzato per operazioni a virgola fissa.
  • Ottimizzazione di modelli per acceleratori hardware per scopi speciali.

Tecniche di ottimizzazione

L'area dell'ottimizzazione del modello può coinvolgere diverse tecniche:

  • Riduci il conteggio dei parametri con la potatura e la potatura strutturata.
  • Riduci la precisione della rappresentazione con la quantizzazione.
  • Aggiorna la topologia del modello originale in una più efficiente con parametri ridotti o esecuzione più rapida. Ad esempio, metodi di decomposizione del tensore e distillazione

Il nostro toolkit supporta la quantizzazione post-formazione , la formazione consapevole della quantizzazione , la potatura e il raggruppamento . Il toolkit fornisce anche supporto sperimentale per l' ottimizzazione collaborativa per combinare varie tecniche.

Quantizzazione

I modelli quantizzati sono quelli in cui rappresentiamo i modelli con una precisione inferiore, come numeri interi a 8 bit anziché float a 32 bit. Una precisione inferiore è un requisito per sfruttare determinati hardware.

Scarsità e potatura

I modelli sparsi sono quelli in cui le connessioni tra gli operatori (ovvero i livelli di rete neurale) sono state eliminate, introducendo zeri nei tensori dei parametri.

Raggruppamento

I modelli raggruppati sono quelli in cui i parametri del modello originale vengono sostituiti con un numero minore di valori univoci.

Ottimizzazione collaborativa

Il toolkit fornisce supporto sperimentale per l'ottimizzazione collaborativa. Ciò consente di trarre vantaggio dalla combinazione di diverse tecniche di compressione del modello e ottenere contemporaneamente una maggiore precisione attraverso un training consapevole della quantizzazione.