GUIDE Technique

PagedAttention et vLLM

PagedAttention est une technique de gestion de la mémoire qui stocke le cache d'attention d'un modèle de langage dans de petits blocs réutilisables au lieu d'un gros morceau contigu.

2 minutes de lectureDernière mise à jour

Aperçu

It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.

Plongée profonde

Lorsqu'un modèle de langage génère du texte, il conserve un « cache KV » (vecteurs de clé et de valeur) pour chaque jeton qu'il a vu afin que le jeton suivant puisse s'occuper du contexte complet. Traditionnellement, chaque requête réservait une grande dalle contiguë de mémoire GPU dimensionnée pour sa longueur maximale possible, gaspillant d'énormes quantités lorsque les séquences étaient plus courtes ou de longueur variable. PagedAttention, présenté dans l'article vLLM 2023 de l'UC Berkeley, emprunte l'idée de pagination de la mémoire virtuelle aux systèmes d'exploitation : il divise le cache KV en blocs de taille fixe qui peuvent vivre n'importe où dans la mémoire et être alloués à la demande. Une table de recherche mappe les positions logiques des jetons aux blocs physiques. Cela élimine presque la fragmentation de la mémoire et permet de partager les blocs, par exemple sur plusieurs sorties de la même invite.

Aperçu technique

Le cache KV est divisé en pages de taille fixe, chacune contenant les clés et les valeurs d'un nombre défini de jetons. Une table de blocs par séquence mappe les positions logiques aux emplacements physiques des pages, de sorte que le cache d'une séquence n'a pas besoin d'être contigu. Étant donné que des préfixes identiques (une invite système partagée ou des branches de recherche par faisceau) peuvent pointer vers les mêmes pages physiques via la copie sur écriture, la mémoire est réutilisée au lieu d'être dupliquée, réduisant ainsi le gaspillage de plus de 60 % à quelques pour cent.

Impact stratégique

Coût et budget

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.

Décisions plus claires

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.

Contrôle qualité

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

L'avenir de PagedAttention et vLLM

vLLM est devenu une épine dorsale d'inférence open source par défaut, et les idées de PagedAttention apparaissent désormais dans la plupart des piles de diffusion. Attendez-vous à une mise en cache des préfixes plus approfondie (réutilisation des invites système mises en cache entre les utilisateurs), un pré-remplissage et un décodage désagrégés sur des machines distinctes, des politiques d'expulsion plus intelligentes et une intégration étroite avec la quantification et le décodage spéculatif. À mesure que les fenêtres contextuelles se comptent en millions de jetons, une gestion efficace des KV paginés devient encore plus essentielle pour maintenir un service abordable.

Mise en œuvre dans le monde réel

Hébergement d'une API LLM open source où vLLM sert de nombreux utilisateurs de chat simultanés à partir d'un GPU à haut débit

Partager une longue invite système sur des milliers de requêtes via la mise en cache des préfixes afin qu'elle soit traitée une fois et non de manière répétée

Recherche de poutre en cours d'exécution ou plusieurs complétions échantillonnées qui partagent des blocs KV pour l'invite commune via la copie sur écriture

Réduire le gaspillage de mémoire GPU dû à la fragmentation afin qu'un fournisseur puisse regrouper davantage de sessions simultanées sur le même matériel

Risques et garde-fous

L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.

Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.

Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.

Feuille de route de mise en œuvre

1

Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.

2

Benchmark dans des conditions de charge et de données réalistes.

3

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.

4

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Continuez à explorer

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the PagedAttention and vLLM quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

Confidentialité différentielle

Questions fréquemment posées

What is PagedAttention and vLLM?

PagedAttention est une technique de gestion de la mémoire qui stocke le cache d'attention d'un modèle de langage dans de petits blocs réutilisables au lieu d'un gros morceau contigu. Il alimente vLLM, un moteur de service open source qui augmente considérablement le nombre de requêtes qu'un seul GPU peut gérer.

Que stocke le « cache KV » lors de la génération de texte ?

Le cache KV contient des vecteurs de clé et de valeur pour chaque jeton précédent, permettant au modèle de s'occuper de l'intégralité du contexte sans le recalculer à chaque étape.

Quel concept de système d’exploitation a inspiré PagedAttention ?

PagedAttention emprunte la pagination de la mémoire virtuelle : le cache KV est divisé en pages de taille fixe qui peuvent vivre n'importe où, mappées par une table de blocs.

Quel problème avec l'allocation de cache KV traditionnelle PagedAttention résout-il ?

Réserver une grande dalle contiguë par requête, dimensionnée pour la longueur maximale, gaspillait d'énormes quantités de mémoire GPU. La pagination alloue de petits blocs à la demande, réduisant ainsi le gaspillage.

Comment PagedAttention permet-il à plusieurs sorties de partager la mémoire pour une invite commune ?

Des préfixes identiques (invites partagées ou branches de recherche de faisceau) font référence aux mêmes pages KV physiques, copiant uniquement lorsqu'une branche diverge.

Où vLLM et PagedAttention ont-ils été initialement développés ?

vLLM et l'algorithme PagedAttention sont sortis de l'UC Berkeley dans un article de 2023 et sont rapidement devenus un moteur de service open source largement utilisé.