Panoramica del giardino modello

TensorFlow Model Garden fornisce implementazioni di molti modelli di machine learning (ML) all'avanguardia per la visione e l'elaborazione del linguaggio naturale (NLP), oltre a strumenti di flusso di lavoro che consentono di configurare ed eseguire rapidamente tali modelli su set di dati standard. Sia che tu stia cercando di confrontare le prestazioni di un modello noto, verificare i risultati di una ricerca rilasciata di recente o estendere i modelli esistenti, Model Garden può aiutarti a portare avanti la tua ricerca e le tue applicazioni ML.

Il Model Garden include le seguenti risorse per gli sviluppatori di machine learning:

Queste risorse sono create per essere utilizzate con il framework TensorFlow Core e si integrano con i tuoi progetti di sviluppo TensorFlow esistenti. Le risorse di Model Garden sono inoltre fornite con una licenza open source , quindi puoi estendere e distribuire liberamente i modelli e gli strumenti.

I modelli pratici di ML sono computazionalmente intensivi da addestrare ed eseguire e possono richiedere acceleratori come unità di elaborazione grafica (GPU) e unità di elaborazione tensoriale (TPU). La maggior parte dei modelli in Model Garden è stata addestrata su set di dati di grandi dimensioni utilizzando TPU. Tuttavia, puoi anche addestrare ed eseguire questi modelli su processori GPU e CPU.

Modello Modelli da giardino

I modelli di machine learning in Model Garden includono il codice completo in modo che tu possa testarli, addestrarli o riaddestrarli per la ricerca e la sperimentazione. Il Model Garden comprende due categorie principali di modelli: modelli ufficiali e modelli di ricerca .

Modelli ufficiali

Il repository dei modelli ufficiali è una raccolta di modelli all'avanguardia, con particolare attenzione alla visione e all'elaborazione del linguaggio naturale (PNL). Questi modelli vengono implementati utilizzando le attuali API di alto livello di TensorFlow 2.x. Le librerie di modelli in questo repository sono ottimizzate per prestazioni rapide e mantenute attivamente dagli ingegneri di Google. I modelli ufficiali includono metadati aggiuntivi che puoi utilizzare per configurare rapidamente gli esperimenti utilizzando il framework dell'esperimento di addestramento di Model Garden .

Modelli di ricerca

Il repository dei modelli di ricerca è una raccolta di modelli pubblicati come risorse di codice per documenti di ricerca. Questi modelli sono implementati utilizzando sia TensorFlow 1.x che 2.x. Le librerie di modelli nella cartella di ricerca sono supportate dai proprietari del codice e dalla comunità di ricerca.

Struttura dell'esperimento di formazione

Il framework dell'esperimento di addestramento di Model Garden ti consente di assemblare ed eseguire rapidamente esperimenti di addestramento utilizzando i modelli ufficiali e i set di dati standard. Il framework di formazione utilizza metadati aggiuntivi inclusi nei modelli ufficiali di Model Garden per consentire di configurare rapidamente i modelli utilizzando un modello di programmazione dichiarativo. Puoi definire un esperimento di addestramento utilizzando i comandi Python nella libreria del modello TensorFlow o configurare l'addestramento utilizzando un file di configurazione YAML, come questo esempio .

Il framework di addestramento utilizza tfm.core.base_trainer.ExperimentConfig come oggetto di configurazione, che contiene i seguenti oggetti di configurazione di primo livello:

  • runtime : definisce l'hardware di elaborazione, la strategia di distribuzione e altre ottimizzazioni delle prestazioni
  • task : definisce il modello, i dati di addestramento, le perdite e l'inizializzazione
  • trainer : definisce l'ottimizzatore, i cicli di addestramento, i cicli di valutazione, i riepiloghi e i punti di controllo

Per un esempio completo usando il framework dell'esperimento di addestramento di Model Garden, vedere l'esercitazione sulla classificazione delle immagini con Model Garden . Per informazioni sul framework dell'esperimento di addestramento, consulta la documentazione dell'API TensorFlow Models . Se stai cercando una soluzione per gestire i cicli di addestramento per i tuoi esperimenti di addestramento del modello, dai un'occhiata a Orbit .

Operazioni di machine learning specializzate

Il Model Garden contiene molte operazioni di visione e NLP specificamente progettate per eseguire modelli all'avanguardia che funzionano in modo efficiente su GPU e TPU. Esamina i documenti dell'API della libreria TensorFlow Models Vision per un elenco di operazioni di visione specializzate. Esamina i documenti dell'API della libreria NLP di TensorFlow Models per un elenco di operazioni NLP . Queste librerie includono anche funzioni di utilità aggiuntive utilizzate per l'elaborazione dei dati di visione e PNL, la formazione e l'esecuzione del modello.

Cicli di allenamento con Orbit

Esistono due opzioni predefinite per l'addestramento dei modelli TensorFlow:

  • Utilizzare la funzione Keras Model.fit di alto livello. Se il modello e la procedura di addestramento soddisfano i presupposti del Model.fit di Keras (discesa del gradiente incrementale su batch di dati), questo può essere molto conveniente.
  • Scrivi un ciclo di allenamento personalizzato con keras o senza . Puoi scrivere un ciclo di addestramento personalizzato con metodi TensorFlow di basso livello come tf.GradientTape o tf.function . Tuttavia, questo approccio richiede molto codice boilerplate e non fa nulla per semplificare l'addestramento distribuito.

Orbit cerca di fornire una terza opzione tra questi due estremi.

Orbit è una libreria flessibile e leggera progettata per semplificare la scrittura di cicli di addestramento personalizzati in TensorFlow 2.x e funziona bene con il framework dell'esperimento di addestramento Model Garden . Orbit gestisce attività comuni di addestramento del modello come il salvataggio di checkpoint, l'esecuzione di valutazioni del modello e l'impostazione della scrittura di riepilogo. Si integra perfettamente con tf.distribute e supporta l'esecuzione su diversi tipi di dispositivi, tra cui CPU, GPU e hardware TPU. Lo strumento Orbit è anche open source , quindi puoi estenderlo e adattarlo alle tue esigenze di formazione del modello.

La guida Orbit è disponibile qui .