Turbocompresseur LLMs
PagedAttention, vLLM, Self-Debugging, PowerInfer et EG-MLA : comment faire évoluer les agents LLM sans gaspiller le cache KV GPU
Workstationexplique comment dynamiser les grands modèles linguistiques en production : PagedAttention, vLLM, Self-Debugging, PowerInfer et EG-MLA – avec les compromis qui apparaissent réellement sur les GPU. Plongée en profondeur : article long sur. Introduction :LLMs expliqué + Kubernetes.
: qu'est-ce qu'un LLM ?
Contexte, pas une démonstration de produit :Introduction aux modèles en grand langage(Andrej Karpathy). Associez-le à notre guideLLM + Kubernetesen anglais simple.
Le problème de mise à l'échelle
LLMs a débloqué l'IA et la génération conversationnelles, puis est immédiatement devenu un problème de service. Chaque étape de décodage ajoute des clés et des valeurs à un cache KV qui augmente avec la longueur de la séquence et la taille du lot. Les moteurs naïfs pré-réservent d’immenses dalles contiguës. La majeure partie de cette mémoire reste inactive pendant que les autres requêtes attendent. Le débit s’effondre même si le GPU semble « plein ».
PagedAttention : mémoire virtuelle à l'attention du
PagedAttention (Kwon et al., SOSP 2023) traite le cache KV comme la pagination du système d'exploitation : blocs de taille fixe, une table de blocs par requête, pages physiques non contiguës[arXiv:2309.06180]. Le noyau rassemble les blocs au moment de l'attention. Vous devez toujours régler la taille de bloc, la longueur maximale du modèleet la hiérarchie de cache(déchargement GPU HBM vs CPU vs cache de préfixe). Des blocs trop petits ajoutent une surcharge de mappage ; des blocs trop gros réintroduisent des déchets.
vLLM : un déchet quasi nul au service du
vLLM est le système de service construit autour de PagedAttention. Il cible un déchet KV proche de zéro, un dosage continu et une surface HTTP compatible OpenAI. En production, surveillez trois choses : (1)gpu_memory_utilizationpar rapport au MOO, (2) le délai d'obtention du premier jeton par rapport aux jetons/s de décodage, (3) si la mise en cache des préfixes/invites modifie les réponses pour votre ensemble d'évaluation. La mise en cache est une victoire en termes de débit ; il n'est pas exempt d'effets de correction et de latence de queue.
from vllm import LLM, SamplingParams llm = LLM(model="meta-llama/Llama-3.1-8B-Instruct", gpu_memory_utilization=0.90) params = SamplingParams(temperature=0.2, max_tokens=256) outs = llm.generate(["Explain PagedAttention in one paragraph."], params) print(outs[0].outputs[0].text)
C'est une utilisation réelle du vLLM. L'appel A Hugging Face BERTforward()estet nonPagedAttention — ne confondez pas les logits du classificateur avec la diffusion KV paginée.
Self-Debugging : des boucles de qualité avec un budget de latence
Self-Debugging (Chen et al.) enseigne un modèle pour corriger ses propres programmes prédits à partir de traces de quelques tirs, correspondant ou battant les lignes de base qui émettent 10 fois plus de candidats[arXiv:2304.05128]. Pour les agents, c’est de l’or – jusqu’à ce que les cycles de commentaires s’empilent. Limitez le nombre de messages de débogage, enregistrez chaque tour et échouez à un modèle humain ou spécialisé plus petit lorsque le budget est épuisé.
Watch : contexte de service et d'inférence
Discussion contextuelle sur le service rapide LLM – pas une démo officielle Workstation. Associez-le au papier vLLM et audocs.vllm.ai.
PowerInfer : jetons sur un seul gros GPU
PowerInfer divise les neurones chauds/froids afin qu'un GPU plus CPU grand public puisse générer rapidement des jetons. Chiffres rapportés :13,20 jetons/s en moyenne, pic29,08 jetons/ssur un NVIDIA RTX 4090, jusqu'à11,69xvs llama.cpp tout en gardant la précision[PowerInfer]. À l'échelle de la flotte, vous avez toujours besoin de placement : quelles couches restent sur GPU, comment vous partagez les nœuds et si le profil de localité deque vos invitescorrespondent aux modèles du document.
EG-MLA : rétrécir le KV sans détruire le banc
EG-MLA (attention latente multi-têtes intégrée) rapportede plus de 91,6 % de réduction du cache KVpar rapport à l'attention multi-têtes avec une dégradation négligeable, des économies supplémentaires par rapport au MLA (jusqu'à 59,9 %) et de meilleurs scores sur les suites de raisonnement, mis à l'échelle au-delà des paramètres 1B[papier EG-MLA]. Traitez-le comme un choix d'architecture, et non comme un indicateur d'arrivée sur un point de contrôle vLLM gelé : validez votre harnais d'évaluation avant de célébrer le graphique de mémoire.
Assemblage
Combinez PagedAttention + vLLM pour le service de cluster, PowerInfer lorsque la boîte est un poste de travail GPU, Self-Debugging à l'intérieur d'agents de codage avec une limite de ronde stricte et EG-MLA lorsque vous contrôlez la famille de modèles. Le service distribué ajoute de la complexité : parallélisme KV, répartition pré-remplissage/décodage et mise à l'échelle automatique qui ne détruit pas les tables de pages. Mesure. Ensuite, rédigez l’ADR.
Lire la suite
- Article long— boutons, modes de défaillance, notes Kubernetes.
- LLMs expliqué + exécutez le vôtre sur Kubernetes
- Muse Glimmer / agents locaux·Enterprise AI Lab
Publié parWorkstation.