Well-Architected Framework: perspective sur l'IA et le ML

Last reviewed 2025-02-14 UTC

Ce document du Google Cloud framework Well-Architected décrit les principes et les recommandations qui vous aideront à concevoir, créer et gérer des charges de travail d'IA et de ML dans Google Cloud , afin qu'elles répondent à vos objectifs opérationnels, en termes de sécurité, de fiabilité, de coût et de performances.

L'audience cible de ce document comprend les décideurs, les architectes, les administrateurs, les développeurs et les opérateurs qui conçoivent, créent, déploient et gèrent des charges de travail d'IA et de ML dans Google Cloud.

Les pages suivantes décrivent les principes et les recommandations spécifiques à l'IA et au ML, pour chaque pilier du framework Well-Architected:

Contributeurs

Auteurs :

Autres contributeurs :

Point de vue de l'IA et du ML: excellence opérationnelle

Ce document du framework Well-Architected: perspective sur l'IA et le ML présente les principes et les recommandations qui vous aideront à créer et à exploiter des systèmes d'IA et de ML robustes sur Google Cloud. Ces recommandations vous aident à configurer des éléments fondamentaux tels que l'observabilité, l'automatisation et l'évolutivité. Les recommandations de ce document s'alignent sur le pilier de l'excellence opérationnelle du Google Cloud framework Well-Architected Framework.

L'excellence opérationnelle dans le domaine de l'IA et du ML consiste à pouvoir déployer, gérer et gouverner de manière fluide les systèmes et pipelines d'IA et de ML complexes qui alimentent les objectifs stratégiques de votre organisation. L'excellence opérationnelle vous permet de répondre efficacement aux changements, de réduire la complexité opérationnelle et de vous assurer que les opérations restent alignées sur les objectifs commerciaux.

Établir une base solide pour le développement de modèles

Établissez une base solide pour simplifier le développement de modèles, de la définition du problème au déploiement. Une telle base garantit que vos solutions d'IA sont basées sur des composants et des choix fiables et efficaces. Ce type de base vous aide à publier des modifications et des améliorations rapidement et facilement.

Tenez compte des recommandations suivantes:

  • Définissez le problème que le système d'IA résout et le résultat souhaité.
  • Identifiez et collectez les données pertinentes requises pour entraîner et évaluer vos modèles. Nettoyez ensuite les données brutes et prétraitez-les. Implémentez des contrôles de validation des données pour garantir la qualité et l'intégrité des données.
  • Choisissez l'approche de ML appropriée pour la tâche. Lorsque vous concevez la structure et les paramètres du modèle, tenez compte de sa complexité et de ses exigences de calcul.
  • Adoptez un système de contrôle des versions pour le code, le modèle et les données.

Automatiser le cycle de vie du développement de modèles

De la préparation et de l'entraînement des données au déploiement et à la surveillance, l'automatisation vous aide à améliorer la qualité et l'efficacité de vos opérations. L'automatisation permet de développer et de déployer des modèles de manière fluide, reproductible et sans erreur. L'automatisation réduit les interventions manuelles, accélère les cycles de publication et garantit la cohérence entre les environnements.

Tenez compte des recommandations suivantes:

  • Utilisez un système d'orchestration de pipeline géré pour orchestrer et automatiser le workflow de ML. Le pipeline doit gérer les principales étapes de votre cycle de développement: préparation, entraînement, déploiement et évaluation.
  • Implémentez des pipelines CI/CD pour le cycle de vie du développement de modèles. Ces pipelines doivent automatiser la création, le test et le déploiement des modèles. Les pipelines doivent également inclure un entraînement continu pour réentraîner les modèles sur de nouvelles données si nécessaire.
  • Implémentez des approches de lancement par étapes, telles que les déploiements Canary ou les tests A/B, pour des versions de modèle sûres et contrôlées.

Implémenter l'observabilité

Lorsque vous implémentez l'observabilité, vous pouvez obtenir des insights détaillés sur les performances du modèle, la dérive des données et l'état du système. Implémentez des mécanismes de surveillance, d'alerte et de journalisation en continu pour identifier de manière proactive les problèmes, déclencher des réponses rapides et assurer la continuité opérationnelle.

Tenez compte des recommandations suivantes:

  • Implémentez une surveillance des performances permanente et automatisée pour vos modèles. Utilisez des métriques et des critères de réussite pour évaluer en continu le modèle après son déploiement.
  • Surveillez vos points de terminaison de déploiement et votre infrastructure pour garantir la disponibilité du service.
  • Configurez des alertes personnalisées en fonction de seuils et d'anomalies spécifiques à votre entreprise pour vous assurer que les problèmes sont identifiés et résolus dans les meilleurs délais.
  • Utilisez des techniques d'IA explicable pour comprendre et interpréter les résultats des modèles.

Développer une culture d'excellence opérationnelle

