Présentation de LiteRT

LiteRT (abréviation de Lite Runtime), anciennement connu sous le nom de 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 é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 de conversion et d'optimisation AI Edge.

Principales fonctionnalités

  • Optimisé pour le machine learning sur l'appareil : LiteRT répond à cinq contraintes clés de l'ODML : la latence (pas d'aller-retour vers un serveur), la confidentialité (aucune donnée à caractère personnel ne quitte l'appareil), la connectivité (aucune connexion Internet n'est 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, Linux embarqué et les microcontrôleurs.

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

  • Compatibilité avec de nombreux langages : inclut des SDK pour Java/Kotlin, Swift, Objective-C, C++ et Python.

  • Hautes performances : accélération matérielle grâce à des délégués spécialisés tels que 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 résout ce problème et à implémenter le modèle sur l'appareil. Les étapes ci-dessous 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 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 courantes de machine learning, comme 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 qui peut 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 prévoyez 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 et implémentez-la sur plusieurs plates-formes. Si vous prévoyez d'utiliser MediaPipe Tasks, consultez la documentation 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 :

  • Utilisez un modèle LiteRT existant : l'approche la plus simple consiste à utiliser un modèle LiteRT déjà au format .tflite. Ces modèles ne nécessitent aucune étape de conversion supplémentaire. Vous trouverez les modèles LiteRT sur Kaggle Models.

  • Convertissez un modèle en modèle LiteRT : vous pouvez utiliser le convertisseur PyTorch ou le convertisseur TensorFlow pour convertir des modèles au format FlatBuffers (.tflite) et les exécuter dans LiteRT. Pour commencer, vous pouvez trouver des modèles sur les sites suivants :

Un modèle LiteRT peut éventuellement inclure des métadonnées contenant, d'une part, des descriptions de modèle lisibles par un humain et, d'autre part, 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 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 entièrement sur l'appareil sur le Web, ainsi que sur des appareils mobiles et embarqués. 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 la plate-forme de votre choix :

  • 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.
  • Run on 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 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 avec la bibliothèque Support LiteRT.

Migrer depuis TF Lite

Les applications qui utilisent les bibliothèques TF Lite continueront de fonctionner, mais tous les nouveaux développements actifs et les mises à jour ne seront inclus que dans les packages LiteRT. Les API LiteRT contiennent les mêmes noms de méthodes que les API TF Lite. La migration vers LiteRT ne nécessite donc 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 le guide de démarrage rapide LiteRT. Pour obtenir des informations spécifiques, consultez les sections suivantes :

Conversion de modèles

Guides de la plate-forme