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.
|
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.
|
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é.
|
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 :
- Si vous utilisez Dataflow, utilisez le connecteur d'E/S BigQuery.
- Si vous utilisez TensorFlow ou Keras, utilisez le lecteur tf.data.dataset pour BigQuery.
- Si vous utilisez des données non structurées, telles que des images ou des vidéos, envisagez de les stocker dans Cloud Storage.
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 :
- Bonnes pratiques de mise en œuvre du machine learning sur Google Cloud.
- Guide opérationnel de MLOps : un cadre pour la livraison continue et l'automatisation du machine learning.
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é.