Le framework llm-d, qu'est-ce que c'est ?

Copier l'URL

llm-d est un framework Open Source natif pour Kubernetes qui accélère l'inférence distribuée des grands modèles de langage (LLM) à grande échelle. 

Ce framework augmente la vitesse de traitement des requêtes complexes impliquant de gros volumes de données que reçoivent les modèles d'IA. 

llm-d a été créé par Google, NVIDIA, IBM Research et CoreWeave. Il existe une communauté Open Source llm-d qui publie des mises à jour pour améliorer cette technologie.

Accélérer l'inférence avec Red Hat AI

Comprendre l'importance de l'inférence

Les instructions génératives des LLM peuvent s'avérer complexes et hétérogènes. Elles nécessitent, en général, d'importantes ressources de calcul et de stockage pour traiter de gros volumes de données. 

Le framework llm-d présente une architecture modulaire qui est capable de répondre aux exigences croissantes en ressources des grands modèles de raisonnement sophistiqués tels que les LLM

Dans ce type d'architecture, les différentes parties de la charge de travail d'IA peuvent fonctionner ensemble ou indépendamment, selon les besoins du modèle. C'est ce qui permet d'accélérer l'inférence des modèles.

On pourrait comparer llm-d à un marathon : chaque coureur avance à son propre rythme. Tous franchissent la ligne d'arrivée à des moments différents, quand ils sont prêts. S'ils devaient terminer la course tous ensemble, ils devraient tenir compte des besoins uniques de chacun, comme l'endurance, l'hydratation ou le temps d'entraînement. Cette contrainte compliquerait le déroulement de la course. 

Dans une architecture modulaire, chaque élément du processus d'inférence peut fonctionner à son rythme, pour obtenir le meilleur résultat le plus rapidement possible. Ce type d'architecture permet aussi de corriger ou mettre à jour plus facilement des processus spécifiques, de manière indépendante.

Grâce à cette méthode de traitement des modèles, llm-d peut gérer les exigences de l'inférence des LLM à grande échelle. Aussi, les utilisateurs ne sont plus limités à un seul serveur et peuvent appliquer l'inférence d'IA générative à l'échelle de l'entreprise.

En savoir plus sur l'inférence distribuée  

Voici les éléments de l'architecture modulaire de llm-d : 

  • Kubernetes : plateforme Open Source d'orchestration des conteneurs qui automatise de nombreux processus manuels associés au déploiement, à la gestion et à la mise à l'échelle des applications conteneurisées.
  • vLLM : serveur d'inférence Open Source qui accélère le fonctionnement des applications d'IA générative.
  • Inference Gateway (IGW) : extension de l'API Gateway de Kubernetes qui héberge des fonctions telles que le routage des modèles, la priorité de mise à disposition et des capacités d'équilibrage de charge « intelligent ». 

Cette architecture modulaire et accessible fait de llm-d une plateforme idéale pour l'inférence distribuée des LLM à grande échelle.

Mettre en œuvre l'IA

4 principes clés à prendre en compte pour mettre en œuvre des technologies d'IA

Les schémas bien définis sont des modèles ou stratégies spécifiques qui permettent de mettre en œuvre l'inférence distribuée à grande échelle avec llm-d. Ils sont reproductibles et ont été testés par la communauté Open Source llm-d. En voici quelques exemples :

  • Ordonnancement intelligent des opérations d'inférence : ce processus gère les décisions nuancées dans le routage des jetons textuels. Les capacités de routage sensible aux jetons textuels (ou équilibrage de charge « intelligent ») prennent en compte le cache des paires clé-valeur, la latence, la modularité et l'observabilité du modèle pour mettre en œuvre des algorithmes d'évaluation et de filtrage qui accélèrent l'inférence.
  • Désagrégation des services de préremplissage et de décodage : le préremplissage (traitement des instructions génératives) et le décodage (génération de jetons textuels) imposent différentes exigences de calcul aux serveurs d'inférence. Lorsque ces deux opérations sont séparées, chacune peut être exécutée et mise à l'échelle indépendamment. Ainsi, les problèmes isolés tels que les goulets d'étranglement liés à la latence n'affectent pas tous les modèles à la fois.
  • Parallélisme étendu des experts : la technique d'apprentissage MoE (Mixture of Experts) forme des modèles spécialisés capables de traiter individuellement les instructions génératives. Au lieu d'utiliser un modèle unique et dense qui exploite l'ensemble de sa base de données pour répondre à chaque instruction générative, llm-d identifie le modèle « expert » le plus adapté pour y répondre. Cette approche, semblable à la fonction de recherche d'un mot dans un texte, accélère l'inférence et optimise l'utilisation des GPU.

