1. Sujets
  2. Intelligence artificielle
  3. vLLM et Ollama : quel framework utiliser ?

vLLM et Ollama : quel framework utiliser ?

URL copiéeLa copie a échouéCopier l'URL

Dans le cadre de l'intégration de grands modèles de langage (LLM) à une application d'IA, le framework vLLM offre de hautes performances en production tandis qu'Ollama est plus adapté au développement en local. Ces deux outils se positionnent à l'opposé l'un de l'autre sur le spectre de déploiement des LLM : vLLM est idéal pour les configurations d'entreprise, alors qu'Ollama fonctionne mieux pour les projets à plus petite échelle. 

Pour mieux cerner ces différences, on pourrait comparer Ollama à une voiture de sport et vLLM à un train à grande vitesse. La voiture de sport peut aller très vite, mais elle n'a pas beaucoup de places pour les passagers. Le train à grande vitesse, en revanche, peut transporter un grand nombre de voyageurs tout en allant également très vite. 

Pour choisir entre ces deux options, il convient de prendre en compte l'expertise des équipes de développement, ainsi que l'ampleur et la portée du projet concerné. Ollama est un outil très efficace pour procéder à des expérimentations en local. Pour les équipes qui passent à un environnement de production à grande échelle, vLLM fournit les bases nécessaires pour distribuer les LLM de manière fiable et efficace.

Ollama ou vLLM ? Choisir le bon outil de distribution

vLLM est une bibliothèque de code Open Source qui accroît la vitesse et l'efficacité des calculs de LLM à grande échelle. L'objectif global de vLLM est d'optimiser le débit (nombre de jetons textuels traités par seconde) afin de servir de nombreux utilisateurs en même temps. 

vLLM comprend à la fois un serveur d'inférence (pour gérer le trafic réseau) et un moteur d'inférence (pour optimiser la vitesse de calcul) : 

  • Le serveur d'inférence gère la file d'attente d'utilisateurs et le trafic réseau externe. Son rôle ne consiste pas à réaliser des calculs intensifs. Il est en charge du protocole de communication qui régit l'entrée et la sortie des données.
  • Le moteur d'inférence accélère la génération de résultats en optimisant l'utilisation des processeurs graphiques (GPU). Il augmente la vitesse de calcul en appliquant des algorithmes comme PagedAttention pour la gestion du cache clé-valeur et le traitement par lots continu afin d'optimiser l'ordonnancement des requêtes.

Ces deux composants contribuent à réduire la latence, c'est-à-dire le délai entre l'envoi d'une requête par un utilisateur et la génération d'un résultat. Le serveur d'inférence est conçu pour ne pas augmenter inutilement cette latence. Pour ce faire, il accepte les requêtes, les transmet au moteur et retourne les réponses via le réseau le plus rapidement possible. De son côté, le moteur d'inférence contrôle activement la latence en organisant les calculs des GPU. Grâce à cette accélération du traitement, vLLM peut servir des centaines d'utilisateurs simultanément avec une seule instance. 

vLLM permet aux entreprises d'en faire plus avec moins, malgré les coûts élevés du matériel nécessaire pour exécuter les applications basées sur des LLM. Ce framework est capable de gérer un trafic élevé, et il est conçu pour des cas d'utilisation à grande échelle. C'est donc un outil idéal pour les déploiements impliquant plusieurs utilisateurs et sensibles à la latence. Dans l'ensemble, vLLM offre de meilleures performances qu'Ollama pour le traitement simultané de plusieurs requêtes. 

En savoir plus sur vLLM

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

Ollama est un outil Open Source qui permet l'exécution privée et en local de LLM. Les utilisateurs peuvent télécharger, mettre à jour et gérer un LLM depuis leur ordinateur portable, sans stocker aucune information personnelle dans le cloud. 

Ollama est dérivé du projet llama.cpp, une bibliothèque Open Source conçue pour réaliser des opérations d'inférence sur divers LLM. Ollama automatise certaines des étapes les plus complexes des processus de compilation, de configuration et de gestion des composants sous-jacents, qui restent ainsi invisibles pour les utilisateurs finaux. 

Axé sur la simplicité, ce framework exige peu de configuration. Il est généralement considéré comme intuitif et adapté aux débutants. Les utilisateurs plus expérimentés peuvent également s'en servir pour essayer divers LLM et accélérer le prototypage.

vLLM et Ollama sont tous deux des frameworks de distribution qui fournissent aux équipes de développement un accès à des LLM pour la création d'applications d'IA. Plus spécifiquement, il s'agit de composants logiciels qui réalisent des opérations d'inférence au sein d'une architecture d'application plus étendue. 

Même si vLLM et Ollama s'adressent à différents types d'utilisateurs, ces deux outils ont plusieurs caractéristiques fondamentales en commun :

  • Ils sont Open Source.
  • Ils incluent un serveur d'inférence.
  • Ils permettent aux utilisateurs d'exécuter des LLM sur leur propre matériel, sans avoir à recourir à des API tierces.
  • Ils sont conçus pour tirer le meilleur parti du matériel de façon à accélérer l'inférence.
  • Ils sont compatibles avec les modèles multimodaux, c'est-à-dire qu'ils sont en mesure de traiter plusieurs types de données en plus du texte.
  • Ils prennent en charge la génération augmentée de récupération, une technique employée pour compléter les données existantes dans un LLM avec une sélection de connaissances ou données externes. 

