LiteRT vous permet d'exécuter des modèles TensorFlow, PyTorch et JAX dans vos applications Android. Le système LiteRT fournit des environnements d'exécution prédéfinis et personnalisables pour exécuter des modèles sur Android rapidement et efficacement, y compris des options d'accélération matérielle.
Pour obtenir des exemples d'applications Android utilisant LiteRT, consultez le dépôt Exemples LiteRT.
Modèles de machine learning
LiteRT utilise des modèles TensorFlow, PyTorch et JAX convertis dans un format de modèle de machine learning plus petit, portable et efficace. Vous pouvez utiliser des modèles prédéfinis avec LiteRT sur Android, ou créer vos propres modèles et les convertir au format LiteRT.
Cette page explique comment utiliser des modèles de machine learning déjà créés. Elle ne traite pas de la création, de l'entraînement, des tests ni de la conversion de modèles. Pour en savoir plus sur la sélection, la modification, la création et la conversion de modèles de machine learning pour LiteRT, consultez la page Modèles.
Exécuter des modèles sur Android
Un modèle LiteRT exécuté dans une application Android ingère des données, les traite et génère une prédiction en fonction de la logique du modèle. Un modèle LiteRT nécessite un environnement d'exécution spécial pour s'exécuter. De plus, les données transmises au modèle doivent être dans un format spécifique, appelé Tensor. Lorsqu'un modèle traite les données, ce que l'on appelle l'inférence, il génère des résultats de prédiction sous forme de nouveaux Tensors et les transmet à l'application Android afin qu'elle puisse prendre des mesures, comme afficher le résultat à un utilisateur ou exécuter une logique métier supplémentaire.

