Skip to content
Comment réduire les goulots d’étranglement KV Cache avec NVIDIA Dynamo
Source: developer.nvidia.com

Comment réduire les goulots d’étranglement KV Cache avec NVIDIA Dynamo

Sources: https://developer.nvidia.com/blog/how-to-reduce-kv-cache-bottlenecks-with-nvidia-dynamo, https://developer.nvidia.com/blog/how-to-reduce-kv-cache-bottlenecks-with-nvidia-dynamo/, NVIDIA Dev Blog

TL;DR

  • Le déport KV Cache réduit la pression sur la mémoire GPU et permet des fenêtres de contexte plus longues.
  • NVIDIA Dynamo déporte le KV Cache de la mémoire GPU vers la RAM CPU, les SSD locaux ou le stockage distant via la bibliothèque de transfert basse latence NIXL.
  • L’intégration avec LMCache et vLLM permet la réutilisation du cache, réduit la recomputation et améliore le débit dans des charges multi-utilisateurs et à fort contexte.
  • Des tests réels avec des partenaires démontrent un débit élevé de déplacement du KV Cache et une réduction du TTFT, rendant l’inférence scalable et à haute concurrence viable.

Contexte et antécédents

L’inférence est de plus en plus un goulot d’étranglement à mesure que les modèles d’IA grandissent. Les grands modèles de langage (LLMs) dépendent fortement des données d’attention stockées dans le KV Cache créées lors de la phase de pré-remplissage de l’inférence. Le KV Cache stocke des données d’attention intermédiaires qui aident le modèle à rester pertinent sur le plan contextuel pendant la génération. Cependant, le KV Cache croît de façon linéaire avec la longueur du prompt et doit résider dans la mémoire GPU pour un accès rapide. À mesure que les modèles élargissent les fenêtres de contexte — pouvant atteindre des millions de tokens — le KV Cache devient une contrainte majeure, car la mémoire GPU est limitée et coûteuse. Dans des cas comme les conversations multi-tours, la recherche approfondie et la génération de code, le KV Cache doit être conservé en mémoire pendant de longues périodes. Lorsque la mémoire GPU est saturée, les systèmes d’inférence font face à des compromis entre coût, latence et capacité. La dernière version de Dynamo résout ce goulot d’étranglement en permettant le déport KV Cache vers un stockage plus évolutif, avec le transfert instantané des blocs KV Cache de la mémoire GPU vers des stockages économiques tels que la RAM CPU, les SSD locaux ou le stockage réseau. Cela est rendu possible grâce à la bibliothèque de transfert basse-latence NIXL qui déplace les blocs KV Cache entre mémoire GPU et stockage externe sans interrompre l’inférence. Dynamo permet des fenêtres de contexte plus longues, une concurrence accrue et une réduction des coûts d’infrastructure en diminuant le besoin de GPUs supplémentaires et la recomputation des tokens mis en cache. Le déport KV Cache est le plus efficace lorsque le KV Cache dépasse la mémoire GPU et que la réutilisation du cache l’emporte sur le coût de transfert. Dynamo est particulièrement utile dans les environnements d’inférence à long contexte, haute concurrence ou ressources contraintes. Il est conçu pour s’intégrer avec des moteurs d’inférence populaires comme vLLM et des outils open-source comme LMCache, favorisant une architecture ouverte et des options d’intégration flexibles.

Nouveautés

NVIDIA Dynamo introduit plusieurs capacités clés pour traiter les goulets KV Cache :

  • Déport KV Cache vers un stockage évolutif : déporte les blocs KV Cache de la mémoire GPU vers la RAM CPU, les SSD locaux ou le stockage réseau, permettant des contextes plus longs et une concurrence accrue sans nécessiter davantage de GPUs.
  • Transfert basse latence : la bibliothèque NIXL fournit le mouvement rapide du KV Cache entre mémoire GPU et stockage externe, aidant à maintenir la latence d’inférence.
  • Gestion KV Cache avec KVBM : le KV Block Manager coordonne l’utilisation de la mémoire et l’accès au stockage, séparant la gestion mémoire de la logique d’une engine et standardisant l’accès au stockage pour simplifier l’intégration et l’évolutivité.
  • Architecture ouverte et intégrations : Dynamo peut fonctionner avec LMCache pour le caching et la réutilisation de mémoire entre CPU, stockage local et distant, et est conçu pour s’intégrer à des engines comme vLLM et des composants tiers.
  • Validation du monde réel : des tests avec Vast ont démontré un débit élevé de déplacement KV Cache jusqu’à 35 Go/s vers une GPU H100 via le plugin GDS; des tests distincts avec Qwen3-32B et prompts de 130K tokens ont montré une réduction du TTFT en réutilisant le KV Cache pré-calculé stocké. WEKA a démontré un débit élevé avec leur chemin RDMA à zéro copie, atteignant jusqu’à 270 Go/s de lecture sur huit GPUs. Pour utiliser KVBM avec LMCache et vLLM, les utilisateurs suivent les étapes décrites dans la documentation Dynamo. Les dashboards Grafana accessibles à http://localhost:3001 offrent une visibilité sur l’offload KV et l’onboarding. Pour le benchmarking KVBM avec LMBenchmark (LMCache), la documentation fournit des orientations pour comparer avec une déploiement baseline vLLM. Cette architecture ouverte offre aux équipes la flexibilité de choisir entre les fonctionnalités intégrées et les intégrations tierces, tout en privilégiant l’interopérabilité et l’évolutivité.