Découvrir les avantages et les cas d'utilisation d'une inférence rapide et efficace

Pour utiliser les fonctions avancées qu'offre vLLM, il faut un niveau plus élevé d'expertise technique. Sa prise en main est considérée comme plus complexe, et c'est pourquoi il s'adresse plutôt à des utilisateurs expérimentés. 

Par exemple, vLLM prend en charge des modèles de toutes tailles, y compris ceux qui incluent des milliards de paramètres. Pour tirer le meilleur parti de cette technologie, il faut maîtriser des concepts tels que l'inférence distribuée. 

vLLM offre également de nombreuses possibilités en matière de réglage fin pour des cas d'utilisation spécifiques. Pour exploiter ce potentiel, il faut aussi maîtriser des méthodes telles que le PEFT et les techniques LoRA/QLoRA.

En résumé, vLLM s'adresse aux équipes de développement qui ont besoin de tirer pleinement parti du potentiel de performances de leurs serveurs ainsi que de déployer des applications fiables et évolutives. Tel un train à grande vitesse qui transporte beaucoup de voyageurs rapidement, vLLM peut servir un grand nombre d'utilisateurs en peu de temps. 

Ollama permet aux utilisateurs de télécharger et d'exécuter des LLM sur leur ordinateur personnel, ainsi que de tester facilement des modèles d'IA. Ce framework est cependant axé sur l'accessibilité, plutôt que sur l'évolutivité. S'il reçoit plusieurs requêtes en même temps, celles-ci sont placées dans une file d'attente. Par conséquent, Ollama est à privilégier dans les cas où la simplicité prime sur le nombre d'utilisateurs à servir. 

Par défaut, Ollama s'exécute hors ligne. C'est-à-dire qu'une fois un modèle téléchargé, il fonctionne sans connexion Internet, pour un maximum de confidentialité. Avec vLLM, il est nécessaire de configurer un serveur privé ou un environnement cloud sécurisé pour assurer la confidentialité. Cette étape supplémentaire nécessite davantage de compétences techniques. 

Les deux frameworks intègrent un serveur d'inférence. Ils peuvent donc tous deux réceptionner des requêtes entrantes, désarchiver les données, les transférer au moteur, puis envoyer la réponse sous forme de paquet aux applications des utilisateurs finaux. 

vLLM inclut cependant un moteur d'inférence, ce qui n'est pas le cas d'Ollama. vLLM permet donc de mieux optimiser l'inférence. Grâce à ce moteur d'inférence, il gère plus efficacement la mémoire et prend en charge plusieurs utilisateurs à la fois (simultanéité) :

Gestion de la mémoire : vLLM utilise l'algorithme PagedAttention pour ajuster la structure de la mémoire des GPU. Il libère ainsi de l'espace pour gérer plus de requêtes à la fois au besoin. Ce processus offre un haut niveau de simultanéité. 

Simultanéité : vLLM utilise le traitement par lots continu pour gérer les flux de données et tirer le meilleur parti des GPU. Il peut ainsi traiter un grand nombre de requêtes ou d'utilisateurs à la fois. 

Comparer les performances d'Ollama et de vLLM

La gamme Red Hat® AI offre des fonctionnalités d'inférence rapides, flexibles et efficaces au moyen d'un serveur basé sur vLLM. Elle relie de manière fiable les modèles aux données pour unifier la personnalisation et le développement d'agents spécialisés sur une seule et même plateforme. Conçus sur une base Open Source, nos produits donnent un contrôle total sur les workflows d'IA, de bout en bout et à toutes les échelles. 

La gamme Red Hat AI comprend Red Hat AI Inference, une pile d'inférence qui offre le niveau de maîtrise de l'exploitation nécessaire pour exécuter tous les modèles sur tous les accélérateurs, dans l'ensemble du cloud hybride. Elle permet d'adopter une stratégie d'inférence rapide, rentable et efficace à grande échelle. 

Découvrir Red Hat AI

Ressource

Conseils pour poser les bases de votre IA générative

Ce livre numérique présente les éléments essentiels à prendre en compte pour poser les bases d'une infrastructure fiable afin d'accélérer les projets d'IA générative.

Déployez l'IA avec Red Hat : bénéficiez de notre expertise, de nos formations et de notre assistance

Découvrez notre gamme unique de solutions d'IA. Red Hat AI peut vous aider à atteindre vos objectifs métier et informatiques grâce à l'intelligence artificielle.

En savoir plus

Le MLOps, qu'est-ce que c'est ?

Acronyme de Machine Learning Operations, le MLOps désigne un ensemble de pratiques de gestion des workflows qui vise à rationaliser le déploiement et la maintenance des modèles d'apprentissage automatique (AA).

L'IA souveraine, qu'est-ce que c'est ?

L'IA souveraine est un concept qui repose sur la possession des technologies d'IA, la conservation des données au niveau local et l'adéquation des systèmes avec les valeurs uniques de l'entreprise et les exigences réglementaires.

MLflow, qu'est-ce que c'est ?

L'outil MLflow aide les équipes de développement à organiser les projets d'apprentissage automatique et d'intelligence artificielle, de l'expérimentation initiale au déploiement.

Intelligence artificielle : 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.