Outre les schémas bien définis, llm-d utilise différents outils pour améliorer l'inférence :

  • Routage sensible aux jetons textuels : les besoins de calcul spécifiques d'un jeton textuel influent sur son routage pendant l'inférence. Le chemin qu'il suivra dépend de la longueur du jeton, de la taille de la file d'attente et des prédictions de résultats du cache afin de réduire la latence et les interruptions. 

    Pour reprendre la comparaison avec le marathon, un coureur plus lent (modèle complexe) peut emprunter un chemin moins pénible (équilibrage de charge intelligent) pour franchir la ligne d'arrivée (inférence) le plus rapidement possible.

    Comprendre l'importance de l'inférence

  • Cache clé-valeur partagé et réutilisation : le cache clé-valeur partagé détecte les jetons textuels identiques afin d'accélérer le décodage de chaque paire clé-valeur. 

    Par exemple, une instruction générative qui demande la capitale de la France sera découpée en deux jetons textuels : « Quelle est la capitale » et « de la France ». Lorsque le modèle reçoit une instruction générative sur la capitale d'un autre pays (« Quelle est la capitale de l'Allemagne ? »), il sait déjà comment traiter le premier jeton textuel (« Quelle est la capitale ») puisqu'il l'a déjà décodé. Cette approche évite la redondance des calculs de préremplissage, accélère l'inférence et réduit l'usage de la mémoire GPU pour répondre à chaque requête.
  • Déploiement modulaire et observabilité : ces techniques assurent la surveillance, l'évolutivité et la mise à jour des modèles modulaires indépendamment les uns des autres. Au lieu d'une « boîte noire » qui limite la visibilité, la flexibilité modulaire fournit des informations sur chaque partie du framework. C'est ce qui permet d'accélérer l'ajustement des modèles et d'aligner les charges de travail d'IA sur les pratiques courantes du DevOps et du GitOps

 

Puisque llm-d est Open Source, ses fonctionnalités dépendent de différents facteurs et de plusieurs collaborations. Voici ses principaux composants : 

  • Framework natif pour Kubernetes : llm-d est conçu pour fonctionner au sein d'une plateforme Kubernetes et tirer parti de tous ses avantages. Il est très accessible, car il est compatible avec les plateformes distribuées basées sur Kubernetes (telles que Red Hat® OpenShift®). Cette approche native pour Kubernetes fournit la couche de politiques, de sécurité et d'observabilité nécessaire pour appliquer l'inférence d'IA générative à toute l'entreprise.
  • Inférence distribuée des LLM : ce processus répartit une requête d'inférence complexe entre plusieurs serveurs et appareils d'edge computing. Chaque fonction travaille ensuite en parallèle pour produire un résultat. Les services alimentés par l'IA sont ainsi plus rapides et plus évolutifs. llm-d s'appuie sur des projets Open Source, comme Envoy, vLLM et Kserve, pour mettre en œuvre l'inférence distribuée.
  • Projet Open Source porté par la communauté : les communautés Open Source centralisent les bonnes idées et améliorent des technologies que chacun peut utiliser. Le projet Open Source à l'origine de llm-d s'appuie sur les idées de leaders du secteur, tels que Google, IBM, CoreWeave, NVIDIA et Red Hat.

Grâce à ces composants, les entreprises peuvent utiliser llm-d pour mettre à l'échelle les cas d'utilisation de l'IA générative sans se soucier de la latence, de la complexité ou des coûts.

En savoir plus sur l'IA pour les entreprises

Les instructions génératives classiques sont souvent courtes et standardisées. Chacune d'entre elles bénéficie donc du même traitement et des mêmes ressources, une méthode standard que l'on appelle l'équilibrage de charge « round-robin » ou « à tour de rôle ». 

Cependant, les LLM diffèrent des charges de travail traditionnelles. Ils exécutent de longues phases de décodage, exploitent la réutilisation du cache de préfixes et ont des besoins différents en matière de calcul et de mémoire. C'est pourquoi l'équilibrage de charge classique de Kubernetes ne suffit pas pour ces modèles complexes. 

De plus, les entreprises manquent souvent de visibilité sur leurs déploiements de LLM, ce qui limite leur contrôle sur les charges de travail d'IA. Cet obstacle entraîne une sous-utilisation des GPU, de la latence et la mise en œuvre d'architectures trop rigides. Les systèmes d'inférence génériques basés sur les LLM ignorent parfois la structure des instructions génératives, le nombre de jetons textuels et l'état des caches, ce qui entraîne un gaspillage de ressources. 

En savoir plus sur le fonctionnement des calculs de LLM, des jetons textuels et du cache clé-valeur 

Par exemple, les instructions de génération augmentée de récupération (RAG) nécessitent un équilibrage de charge différent de celui des instructions génératives qui reposent sur la réflexion ou le raisonnement. Lorsque les charges de travail sont submergées par des requêtes hétérogènes qui nécessitent des stratégies d'équilibrage différentes, le processus d'inférence ralentit.

