LiteRT, precedentemente noto come TensorFlow Lite, è il runtime ad alte prestazioni di Google per l'IA on-device. Puoi trovare modelli LiteRT pronti all'uso per un di attività ML/IA o converti ed esegui modelli TensorFlow, PyTorch e JAX in il formato TFLite utilizzando gli strumenti di conversione e ottimizzazione di AI Edge.
Funzionalità principali
Ottimizzato per il machine learning on-device: LiteRT risponde a cinque vincoli ODML chiave: latenza (non c'è round-trip per il server), privacy (nessun dato personale lascia il dispositivo), connettività (la connessione a internet è non richiesto), dimensioni (modello ridotto e dimensioni binarie) e consumo energetico (inferenza efficiente e mancanza di connessioni di rete).
Supporto multipiattaforma: compatibile con Android e Dispositivi iOS, incorporati Linux e microcontroller.
Opzioni di modelli multi-framework: AI Edge fornisce strumenti per convertire i modelli da modelli TensorFlow, PyTorch e JAX al formato FlatBuffers (
.tflite
), che ti consente di utilizzare un'ampia gamma di modelli all'avanguardia sui LiteRT, Hai inoltre accesso a strumenti di ottimizzazione del modello, quantizzazione e metadati.Supporto per linguaggi diversi: sono inclusi 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 per lo sviluppo
Il flusso di lavoro per lo sviluppo LiteRT comporta l'identificazione di un problema di ML/IA, scegliendo un modello che risolva il problema e implementandolo sul dispositivo. I passaggi seguenti illustrano 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, rendendolo adatto di utenti che richiedono un modello specifico o un'implementazione specializzata. Utenti alla ricerca di soluzioni plug-and-play potrebbe preferire MediaPipe Tasks, che fornisce soluzioni pronte all'uso per attività comuni di machine learning come rilevamento di oggetti, classificazione del testo e inferenza LLM.
Scegli uno dei seguenti framework AI Edge:
- LiteRT: runtime flessibile e personalizzabile che può eseguire un'ampia gamma di modelli. Scegli un modello per il tuo caso d'uso, convertilo in Formato LiteRT (se necessario) ed eseguirlo sul dispositivo. Se intendi per usare LiteRT, continua a leggere.
- Attività di MediaPipe: soluzioni plug-and-play con modelli predefiniti che consentono per la personalizzazione. Scegli l'attività che risolve il tuo problema di IA/ML e implementarla su più piattaforme. Se intendi utilizzare le attività di MediaPipe, consulta MediaPipe Google Tasks.
2. Scelta di un modello
Un modello LiteRT è rappresentato in un formato portabile efficiente noto come
FlatBuffers, che utilizza .tflite
dell'estensione del file.
Puoi utilizzare un modello LiteRT nei seguenti modi:
Utilizzo di un modello LiteRT esistente: l'approccio più semplice consiste nell'utilizzare una Il modello LiteRT è già nel formato
.tflite
. Questi modelli non richiedono l'aggiunta di passaggi di conversione. Puoi trovare i modelli LiteRT su Modelli Kaggle.Converti un modello in un modello LiteRT: puoi utilizzare lo strumento Convertitore TensorFlow, PyToch Converter o JAX per convertire i modelli nel formato FlatBuffers (
.tflite
) ed eseguile in LiteRT. Per iniziare, puoi consultare modelli sui seguenti siti:- Modelli TensorFlow su Kaggle di base e Hugging Face
- Modelli PyTorch su Hugging
Volto e
torchvision
- Modelli JAX su Hugging Face
Un modello LiteRT può facoltativamente includere metadati che contengono descrizioni dei modelli leggibili da una persona e dati leggibili dalla macchina per di pipeline di pre- e post-elaborazione durante l'inferenza on-device. Per ulteriori dettagli, consulta la sezione Aggiungere metadati.
3. Integra il modello nella tua app
Puoi implementare i tuoi modelli LiteRT per eseguire le inferenze completamente on-device 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 sulle tue preferenze piattaforma:
- Esegui su Android. Esegui modelli su dispositivi Android utilizzando il le API Java/Kotlin.
- Esegui su iOS: esegui modelli su dispositivi iOS utilizzando Swift su quelle di livello inferiore.
- Esegui su micro: esegui i modelli su dispositivi incorporati utilizzando le API C++.
Sui dispositivi Android e iOS, puoi migliorare le prestazioni utilizzando l'hardware dell'accelerazione. Su entrambe le piattaforme, puoi utilizzare una GPU Delegare e su iOS puoi utilizzare lo strumento Core ML Delega. Per aggiungere il supporto per nuovi acceleratori hardware, puoi definisci il tuo delegato.
Puoi eseguire l'inferenza nei seguenti modi in base al tipo di modello:
Modelli senza metadati: utilizza LiteRT. Interpreter. Supportata su più piattaforme e lingue come Java, Swift, C++, Objective-C e Python.
Modelli con metadati: puoi creare pipeline di inferenza personalizzate con Libreria di supporto LiteRT.
Migrazione da LiteRT
Le applicazioni che utilizzano le librerie LiteRT continueranno a funzionare, ma tutti i nuovi aggiornamenti e sviluppi attivi saranno 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 ulteriori informazioni, consulta la guida alla migrazione.
Passaggi successivi
I nuovi utenti possono iniziare a utilizzare la guida rapida di LiteRT. Per informazioni specifiche, consulta le seguenti sezioni:
Conversione del modello
- Converti modelli TensorFlow
- Converti modelli PyTorch
- Converti modelli di IA generativa PyTorch
- Convertire modelli JAX
Guide per le piattaforme