Guide de l'utilisateur de TFX

Introduction

TFX est une plate-forme de machine learning de production Google basée sur TensorFlow. Elle fournit un framework de configuration et des bibliothèques partagées pour intégrer les composants courants nécessaires à la définition, au lancement et au contrôle de votre système de machine learning.

Installation

Python PyPI

pip install tensorflow
pip install tfx

Concepts fondamentaux

Pipelines TFX

Un pipeline TFX définit un flux de données entre plusieurs composants, dans le but de mettre en œuvre une tâche de machine learning spécifique (par exemple, créer et déployer un modèle de régression pour des données spécifiques). Les composants de pipeline sont basés sur des bibliothèques TFX. Le résultat d'un pipeline est un service et/ou une cible de déploiement TFX d'une requête d'inférence.

Artefacts

Dans un pipeline, un artefact correspond à une unité de données qui est transmise entre les composants. En règle générale, les composants comprennent au moins un artefact d'entrée et un artefact de sortie. Tous les artefacts doivent être associés à des métadonnées qui en définissent le type et les propriétés. Les artefacts doivent être fortement typés avec un type qui est enregistré dans l'espace de stockage ML Metadata. Les concepts d'artefact et de type d'artefact proviennent du modèle de données défini par ML Metadata, tel qu'il est décrit dans ce document. TFX définit et met en œuvre sa propre ontologie de type d'artefact afin d'obtenir ses fonctionnalités de niveau supérieur. Depuis TFX 0.15, 11 types d'artefacts connus sont définis et utilisés dans l'ensemble du système TFX.

Un type d'artefact possède un nom unique et un schéma de propriétés de ses instances. TFX utilise le type d'artefact en fonction de la manière dont les composants utilisent l'artefact dans le pipeline, mais pas nécessairement pour en déterminer le contenu physique sur un système de fichiers.

