Mettre en œuvre le machine learning

Last reviewed 2023-08-23 UTC

Ce document du framework d'architecture Google Cloud explique certains des principes fondamentaux et des bonnes pratiques pour l'analyse de données dans Google Cloud. Vous découvrirez certains des principaux services d'IA et de machine learning (ML), ainsi que leur rôle dans les différentes étapes du cycle de vie IA et ML. Ces bonnes pratiques vous aident à satisfaire vos besoins en matière d'IA et de ML et à créer votre conception de système. Dans ce document, nous partons du principe que vous maîtrisez les concepts de base de l'IA et du ML.

Pour simplifier le processus de développement et minimiser les frais liés à la création de modèles de ML sur Google Cloud, choisissez le niveau d'abstraction le plus élevé qui convient à votre cas d'utilisation. Le niveau d'abstraction est défini comme la complexité de conception ou de programmation d'un système. Plus le niveau d'abstraction est élevé, moins les détails sont disponibles pour l'utilisateur.

Pour sélectionner les services d'IA et de ML de Google en fonction des besoins de votre entreprise, utilisez le tableau suivant :

Personna Services Google
Utilisateurs Business Solutions standards telles que Contact Center AI Insights, Document AI, Discovery AI et API Cloud Healthcare.
Développeurs disposant d'une expérience minimale en ML Les API pré-entraînées traitent des tâches perceptives courantes telles que la vision, la vidéo et le langage naturel. Ces API sont compatibles avec les modèles pré-entraînés et fournissent des détecteurs par défaut. Ils sont prêts à l'emploi sans aucune expérience en ML ou en développement de modèle. Les API pré-entraînées incluent : API Vision, API Video, API Natural Language, API Speech-to-Text, API Text-to-Speech et API Cloud Translation.
Generative AI pour les développeurs Vertex AI Search and Conversation permet aux développeurs d'utiliser ses fonctionnalités prêtes à l'emploi pour créer et déployer des chatbots en quelques minutes et des moteurs de recherche en quelques heures. Les développeurs qui souhaitent combiner plusieurs fonctionnalités dans des workflows d'entreprise peuvent utiliser l'API Gen App Builder pour l'intégration directe.
Développeurs et data scientists AutoML vous permet de développer des modèles personnalisés avec vos propres données d'image, de vidéo, de texte ou tabulaires. AutoML accélère le développement de modèles grâce à une recherche automatique dans tous les modèles Google afin de déterminer l'architecture de modèles la plus performante. Vous n'avez donc pas besoin de créer le modèle. AutoML gère les tâches courantes pour vous, comme le choix d'une architecture de modèle, le réglage des hyperparamètres, le provisionnement des machines pour l'entraînement et la diffusion.
Data scientists et ingénieurs en ML Les outils de modèles personnalisés Vertex AI vous permettent d'entraîner et de diffuser des modèles personnalisés pour exploiter le workflow du ML. Vous pouvez également exécuter votre charge de travail de ML sur des ressources de calcul autogérées comme les VM Compute Engine.
Data scientists et ingénieurs en machine learning La prise en charge de Generative AI sur Vertex AI (également appelée genai) permet d'accéder aux grands modèles d'IA générative de Google afin de pouvoir tester, régler et déployer des modèles dans vos applications basées sur l'IA.
Ingénieurs de données, data scientists et analystes de données familiarisés avec les interfaces SQL BigQuery ML vous permet de développer des modèles basés sur SQL à partir de données stockées dans BigQuery.

Principaux services

Le tableau suivant offre une vue d'ensemble des services d'IA et de ML :

Service Google Description
Cloud Storage et BigQuery Fournit des options de stockage flexibles pour les données et les artefacts de machine learning.
BigQuery ML Vous permet de créer des modèles de machine learning directement à partir de données hébergées dans BigQuery.
Pub/Sub, Dataflow,
Cloud Data Fusion et Dataproc
Acceptent l'ingestion et le traitement de données par lot et en temps réel. Pour plus d'informations, consultez la page Analyse de données.
Vertex AI Offre aux data scientists et aux ingénieurs en machine learning une plate-forme unique pour créer, entraîner, tester, surveiller, régler et déployer des modèles de ML pour toutes les applications, de l'IA générative au MLOps.