L'excellence opérationnelle repose sur des personnes, une culture et des pratiques professionnelles. La réussite de votre équipe et de votre entreprise dépend de la manière dont votre organisation implémente des méthodologies permettant de développer rapidement et de manière fiable des fonctionnalités d'IA.

Tenez compte des recommandations suivantes:

  • Promouvoir l'automatisation et la standardisation comme méthodes de développement de base. Simplifiez vos workflows et gérez efficacement le cycle de vie du ML à l'aide de techniques MLOps. Automatisez les tâches pour vous libérer du temps pour l'innovation et standardisez les processus pour assurer la cohérence et faciliter le dépannage.
  • Priorisez l'apprentissage et l'amélioration continus. Promouvoir les opportunités d'apprentissage que les membres de l'équipe peuvent utiliser pour améliorer leurs compétences et se tenir informés des avancées de l'IA et du ML Encouragez l'expérimentation et effectuez des rétrospectives régulières pour identifier les axes d'amélioration.
  • Cultivez une culture de responsabilité et d'appropriation. Définissez des rôles clairs afin que chacun comprenne sa contribution. Permettez aux équipes de prendre des décisions dans les limites et de suivre leur progression à l'aide de métriques transparentes.
  • Intégrer l'éthique et la sécurité de l'IA dans la culture Privilégiez les systèmes responsables en intégrant des considérations éthiques à chaque étape du cycle de vie du ML. Définissez des principes éthiques clairs et encouragez les discussions ouvertes sur les défis éthiques.

Concevoir pour l'évolutivité

Concevez vos solutions d'IA pour gérer les volumes de données et les demandes des utilisateurs croissants. Utilisez une infrastructure évolutive pour que vos modèles puissent s'adapter et fonctionner de manière optimale à mesure que votre projet se développe.

Tenez compte des recommandations suivantes:

  • Planifiez la capacité et les quotas. Anticipez la croissance future et planifiez votre capacité d'infrastructure et vos quotas de ressources en conséquence.
  • Préparez-vous aux pics d'activité. Assurez-vous que votre système peut gérer les pics soudains de trafic ou de charge de travail lors des pics d'activité.
  • Évoluer les applications d'IA pour la production Concevez pour le scaling horizontal afin de faire face à l'augmentation de la charge de travail. Utilisez des frameworks tels que Ray sur Vertex AI pour paralléliser des tâches sur plusieurs machines.
  • Utilisez des services gérés, le cas échéant. Utilisez des services qui vous aident à évoluer tout en réduisant les coûts opérationnels et la complexité des interventions manuelles.

Contributeurs

Auteurs :

Autres contributeurs :

Point de vue de l'IA et du ML: sécurité

Ce document du framework Well-Architected: perspective sur l'IA et le ML présente les principes et les recommandations à suivre pour vous assurer que vos déploiements d'IA et de ML répondent aux exigences de sécurité et de conformité de votre organisation. Les recommandations de ce document sont conformes au pilier de sécurité du Google Cloud framework Well-Architected Framework.

Le déploiement sécurisé des charges de travail d'IA et de ML est une exigence critique, en particulier dans les environnements d'entreprise. Pour répondre à cette exigence, vous devez adopter une approche de sécurité globale qui commence par la conceptualisation initiale de vos solutions d'IA et de ML, et s'étend au développement, au déploiement et aux opérations en cours. Google Cloud propose des outils et des services robustes conçus pour vous aider à sécuriser vos charges de travail d'IA et de ML.

Définir des objectifs et des exigences clairs

Il est plus facile d'intégrer les contrôles de sécurité et de conformité requis au début du processus de conception et de développement que d'ajouter les contrôles après le développement. Dès le début de votre processus de conception et de développement, prenez des décisions adaptées à votre environnement de risque et à vos priorités commerciales spécifiques.

Tenez compte des recommandations suivantes:

  • Identifiez les vecteurs d'attaque potentiels et adoptez une perspective de sécurité et de conformité dès le départ. Lorsque vous concevez et faites évoluer vos systèmes d'IA, gardez un œil sur la surface d'attaque, les risques potentiels et les obligations auxquels vous pourriez être confronté.
  • Alignez vos efforts de sécurité liés à l'IA et au ML sur vos objectifs commerciaux, et assurez-vous que la sécurité fait partie intégrante de votre stratégie globale. Comprendre les effets de vos choix de sécurité sur vos principaux objectifs commerciaux

Protéger les données et éviter leur perte ou leur mauvaise utilisation

Les données sont un élément précieux et sensible qui doit être protégé. La sécurité des données vous aide à maintenir la confiance des utilisateurs, à soutenir vos objectifs commerciaux et à respecter vos exigences de conformité.

