Présentation
Kubernetes peut assurer la cohérence de la portabilité, de l'évolutivité et de la reproductibilité du code dans divers environnements, un avantage clé pour les charges de travail d'intelligence artificielle (IA) et d'apprentissage automatique (AA). Kubernetes est une plateforme Open Source qui automatise l'exploitation des conteneurs Linux en éliminant de nombreux processus manuels associés au déploiement et à la mise à l'échelle des applications conteneurisées. La technologie Kubernetes est essentielle pour rationaliser le cycle de vie de l'IA/AA, car elle offre aux équipes de science des données l'agilité, la flexibilité, la portabilité et l'évolutivité dont elles ont besoin pour entraîner, tester et déployer des modèles d'AA.
Rôle des conteneurs dans le développement de l'IA/AA
Lors de l'assemblage d'applications axées sur l'apprentissage automatique, le workflow suivi n'est généralement pas linéaire, et les étapes de recherche, de développement et de production évoluent constamment dans le cadre de l'approche CI/CD (intégration et distribution continues). Les phases d'assemblage, de test, de fusion et de déploiement de données, d'algorithmes et de versions d'une application génèrent de nombreuses variables, ce qui complique la gestion. C'est là que les conteneurs entrent en jeu.
Les conteneurs sont une technologie Linux qui permet de mettre en paquet et d'isoler des applications ainsi que toutes les bibliothèques et dépendances nécessaires à leur exécution. Les conteneurs ont uniquement besoin de composants spécifiques pour fonctionner, ce qui les rend légers et portables. Les équipes d'exploitation peuvent ainsi déployer des applications plus facilement, tandis que les équipes de développement sont sûres que leurs applications s'exécuteront de manière identique sur d'autres plateformes ou systèmes d'exploitation.
En outre, les conteneurs aident à limiter les conflits entre les équipes en séparant les responsabilités de chacune : lorsque les équipes de développement peuvent concentrer leur attention sur les applications et les équipes d'exploitation sur l'infrastructure, du nouveau code peut être intégré plus facilement et efficacement à une application au fil de son développement et de son évolution tout au long du cycle de vie.
Ressources Red Hat
Avantages de Kubernetes pour les charges de travail d'IA/AA
Évolutivité : avec Kubernetes, il est possible de mettre à l'échelle les charges de travail d'AA en fonction de la demande. Les pipelines d'apprentissage automatique prendront en charge le traitement et l'entraînement à grande échelle, sans interférer avec les autres éléments du projet.
Efficacité : Kubernetes optimise l'allocation des ressources en ordonnançant les charges de travail sur les nœuds en fonction de leur disponibilité et de leur capacité. L'utilisation optimale des ressources de calcul entraîne une réduction des coûts et une amélioration des performances.
Portabilité : Kubernetes fournit un environnement standardisé et indépendant de toute plateforme qui permet aux équipes de science des données de développer un seul et unique modèle d'AA pouvant être déployé dans plusieurs environnements et sur plusieurs plateformes cloud. Cette approche leur évite tout problème de compatibilité et toute dépendance vis-à-vis d'un fournisseur.
Tolérance aux pannes : grâce aux fonctionnalités de tolérance aux pannes et de réparation automatique intégrées à Kubernetes, les pipelines d'AA continuent de s'exécuter même en cas de défaillance matérielle ou logicielle.
Déploiement de modèles d'AA sur Kubernetes
Le cycle de vie de l'apprentissage automatique se compose d'éléments variés dont l'exploitation et la maintenance demanderaient beaucoup de temps et de ressources s'ils étaient gérés séparément. Avec une architecture Kubernetes, les entreprises peuvent automatiser des parties du cycle de vie de l'AA et éviter ainsi toute intervention manuelle pour gagner en efficacité.
Les équipes de développement peuvent s'appuyer sur des outils tels que Kubeflow pour rationaliser et exécuter les charges de travail d'AA entraînées sur Kubernetes. Kubeflow permet de surmonter de nombreuses difficultés liées à l'orchestration des pipelines d'apprentissage automatique grâce à un ensemble d'outils et d'API qui simplifient le processus d'entraînement des modèles d'AA ainsi que leur déploiement à grande échelle. De plus, Kubeflow aide à standardiser et organiser les étapes du MLOps.
Nos solutions
Si Kubernetes peut aider à rationaliser les charges de travail d'IA/AA, il faudra toutefois quand même adopter une plateforme pour l'expérimentation, la mise à disposition des modèles et la distribution des applications.
Notre gamme de produits Red Hat® AI repose sur des solutions que nos clients utilisent déjà en toute confiance. C'est ce qui permet à nos produits de rester fiables, flexibles et évolutifs.
Red Hat AI offre les avantages suivants :
- Accélération de l'adoption de l'IA et de l'innovation
- Simplification de la distribution des solutions d'IA
- Possibilité de déploiement dans tous les environnements
Flexibilité pendant la mise à l'échelle
Red Hat AI inclut Red Hat OpenShift® AI, une plateforme MLOps intégrée qui permet de gérer le cycle de vie des modèles d'IA générative et prédictive.
Sur la base de cette plateforme d'IA, les équipes peuvent assembler, entraîner, déployer et surveiller des charges de travail d'IA/AA dans des datacenters sur site ou au plus près des données. Il leur est ainsi plus facile de faire évoluer les processus d'exploitation vers le cloud ou vers la périphérie du réseau si nécessaire.
L'association de Kubernetes et des solutions Red Hat AI permet de distribuer des applications d'IA avec agilité dans les environnements de cloud hybride.
Modèle de solution : applications d'IA avec Red Hat et NVIDIA AI Enterprise
Créer une application RAG
Red Hat OpenShift AI est une plateforme qui sert à réaliser des projets de science des données et à distribuer des applications basées sur l'IA. Il est possible d'intégrer tous les outils nécessaires pour prendre en charge la génération augmentée de récupération (RAG), qui permet d'obtenir des réponses d'une IA basées sur des documents de référence spécifiques. L'association d'OpenShift AI et de NVIDIA AI Enterprise permet d'utiliser des grands modèles de langage (LLM) afin de trouver le modèle optimal pour chaque application.
Concevoir un pipeline pour les documents
Pour tirer parti de la RAG, il faut commencer par ajouter des documents dans une base de données vectorielle. Dans notre exemple d'application, nous intégrons un ensemble de documents relatifs à des produits dans une base de données Redis. Comme ces documents changent fréquemment, nous avons créé un pipeline qui sera exécuté régulièrement pour ce processus afin de garantir que l'IA disposera toujours des dernières versions des documents.
Découvrir le catalogue de LLM
NVIDIA AI Enterprise donne accès à un catalogue varié de LLM. Il est donc possible de tester plusieurs modèles et de sélectionner celui qui offre les meilleurs résultats. Les modèles sont hébergés dans le catalogue d'API de NVIDIA. Une fois le jeton textuel API configuré, il est possible de déployer un modèle directement à partir d'OpenShift AI, en utilisant la plateforme de mise à disposition des modèles NVIDIA NIM.
Choisir le modèle le plus adapté
Lors du test de différents LLM, les utilisateurs peuvent noter chaque réponse générée. Il est possible de configurer un tableau de bord de surveillance Grafana pour comparer les notes ainsi que la latence et le temps de réponse pour chaque modèle. Ensuite, ces données peuvent être utilisées pour choisir le meilleur LLM à utiliser en production.

15 bonnes raisons d'adopter Red Hat OpenShift Virtualization
Découvrez comment Red Hat OpenShift Virtualization peut unifier et simplifier vos processus d'exploitation informatique, avec une plateforme unique pour les machines virtuelles et les conteneurs.