Les outils comprennent les éléments suivants :
Vertex AI Search and Conversation Permet de créer des chatbots et des moteurs de recherche qui utilisent les données d'entreprise pour des sites Web.
  • Conversation AI sur Vertex AI Search and Conversation peut aider à réinventer les interactions client et employé avec des chatbots et des assistants numériques basés sur l'IA générative. Par exemple, avec ces outils, vous pouvez fournir bien plus que de simples informations en activant les transactions depuis l'expérience de chat.
  • La recherche Google dans Vertex AI Search and Conversation permet aux entreprises de créer des expériences de recherche pour les clients et les employés sur leurs sites Web publics ou privés. En plus d'offrir des résultats de recherche multimodaux de haute qualité, Enterprise Search peut résumer les résultats et fournir les citations correspondantes grâce à l'IA générative.
IA générative sur Vertex AI Vous permet d'accéder aux modèles d'IA générative de Google, afin que vous puissiez les tester, les régler et les déployer pour vos applications basées sur l'IA. Generative AI sur Vertex AI est également appelé genai.
  • Les modèles Generative AI, également appelés modèles de base, sont classés en fonction du type de contenu qu'ils sont conçus pour générer. Ce contenu inclut les textes et le chat, les images, le code et les représentations vectorielles continues de texte.
  • Vertex AI Studio vous permet de créer rapidement des prototypes et de tester des modèles d'IA générative dans la console Google Cloud. Vous pouvez tester des exemples d'invites, concevoir vos propres invites et personnaliser les modèles de base pour gérer les tâches qui répondent aux besoins de votre application.
  • Réglage du modèle : permet de personnaliser des modèles de base pour des cas d'utilisation spécifiques en les ajustant à l'aide d'un ensemble de données contenant des exemples d'entrées/sorties.
  • Le jardin de modèles fournit des modèles de base adaptés aux entreprises, des modèles spécifiques à des tâches, et des API.
API pré-entraînées
AutoML Fournit des outils de modélisation personnalisés pour créer, déployer et faire évoluer des modèles de ML. Les développeurs peuvent importer leurs propres données et utiliser le service AutoML applicable pour créer un modèle personnalisé.
  • AutoML Image : effectue la classification d'images et la détection d'objets sur les données d'image.
  • AutoML Video : effectue la détection d'objets, la classification et la reconnaissance d'actions sur des données vidéo.
  • AutoML Text : effectue la classification du langage, l'extraction d'entités et l'analyse des sentiments sur des données textuelles.
  • AutoML Translation : détecte et traduit entre des combinaisons linguistiques.
  • AutoML Tabular : permet de créer un modèle de régression, de classification ou de prévision. Destiné aux données structurées.
AI Infrastructure Vous permet d'utiliser des accélérateurs d'IA pour traiter des charges de travail de ML à grande échelle. Ces accélérateurs vous permettent d'entraîner et d'obtenir des inférences à partir de modèles de deep learning et de modèles de machine learning de manière rentable.

Les GPU peuvent aider à réaliser des inférences à moindre coût et à effectuer un entraînement à la hausse ou à la baisse pour des modèles de deep learning. Les TPU (Tensor Processing Units) sont des ASIC conçus sur mesure pour entraîner et exécuter des réseaux de neurones profonds.
Dialogflow Offre des agents virtuels pour une expérience de conversation.
Contact Center AI Offre une expérience automatisée et riche d'informations pour les centres d'appels grâce à la fonctionnalité Agent Assist pour les agents humains.
Document AI Permet de comprendre des documents à grande échelle de manière générale, mais aussi des types de documents spécifiques comme les documents de prêt et les documents liés aux achats.
Lending DocAI Automatise le traitement des documents hypothécaires. Réduction du temps de traitement et rationalisation de la capture des données tout en respectant les exigences réglementaires et de conformité.
Procurement DocAI Automatisez la capture de données d'approvisionnement à l'échelle requise en convertissant des documents non structurés comme des factures et des reçus en données structurées afin d'améliorer l'efficacité opérationnelle, d'améliorer l'expérience client et d'appuyer la prise de décisions.
Recommandations Offre des recommandations de produits personnalisées.
IA Healthcare Natural Language Permet d'examiner et d'analyser les documents médicaux.
API Media Translation Permet la traduction vocale en temps réel à partir de données audio.

Traitement des données

Appliquez les bonnes pratiques de traitement des données qui suivent dans votre propre environnement.

S'assurer que vos données répondent aux exigences du ML

Les données que vous utilisez pour le ML doivent répondre à certaines exigences de base, quel que soit le type de données. Ces exigences incluent la capacité des données à prédire la cible, la cohérence entre les données utilisées pour l'entraînement et les données utilisées pour la prédiction, et la précision des données étiquetées pour l'entraînement. Le volume de vos données doit également être suffisant. Pour en savoir plus, consultez la section Traitement des données.

Stocker les données tabulaires dans BigQuery