Tenez compte des recommandations suivantes:

  • Ne collectez, ne conservez ni n'utilisez pas de données qui ne sont pas strictement nécessaires à vos objectifs commerciaux. Si possible, utilisez des données synthétiques ou entièrement anonymisées.
  • Surveillez la collecte, le stockage et la transformation des données. Gérez les journaux de toutes les activités d'accès et de manipulation des données. Les journaux vous aident à auditer l'accès aux données, à détecter les tentatives d'accès non autorisées et à empêcher les accès indésirables.
  • Implémentez différents niveaux d'accès (par exemple, "Accès refusé", "Lecture seule" ou "Écriture") en fonction des rôles utilisateur. Assurez-vous que les autorisations sont attribuées conformément au principe du moindre privilège. Les utilisateurs ne doivent disposer que des autorisations minimales nécessaires pour accomplir les activités de leur rôle.
  • Implémentez des mesures telles que le chiffrement, les périmètres sécurisés et les restrictions sur le transfert de données. Ces mesures vous aident à éviter l'exfiltration et la perte de données.
  • Protégez vos systèmes d'entraînement de ML contre l'empoisonnement des données.

Protéger les pipelines d'IA contre les accès non autorisés

Votre code d'IA et de ML, ainsi que les pipelines définis par le code, sont des éléments essentiels. Un code non sécurisé peut être falsifié, ce qui peut entraîner des fuites de données, des cas de non-conformité et des perturbations des activités commerciales critiques. Protéger votre code d'IA et de ML permet de garantir l'intégrité et la valeur de vos modèles et de leurs sorties.

Tenez compte des recommandations suivantes:

  • Utilisez des pratiques de codage sécurisé, telles que la gestion des dépendances ou la validation et le nettoyage des entrées, lors du développement du modèle pour éviter les failles.
  • Protégez votre code de pipeline et vos artefacts de modèle, tels que les fichiers, les poids du modèle et les spécifications de déploiement, contre tout accès non autorisé. Implémentez différents niveaux d'accès pour chaque artefact en fonction des rôles et des besoins des utilisateurs.
  • Appliquez la traçabilité et le suivi de vos composants et de vos exécutions de pipeline. Cette application vous aide à respecter les exigences de conformité et à éviter de compromettre les systèmes de production.

Déployer sur des systèmes sécurisés avec des outils et des artefacts sécurisés

Assurez-vous que votre code et vos modèles s'exécutent dans un environnement sécurisé doté d'un système de contrôle des accès robuste avec des garanties de sécurité pour les outils et les artefacts déployés dans l'environnement.

Tenez compte des recommandations suivantes:

  • Entraînez et déployez vos modèles dans un environnement sécurisé doté de contrôles d'accès appropriés et de protections contre toute utilisation ou manipulation non autorisée.
  • Suivez les consignes standards sur les niveaux de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA) pour vos artefacts spécifiques à l'IA, tels que les modèles et les packages logiciels.
  • Privilégiez les images de conteneur prédéfinies validées spécialement conçues pour les charges de travail d'IA.

Protéger et surveiller les entrées

Les systèmes d'IA ont besoin d'informations pour effectuer des prédictions, générer du contenu ou automatiser des actions. Certaines entrées peuvent présenter des risques ou être utilisées comme vecteurs d'attaque qui doivent être détectés et nettoyés. Détecter les entrées potentiellement malveillantes à un stade précoce vous aide à sécuriser vos systèmes d'IA et à les faire fonctionner comme prévu.

Tenez compte des recommandations suivantes:

  • Implémentez des pratiques sécurisées pour développer et gérer les requêtes des systèmes d'IA générative, et assurez-vous qu'elles sont filtrées pour détecter tout comportement malveillant.
  • Surveillez les entrées des systèmes prédictifs ou génératifs pour éviter les problèmes tels que les points de terminaison surchargés ou les requêtes que les systèmes ne sont pas conçus pour gérer.
  • Assurez-vous que seuls les utilisateurs prévus d'un système déployé peuvent l'utiliser.

Surveiller, évaluer et se préparer à répondre aux résultats

Les systèmes d'IA apportent de la valeur, car ils produisent des résultats qui augmentent, optimisent ou automatisent la prise de décision humaine. Pour préserver l'intégrité et la fiabilité de vos systèmes et applications d'IA, vous devez vous assurer que les sorties sont sécurisées et respectent les paramètres attendus. Vous devez également disposer d'un plan de réponse aux incidents.

Tenez compte des recommandations suivantes:

  • Surveillez les résultats de vos modèles d'IA et de ML en production, et identifiez les problèmes de performances, de sécurité et de conformité.
  • Évaluez les performances du modèle en implémentant des métriques et des mesures de sécurité robustes, comme l'identification des réponses génératives hors champ ou des sorties extrêmes dans les modèles prédictifs. Collectez les commentaires des utilisateurs sur les performances du modèle.
  • Implémentez des procédures d'alerte et de gestion des incidents robustes pour résoudre les problèmes potentiels.

Contributeurs

Auteurs :

Autres contributeurs :

Point de vue de l'IA et du ML: fiabilité

Ce document du framework Well-Architected: perspective sur l'IA et le ML fournit un aperçu des principes et des recommandations pour concevoir et exploiter des systèmes d'IA et de ML fiables sur Google Cloud. Il explique comment intégrer des pratiques de fiabilité et d'observabilité avancées dans vos plans d'architecture. Les recommandations de ce document sont conformes au pilier de fiabilité du Google Cloud framework Well-Architected Framework.

Dans le paysage de l'IA et du ML en pleine évolution, des systèmes fiables sont essentiels pour assurer la satisfaction des clients et atteindre les objectifs commerciaux. Vous avez besoin de systèmes d'IA et de ML robustes, fiables et adaptables pour répondre aux exigences uniques du ML prédictif et de l'IA générative. Pour gérer la complexité des MLOps, du développement au déploiement et à l'amélioration continue, vous devez adopter une approche axée sur la fiabilité. Google Cloud propose une infrastructure d'IA conçue à cet effet, qui est conforme aux principes de l'ingénierie de la fiabilité des sites (SRE) et constitue une base solide pour des systèmes d'IA et de ML fiables.

Assurer que l'infrastructure est évolutive et hautement disponible

En concevant une architecture axée sur l'évolutivité et la disponibilité, vous permettez à vos applications de gérer différents niveaux de demande sans interruption de service ni dégradation des performances. Cela signifie que vos services d'IA restent disponibles pour les utilisateurs en cas d'indisponibilité de l'infrastructure et lorsque le trafic est très élevé.

Tenez compte des recommandations suivantes:

  • Concevez vos systèmes d'IA avec des fonctionnalités de scaling automatique et dynamique pour gérer les fluctuations de la demande. Cela permet de garantir des performances optimales, même en cas de pics de trafic.
  • Gérez les ressources de manière proactive et anticipez les besoins futurs grâce aux tests de charge et à la surveillance des performances. Utilisez les données historiques et les analyses prédictives pour prendre des décisions éclairées sur l'allocation des ressources.
  • Concevez pour une haute disponibilité et une tolérance aux pannes en adoptant les archétypes de déploiement multizone et multirégion dans Google Cloud et en implémentant la redondance et la réplication.
  • Répartissez le trafic entrant sur plusieurs instances de vos services et points de terminaison d'IA et de ML. L'équilibrage de charge permet d'éviter la surcharge d'une instance et de garantir des performances et une disponibilité cohérentes.

Utiliser une architecture modulaire et faiblement couplée

Pour rendre vos systèmes d'IA résilients aux défaillances de composants individuels, utilisez une architecture modulaire. Par exemple, concevez les composants de traitement et de validation des données en tant que modules distincts. Lorsqu'un composant particulier échoue, l'architecture modulaire permet de réduire les temps d'arrêt et de développer et de déployer des correctifs plus rapidement.

Tenez compte des recommandations suivantes:

  • Séparez votre système d'IA et de ML en petits modules ou composants autonomes. Cette approche favorise la réutilisation du code, simplifie les tests et la maintenance, et vous permet de développer et de déployer des composants individuels de manière indépendante.
  • Concevez les modules faiblement couplés avec des interfaces bien définies. Cette approche minimise les dépendances et vous permet d'apporter des mises à jour et des modifications indépendantes sans affecter l'ensemble du système.
  • Planifiez la dégradation élégante. Lorsqu'un composant échoue, les autres parties du système doivent continuer à fournir un niveau de fonctionnalité adéquat.
  • Utilisez des API pour créer des limites claires entre les modules et masquer les détails d'implémentation au niveau du module. Cette approche vous permet de mettre à jour ou de remplacer des composants individuels sans affecter les interactions avec d'autres parties du système.

Créer une plate-forme MLOps automatisée

Avec une plate-forme MLOps automatisée, les étapes et les résultats du cycle de vie de votre modèle sont plus fiables. En promouvant la cohérence, l'association lâche et la modularité, et en exprimant les opérations et l'infrastructure en tant que code, vous supprimez les étapes manuelles fragiles et gérez des systèmes d'IA et de ML plus robustes et fiables.

Tenez compte des recommandations suivantes:

  • Automatisez le cycle de vie du développement du modèle, de la préparation et de la validation des données à l'entraînement, à l'évaluation, au déploiement et à la surveillance du modèle.
  • Gérez votre infrastructure en tant que code (IaC). Cette approche permet un contrôle des versions efficace, des rollbacks rapides si nécessaire et des déploiements reproductibles.
  • Vérifiez que vos modèles se comportent comme prévu avec des données pertinentes. Automatisez la surveillance des performances de vos modèles et créez des alertes appropriées pour les sorties inattendues.
  • Validez les entrées et les sorties de vos pipelines d'IA et de ML. Par exemple, validez les données, les configurations, les arguments de commande, les fichiers et les prédictions. Configurer des alertes pour les valeurs inattendues ou non autorisées
  • Adoptez une stratégie de contrôle des versions gérée pour les points de terminaison de vos modèles. Ce type de stratégie permet des versions incrémentielles et une récupération rapide en cas de problème.

