Panoramica LiteRT

LiteRT (abbreviazione di Lite Runtime), precedentemente noto come TensorFlow Lite, è il runtime ad alte prestazioni di Google per l'AI on-device. Puoi trovare modelli LiteRT pronti per l'uso per un'ampia gamma di attività di ML/AI oppure convertire ed eseguire modelli TensorFlow, PyTorch e JAX nel formato TFLite utilizzando gli strumenti di conversione e ottimizzazione AI Edge.

Funzionalità principali

  • Ottimizzato per il machine learning on-device: LiteRT rispetta cinque vincoli chiave di ODML: latenza (non è necessario un round trip a un server), privacy (nessun dato personale lascia il dispositivo), connettività (non è necessaria la connettività a internet), dimensioni (ridotte dimensioni del modello e del binario) e consumo energetico (inferenza efficiente e assenza di connessioni di rete).

  • Supporto multipiattaforma: compatibile con dispositivi Android e iOS, Linux incorporato e microcontrollori.

  • Opzioni di modelli multi-framework: AI Edge fornisce strumenti per convertire i modelli da PyTorch e TensorFlow nel formato FlatBuffers (.tflite), consentendoti di utilizzare un'ampia gamma di modelli all'avanguardia su LiteRT. Hai anche accesso a strumenti di ottimizzazione del modello che possono gestire la quantizzazione e i metadati.

  • Supporto di diverse lingue: include SDK per Java/Kotlin, Swift, Objective-C, C++ e Python.

  • Prestazioni elevate: accelerazione hardware tramite delegati specializzati come GPU e iOS Core ML.

Flusso di lavoro di sviluppo

Il flusso di lavoro di sviluppo di LiteRT prevede l'identificazione di un problema di ML/AI, la scelta di un modello che lo risolva e l'implementazione del modello sul dispositivo. I passaggi riportati di seguito spiegano il flusso di lavoro e forniscono link a ulteriori istruzioni.

1. Identificare la soluzione più adatta al problema di ML

LiteRT offre agli utenti un elevato livello di flessibilità e personalizzazione quando si tratta di risolvere problemi di machine learning, il che lo rende adatto agli utenti che richiedono un modello specifico o un'implementazione specializzata. Gli utenti che cercano soluzioni plug-and-play potrebbero preferire MediaPipe Tasks, che fornisce soluzioni pronte all'uso per attività di machine learning comuni come il rilevamento degli oggetti, la classificazione del testo e l'inferenza LLM.

Scegli uno dei seguenti framework AI Edge:

  • LiteRT: runtime flessibile e personalizzabile in grado di eseguire un'ampia gamma di modelli. Scegli un modello per il tuo caso d'uso, convertilo nel formato LiteRT (se necessario) ed eseguilo sul dispositivo. Se intendi utilizzare LiteRT, continua a leggere.
  • MediaPipe Tasks: soluzioni plug-and-play con modelli predefiniti che consentono la personalizzazione. Scegli l'attività che risolve il tuo problema di AI/ML e implementala su più piattaforme. Se intendi utilizzare MediaPipe Tasks, consulta la documentazione di MediaPipe Tasks.

2. Scelta di un modello

Un modello LiteRT è rappresentato in un formato portatile efficiente noto come FlatBuffers, che utilizza l'estensione .tflite.

Puoi utilizzare un modello LiteRT nei seguenti modi:

  • Utilizza un modello LiteRT esistente:l'approccio più semplice è utilizzare un modello LiteRT già in formato .tflite. Questi modelli non richiedono passaggi di conversione aggiuntivi. Puoi trovare i modelli LiteRT su Kaggle Models.

  • Converti un modello in un modello LiteRT:puoi utilizzare PyTorch Converter o TensorFlow Converter per convertire i modelli nel formato FlatBuffers (.tflite) ed eseguirli in LiteRT. Per iniziare, puoi trovare modelli sui seguenti siti:

Un modello LiteRT può includere facoltativamente metadati contenenti descrizioni del modello leggibili e dati leggibili dalla macchina per la generazione automatica di pipeline di pre-elaborazione e post-elaborazione durante l'inferenza sul dispositivo. Per ulteriori dettagli, consulta Aggiungere metadati.

3. Integrare il modello nell'app

Puoi implementare i modelli LiteRT per eseguire inferenze completamente sul dispositivo su dispositivi web, incorporati e mobili. LiteRT contiene API per Python, Java e Kotlin per Android, Swift per iOS e C++ per i microdispositivi.

Utilizza le seguenti guide per implementare un modello LiteRT sulla tua piattaforma preferita:

  • Esegui su Android: esegui modelli su dispositivi Android utilizzando le API Java/Kotlin.
  • Esegui su iOS: esegui modelli su dispositivi iOS utilizzando le API Swift.
  • Esegui su Micro: esegui modelli su dispositivi incorporati utilizzando le API C++.

Sui dispositivi Android e iOS, puoi migliorare le prestazioni utilizzando l'accelerazione hardware. Su entrambe le piattaforme puoi utilizzare un delegato GPU e su iOS puoi utilizzare il delegato Core ML. Per aggiungere il supporto per nuovi acceleratori hardware, puoi definire il tuo delegato.

Puoi eseguire l'inferenza nei seguenti modi in base al tipo di modello:

  • Modelli senza metadati: utilizza l'API LiteRT Interpreter. Supportato su più piattaforme e linguaggi come Java, Swift, C++, Objective-C e Python.

  • Modelli con metadati: puoi creare pipeline di inferenza personalizzate con la libreria di supporto LiteRT.

Eseguire la migrazione da TF Lite

Le applicazioni che utilizzano le librerie TF Lite continueranno a funzionare, ma tutti i nuovi sviluppi e aggiornamenti attivi verranno inclusi solo nei pacchetti LiteRT. Le API LiteRT contengono gli stessi nomi di metodi delle API TF Lite, quindi la migrazione a LiteRT non richiede modifiche dettagliate al codice.

Per saperne di più, consulta la guida alla migrazione.

Passaggi successivi

I nuovi utenti devono iniziare con la guida rapida di LiteRT. Per informazioni specifiche, consulta le sezioni seguenti:

Conversione del modello

Guide della piattaforma