Si vous utilisez des données tabulaires, envisagez de les stocker dans BigQuery et de lire les données à l'aide de l'API BigQuery Storage. Pour simplifier l'interaction avec l'API, utilisez l'une des options d'outils supplémentaires suivantes, en fonction de l'emplacement où vous souhaitez lire les données :

Le type de données d'entrée détermine également les outils de développement de modèle disponibles. Les API pré-entraînées, AutoML et BigQuery ML peuvent fournir des environnements de développement plus rentables et efficaces pour certains cas d'utilisation de données structurées, d'image, de vidéo et de texte.

Vérifier que vous disposez de suffisamment de données pour développer un modèle de ML

Pour développer un modèle de ML utile, vous devez disposer d'un volume suffisant de données. Pour prédire une catégorie, le nombre d'exemples recommandé pour chaque catégorie est de 10 fois le nombre de caractéristiques. Plus vous souhaitez prédire de catégories, plus vous avez besoin de données. Les ensembles de données déséquilibrés nécessitent encore plus de données. Si vous ne disposez pas de suffisamment de données étiquetées, envisagez d'utiliser l'apprentissage partiellement supervisé.

La taille des ensembles de données a également des répercussions sur l'entraînement et la diffusion. Un petit ensemble de données peut être entraîné directement dans une instance Notebooks alors qu'un ensemble de données plus volumineux nécessitant une entraînement distribué nécessitera d'utiliser le service d'entraînement personnalisé Vertex AI. Si vous souhaitez que Google entraîne le modèle pour vos données, utilisez AutoML.

Préparer les données à utiliser

Une bonne préparation des données peut accélérer le développement des modèles. Lorsque vous configurez votre pipeline de données, assurez-vous qu'il peut traiter à la fois les données par lot et par flux afin d'obtenir des résultats cohérents à partir des deux types de données.

Développement et entraînement de modèles

Appliquez les bonnes pratiques de développement et d'entraînement de modèle qui suivent dans votre propre environnement.

Choisir entre le développement géré ou personnalisé du modèle

Lorsque vous créez votre modèle, tenez compte du niveau d'abstraction le plus élevé possible. Utilisez AutoML lorsque cela est possible pour que les tâches de développement et d'entraînement soient gérées à votre place. Pour les modèles personnalisés, choisissez des options gérées pour l'évolutivité et la flexibilité plutôt que des options autogérées. Pour en savoir plus sur les options de développement de modèles, consultez la page Utiliser les outils et produits recommandés.

Envisagez d'utiliser le service d'entraînement Vertex AI plutôt que l'entraînement autogéré sur les VM Compute Engine ou sur les conteneurs de VM Deep Learning. Pour un environnement JupyterLab, envisagez d'utiliser Vertex AI Workbench, qui fournit des environnements JupyterLab gérés et gérés par l'utilisateur. Pour en savoir plus, consultez les pages Développement du machine learning et Entraînement opérationnel.

Utiliser des conteneurs prédéfinis ou personnalisés pour les modèles personnalisés

Pour les modèles personnalisés sur Vertex AI, vous pouvez utiliser des conteneurs prédéfinis ou personnalisés selon le framework de machine learning et la version du framework. Des conteneurs prédéfinis sont disponibles pour les applications d'entraînement Python créées pour des versions spécifiques de TensorFlow, scikit-learn, PyTorch et XGBoost.

Sinon, vous pouvez choisir de créer un conteneur personnalisé pour votre tâche d'entraînement. Par exemple, utilisez un conteneur personnalisé si vous souhaitez entraîner votre modèle à l'aide d'un framework de ML Python qui n'est pas disponible dans un conteneur prédéfini, ou si vous souhaitez effectuer l'entraînement dans un langage de programmation autre que Python. Dans le conteneur personnalisé, préinstallez votre application d'entraînement et toutes ses dépendances sur une image qui exécute la tâche d'entraînement.

Prendre en compte les exigences de l'entraînement distribué

Tenez compte de vos exigences en matière d'entraînement distribué. Certains frameworks de ML, tels que TensorFlow et PyTorch, vous permettent d'exécuter un code d'entraînement identique sur plusieurs machines. Ces frameworks coordonnent automatiquement la répartition des tâches en fonction des variables d'environnement définies sur chaque machine. D'autres frameworks peuvent nécessiter une personnalisation supplémentaire.

Étape suivante

Pour en savoir plus sur l'IA et le machine learning, consultez les ressources suivantes :

Découvrez d'autres catégories du framework d'architecture telles que la fiabilité, l'excellence opérationnelle, la sécurité, la confidentialité et la conformité.