Présentation de LiteRT

LiteRT (abréviation de "Lite Runtime"), anciennement appelé 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'exécution pour un large éventail de tâches de ML/IA, ou convertir et exécuter des modèles TensorFlow, PyTorch et JAX au format TFLite à l'aide des outils d'optimisation et de conversion AI Edge.

Principales fonctionnalités

  • Optimisé pour le machine learning sur l'appareil: LiteRT répond à cinq contraintes clés du ML sur l'appareil: la latence (il n'y a pas de va-et-vient vers un serveur), la confidentialité (aucune donnée personnelle ne quitte l'appareil), la connectivité (la connectivité Internet n'est pas requise), la taille (taille réduite du modèle et du binaire) et la consommation d'énergie (inférence efficace et absence de connexions réseau).

  • Compatibilité multiplate-forme: compatible avec les appareils Android et iOS, le Linux intégré et les microcontrôleurs.

  • Options de modèle multi-framework: AI Edge fournit des outils permettant de convertir des modèles TensorFlow, PyTorch et JAX au format FlatBuffers (.tflite), ce qui vous permet d'utiliser un large éventail de modèles de pointe sur LiteRT. Vous avez également accès à des outils d'optimisation de modèle qui peuvent gérer la quantification et les métadonnées.

  • Compatibilité avec de nombreux 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 tels que le GPU et iOS Core ML.

Workflow de développement

Le workflow de développement LiteRT consiste à identifier un problème de ML/IA, à choisir un modèle qui le résout et à implémenter le modèle sur l'appareil. Les étapes suivantes vous guident tout au long du workflow et fournissent des liens vers des instructions supplémentaires.

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 pour résoudre les problèmes de machine learning. Il convient donc aux utilisateurs qui ont besoin d'un modèle spécifique ou d'une implémentation spécialisée. Les utilisateurs à la recherche de 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 d'IA Edge suivants:

  • LiteRT: environnement d'exécution flexible et personnalisable pouvant exécuter un large éventail de modèles. Choisissez un modèle pour votre cas d'utilisation, convertissez-le au format LiteRT (si nécessaire) et exécutez-le sur l'appareil. Si vous avez l'intention d'utiliser LiteRT, poursuivez votre lecture.
  • MediaPipe Tasks: solutions prêtes à l'emploi avec des modèles par défaut qui permettent la personnalisation. Choisissez la tâche qui résout votre problème d'IA/ML, puis implémentez-la sur plusieurs plates-formes. Si vous souhaitez utiliser MediaPipe Tasks, consultez la documentation sur MediaPipe Tasks.

2. Choisir un modèle

Un modèle LiteRT est représenté dans un format portable efficace appelé FlatBuffers, qui utilise l'extension de fichier .tflite.

Vous pouvez utiliser un modèle LiteRT de différentes manières:

Un modèle LiteRT peut éventuellement inclure des métadonnées contenant des descriptions de modèle lisibles par un humain et des données lisibles par une machine pour créer automatiquement des pipelines de prétraitement et de post-traitement durant l'inférence sur l'appareil. Pour en savoir plus, consultez la section Ajouter des métadonnées.

3. Intégrer le modèle dans votre application

Vous pouvez implémenter vos modèles LiteRT pour exécuter des inférences entièrement sur l'appareil sur des 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 préférée:

  • Exécuter sur Android: exécutez des modèles sur des appareils Android à l'aide des API Java/Kotlin.
  • Exécuter sur iOS: exécutez des modèles sur des appareils iOS à l'aide des API Swift.
  • Exécuter sur Micro: exécutez des modèles sur des appareils embarqués à l'aide des API C++.

Sur les appareils Android et iOS, vous pouvez améliorer les performances grâce à l'accélération matérielle. Sur ces deux plates-formes, vous pouvez utiliser un délégué GPU. Sur iOS, vous pouvez utiliser le délégué Core ML. Pour accepter de nouveaux accélérateurs matériels, vous pouvez définir votre propre délégué.

Vous pouvez exécuter une inférence de différentes manières, en fonction du type de modèle:

  • Modèles sans métadonnées: utilisez l'API LiteRT Interpreter. Compatible avec diverses plates-formes et de nombreux langages, 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 à l'aide de la bibliothèque de compatibilité LiteRT.

Migrer depuis TF Lite

Les applications qui utilisent des bibliothèques TF Lite 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éthode que les API TF Lite. La migration vers LiteRT ne nécessite donc pas de modifications de code détaillées.

Pour en savoir plus, consultez le guide de migration.

Étapes suivantes

Les nouveaux utilisateurs doivent commencer par le guide de démarrage rapide de LiteRT. Pour en savoir plus, consultez les sections suivantes:

Conversion de modèle

Guides de la plate-forme