Want to Become a Sponsor? Contact Us Now!🎉

LLM
vLLM: Révolutionner le service LLM avec PagedAttention

vLLM: Révolutionner le service LLM avec PagedAttention

Published on

Découvrez comment vLLM, équipé de PagedAttention, change la donne en matière de service LLM, offrant une vitesse et une efficacité inégalées.

Bonjour ! Aujourd'hui, nous allons plonger dans quelque chose qui fait sensation dans la communauté de l'IA : vLLM. Si vous êtes intéressé par l'IA et les grands modèles de langage (LLM), vous voudrez en savoir plus à ce sujet. vLLM n'est pas simplement un outil de plus ; c'est une révolution dans la façon dont nous servons et utilisons les LLM, les rendant plus rapides, plus efficaces et accessibles à un plus large éventail de projets et d'équipes. Attachez vos ceintures, car nous allons explorer ce qui rend vLLM si spécial, et pourquoi cela pourrait bien être la percée que nous attendions.

Anakin AI - The Ultimate No-Code AI App Builder

Dans le monde de l'intelligence artificielle, la promesse des grands modèles de langage (LLM) a été simplement révolutionnaire. Ces modèles ont le potentiel de transformer les industries, offrant de nouvelles façons d'interagir avec la technologie et de traiter l'information. Cependant, la réalité du service de ces modèles a été remplie de défis. Ils nécessitent des ressources de calcul importantes, et malgré la disponibilité de matériels puissants, le service des LLM peut être étonnamment lent et coûteux. C'est là qu'intervient vLLM, un phare d'innovation dans les eaux souvent tumultueuses de la technologie de l'IA.

vLLM : Service LLM facile, rapide et bon marché avec PagedAttention

Introduit le 20 juin 2023 par une équipe de l'UC Berkeley, vLLM est un témoignage de ce que l'innovation collaborative peut accomplir. Développé par Woosuk Kwon, Zhuohan Li, Siyuan Zhuang, Ying Sheng, Lianmin Zheng, Cody Yu, Joey Gonzalez, Hao Zhang et Ion Stoica, vLLM aborde de front les problèmes principaux liés au service des LLM. En exploitant un nouvel algorithme d'attention appelé PagedAttention, vLLM surpasse considérablement les solutions existantes en termes de débit et d'efficacité.

Points Forts :

Le Secret de Son Succès : PagedAttention

  • Au cœur de PagedAttention, il y a le problème du goulot d'étranglement de la mémoire dans le service des LLM. Grâce à une gestion plus efficace des clés d'attention et des valeurs, il permet d'obtenir un débit élevé et une utilisation efficace de la mémoire.
  • Flexibilité et Efficacité : Inspiré des systèmes de mémoire virtuelle des systèmes d'exploitation, PagedAttention stocke les clés et les valeurs dans des blocs de mémoire non contigus, ce qui permet une gestion dynamique et efficace de la mémoire.
  • Utilisation Optimisée de la Mémoire : Cette méthode réduit considérablement le gaspillage de mémoire et permet une utilisation plus élevée du GPU, ce qui se traduit par de meilleures performances.

Applications Pratiques et Impact

  • Déploiement dans le Monde Réel : vLLM a été déployé sur des plateformes comme Chatbot Arena et Vicuna Demo, démontrant son efficacité au service de millions d'utilisateurs.
  • Rentabilité : En améliorant le débit et en réduisant les exigences du GPU, vLLM permet aux petites équipes de servir les LLM de manière abordable, démocratisant ainsi l'accès aux technologies avant-gardistes de l'IA.

Démarrer avec vLLM

Pour ceux qui sont impatients de mettre la main à la pâte, commencer avec vLLM est aussi simple que d'exécuter une seule commande pour l'installer depuis GitHub. Que vous souhaitiez effectuer des inférences hors ligne ou mettre en place un système de service en ligne, vLLM offre flexibilité et facilité d'utilisation.

  • Installation : Simple et convivial, ne nécessitant qu'une seule commande pour commencer.
  • Scénarios d'utilisation : Prend en charge une variété de cas d'utilisation, de l'inférence par lots sur des ensembles de données à l'exécution d'un serveur compatible avec l'API OpenAI pour le service en ligne.

vLLM en Action : Guide Étape par Étape

Pour vous donner un aperçu de ce que cela donne de travailler avec vLLM, voici un bref récapitulatif :

  1. Inférence par Lots Hors Ligne : Apprenez à utiliser vLLM pour la génération de texte à haut débit à partir d'une liste de requêtes.
  2. Construction d'un Serveur API : Suivez le processus de mise en place d'un serveur API pour le service des LLM, compatible avec l'API OpenAI.
  3. Fonctionnalités Avancées : Explorez les capacités de vLLM, y compris l'échantillonnage parallèle et la recherche par faisceau, pour voir comment il gère facilement des algorithmes d'échantillonnage complexes.

