Différences entre les frameworks vLLM et Ollama
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.
vLLM
vLLM est une bibliothèque de code Open Source qui permet d'augmenter la vitesse et l'efficacité des calculs des 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.
4 principes clés à prendre en compte pour mettre en œuvre des technologies d'IA
Ollama
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.
Points communs entre vLLM et Ollama
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.
Cas d'utilisation de vLLM
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.
Cas d'utilisation d'Ollama
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.
Choix entre vLLM et Ollama pour l'inférence
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.
Nos solutions
L'offre Red Hat® AI s'appuie sur des innovations Open Source telles que vLLM pour aider les entreprises à relever les défis de l'IA.
Red Hat AI inclut Red Hat AI Inference Server, une solution qui optimise l'inférence dans le cloud hybride pour accélérer le déploiement des modèles et réduire les coûts. Basé sur vLLM, ce serveur d'inférence permet d'utiliser les GPU de manière plus efficace ainsi que de réduire le délai de réponse.
Red Hat AI Inference Server comprend le référentiel Red Hat AI, une collection de modèles tiers validés et optimisés, qui favorise la flexibilité des modèles et la cohérence entre les équipes. Grâce à ce référentiel de modèles tiers, les entreprises peuvent réduire le délai de mise sur le marché et éliminer les obstacles financiers qui freinent l'adoption de l'IA.
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere