LiteRT, anciennement TensorFlow Lite, est l'environnement d'exécution hautes performances de Google pour l'IA sur l'appareil. Vous pouvez trouver des modèles LiteRT prêts à l'emploi pour un large de tâches de ML et d'IA, ou convertir et exécuter des modèles TensorFlow, PyTorch et JAX pour le format TFLite à l'aide des outils de conversion et d'optimisation AI Edge.
Principales fonctionnalités
Optimisé pour le machine learning sur l'appareil: LiteRT traite de cinq points Principales contraintes ODML: latence (aucun aller-retour vers un serveur), confidentialité (aucune donnée personnelle ne quitte l'appareil), la connectivité (la connectivité Internet est non obligatoire), la taille (modèle et taille binaire réduites) et la consommation d'énergie. (inférence efficace et manque de connexions réseau).
Compatibilité multiplate-forme: compatible avec Android et Appareils iOS, intégrés Linux microcontrôleurs.
Options de modèles multi-frameworks: AI Edge fournit des outils pour convertir les modèles. des modèles TensorFlow, PyTorch et JAX au format FlatBuffers (
.tflite
), ce qui vous permet d'utiliser une large gamme de modèles de pointe sur LiteRT. Vous avez également accès à des outils d'optimisation de modèles la quantification et les métadonnées.Compatibilité avec différents langages: inclut les SDK pour Java/Kotlin, Swift, Objective-C, C++ et Python.
Hautes performances: accélération matérielle via des délégués spécialisés comme GPU et iOS Core ML.
Workflow de développement
Le workflow de développement LiteRT implique l'identification d'un problème de ML/d'IA, choisir un modèle qui résout ce problème et l'implémenter sur l'appareil. Les étapes suivantes vous guident tout au long du processus et fournissent des liens vers d'autres instructions.
1. Identifier la solution la plus adaptée au problème de ML
LiteRT offre aux utilisateurs un haut niveau de flexibilité et de personnalisation lorsqu'il s'agit de résoudre des problèmes de machine learning, qui ont besoin d'un modèle spécifique ou d'une implémentation spécialisée. Utilisateurs qui recherchent des solutions prêtes à l'emploi peuvent préférer MediaPipe Tasks, qui fournit des solutions prêtes à l'emploi pour les tâches de machine learning courantes telles que la détection d'objets, la classification de texte et l'inférence LLM.
Choisissez l'un des frameworks AI Edge suivants:
- LiteRT: environnement d'exécution flexible et personnalisable capable d'exécuter de nombreuses de modèles. Choisissez un modèle adapté à votre cas d'utilisation, convertissez-le en Format LiteRT (si nécessaire) et exécutez-le sur l'appareil. Si vous avez l'intention pour utiliser LiteRT, continuez à lire.
- MediaPipe Tasks: solutions prêtes à l'emploi avec des modèles par défaut qui permettent pour la personnalisation. choisir la tâche qui résout votre problème d'IA/de ML ; l'implémenter sur plusieurs plates-formes. Si vous avez l'intention d'utiliser MediaPipe Tasks, reportez-vous à la bibliothèque MediaPipe Tasks.
2. Choisir un modèle
Un modèle LiteRT est représenté dans un format portable efficace appelé
FlatBuffers, qui utilise le .tflite
.
Vous pouvez utiliser un modèle LiteRT des manières suivantes:
Utiliser un modèle LiteRT existant:l'approche la plus simple consiste à utiliser un Le modèle LiteRT est déjà au format
.tflite
. Ces modèles sans passer par des étapes de conversion supplémentaires. Vous pouvez trouver des modèles LiteRT sur Modèles Kaggle.Convertir un modèle en modèle LiteRT:vous pouvez utiliser le Convertisseur TensorFlow, PyToch Converter ou JAX convertisseur pour convertir des modèles au format FlatBuffers (
.tflite
) et les exécuter dans LiteRT. Pour commencer, vous pouvez trouver modèles sur les sites suivants:- Modèles TensorFlow sur Kaggle modèles et Visage qui fait un câlin
- Modèles PyTorch sur Hugging
Visage et
torchvision
- Modèles JAX sur Hugging Face
Un modèle LiteRT peut éventuellement inclure des métadonnées contenant des descriptions de modèles lisibles par l'humain et des données exploitables par un ordinateur pour de génération de pipelines de prétraitement et de post-traitement lors de l'inférence sur l'appareil. Pour en savoir plus, consultez Ajouter des métadonnées.
3. Intégrer le modèle à votre application
Vous pouvez implémenter vos modèles LiteRT pour exécuter des inférences sur l'appareil, qu'il s'agisse d'appareils Web, intégrés et mobiles. LiteRT contient des API pour Python, Java et Kotlin pour Android, Swift pour iOS et C++ pour les micro-appareils.
Utilisez les guides suivants pour implémenter un modèle LiteRT sur votre plate-forme:
- Exécuter sur Android: exécutez des modèles sur des appareils Android à l'aide du les API Java/Kotlin ;
- Exécuter sur iOS: exécutez des modèles sur des appareils iOS à l'aide de Swift. API.
- Run on Micro (Exécuter sur Micro) : exécutez des modèles sur des appareils intégrés. à l'aide des API C++.
Sur les appareils Android et iOS, vous pouvez améliorer les performances à l'aide de matériel de l'accélération matérielle. Sur l'une ou l'autre plate-forme, vous pouvez utiliser un GPU . Sur iOS, vous pouvez utiliser Core ML délégué. Pour ajouter la prise en charge de nouveaux accélérateurs matériels, vous pouvez définir votre propre délégué.
Vous pouvez exécuter des inférences de différentes manières, en fonction du type de modèle:
Modèles sans métadonnées: utilisez LiteRT. Interpreter. Compatible avec de nombreuses plates-formes et langues comme Java, Swift, C++, Objective-C et Python.
Modèles avec métadonnées: vous pouvez créer des pipelines d'inférence personnalisés avec le Bibliothèque Support LiteRT.
Migrer depuis LiteRT
Les applications qui utilisent des bibliothèques LiteRT continueront de fonctionner, mais tous les nouveaux développements et mises à jour actifs ne seront inclus que dans les packages LiteRT. Les API LiteRT contiennent les mêmes noms de méthodes que les API TF Lite. Par conséquent, la migration vers LiteRT ne nécessite pas de modifications détaillées du code.
Pour en savoir plus, consultez le guide de migration.
Étapes suivantes
Les nouveaux utilisateurs doivent commencer par consulter le guide de démarrage rapide LiteRT. Pour en savoir plus, consultez les sections suivantes:
Conversion de modèles
- Convertir des modèles TensorFlow
- Convertir des modèles PyTorch
- Convertir des modèles d'IA générative PyTorch
- Convertir des modèles JAX
Guides des plates-formes