Créer des modèles LiteRT

Cette page explique comment créer vos modèles TensorFlow dans le but de les convertir au format de modèle LiteRT. Les modèles de machine learning (ML) que vous utilisez avec LiteRT sont initialement créés et entraînés à l'aide des bibliothèques et outils TensorFlow Core. Une fois que vous avez créé un modèle avec TensorFlow Core, vous pouvez le convertir en un format de modèle ML plus petit et plus efficace appelé modèle LiteRT.

Si vous avez déjà un modèle à convertir, consultez la page Présentation de la conversion de modèles pour obtenir des conseils sur la conversion de votre modèle.

Créer votre modèle

Si vous créez un modèle personnalisé pour votre cas d'utilisation spécifique, vous devez commencer par développer et entraîner un modèle TensorFlow ou en étendre un existant.

Contraintes de conception du modèle

Avant de commencer à développer votre modèle, vous devez connaître les contraintes des modèles LiteRT et créer votre modèle en tenant compte de ces contraintes :

  • Capacités de calcul limitées : par rapport aux serveurs entièrement équipés avec plusieurs processeurs, une capacité de mémoire élevée et des processeurs spécialisés tels que les GPU et les TPU, les appareils mobiles et de périphérie sont beaucoup plus limités. Bien que leur puissance de calcul et leur compatibilité avec le matériel spécialisé augmentent, les modèles et les données que vous pouvez traiter efficacement avec eux restent relativement limités.
  • Taille des modèles : la complexité globale d'un modèle, y compris la logique de prétraitement des données et le nombre de couches du modèle, augmente la taille en mémoire d'un modèle. Un grand modèle peut s'exécuter de manière inacceptablement lente ou ne pas tenir dans la mémoire disponible d'un appareil mobile ou périphérique.
  • Taille des données : la taille des données d'entrée pouvant être traitées efficacement avec un modèle de machine learning est limitée sur un appareil mobile ou périphérique. Les modèles qui utilisent de grandes bibliothèques de données, telles que des bibliothèques de langues, d'images ou d'extraits vidéo, peuvent ne pas tenir sur ces appareils et nécessiter des solutions de stockage et d'accès hors appareil.
  • Opérations TensorFlow compatibles : les environnements d'exécution LiteRT sont compatibles avec un sous-ensemble d'opérations de modèles de machine learning par rapport aux modèles TensorFlow standards. Lorsque vous développez un modèle à utiliser avec LiteRT, vous devez suivre la compatibilité de votre modèle avec les capacités des environnements d'exécution LiteRT.

Pour en savoir plus sur la création de modèles efficaces, compatibles et performants pour LiteRT, consultez Bonnes pratiques en matière de performances.

Développement du modèle

Pour créer un modèle LiteRT, vous devez d'abord créer un modèle à l'aide des bibliothèques TensorFlow Core. Les bibliothèques TensorFlow Core sont des bibliothèques de niveau inférieur qui fournissent des API permettant de créer, d'entraîner et de déployer des modèles de ML.

Workflow de compilation TFLite

TensorFlow propose deux méthodes pour ce faire. Vous pouvez développer votre propre code de modèle personnalisé ou commencer par une implémentation de modèle disponible dans Model Garden de TensorFlow.

Model Garden

TensorFlow Model Garden fournit des implémentations de nombreux modèles de machine learning (ML) de pointe pour la vision et le traitement du langage naturel (NLP). Vous trouverez également des outils de workflow qui vous permettront de configurer et d'exécuter rapidement ces modèles sur des ensembles de données standards. Les modèles de machine learning du Model Garden incluent un code complet qui vous permet de les tester, de les entraîner ou de les réentraîner à l'aide de vos propres ensembles de données.

Que vous souhaitiez évaluer les performances d'un modèle bien connu, vérifier les résultats de recherches récemment publiées ou étendre des modèles existants, Model Garden peut vous aider à atteindre vos objectifs de ML.

Modèles personnalisés

Si votre cas d'utilisation ne fait pas partie de ceux compatibles avec les modèles du Model Garden, vous pouvez utiliser une bibliothèque de haut niveau comme Keras pour développer votre code d'entraînement personnalisé. Pour découvrir les principes de base de TensorFlow, consultez le guide TensorFlow. Pour commencer à utiliser des exemples, consultez la présentation des tutoriels TensorFlow, qui contient des pointeurs vers des tutoriels pour débutants et experts.

Évaluation du modèle

Une fois votre modèle développé, vous devez évaluer ses performances et le tester sur des appareils d'utilisateur final. TensorFlow propose plusieurs façons de procéder.

  • TensorBoard est un outil qui fournit les mesures et les visualisations nécessaires pendant le workflow de machine learning. Il permet de suivre les métriques de test telles que les pertes et la justesse, de visualiser le graphique du modèle, de projeter des embeddings dans un espace de dimension inférieure et bien plus encore.
  • Des outils de benchmarking sont disponibles pour chaque plate-forme compatible, comme l'application de benchmarking Android et l'application de benchmarking iOS. Utilisez ces outils pour mesurer et calculer des statistiques pour les métriques de performances importantes.

Optimisation des modèles

Compte tenu des contraintes sur les ressources spécifiques aux modèles TensorFlow Lite, l'optimisation des modèles peut vous aider à garantir de bonnes performances pour votre modèle et à utiliser moins de ressources de calcul. Les performances d'un modèle de machine learning sont généralement un équilibre entre la taille et la vitesse d'inférence, et la précision. LiteRT est actuellement compatible avec l'optimisation par quantification, élagage et clustering. Pour en savoir plus sur ces techniques, consultez la section Optimisation des modèles. TensorFlow fournit également un kit d'optimisation de modèles qui propose une API implémentant ces techniques.

Étapes suivantes