tout en ouvrant la voie à un service LLM plus accessible, efficace et évolutif. Que vous soyez un chercheur, un développeur ou simplement un passionné d'IA, vLLM vous offre une opportunité de repousser les limites de ce qui est possible avec les grands modèles de langage. Maintenant, plongeons dans les détails techniques et voyons vLLM en action.

Approfondissement de vLLM

vLLM se distingue non seulement par ses performances impressionnantes, mais aussi par sa facilité d'utilisation. Il s'intègre parfaitement aux outils et aux flux de travail existants, ce qui en fait un choix polyvalent pour de nombreux besoins de service des LLM.

Fonctionnalités Principales de vLLM

vLLM offre une gamme de fonctionnalités qui répondent à bon nombre des défis liés au service des LLM :

  • Débit de service à la pointe de la technologie : En tirant parti des noyaux CUDA optimisés et de l'algorithme d'attention innovant PagedAttention, vLLM atteint des vitesses de service inégalées.
  • Gestion efficace de la mémoire : Grâce à PagedAttention, vLLM gère efficacement la mémoire des clés d'attention et des valeurs, réduisant considérablement l'empreinte mémoire de l'inférence des LLM.
  • Inférence continue par lots : vLLM peut traiter continuellement les demandes entrantes par lots, maximisant l'utilisation des ressources matérielles et le débit.

title: "Optimized CUDA kernels: Les noyaux CUDA optimisés" description: "Getting Started with vLLM and LangChain: Premiers pas avec vLLM et LangChain"

  • Optimized CUDA kernels: L'utilisation de noyaux CUDA personnalisés améliore encore les performances, garantissant ainsi que vLLM fonctionne aussi efficacement que possible.

Getting Started with vLLM and LangChain

Intégrer vLLM dans vos projets est simple, grâce à sa compatibilité avec les packages Python populaires. Voici un guide de démarrage rapide :

  1. Installation : Assurez-vous d'avoir installé le package python vllm. Vous pouvez l'installer en utilisant pip :

    %pip install --upgrade --quiet vllm -q
  2. Utilisation basique : Commencez par importer VLLM depuis le package langchain_community.llms et initialisez-le avec le modèle souhaité. Voici un exemple :

    from langchain_community.llms import VLLM
     
    llm = VLLM(
        model="mosaicml/mpt-7b",
        trust_remote_code=True,  # obligatoire pour les modèles hf
        max_new_tokens=128,
        top_k=10,
        top_p=0.95,
        temperature=0.8,
    )
     
    print(llm.invoke("Quelle est la capitale de la France ?"))

    Ce script simple montre comment effectuer une inférence qui renvoie "Paris" comme la capitale de la France.

Améliorer l'inférence avec LLMChain

Pour des tâches d'inférence plus complexes, vLLM peut être intégré à un LLMChain, permettant ainsi un génie des formulations sophistiqué et un traitement avancé :

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
 
template = """Question : {question}
 
Réponse : Réfléchissons étape par étape."""
prompt = PromptTemplate.from_template(template)
 
llm_chain = LLMChain(prompt=prompt, llm=llm)
 
question = "Qui était le président des États-Unis l'année de la sortie du premier jeu Pokémon ?"
 
print(llm_chain.invoke(question))

Cette approche permet un raisonnement étape par étape, fournissant des réponses détaillées à des questions complexes.

Inférence distribuée et quantification

vLLM prend en charge des fonctionnalités avancées telles que l'inférence distribuée et la quantification, ce qui en fait un outil adapté aux environnements à forte demande :

  • Inférence distribuée : Pour tirer parti de plusieurs GPU, il suffit de définir l'argument tensor_parallel_size lors de l'initialisation de VLLM.
  • Quantification : vLLM prend également en charge la quantification AWQ, qui peut réduire considérablement l'empreinte mémoire du modèle sans sacrifier les performances.

Serveur compatible OpenAI

L'une des fonctionnalités les plus puissantes de vLLM est sa capacité à imiter le protocole de l'API OpenAI, ce qui en fait un remplacement plug-and-play pour les applications utilisant actuellement l'API OpenAI. Cette capacité ouvre un monde de possibilités pour le déploiement de solutions LLM efficaces et évolutives.

Conclusion : L'avenir du LLM Serving avec vLLM

vLLM représente un grand bond en avant dans la technologie de service LLM. Grâce à sa combinaison de débit élevé, de gestion efficace de la mémoire et de facilité d'utilisation, vLLM est bien positionné pour devenir un acteur clé dans le paysage de l'IA. Que vous souhaitiez améliorer des applications existantes ou explorer de nouvelles possibilités avec LLM, vLLM offre les outils et les performances nécessaires pour mener à bien vos projets. Alors que la communauté continue d'explorer et d'étendre les capacités de vLLM, nous pouvons nous attendre à encore plus d'applications innovantes et d'améliorations à l'avenir.

Anakin AI - The Ultimate No-Code AI App Builder