Maintenir la confiance et le contrôle grâce à la gouvernance des données et des modèles

La fiabilité des systèmes d'IA et de ML dépend des fonctionnalités de confiance et de gouvernance de vos données et de vos modèles. Les sorties d'IA peuvent ne pas répondre aux attentes de manière silencieuse. Par exemple, les sorties peuvent être formellement cohérentes, mais elles peuvent être incorrectes ou indésirables. En implémentant la traçabilité et une gouvernance stricte, vous pouvez vous assurer que les résultats sont fiables.

Tenez compte des recommandations suivantes:

  • Utilisez un catalogue de données et de modèles pour suivre et gérer efficacement vos composants. Pour faciliter le traçage et les audits, conservez un enregistrement complet des données et des versions de modèle tout au long du cycle de vie.
  • Implémentez des contrôles d'accès et des journaux d'audit stricts pour protéger les données et les modèles sensibles.
  • Abordez le problème crucial des biais dans l'IA, en particulier dans les applications d'IA générative. Pour gagner la confiance des utilisateurs, recherchez la transparence et l'explicabilité dans les sorties du modèle.
  • Automatisez la génération de statistiques sur les fonctionnalités et implémentez la détection d'anomalies pour identifier de manière proactive les problèmes de données. Pour garantir la fiabilité du modèle, établissez des mécanismes permettant de détecter et d'atténuer l'impact des modifications des distributions de données.

Implémenter des pratiques d'observabilité et de fiabilité globales pour l'IA et le ML

Pour améliorer en continu vos opérations d'IA, vous devez définir des objectifs de fiabilité pertinents et mesurer les progrès. L'observabilité est un élément fondamental des systèmes fiables. L'observabilité vous permet de gérer les opérations en cours et les événements critiques. Une observabilité bien implémentée vous aide à créer et à gérer un service fiable pour vos utilisateurs.

Tenez compte des recommandations suivantes:

  • Suivez les métriques d'infrastructure pour les processeurs (CPU, GPU et TPU) et pour d'autres ressources telles que l'utilisation de la mémoire, la latence réseau et l'utilisation du disque. Effectuez des tests de charge et une surveillance des performances. Utilisez les résultats des tests et les métriques de surveillance pour gérer l'ajustement et la capacité de vos systèmes d'IA et de ML.
  • Définissez des objectifs de fiabilité et suivez les métriques de l'application. Mesurez des métriques telles que le débit et la latence des applications d'IA que vous créez. Surveillez les schémas d'utilisation de vos applications et des points de terminaison exposés.
  • Définissez des métriques spécifiques au modèle, comme des indicateurs de précision ou de sécurité, afin d'évaluer la fiabilité du modèle. Suivez ces métriques au fil du temps pour identifier toute dérive ou dégradation. Pour un contrôle des versions et une automatisation efficaces, définissez les configurations de surveillance en tant que code.
  • Définissez et suivez des métriques au niveau de l'entreprise pour comprendre l'impact de vos modèles et de leur fiabilité sur les résultats commerciaux. Pour mesurer la fiabilité de vos services d'IA et de ML, envisagez d'adopter l'approche SRE et de définir des objectifs de niveau de service (SLO).

Contributeurs

Auteurs :

Autres contributeurs :

Point de vue de l'IA et du ML: optimisation des coûts

Ce document du framework Well-Architected: perspective sur l'IA et le ML fournit un aperçu des principes et des recommandations pour optimiser les coûts de vos systèmes d'IA tout au long du cycle de vie du ML. En adoptant une approche proactive et éclairée de la gestion des coûts, votre organisation peut exploiter tout le potentiel des systèmes d'IA et de ML, tout en maintenant une discipline financière. Les recommandations de ce document s'alignent sur le pilier d'optimisation des coûts du Google Cloud framework Well-Architected Framework.

Les systèmes d'IA et de ML peuvent vous aider à dégager des insights et des capacités prédictives à partir de données. Par exemple, vous pouvez réduire les frictions dans les processus internes, améliorer l'expérience utilisateur et obtenir des insights plus précis sur les clients. Le cloud offre d'immenses quantités de ressources et un délai de retour sur investissement rapide, sans investissement initial important pour les charges de travail d'IA et de ML. Pour maximiser la valeur ajoutée et aligner les dépenses sur vos objectifs commerciaux, vous devez comprendre les moteurs de coûts, optimiser de manière proactive les coûts, configurer des contrôles des dépenses et adopter des pratiques de FinOps.