Prenons un exemple concret pour mieux comprendre : une pâtisserie spécialisée dans la confection de tartes propose tous les jours, sans faute, de superbes tartes aux pommes, aux myrtilles et aux fraises. Mais lorsqu'elle reçoit une commande de croissants, de nougat ou de gâteaux de mariage, ses processus habituels deviennent inefficaces. Elle traite moins de commandes et certaines tâches sont négligées. Afin d'assurer la préparation de ses tartes habituelles et de pâtisseries plus sophistiquées, l'établissement aurait besoin d'un chef pâtissier pour déléguer les différentes tâches. Son rôle serait d'orchestrer la planification complexe des tâches pour traiter tout type de commande le plus efficacement possible. 

Dans le cas de la technologie d'IA, c'est llm-d qui joue le rôle du chef pâtissier. 

llm-d offre une plateforme d'inférence d'IA compatible avec les LLM et donc capable de prendre en charge la diversité des instructions génératives. L'environnement Open Source permet de surveiller les performances de manière prévisible, d'optimiser les coûts et de répondre aux attentes des utilisateurs. llm-d transforme l'inférence des LLM en une architecture native pour Kubernetes pour un framework d'inférence gérable, comme un microservice.  

Lorsque l'inférence est difficile à exécuter à grande échelle, le délai de mise sur le marché s'allonge et les cas d'utilisation de l'IA générative sont moins faciles à appliquer à l'échelle de l'entreprise. 

Découvrir d'autres cas d'utilisation de l'IA générative

llm-d facilite la mise à l'échelle des modèles désagrégés et aide les équipes à atteindre des objectifs plus ambitieux, plus rapidement et avec moins de ressources.

  • Qualité et performances des modèles : llm-d utilise des outils tels que l'équilibrage de charge intelligent pour accélérer les temps de réponse de l'inférence des LLM. Ce framework élimine les goulets d'étranglement typiques, tels que les jetons textuels répétitifs et les perturbations causées par les boîtes noires. La suppression de ces obstacles améliore les performances du modèle et la productivité du développement.
  • Rentabilité : la modularité de llm-d permet à davantage d'utilisateurs d'accéder simultanément aux charges de travail d'IA et accélère la génération de résultats. Les équipes d'ingénierie et de développement peuvent ainsi tirer le meilleur parti de leurs modèles et des GPU. Grâce à une plus haute accessibilité et à une vitesse de traitement plus élevée, elles peuvent allouer leur temps et leurs ressources à d'autres tâches.
  • Contrôle : llm-d utilise un processus de mise à disposition désagrégée, qui augmente la flexibilité pour l'inférence des LLM. La séparation des différentes phases de l'inférence (préremplissage et décodage) permet une exécution indépendante et simultanée de ces opérations, ce qui accélère l'inférence.

L'offre Red Hat AI vise à améliorer l'accès à une inférence d'IA générative plus évolutive. 

Notre plateforme d'IA utilise vLLM pour répondre aux attentes toujours plus complexes des entreprises en matière d'inférence. 

Red Hat AI s'appuie sur llm-d pour faciliter l'exécution des charges de travail d'IA des entreprises à grande échelle. Ce framework exploite les capacités d'orchestration de Kubernetes pour intégrer des fonctionnalités avancées d'inférence à notre infrastructure d'IA existante. 

Ce nouvel exemple de réussite d'un projet Open Source est en adéquation avec notre vision d'une infrastructure d'inférence d'IA universelle, indépendante des modèles, du matériel et du fournisseur cloud.

Découvrir Red Hat AI

Blog post

Tout savoir sur llm-d et ses avantages

Actuellement, de plus en plus d'entreprises font le choix de rapatrier leur infrastructure de grands modèles de langage (LLM) dans leurs locaux.

L'entreprise adaptable : quand s'adapter à l'IA signifie s'adapter aux changements

Ce livre numérique de Michael Ferris, directeur de l'exploitation et de la stratégie chez Red Hat, aborde le rythme des changements et des bouleversements technologiques liés à l'IA auxquels sont confrontés les responsables informatiques.

En savoir plus

L'inférence d'IA, qu'est-ce que c'est ?

L'inférence d'intelligence artificielle est l'opération par laquelle un modèle d'IA fournit une réponse à partir de données. Il s'agit de l'étape finale d'un processus complexe d'apprentissage automatique.

Tout ce qu'il faut savoir sur les infrastructures d'IA

Les infrastructures d'IA associent les technologies d'intelligence artificielle et d'apprentissage automatique (IA/AA) afin de développer et déployer des solutions évolutives pour les données.

L'inférence distribuée, qu'est-ce que c'est ?

L'inférence distribuée est une approche qui permet aux modèles d'IA de traiter les charges de travail plus efficacement en répartissant les tâches liées à l'inférence entre plusieurs équipements interconnectés.

IA/ML : ressources recommandées

Produit recommandé

  • Red Hat AI

    Des solutions flexibles qui accélèrent le développement et le déploiement de solutions d'IA dans les environnements de cloud hybride.

Articles associés