Ce document du framework d'architecture: 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 framework d'architecture.
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 une incidence directe 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 commerciaux 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 fournit pas de valeur commerciale incrémentielle mesurable, arrêtez de la suivre.
Associer les métriques de performances aux choix de conception et de configuration
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 :
- Benjamin Sadik | Ingénieur client spécialiste de l'IA et du ML
- Dr Felipe Gracio | Ingénieur client
Autres contributeurs :
- Kumar Dhanagopal Développeur de solutions multiproduits
- Marwan Al Shawi | Partner Customer Engineer
- Zach Seils | Spécialiste en gestion des réseaux