Définir et mesurer les coûts et les retours

Pour gérer efficacement vos coûts d'IA et de ML dans Google Cloud, vous devez définir et mesurer les dépenses liées aux ressources cloud et la valeur commerciale de vos initiatives d'IA et de ML. Google Cloud fournit des outils complets pour la facturation et la gestion des coûts afin de vous aider à suivre les dépenses de manière détaillée. Les métriques de valeur commerciale que vous pouvez mesurer incluent la satisfaction client, les revenus et les coûts opérationnels. En établissant des métriques concrètes pour les coûts et la valeur commerciale, vous pouvez prendre des décisions éclairées sur l'allocation et l'optimisation des ressources.

Tenez compte des recommandations suivantes:

  • Définissez des objectifs commerciaux et des indicateurs clés de performance (KPI) clairs pour vos projets d'IA et de ML.
  • Utilisez les informations de facturation fournies par Google Cloud pour mettre en œuvre des processus de surveillance et de création de rapports sur les coûts qui peuvent vous aider à attribuer les coûts à des activités d'IA et de ML spécifiques.
  • Établissez des tableaux de bord, des systèmes d'alerte et de création de rapports pour suivre les coûts et les retours par rapport aux KPI.

Optimiser l'allocation des ressources

Pour optimiser les coûts de vos charges de travail d'IA et de ML dans Google Cloud, vous devez optimiser l'allocation des ressources. En alignant soigneusement l'allocation des ressources sur les besoins de vos charges de travail, vous pouvez éviter les dépenses inutiles et vous assurer que vos systèmes d'IA et de ML disposent des ressources dont ils ont besoin pour fonctionner de manière optimale.

Tenez compte des recommandations suivantes:

  • Utilisez l'autoscaling pour ajuster de manière dynamique les ressources d'entraînement et d'inférence.
  • Commencez par de petits modèles et de petites données. Réalisez des économies en testant des hypothèses à plus petite échelle lorsque cela est possible.
  • Découvrez vos besoins en calcul grâce à des tests. Adaptez les ressources utilisées pour l'entraînement et le traitement en fonction de vos exigences en termes de ML.
  • Adoptez des pratiques MLOps pour réduire les doublons, les processus manuels et l'allocation inefficace des ressources.

Appliquer des pratiques de gestion et de gouvernance des données

Des pratiques de gestion et de gouvernance des données efficaces jouent un rôle essentiel dans l'optimisation des coûts. Les données bien organisées aident votre organisation à éviter les duplications inutiles, réduisent les efforts nécessaires pour obtenir des données de haute qualité et encouragent les équipes à réutiliser les ensembles de données. En gérant de manière proactive les données, vous pouvez réduire les coûts de stockage, améliorer la qualité des données et vous assurer que vos modèles de ML sont entraînés et fonctionnent sur les données les plus pertinentes et les plus intéressantes.

Tenez compte des recommandations suivantes:

  • Établir et adopter un cadre de gouvernance des données bien défini.
  • Appliquez des libellés et des métadonnées pertinentes aux ensembles de données au moment de l'ingestion des données.
  • Assurez-vous que les ensembles de données sont visibles et accessibles dans l'ensemble de l'organisation.
  • Dans la mesure du possible, rendez vos ensembles de données et vos fonctionnalités réutilisables tout au long du cycle de vie du ML.

Automatiser et simplifier avec le MLOps

L'un des principaux avantages de l'adoption de pratiques MLOps est la réduction des coûts, à la fois d'un point de vue technologique et en termes d'activités du personnel. L'automatisation vous aide à éviter la duplication des activités de ML et à améliorer la productivité des data scientists et des ingénieurs en ML.

Tenez compte des recommandations suivantes:

  • Augmentez le niveau d'automatisation et de standardisation de vos technologies de collecte et de traitement des données pour réduire les efforts et le temps de développement.
  • Développez des pipelines d'entraînement automatisés pour réduire le besoin d'interventions manuelles et augmenter la productivité des ingénieurs. Implémentez des mécanismes permettant aux pipelines de réutiliser des éléments existants tels que des ensembles de données préparés et des modèles entraînés.
  • Utilisez les services d'évaluation et de réglage du modèle dans Google Cloud pour améliorer les performances du modèle avec moins d'itérations. Vos équipes chargées de l'IA et du ML peuvent ainsi atteindre plus d'objectifs en moins de temps.

Utiliser des services gérés et des modèles pré-entraînés ou existants

Il existe de nombreuses approches pour atteindre vos objectifs commerciaux à l'aide de l'IA et du ML. Adoptez une approche incrémentielle pour la sélection et le développement de modèles. Cela vous permet d'éviter les coûts excessifs associés au fait de repartir à zéro à chaque fois. Pour contrôler les coûts, commencez par une approche simple: utilisez des frameworks de ML, des services gérés et des modèles pré-entraînés.