Pourquoi cela compte (impact pour les développeurs/entreprises)

L’offload KV Cache avec Dynamo permet aux modèles disposant de fenêtres de contexte plus longues et d’une plus grande concurrence d’être déployés sans nécessiter des grappes GPUs proportionnellement plus grandes. En déplaçant les données KV Cache vers un stockage moins coûteux, les services d’inférence réduisent l’utilisation de la mémoire GPU, augmentant le nombre d’utilisateurs servis en parallèle et diminuant le coût total par token. L’évitement de la recomputation coûteuse du KV Cache contribue aussi à des temps de réponse plus courts et à une meilleure expérience utilisateur. Pour les développeurs et les entreprises, Dynamo offre une voie pratique pour faire évoluer les déploiements d’IA générative à grande échelle avec un contexte étendu. L’architecture ouverte facilite l’intégration avec des moteurs et backends de stockage, aidant les équipes à optimiser latence, débit et coût total de possession. Le modèle d’ouverture et l’interopérabilité soutiennent les partenariats avec des fournisseurs de stockage et des cadres d’inférence.

Détails techniques ou Mise en œuvre

L’architecture Dynamo se concentre sur le déport du KV Cache de la mémoire GPU vers un stockage scalable tout en maintenant un accès rapide durant la génération. Le KVBM gère cet offload et la coordination mémoire/storage, séparant la logique de gestion mémoire de l’engine d’inférence spécifique, afin de faciliter l’intégration et l’évolutivité. Un principe clé est l’ouverture. Dynamo s’intègre avec LMCache, un système open-source de caching et de réutilisation mémoire entre CPU, stockage local et distant. LMCache fournit une couche KV Cache pour des engines d’inférence comme le vLLM et prend en charge le déport des données fréquemment utilisées (par exemple l’historique des conversations ou les prompts) vers un stockage économique, avec des stratégies d’éviction et de récupération adaptées à des charges élevées. Les intégrations avec des partenaires illustrent la polyvalence de Dynamo :

  • Vast : tests montrant un mouvement KV Cache hautes performances entre GPU et stockage, avec persistance KV Cache via l’intégration Vast OS sur un système DGX H100 et le modèle Qwen3-32B.
  • WEKA : démonstration d’un chemin RDMA à zéro copie qui transmet KV Cache depuis le token warehouse vers les GPUs à des vitesses proches de la mémoire, validant l’inférence distribuée sans goulets d’étranglement. Sur un DGX avec huit GPUs H100, WEKA a atteint jusqu’à 270 Go/s de lecture. Les options de stockage offload incluent RAM CPU, SSD locaux et stockage distant en réseau. La bibliothèque NIXL fournit le transport à faible latence nécessaire pour déplacer rapidement les blocs KV Cache sans interrompre l’inférence. Lorsque la réutilisation du KV Cache est significative et que le coût de transfert est dépassé par les bénéfices d’éviter la recomputation, Dynamo offre un throughput plus élevé et une latence réduite dans les déploiements à grande échelle. Pour activer KVBM avec LMCache et vLLM, la documentation Dynamo décrit des étapes pratiques et des configurations d’environnement. Les dashboards Grafana accessibles à http://localhost:3001 offrent une visibilité sur l’embarquement KV et l’offload, tandis que les indications de benchmark via LMBenchmark aident les équipes à évaluer les performances de KVBM par rapport à une baseline.

Aperçu rapide de l’architecture d’offload KV Cache

| backends de stockage | Caractéristiques |

Cas d’utilisation typiques
---
---
RAM CPU
Inférence à contexte long, multi-utilisateurs
SSD locaux
Charges de pointe, sessions longues
Stockage distant réseau
Inférence à grande échelle, distribuée

Points clés

  • L’offload KV Cache avec Dynamo diminue la pression mémoire sur le GPU et permet des contextes plus longs et plus de concurrence.
  • Le KVBM coordonne mémoire et accès au stockage, favorisant la réutilisation du cache et une intégration évolutive.
  • LMCache et vLLM apportent caching, stratégies d’éviction et réduction de recomputation, améliorant le throughput.
  • Des résultats réels démontrent des débits importants et une latence réduite, validant l’efficacité de Dynamo dans des environnements disagrégés.
  • Une architecture ouverte offre la flexibilité nécessaire pour choisir entre fonctionnalités natives et intégrations tierces, tout en recherchant coût et évolutivité.

FAQ

  • Quel problème résout le déport KV Cache ?

    Il déplace les données KV Cache de la mémoire GPU vers un stockage scalable pour soutenir des fenêtres de contexte plus longues et une plus grande concurrence sans nécessiter davantage de GPUs.

  • uel est le rôle du KVBM dans Dynamo ?

    KVBM est le système qui pilote l’offload KV Cache et la coordination mémoire, en séparant la gestion mémoire de la logique d’inférence et en standardisant l’accès au stockage.

  • Comment LMCache s’intègre-t-il à Dynamo ?

    LMCache fournit une couche KV Cache pour des engines comme le vLLM et prend en charge l’offload des données fréquemment utilisées vers un stockage économique, avec des stratégies d’éviction intelligentes.

  • uels résultats de performance ont été observés ?

    Des tests montrent un débit de déplacement KV Cache allant jusqu’à 35 Go/s via GDS sur une GPU H100 et jusqu’à 270 Go/s de lecture sur huit GPUs via le chemin RDMA de WEKA, avec réduction du TTFT lors de la réutilisation du KV Cache stocké.

Références

More news