Aperçu
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.
PagedAttention et vLLM constituent un élément de base technique qui affecte la qualité du modèle, le coût de l'infrastructure, la latence et la fiabilité à grande échelle.
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.
Maîtriser 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. 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. PagedAttention et vLLM constituent un élément de base technique qui affecte la qualité du modèle, le coût de l'infrastructure, la latence et la fiabilité à grande échelle. Pour acquérir une compréhension approfondie, traitez PagedAttention et vLLM comme un modèle opérationnel et non comme une fonctionnalité unique : définissez les résultats souhaités, clarifiez les hypothèses et séparez ce que le système peut faire de manière fiable de ce qui nécessite encore un jugement d'expert.
Dans la pratique, des équipes solides utilisant PagedAttention et vLLM optimisent les choix d'architecture, de données et d'infrastructure en fonction de la fiabilité et des coûts. Ils documentent des critères de réussite explicites, testent par rapport à des données et des flux de travail réalistes et itèrent en fonction des modèles d'échec observés plutôt que des victoires de référence ponctuelles. C’est là que la compréhension théorique se transforme en capacité durable au niveau des produits, des politiques et des opérations.
Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années. Dans le même temps, l’optimisation d’un benchmark peut masquer des faiblesses plus larges du système. L'approche la plus résiliente consiste à combiner vitesse d'expérimentation et discipline de gouvernance : exécuter des projets pilotes, capturer des preuves, publier des journaux de décision et mettre à jour en permanence les protections à mesure que le comportement du modèle, les attentes des utilisateurs et les exigences réglementaires évoluent.
Impact stratégique
Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.
Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.
La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.
La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.
De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.
De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production. Dans les déploiements de haute qualité, cela se traduit par des règles de fonctionnement mesurables, des limites de propriété et des rituels d'examen récurrents afin que les équipes puissent accroître la confiance au lieu de l'ambiguïté.
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
Modèles de mise en œuvre
PagedAttention et vLLM en pratique
Hébergement d'une API LLM open source dans laquelle vLLM sert de nombreux utilisateurs de chat simultanés à partir d'un GPU à haut débit.
Hébergement d'une API LLM open source dans laquelle vLLM sert de nombreux utilisateurs de chat simultanés à partir d'un seul GPU à haut débit. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, conservent un chemin d'escalade humaine pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.
PagedAttention et vLLM en pratique
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.
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 seule fois, et non de manière répétée. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, conservent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.
PagedAttention et vLLM en pratique
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.
Recherche par faisceau en cours ou plusieurs achèvements échantillonnés qui partagent des blocs KV pour l'invite commune via la copie sur écriture. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, conservent un chemin d'escalade humaine pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.
PagedAttention et vLLM en pratique
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.
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. Les équipes obtiennent généralement de meilleurs résultats lorsqu'elles définissent des seuils de qualité à l'avance, maintiennent un chemin d'escalade humain pour les cas extrêmes et suivent à la fois les gains de productivité et les coûts d'erreur au fil du temps.
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
Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.
Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.
Benchmark dans des conditions de charge et de données réalistes.
Benchmark dans des conditions de charge et de données réalistes. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.
Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.
Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.
Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.
Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle. Traitez chaque étape comme une porte de preuves : si les critères ne sont pas remplis, suspendez le déploiement, comblez l'écart, puis étendez l'utilisation.