Figure 1. Flux d'exécution fonctionnel pour les modèles LiteRT dans les applications Android.
Au niveau de la conception fonctionnelle, votre application Android a besoin des éléments suivants pour exécuter un modèle LiteRT :
- Environnement d'exécution LiteRT pour exécuter le modèle
- Gestionnaire d'entrée de modèle pour transformer les données en Tensors
- Gestionnaire de sortie du modèle pour recevoir les Tensors de résultats de sortie et les interpréter comme des résultats de prédiction
Les sections suivantes décrivent comment les bibliothèques et outils LiteRT fournissent ces éléments fonctionnels.
Créer des applications avec LiteRT
Cette section décrit le chemin d'implémentation de LiteRT recommandé et le plus courant dans votre application Android. Vous devez accorder une attention particulière aux sections Environnement d'exécution et Bibliothèques de développement. Si vous avez développé un modèle personnalisé, veillez à consulter la section Parcours de développement avancés.
Options de l'environnement d'exécution
Il existe plusieurs façons d'activer un environnement d'exécution pour exécuter des modèles dans votre application Android. Voici les options recommandées :
- LiteRT dans l'environnement d'exécution des services Google Play (recommandé)
- Environnement d'exécution LiteRT autonome
En général, vous devez utiliser l'environnement d'exécution fourni par les services Google Play, car il est plus économe en espace que l'environnement standard, car il se charge de manière dynamique, ce qui permet de réduire la taille de votre application. Les services Google Play utilisent également automatiquement la version stable la plus récente de l'environnement d'exécution LiteRT, ce qui vous permet de bénéficier de fonctionnalités supplémentaires et d'améliorer vos performances au fil du temps. Si vous proposez votre application sur des appareils qui n'incluent pas les services Google Play ou si vous devez gérer de près votre environnement d'exécution ML, vous devez utiliser le runtime LiteRT standard. Cette option regroupe du code supplémentaire dans votre application, ce qui vous permet de mieux contrôler l'exécution du ML dans votre application, mais augmente la taille de téléchargement de votre application.
Vous accédez à ces environnements d'exécution dans votre application Android en ajoutant des bibliothèques de développement LiteRT à votre environnement de développement d'application. Pour savoir comment utiliser les environnements d'exécution standards dans votre application, consultez la section suivante.
Bibliothèques
Vous pouvez accéder à l'API Interpreter à l'aide des services Google Play. Vous pouvez utiliser les bibliothèques core et support de LiteRT dans votre application Android. Pour en savoir plus sur la programmation à l'aide des bibliothèques et des environnements d'exécution LiteRT, consultez Outils de développement pour Android.
Obtenir des modèles
L'exécution d'un modèle dans une application Android nécessite un modèle au format LiteRT. Vous pouvez utiliser des modèles prédéfinis ou en créer un et le convertir au format Lite. Pour en savoir plus sur l'obtention de modèles pour votre application Android, consultez la page Modèles LiteRT.
Gérer les données d'entrée
Toutes les données que vous transmettez à un modèle de ML doivent être un Tensor avec une structure de données spécifique, souvent appelée forme du Tensor. Pour traiter des données avec un modèle, le code de votre application doit transformer les données de leur format natif (image, texte ou données audio, par exemple) en un Tensor de la forme requise pour votre modèle.
Exécuter des inférences
Le traitement des données par un modèle pour générer un résultat de prédiction est appelé inférence. Pour exécuter une inférence dans une application Android, vous avez besoin d'un environnement d'exécution LiteRT, d'un modèle et de données d'entrée.
La vitesse à laquelle un modèle peut générer une inférence sur un appareil particulier dépend de la taille des données traitées, de la complexité du modèle et des ressources de calcul disponibles, telles que la mémoire et le processeur, ou des processeurs spécialisés appelés accélérateurs. Les modèles de machine learning peuvent s'exécuter plus rapidement sur ces processeurs spécialisés tels que les GPU (graphics processing units) et les TPU (tensor processing units), à l'aide de pilotes matériels LiteRT appelés délégués. Pour en savoir plus sur les délégués et l'accélération matérielle du traitement des modèles, consultez la présentation de l'accélération matérielle.
Gérer les résultats
Les modèles génèrent des résultats de prédiction sous forme de Tensors, qui doivent être gérés par votre application Android en effectuant une action ou en affichant un résultat à l'utilisateur. Les résultats de sortie du modèle peuvent être aussi simples qu'un nombre correspondant à un seul résultat (0 = chien, 1 = chat, 2 = oiseau) pour une classification d'image, ou beaucoup plus complexes, comme plusieurs cadres de délimitation pour plusieurs objets classés dans une image, avec des notes de confiance de prédiction comprises entre 0 et 1.
Chemins de développement avancés
Lorsque vous utilisez des modèles LiteRT plus sophistiqués et personnalisés, vous devrez peut-être utiliser des approches de développement plus avancées que celles décrites ci-dessus. Les sections suivantes décrivent les techniques avancées pour exécuter des modèles et les développer pour LiteRT dans les applications Android.
Environnements d'exécution avancés
En plus des environnements d'exécution standards et des environnements d'exécution des services Google Play pour LiteRT, vous pouvez utiliser d'autres environnements d'exécution avec votre application Android. L'utilisation la plus probable de ces environnements est si vous avez un modèle de machine learning qui utilise des opérations de ML non prises en charge par l'environnement d'exécution standard pour LiteRT.
- Environnement d'exécution Flex pour LiteRT
- Environnement d'exécution LiteRT personnalisé
Le runtime Flex de LiteRT vous permet d'inclure des opérateurs spécifiques requis pour votre modèle. En tant qu'option avancée pour exécuter votre modèle, vous pouvez créer LiteRT pour Android afin d'inclure les opérateurs et autres fonctionnalités nécessaires à l'exécution de votre modèle de machine learning TensorFlow. Pour en savoir plus, consultez Compiler LiteRT pour Android.
API C et C++
LiteRT fournit également une API pour exécuter des modèles à l'aide de C et C++. Si votre application utilise le NDK Android, vous devriez envisager d'utiliser cette API. Vous pouvez également envisager d'utiliser cette API si vous souhaitez pouvoir partager du code entre plusieurs plates-formes. Pour en savoir plus sur cette option de développement, consultez la page Outils de développement.
Exécution de modèles basée sur un serveur
En général, vous devez exécuter les modèles dans votre application sur un appareil Android pour profiter d'une latence plus faible et d'une confidentialité des données améliorée pour vos utilisateurs. Cependant, dans certains cas, il est préférable d'exécuter un modèle sur un serveur cloud, hors de l'appareil. Par exemple, si vous avez un grand modèle qui ne se compresse pas facilement à une taille adaptée aux appareils Android de vos utilisateurs ou qui ne peut pas être exécuté avec des performances raisonnables sur ces appareils. Cette approche peut également être votre solution préférée si la cohérence des performances du modèle sur un large éventail d'appareils est une priorité absolue.
Google Cloud propose une suite complète de services pour exécuter des modèles d'IA. Pour en savoir plus, consultez la page Produits d'IA et de machine learning de Google Cloud.
Développement et optimisation de modèles personnalisés
Les parcours de développement plus avancés incluent probablement le développement de modèles de machine learning personnalisés et leur optimisation pour une utilisation sur les appareils Android. Si vous prévoyez de créer des modèles personnalisés, veillez à envisager d'appliquer des techniques de quantification aux modèles pour réduire les coûts de mémoire et de traitement. Pour savoir comment créer des modèles hautes performances à utiliser avec LiteRT, consultez les bonnes pratiques en matière de performances dans la section "Modèles".
Versions d'Android compatibles
| Version LiteRT | État | Niveau SDK minimal | Niveau NDK minimal (le cas échéant) | Date de sortie |
|---|---|---|---|---|
v1.2.0 ⭐ |
✅ Actif | 21 (Android 5 Lollipop) |
r26a |
2025-03-13 |
Important : Assurez-vous que vos dépendances sont à jour pour garantir la compatibilité avec les dernières fonctionnalités et mises à jour de sécurité.