Tenez compte des recommandations suivantes:

  • Effectuez des tests de ML exploratoires et rapides à l'aide d'environnements de notebook.
  • Utilisez des modèles existants et pré-entraînés comme point de départ pour accélérer votre processus de sélection et de développement de modèles.
  • Utilisez des services gérés pour entraîner ou diffuser vos modèles. AutoML et les services d'entraînement de modèles personnalisés gérés peuvent tous deux contribuer à réduire les coûts d'entraînement des modèles. Les services gérés peuvent également vous aider à réduire le coût de votre infrastructure de déploiement de modèles.

Favoriser une culture de sensibilisation aux coûts et d'optimisation continue

Cultivez un environnement collaboratif qui encourage la communication et les examens réguliers. Cette approche aide les équipes à identifier et à mettre en œuvre des opportunités d'économies tout au long du cycle de vie du ML.

Tenez compte des recommandations suivantes:

  • Adoptez les principes FinOps tout au long du cycle de vie du ML.
  • Assurez-vous que tous les coûts et avantages commerciaux des projets d'IA et de ML sont attribués à des propriétaires responsables.

Contributeurs

Auteurs :

Autres contributeurs :

Point de vue de l'IA et du ML: optimisation des performances

Ce document du framework Well-Architected: perspective sur l'IA et le ML présente les principes et les recommandations qui vous aideront à optimiser les performances de vos charges de travail d'IA et de ML sur Google Cloud. Les recommandations de ce document sont conformes au pilier d'optimisation des performances du Google Cloud framework Well-Architected Framework.

Les systèmes d'IA et de ML offrent de nouvelles fonctionnalités d'automatisation et de prise de décision à votre organisation. Les performances de ces systèmes peuvent avoir un impact direct sur vos moteurs d'activité, tels que les revenus, les coûts et la satisfaction client. Pour exploiter tout le potentiel de vos systèmes d'IA et de ML, vous devez optimiser leurs performances en fonction de vos objectifs commerciaux et de vos exigences techniques. Le processus d'optimisation des performances implique souvent certains compromis. Par exemple, un choix de conception qui fournit les performances requises peut entraîner des coûts plus élevés. Les recommandations de ce document donnent la priorité aux performances par rapport à d'autres considérations, comme les coûts.

Pour optimiser les performances de l'IA et du ML, vous devez prendre des décisions concernant des facteurs tels que l'architecture du modèle, les paramètres et la stratégie d'entraînement. Lorsque vous prenez ces décisions, tenez compte de l'ensemble du cycle de vie des systèmes d'IA et de ML, ainsi que de leur environnement de déploiement. Par exemple, les LLM très volumineux peuvent être très performants sur une infrastructure d'entraînement massive, mais les modèles très volumineux peuvent ne pas fonctionner correctement dans des environnements à capacité limitée, comme les appareils mobiles.

Traduire vos objectifs d'entreprise en objectifs de performances

Pour prendre des décisions d'architecture qui optimisent les performances, commencez par définir un ensemble clair d'objectifs commerciaux. Concevez des systèmes d'IA et de ML qui fournissent les performances techniques requises pour répondre à vos objectifs et priorités commerciaux. Vos équipes techniques doivent comprendre la mise en correspondance entre les objectifs de performance et les objectifs commerciaux.

Tenez compte des recommandations suivantes:

  • Traduire les objectifs métier en exigences techniques : traduisez les objectifs métier de vos systèmes d'IA et de ML en exigences techniques de performances spécifiques, et évaluez les conséquences de ne pas les respecter. Par exemple, pour une application qui prédit la perte de clients, le modèle de ML doit bien fonctionner avec les métriques standards, comme la précision et le rappel, et l'application doit répondre aux exigences opérationnelles, comme une faible latence.
  • Surveillez les performances à toutes les étapes du cycle de vie du modèle: lors de l'expérimentation et de l'entraînement après le déploiement du modèle, surveillez vos indicateurs clés de performance (KPI) et observez toute déviation par rapport aux objectifs commerciaux.
  • Automatisez l'évaluation pour la rendre reproductible et standardisée: avec une plate-forme et une méthodologie standardisées et comparables pour l'évaluation des tests, vos ingénieurs peuvent accélérer l'amélioration des performances.

Exécuter et suivre des tests fréquents

Pour transformer l'innovation et la créativité en améliorations des performances, vous avez besoin d'une culture et d'une plate-forme qui favorisent l'expérimentation. L'amélioration des performances est un processus continu, car les technologies d'IA et de ML évoluent de manière continue et rapide. Pour maintenir un processus itératif rapide, vous devez séparer l'espace d'expérimentation de vos plates-formes de formation et de diffusion. Il est important de mettre en place un processus d'expérimentation standardisé et efficace.