Par exemple, le type d'artefact Example peut représenter des exemples matérialisés au format TFRecord du tampon de protocole tensorflow::Example, CSV, JSON ou tout autre format physique. Quoi qu'il en soit, la façon dont les exemples sont utilisés dans un pipeline est exactement la même : ils sont analysés pour générer des statistiques, ils sont validés par rapport au schéma attendu, ils sont traités préalablement à l'entraînement et ils sont fournis à un composant Trainer pour entraîner des modèles. De même, le type d'artefact Model peut représenter des objets de modèle entraînés qui sont exportés dans divers formats physiques tels que TensorFlow SavedModel, ONNX, PMML ou PKL (de différents types d'objets de modèle en langage Python). Dans tous les cas, les modèles doivent toujours être évalués, analysés et déployés pour être diffusés dans des pipelines.

REMARQUE : Depuis TFX 0.15, les implémentations de composants TFX partent du principe que l'artefact Examples est un tampon de protocole tensorflow::Example au format TFRecord compressé avec GZIP. De même, on suppose que l'artefact Model est de type SavedModel TensorFlow. Dans les futures versions de TFX, ces types d'artefacts pourront être étendus afin d'accepter davantage de variantes.

Afin de différencier les variantes possibles d'un même type d'artefact, le service ML Metadata définit un ensemble de propriétés d'artefact. La propriété d'un artefact Examples peut, par exemple, être format, dont les valeurs peuvent être TFRecord, JSON, CSV, etc. Les artefacts de type Examples peuvent toujours être transmis à un composant conçu pour utiliser Examples comme artefact d'entrée (un composant Trainer, par exemple). Cependant, l'implémentation réelle du composant de consommation peut adapter son comportement en réponse à une valeur donnée de la propriété format, ou simplement générer une erreur d'exécution si aucune implémentation n'est disponible pour traiter le format spécifique de l'artefact Examples.

En résumé, les types d'artefacts définissent l'ontologie des artefacts dans l'ensemble du système de pipeline TFX, alors que les propriétés d'artefact définissent l'ontologie propre à un type d'artefact. Les utilisateurs du système de pipeline peuvent choisir d'étendre cette ontologie, en local, à leurs applications de pipeline, en définissant et en insérant de nouvelles propriétés personnalisées. Ils peuvent également l'étendre de manière globale à l'ensemble du système, en introduisant de nouveaux types d'artefacts et/ou en modifiant les propriétés de type prédéfinies. Dans ce cas, cette extension est ajoutée au dépôt principal du système de pipeline (le dépôt TFX).

Composants du pipeline TFX

Un pipeline TFX est une séquence de composants qui implémentent un pipeline de ML conçu spécialement pour les tâches de machine learning hautes performances et évolutives. Ces tâches incluent la modélisation, l'entraînement, la diffusion d'inférences et la gestion de déploiements vers des cibles en ligne, mobiles natives et JavaScript.

Un pipeline TFX comprend généralement les composants suivants :

  • ExampleGen est le composant d'entrée initial d'un pipeline. Il ingère et divise éventuellement l'ensemble de données d'entrée.

  • StatisticsGen calcule les statistiques de l'ensemble de données.

  • SchemaGen examine les statistiques et crée un schéma de données.

  • ExampleValidator recherche les anomalies et les valeurs manquantes dans l'ensemble de données.

  • Transform effectue une extraction de caractéristiques sur l'ensemble de données.

  • Trainer entraîne le modèle.

  • Evaluator effectue une analyse approfondie des résultats de l'entraînement et vous aide à valider vos modèles exportés, en veillant à ce que leurs performances soient suffisantes pour la mise en production.

  • Pusher déploie le modèle sur une infrastructure d'inférence.

Ce diagramme illustre le flux de données entre ces composants :

Flux de composants

Anatomie d'un composant

Les composants TFX sont constitués de trois éléments principaux :

  • Pilote
  • Exécuteur
  • Éditeur

Anatomie des composants

Pilote et éditeur

Le pilote fournit les métadonnées à l'exécuteur en interrogeant l'espace de stockage des métadonnées, tandis que l'éditeur accepte les résultats de l'exécuteur et les stocke dans les métadonnées. En tant que développeur, vous ne devez généralement pas interagir directement avec le pilote ni avec l'éditeur. Cependant, les messages journalisés peuvent s'avérer utiles dans le cadre du débogage. Consultez la section Dépannage.

Exécuteur

Il s'agit de l'emplacement où un composant effectue son traitement. En tant que développeur, vous rédigez du code qui s'exécute dans l'exécuteur, en fonction des exigences des classes qui mettent en œuvre le type de composant que vous utilisez. Par exemple, lorsque vous utilisez un composant Transform, vous devez développer une fonction preprocessing_fn.

Bibliothèques TFX

TFX comprend des bibliothèques et des composants de pipeline. Ce diagramme illustre les relations entre les bibliothèques TFX et les composants de pipeline :

Bibliothèques et composants

TFX fournit plusieurs packages Python qui sont les bibliothèques utilisées pour créer des composants de pipeline. Vous utiliserez ces bibliothèques pour créer les composants de vos pipelines, de sorte que votre code porte sur les aspects uniques de votre pipeline.

Les bibliothèques TFX comprennent les éléments suivants :

  • TensorFlow Data Validation (TFDV) est une bibliothèque permettant d'analyser et de valider les données de machine learning. Elle est conçue pour offrir une haute évolutivité, et pour fonctionner correctement avec TensorFlow et TFX. La bibliothèque TFDV comprend les fonctionnalités et/ou éléments ci-dessous :

    • Calcul évolutif des statistiques récapitulatives des données d'entraînement et de test.
    • Intégration dans un lecteur pour les statistiques et les distributions de données, ainsi que pour une comparaison par attribut des paires d'ensembles de données (Facets).

    • Génération automatisée de schémas de données pour décrire les attentes relatives aux données, telles que les valeurs, les plages et les vocabulaires requis.

    • Un lecteur de schémas pour vous aider à inspecter le schéma.

    • Détection des anomalies, telles que des caractéristiques manquantes, des valeurs hors plage ou des types de caractéristiques incorrects, pour n'en citer que quelques-unes.

    • Un lecteur d'anomalies pour vous permettre d'afficher les caractéristiques qui présentent des anomalies et d'obtenir davantage d'informations afin de les corriger.

  • TensorFlow Transform (TFT) est une bibliothèque destinée au prétraitement des données avec TensorFlow. TensorFlow Transform est utile pour les données nécessitant un passage complet :

    • Normalisation d'une valeur d'entrée en fonction de la moyenne et de l'écart type.
    • Conversion de chaînes en entiers en générant un vocabulaire sur toutes les valeurs d'entrée.
    • Conversion des nombres à virgule flottante en entiers en les affectant à des buckets en fonction de la distribution des données observées.
  • TensorFlow est utilisé pour l'entraînement de modèles avec TXF. Il ingère les données d'entraînement et le code de modélisation, puis crée un résultat SavedModel. Il intègre également un pipeline d'extraction de caractéristiques créé par TensorFlow Transform pour le prétraitement des données d'entrée.

  • TensorFlow Model Analysis (TFMA) est une bibliothèque permettant d'évaluer des modèles TensorFlow. Elle est utilisée avec TensorFlow pour créer un modèle EvalSavedModel, qui devient la base de son analyse. Elle permet aux utilisateurs d'évaluer leurs modèles de manière distribuée sur de grandes quantités de données, en utilisant les mêmes métriques que celles définies dans leur application d'entraînement. Ces métriques peuvent être calculées sur différentes tranches de données et visualisées dans des notebooks Jupyter.

  • TensorFlow Metadata (TFMD) fournit des représentations standards de métadonnées qui s'avèrent utiles pour entraîner des modèles de machine learning avec TensorFlow. Les métadonnées peuvent être produites manuellement ou automatiquement lors de l'analyse des données d'entrée. Elles peuvent être utilisées pour la validation, l'exploration et la transformation des données. Les formats de sérialisation des métadonnées sont les suivants :

    • Schéma décrivant des données tabulaires (tf.Examples, par exemple).
    • Ensemble de statistiques récapitulatives sur ces ensembles de données.
  • ML Metadata (MLMD) est une bibliothèque permettant d'enregistrer et de récupérer les métadonnées associées aux workflows pour les data scientists et les développeurs ML. Le plus souvent, les métadonnées font appel à des représentations TFMD. MLMD gère la persistance à l'aide de SQL-Lite, de MySQL et d'autres datastores du même type.

Technologies d'assistance

Obligatoire

  • Apache Beam est un modèle unifié Open Source permettant de définir des pipelines de traitement parallèle des données par lots et en streaming. Pour mettre en œuvre des pipelines avec parallélisme des données, le système utilise Apache Beam. Le pipeline est ensuite exécuté par l'un des backends de traitement distribué compatibles d'Apache Beam, dont Apache Flink, Apache Spark et Google Cloud Dataflow.

Facultatif

Les outils d'orchestration tels qu'Apache Airflow et Kubeflow facilitent la configuration, l'exploitation, la surveillance et la maintenance d'un pipeline de ML.

  • Apache Airflow est une plate-forme qui permet de créer, de planifier et de surveiller des workflows de manière automatisée. TFX utilise Airflow pour créer des workflows en tant que graphes de tâches orientés acycliques. Le programmeur Airflow exécute les tâches sur un tableau de nœuds de calcul tout en suivant les dépendances spécifiées. Grâce aux puissants utilitaires de ligne de commande, exécuter des opérations chirurgicales complexes sur des graphes orientés acycliques est un jeu d'enfant. L'interface utilisateur enrichie facilite la visualisation des pipelines exécutés en mode de production, le suivi de leur progression et la résolution des problèmes lorsque cela s'avère nécessaire. Lorsque les workflows sont définis sous la forme de code, la maintenance, la gestion des versions, les tests et la collaboration s'en trouvent facilités.

  • Kubeflow vise à simplifier le déploiement des workflows de machine learning (ML) sur Kubernetes, et à les rendre portables et évolutifs. L'objectif n'est pas de recréer d'autres services, mais bien de proposer un outil permettant de déployer facilement les meilleurs systèmes Open Source pour le machine learning sur diverses infrastructures. Les services Kubeflow Pipelines permettent de composer et d'exécuter sur Kubeflow des workflows reproductibles intégrés à des expériences basées sur des notebooks et sur des tests. Les services Kubeflow Pipelines sur Kubernetes comprennent l'espace de stockage Metadata hébergé, un moteur d'orchestration basé sur des conteneurs, un serveur de notebooks et une interface utilisateur pour permettre aux utilisateurs de développer, d'exécuter et de gérer des pipelines de ML complexes à grande échelle. Le SDK Kubeflow Pipelines permet de créer et de partager des composants et la composition de pipelines de manière automatisée.

Portabilité et interopérabilité

TFX est conçu pour pouvoir être porté sur plusieurs environnements et frameworks d'orchestration, dont Apache Airflow, Apache Beam et Kubeflow. Il peut également être porté sur différentes plates-formes informatiques, y compris sur site, et sur des plates-formes cloud telles que Google Cloud Platform (GCP). TFX interagit avec plusieurs services GCP gérés, tels que Cloud AI Platform dans le cadre de l'entraînement et de la prédiction, et Cloud Dataflow pour le traitement distribué des données pour d'autres aspects du cycle de vie du machine learning.

Modèle ou SavedModel

Modèle

Un modèle est le résultat du processus d'entraînement. Il s'agit de l'enregistrement sérialisé des pondérations apprises au cours du processus d'entraînement. Ces pondérations peuvent ensuite être utilisées pour calculer des prédictions pour de nouveaux exemples d'entrée. Dans le cas de TFX et de TensorFlow, le terme "modèle" fait référence aux points de contrôle contenant les pondérations apprises jusqu'à ce stade.

Notez que "modèle" peut également faire référence à la définition du graphe de calcul TensorFlow (c'est-à-dire un fichier Python) qui exprime la méthode de calcul d'une prédiction. Les deux sens peuvent être utilisés de façon interchangeable en fonction du contexte.

SavedModel

  • Qu'est-ce qu'un SavedModel ? Il s'agit d'une sérialisation d'un modèle TensorFlow. Ce modèle est récupérable, indépendant du langage, hermétique et universel.
  • Pourquoi est-il important ? Il permet aux systèmes de niveau supérieur de produire, de consommer et de transformer des modèles TensorFlow à l'aide d'une seule abstraction.

SavedModel est le format de sérialisation recommandé pour diffuser un modèle TensorFlow en production, ou pour exporter un modèle entraîné pour une application JavaScript ou mobile native. Par exemple, pour transformer un modèle en service REST afin d'effectuer des prédictions, vous pouvez le sérialiser en tant que SavedModel et le diffuser à l'aide de TensorFlow Serving. Pour en savoir plus, consultez la section Diffuser un modèle TensorFlow.

Schéma

Certains composants TFX utilisent une description de vos données d'entrée appelée schéma, qui est une instance de schema.proto. Un schéma est un type de tampon de protocole, plus communément appelé "protobuf". Le schéma peut spécifier des types de données pour les valeurs de caractéristiques, des plages de valeurs autorisées, ainsi que d'autres propriétés. Il peut également indiquer si une caractéristique doit être présente dans tous les exemples. L'un des avantages de TensorFlow Data Validation (TFDV) réside dans la génération automatique d'un schéma en déduisant des types, des catégories et des plages à partir des données d'entraînement.

Voici un extrait d'un tampon de protocole de schéma :

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

Le schéma est utilisé par les composants suivants :

  • TensorFlow Data Validation
  • TensorFlow Transform

Dans un pipeline TFX classique, TensorFlow Data Validation génère un schéma qui est utilisé par les autres composants.

Développer avec TFX

TFX propose une plate-forme puissante pour chaque phase d'un projet de machine learning, de la recherche à l'expérimentation en passant par le développement sur votre machine locale et le déploiement. Afin d'éviter la duplication de code et d'éliminer tout risque de décalage d'entraînement/de diffusion, il est vivement conseillé de mettre en œuvre votre pipeline TFX pour l'entraînement de modèle et le déploiement de modèles entraînés. Vous êtes également invité à utiliser les composants Transform qui tirent parti de la bibliothèque TensorFlow Transform pour l'entraînement et l'inférence. Ce faisant, vous utiliserez le même code de prétraitement et d'analyse de manière cohérente, et vous éviterez les différences entre les données d'entraînement et les données fournies aux modèles entraînés lors de la production. En outre, vous ne devrez écrire ce code qu'une seule fois, ce qui constitue un avantage non négligeable.

Exploration, visualisation et nettoyage des données

Exploration, visualisation et nettoyage des données

Les pipelines TFX commencent généralement par un composant ExampleGen qui accepte les données d'entrée et les formate sous la forme de tampons tf.Examples. Bien souvent, cette opération est effectuée après que les données ont été divisées en ensembles de données d'entraînement et d'évaluation, de sorte qu'il y ait en fait deux copies de composants ExampleGen : une pour l'entraînement et une pour l'évaluation. S'en suivent généralement un composant StatisticsGen et un composant SchemaGen, lesquels examinent vos données, et déduisent des statistiques et un schéma de données. Le schéma et les statistiques sont utilisées par un composant ExampleValidator qui recherche des anomalies, des valeurs manquantes et des types incorrects dans vos données. Tous ces composants tirent parti des fonctionnalités de la bibliothèque TensorFlow Data Validation.

TensorFlow Data Validation (TFDV) est un outil qui s'avère particulièrement utile lorsque vous procédez à l'exploration initiale, à la visualisation et au nettoyage de votre ensemble de données. TFDV examine vos données et en déduit les types, les catégories et les plages, puis il identifie automatiquement les anomalies et les valeurs manquantes. Il fournit également des outils de visualisation qui peuvent vous aider à examiner et à comprendre votre ensemble de données. Une fois votre pipeline terminé, vous pouvez lire les métadonnées de MLMD et utiliser les outils de visualisation de TFDV dans un notebook Jupyter afin d'analyser vos données.

Après la phase initiale d'entraînement et de déploiement du modèle, TDFV peut être utilisé pour surveiller les nouvelles données issues des requêtes d'inférence adressées à vos modèles déployés, et pour détecter des anomalies et/ou une dérive. Cela s'avère particulièrement utile pour les données de séries temporelles qui varient au fil du temps en raison des tendances ou de la saisonnalité. C'est également le cas lorsque des problèmes de données se produisent ou lorsqu'un nouvel entraînement des modèles doit être effectué avec de nouvelles données.

Visualisation des données

Une fois la première exécution de vos données effectuée via la section de votre pipeline qui utilise TFDV (il s'agit généralement de StatisticsGen, SchemaGen et ExampleValidator), vous pouvez visualiser les résultats dans un notebook de type Jupyter. Pour des exécutions supplémentaires, vous pouvez comparer ces résultats à mesure que vous effectuez des ajustements, jusqu'à ce que vos données soient optimales pour votre modèle et votre application.

Vous devez interroger la bibliothèque ML Metadata (MLMD) afin de localiser les résultats des exécutions de ces composants, puis utiliser l'API de compatibilité avec la visualisation dans TFDV pour créer les visualisations dans votre notebook. Cela inclut tfdv.load_statistics() et tfdv.visualize_statistics(). Cette visualisation vous permet de mieux comprendre les caractéristiques de votre ensemble de données et de les modifier si nécessaire.

Développer et entraîner des modèles

Extraction de caractéristiques

Un pipeline TFX classique comprend un composant Transform qui effectue l'extraction de caractéristiques en tirant parti des fonctionnalités de la bibliothèque TensorFlow Transform (TFT). Un composant Transform utilise le schéma créé par un composant SchemaGen, et applique des transformations de données pour créer, combiner et transformer les caractéristiques qui seront utilisées pour l'entraînement de votre modèle. Le nettoyage des valeurs manquantes et la conversion des types doivent également être effectués dans le composant Transform s'il est possible que ces éléments soient également présents dans les données envoyées pour les requêtes d'inférence. Vous devez tenir compte de quelques points importants lors de la conception du code TensorFlow en vue de l'entraînement dans TFX.

Modélisation et entraînement

Un modèle SavedModel est le résultat d'un composant Transform. Il est importé et utilisé dans votre code de modélisation dans TensorFlow, lors de l'exécution d'un composant Trainer. Ce SavedModel contient toutes les transformations d'ingénierie de données qui ont été créées dans le composant Transform, de sorte que des transformations identiques soient effectuées avec le même code au cours de l'entraînement et de l'inférence. Vous pouvez utiliser vos données d'entraînement et d'évaluation, et entraîner votre modèle, en utilisant le code de modélisation avec le SavedModel du composant Transform.

Dans la dernière section de votre code de modélisation, vous devez enregistrer votre modèle sous la forme d'un SavedModel et d'un EvalSavedModel. Pour l'enregistrer en tant que modèle EvalSavedModel, vous devez importer et appliquer la bibliothèque TensorFlow Model Analysis (TFMA) dans votre composant Trainer.

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

Analyser et comprendre les performances du modèle

Analyse du modèle

Après la phase initiale de développement et d'entraînement de votre modèle, il est important de l'analyser et d'en comprendre les performances réelles. Un pipeline TFX classique comprend un composant Evaluator qui tire parti des fonctionnalités de la bibliothèque TensorFlow Model Analysis (TFMA), laquelle fournit un puissant ensemble d'outils pour cette phase de développement. Un composant Evaluator utilise le modèle EvalSavedModel que vous avez exporté ci-dessus. Il vous permet, en outre, de spécifier une liste de SliceSpecs que vous pouvez utiliser lors de la visualisation et de l'analyse des performances de votre modèle. Chaque objet SliceSpec définit une tranche des données d'entraînement que vous souhaitez examiner, telles que des catégories spécifiques pour des caractéristiques catégorielles ou des plages spécifiques pour des caractéristiques numériques.

Cela peut être important, par exemple, pour essayer de comprendre les performances de votre modèle pour différents segments de clients ; il peut s'agir d'une segmentation par achats annuels, par données géographiques, par tranche d'âge ou encore par sexe. Cela revêt une importance toute particulière pour les ensembles de données comportant des longues traînes, c'est-à-dire des ensembles dans lesquels les performances d'un groupe dominant peuvent masquer des performances inacceptables pour des groupes importants, mais plus petits. Par exemple, votre modèle peut donner de bons résultats pour les salariés moyens, mais offrir des performances médiocres pour le personnel de direction, et il peut être important de le savoir.

Analyse et visualisation de modèles

Une fois que vous avez terminé la première exécution de vos données en effectuant l'entraînement de votre modèle et en exécutant le composant Evaluator (qui utilise TFMA) sur les résultats d'entraînement, vous pouvez visualiser les résultats dans un notebook de type Jupyter. Pour des exécutions supplémentaires, vous pouvez comparer ces résultats à mesure que vous effectuez des ajustements, jusqu'à ce que vos données soient optimales pour votre modèle et votre application.

Vous devez interroger la bibliothèque ML Metadata (MLMD) afin de localiser les résultats des exécutions de ces composants, puis utiliser l'API de compatibilité avec la visualisation dans TFMA pour créer les visualisations dans votre notebook. Cela inclut tfma.load_eval_results() et tfma.view.render_slicing_metrics(). Cette visualisation vous permet de mieux comprendre les caractéristiques de votre modèle et de les modifier si nécessaire.

Cibles de déploiement

Une fois que vous avez développé et entraîné un modèle qui vous convient, il est temps de le déployer sur une ou plusieurs cibles de déploiement, où il recevra des requêtes d'inférence. Dans TFX, le déploiement peut être effectué dans trois classes de cibles de déploiement. Les modèles entraînés qui ont été exportés en tant que modèles SavedModel peuvent être déployés sur l'une ou sur l'ensemble de ces cibles de déploiement.

Flux de composants

Inférence : TensorFlow Serving

TensorFlow Serving (TFS) est un système d'inférence hautes performances flexible destiné aux modèles de machine learning. Conçu pour les environnements de production, il utilise un modèle SavedModel et accepte les requêtes d'inférence via des interfaces REST ou gRPC. Il s'exécute sous la forme d'un ensemble de processus sur un ou plusieurs serveurs réseau, en utilisant l'une des nombreuses architectures avancées pour gérer la synchronisation et le calcul distribué. Pour en savoir plus sur le développement et le déploiement de solutions TFS, consultez la documentation concernant TFS.

Dans un pipeline classique, un composant Pusher utilise les modèles SavedModel qui ont été entraînés dans un composant Trainer et les déploie sur votre infrastructure TFS. Cela suppose la gestion de plusieurs versions et de mises à jour de modèles.

Inférence dans les applications IoT et mobiles natives : TensorFlow Lite

TensorFlow Lite est une suite d'outils conçue pour aider les développeurs à utiliser leurs modèles TensorFlow entraînés dans des applications IoT et mobiles natives. Cette solution utilise les mêmes modèles SavedModel que TensorFlow Serving, et applique des optimisations telles que la quantification et l'élagage pour optimiser la taille et les performances des modèles obtenus en vue de leur exécution sur des appareils mobiles et IoT. Pour en savoir plus sur l'utilisation de TensorFlow Lite, consultez la documentation du produit.

Inférence en langage JavaScript : TensorFlow JS

TensorFlow JS est une bibliothèque JavaScript permettant l'entraînement et le déploiement de modèles de ML dans le navigateur et sur Node.js. Elle utilise les mêmes modèles SavedModel que TensorFlow Serving et TensorFlow Lite, et les convertit au format Web TensorFlow.js. Pour en savoir plus sur l'utilisation de TensorFlow JS, consultez la documentation du produit.

Créer un pipeline TFX avec Airflow

Pour en savoir plus, consultez l'atelier Airflow.

Créer un pipeline TFX avec Kubeflow

Configuration

Kubeflow a besoin d'un cluster Kubernetes pour exécuter les pipelines à grande échelle. Consultez les consignes de déploiement de Kubeflow qui décrivent les options de déploiement du cluster Kubeflow.

Configurer et exécuter un pipeline TFX

Veuillez suivre le tutoriel TFX sur les pipelines Cloud AI Platform pour exécuter l'exemple de pipeline TFX sur Kubeflow. Les composants TFX ont été mis en conteneur pour composer le pipeline Kubeflow. L'exemple montre comment configurer le pipeline pour lire un ensemble de données public volumineux, et exécuter les étapes d'entraînement et de traitement des données à grande échelle dans le cloud.

Interface de ligne de commande pour les actions de pipeline

TFX propose une interface de ligne de commande unifiée permettant de réaliser un large éventail d'actions de pipeline, comme créer, mettre à jour, exécuter, répertorier et supprimer des pipelines sur divers outils d'orchestration, parmi lesquels Apache Airflow, Apache Beam et Kubeflow. Pour en savoir plus, veuillez suivre ces instructions.