Creazione di modelli LiteRT

Questa pagina fornisce indicazioni per la creazione di modelli TensorFlow con l'intenzione di convertirli nel formato di modello LiteRT. I modelli di machine learning (ML) che utilizzi con LiteRT sono originariamente creati e addestrati utilizzando le librerie e gli strumenti principali di TensorFlow. Una volta creato un modello con TensorFlow Core, puoi convertirlo in un formato di modello ML più piccolo ed efficiente chiamato modello LiteRT.

Se hai già un modello da convertire, consulta la pagina Panoramica della conversione dei modelli per indicazioni sulla conversione del modello.

Creazione del modello

Se stai creando un modello personalizzato per il tuo caso d'uso specifico, devi iniziare sviluppando e addestrando un modello TensorFlow o estendendone uno esistente.

Vincoli di progettazione del modello

Prima di iniziare il processo di sviluppo del modello, devi essere a conoscenza dei vincoli per i modelli LiteRT e creare il modello tenendo presente questi vincoli:

  • Funzionalità di calcolo limitate: rispetto a server completamente attrezzati con più CPU, capacità di memoria elevata e processori specializzati come GPU e TPU, i dispositivi mobili e periferici sono molto più limitati. Sebbene la potenza di calcolo e la compatibilità hardware specializzata siano in aumento, i modelli e i dati che puoi elaborare in modo efficace con questi dispositivi sono ancora relativamente limitati.
  • Dimensioni dei modelli: la complessità complessiva di un modello, inclusa la logica di pre-elaborazione dei dati e il numero di livelli nel modello, aumenta le dimensioni in memoria di un modello. Un modello di grandi dimensioni potrebbe essere eseguito a una velocità inaccettabile o semplicemente potrebbe non rientrare nella memoria disponibile di un dispositivo mobile o edge.
  • Dimensioni dei dati: le dimensioni dei dati di input che possono essere elaborati in modo efficace con un modello di machine learning sono limitate su un dispositivo mobile o edge. I modelli che utilizzano librerie di dati di grandi dimensioni, come librerie di lingue, librerie di immagini o librerie di clip video, potrebbero non essere adatti a questi dispositivi e potrebbero richiedere soluzioni di archiviazione e accesso off-device.
  • Operazioni TensorFlow supportate: gli ambienti di runtime LiteRT supportano un sottoinsieme di operazioni del modello di machine learning rispetto ai normali modelli TensorFlow. Quando sviluppi un modello da utilizzare con LiteRT, devi monitorare la compatibilità del modello con le funzionalità degli ambienti di runtime LiteRT.

Per ulteriori informazioni sulla creazione di modelli efficaci, compatibili e ad alte prestazioni per LiteRT, consulta Best practice per le prestazioni.

Sviluppo del modello

Per creare un modello LiteRT, devi prima creare un modello utilizzando le librerie principali di TensorFlow. Le librerie principali di TensorFlow sono librerie di livello inferiore che forniscono API per creare, addestrare e implementare modelli ML.

Flusso di lavoro di compilazione di TFLite

TensorFlow offre due percorsi per farlo. Puoi sviluppare il tuo codice modello personalizzato o iniziare con un'implementazione del modello disponibile in Model Garden di TensorFlow.

Model Garden

TensorFlow Model Garden fornisce implementazioni di molti modelli di machine learning (ML) all'avanguardia per la visione e l'elaborazione del linguaggio naturale (NLP). Troverai anche strumenti per il workflow che ti consentono di configurare ed eseguire rapidamente questi modelli su set di dati standard. I modelli di machine learning in Model Garden includono il codice completo, in modo da poterli testare, addestrare o riaddestrare utilizzando i tuoi set di dati.

Che tu voglia confrontare il rendimento di un modello noto, verificare i risultati di una ricerca pubblicata di recente o estendere i modelli esistenti, Model Garden può aiutarti a raggiungere i tuoi obiettivi di ML.

Modelli personalizzati

Se il tuo caso d'uso non è supportato dai modelli in Model Garden, puoi utilizzare una libreria di alto livello come Keras per sviluppare il tuo codice di addestramento personalizzato. Per scoprire le nozioni di base di TensorFlow, consulta la guida di TensorFlow. Per iniziare a utilizzare gli esempi, consulta la panoramica dei tutorial di TensorFlow, che contengono indicazioni per tutorial di livello principiante ed esperto.

Valutazione del modello

Una volta sviluppato il modello, devi valutarne le prestazioni e testarlo sui dispositivi degli utenti finali. TensorFlow offre alcuni modi per farlo.

  • TensorBoard è uno strumento per fornire le misurazioni e le visualizzazioni necessarie durante il workflow di machine learning. Consente di monitorare le metriche dell'esperimento, come perdita e accuratezza, visualizzare il grafico del modello, proiettare gli incorporamenti in uno spazio dimensionale inferiore e molto altro ancora.
  • Sono disponibili strumenti di benchmarking per ogni piattaforma supportata, come l'app di benchmark Android e l'app di benchmark iOS. Utilizza questi strumenti per misurare e calcolare le statistiche per le metriche di rendimento importanti.

Ottimizzazione del modello

Con i vincoli sulle risorse specifiche per i modelli TensorFlow Lite, l'ottimizzazione del modello può contribuire a garantire che il modello funzioni bene e utilizzi meno risorse di calcolo. Le prestazioni del modello di machine learning sono in genere un compromesso tra dimensioni e velocità di inferenza e precisione. Al momento LiteRT supporta l'ottimizzazione tramite quantizzazione, potatura e clustering. Per ulteriori dettagli su queste tecniche, consulta l'argomento ottimizzazione del modello. TensorFlow fornisce anche un toolkit di ottimizzazione dei modelli che fornisce un'API che implementa queste tecniche.

Passaggi successivi