Tenez compte des recommandations suivantes:

  • Créer un environnement d'expérimentation: les améliorations des performances nécessitent un environnement dédié, puissant et interactif qui prend en charge l'expérimentation et le développement collaboratif des pipelines de ML.
  • Intégrez l'expérimentation comme culture: effectuez des tests avant tout déploiement en production. Publiez de nouvelles versions de manière iterative et collectez toujours des données sur les performances. Testez différents types de données, transformations de fonctionnalités, algorithmes et hyperparamètres.

Créer et automatiser des services d'entraînement et de diffusion

L'entraînement et la diffusion de modèles d'IA sont des composants essentiels de vos services d'IA. Vous avez besoin de plates-formes et de pratiques robustes qui permettent de créer, de déployer et de diffuser des modèles d'IA de manière rapide et fiable. Investissez du temps et des efforts pour créer des plates-formes de base pour vos tâches d'entraînement et de diffusion d'IA de base. Ces plates-formes de base permettent de réduire le temps et les efforts de vos équipes, et d'améliorer la qualité des résultats à moyen et long terme.

Tenez compte des recommandations suivantes:

  • Utiliser les composants spécialisés en IA d'un service d'entraînement: ces composants incluent des composants de calcul hautes performances et de MLOps tels que des magasins de fonctionnalités, des registres de modèles, des magasins de métadonnées et des services d'évaluation des performances des modèles.
  • Utiliser les composants spécialisés en IA d'un service de prédiction: ces composants fournissent des ressources évolutives et hautes performances, prennent en charge la surveillance des fonctionnalités et permettent de surveiller les performances des modèles. Pour éviter et gérer la dégradation des performances, implémentez des stratégies de déploiement et de rollback fiables.

Adapter les choix de conception aux exigences de performances

Lorsque vous faites des choix de conception pour améliorer les performances, évaluez attentivement si ces choix répondent à vos exigences métier ou s'ils sont inutiles et contre-productifs. Pour choisir l'infrastructure, les modèles ou les configurations appropriés, identifiez les goulots d'étranglement des performances et évaluez leur lien avec vos mesures de performances. Par exemple, même sur des accélérateurs GPU très puissants, vos tâches d'entraînement peuvent rencontrer des goulots d'étranglement de performances en raison de problèmes d'E/S de données de la couche de stockage ou de limitations de performances du modèle lui-même.

Tenez compte des recommandations suivantes:

  • Optimiser la consommation matérielle en fonction des objectifs de performances: pour entraîner et diffuser des modèles de ML qui répondent à vos exigences de performances, vous devez optimiser l'infrastructure au niveau des couches de calcul, de stockage et de réseau. Vous devez mesurer et comprendre les variables qui affectent vos objectifs de performances. Ces variables sont différentes pour l'entraînement et l'inférence.
  • Concentrez-vous sur les exigences spécifiques à la charge de travail: concentrez vos efforts d'optimisation des performances sur les exigences uniques de vos charges de travail d'IA et de ML. Appuyez-vous sur des services gérés pour les performances de l'infrastructure sous-jacente.
  • Choisissez des stratégies d'entraînement appropriées: plusieurs modèles de base et pré-entraînés sont disponibles, et d'autres modèles de ce type sont régulièrement publiés. Choisissez une stratégie d'entraînement qui peut offrir des performances optimales pour votre tâche. Décidez si vous devez créer votre propre modèle, ajuster un modèle pré-entraîné sur vos données ou utiliser une API de modèle pré-entraîné.
  • Reconnaître que les stratégies d'optimisation des performances peuvent avoir des rendements décroissants: lorsqu'une stratégie d'optimisation des performances particulière ne génère pas de valeur commerciale incrémentielle mesurable, arrêtez de la suivre.

Pour innover, résoudre les problèmes et examiner les problèmes de performances, établissez un lien clair entre les choix de conception et les résultats de performances. En plus de l'expérimentation, vous devez enregistrer de manière fiable la lignée de vos composants, déploiements, sorties de modèle, ainsi que les configurations et les entrées qui ont généré les sorties.

Tenez compte des recommandations suivantes:

  • Créez un système de généalogie des données et des modèles: tous vos composants déployés et leurs métriques de performances doivent être associés aux données, aux configurations, au code et aux choix qui ont abouti aux systèmes déployés. En outre, les sorties du modèle doivent être associées à des versions de modèle spécifiques et à la manière dont les sorties ont été produites.
  • Utiliser des outils d'explicabilité pour améliorer les performances des modèles: adoptez et standardisez des outils et des benchmarks pour l'exploration et l'explicabilité des modèles. Ces outils aident vos ingénieurs ML à comprendre le comportement du modèle et à améliorer ses performances ou à supprimer les biais.

Contributeurs

Auteurs :

Autres contributeurs :