Hardware & InferentieOnderzoek 🇺🇸 12.08.2026 17:01

Gelaagde KV-cache voor grote LLM's op Amazon SageMaker HyperPod met Curvine

Amazon Web ServicesAmazon Web Services MetaMeta DeepSeekDeepSeek vLLMvLLM
Dit bericht beschrijft een gelaagde KV-cache-architectuur op Amazon SageMaker HyperPod, die de cachehiërarchie uitbreidt van GPU naar CPU naar een gedeelde NVMe-pool met behulp van Curvine, een gedistribueerd cachebestandssysteem. Dit maakt cross-replica KV-cache-hergebruik mogelijk, met een cache-hitratio tot 100% voor cross-Pod en een TTFT-verbetering tot 2,7x. De oplossing verlaagt de infrastructuurkosten door workloads op goedkopere G6e-instanties te laten draaien in plaats van P5.
Het op grote schaal draaien van inferentie met grote taalmodellen (LLM's) dwingt doorgaans tot een afweging bij de KV-cache: ofwel betalen voor overgedimensioneerde GPU-instanties om een groeiende KV-cache op te vangen, ofwel accepteren dat de tijd tot het eerste teken (TTFT) traag is omdat identieke prompts bij elk verzoek opnieuw worden berekend. Voor teams die een breed scala aan openbaar beschikbare fundatiemodellen (FM's), zoals Qwen, Llama, DeepSeek en andere, implementeren via endpoints per bedrijfsonderdeel, Retrieval Augmented Generation (RAG)-pijplijnen of dialoogtoepassingen met meerdere beurten, vertaalt deze afweging zich rechtstreeks in hogere infrastructuurkosten en een slechtere gebruikerservaring. De oorzaak is dat tijdens het genereren vLLM de aandachtskeys en -waarden voor elk token in een KV-cache opslaat, en prefix-caching die cache hergebruikt bij verzoeken met overlappende begintokens. Op kostenefficiënte instanties zoals ml.g6e.4xlarge (48 GB per GPU) is het geheugen dat overblijft voor prefix-caching beperkt, dalen de cacheratio's bij lange prompts, worden identieke systeemprompts bij elk verzoek opnieuw ingevuld en onderhouden horizontaal geschaalde vLLM-replica's elk geïsoleerde caches. De oplossing bouwt een hiërarchie van drie cachelagen: L0 (GPU-prefixcache), L1 (CPU-geheugenoffload) en L2 (gedeelde gedistribueerde NVMe-pool via Curvine). L0 is de native paged-attention-laag van vLLM, L1 gebruikt LMCache om verwijderde GPU-blokken naar het hostgeheugen (DRAM) te offloaden, en L2 bundelt lokale NVMe-schijven in een gedeelde namespace via Curvine, die als een ReadWriteMany-PVC in elke inference-Pod wordt gemount. Intelligent Routing van HyperPod stuurt verzoeken naar replica's die waarschijnlijk relevante KV-blokken bevatten, met strategieën zoals prefixbewust, KV-bewust en round-robin. Het nettoresultaat: alleen bij een volledige miss herberekent het systeem vanaf nul, waardoor de TTFT aanzienlijk verbetert voor workloads met een matige tot hoge mate van promptoverlap. In een testimplementatie werd hiermee een cacheratio van maximaal 100% over Pods heen bereikt, een TTFT-verbetering tot 2,7x en een leeslatentie voor L2 over nodes van ongeveer 56 ms voor een prompt van circa 1.900 tokens. Met deze architectuur kunnen workloads die voorheen P5-instanties vereisten, draaien op goedkopere G6e-instanties, waardoor de kosten per endpoint dalen. Voor de implementatie zijn SageMaker HyperPod met Tiered Storage, een EKS-cluster en installatie van de Inference Operator en Curvine vereist. Het artikel doorloopt vijf fasen: het inschakelen van Tiered Storage, het installeren van de Inference Operator en afhankelijkheden, het installeren van Curvine, het patchen van de Inference Operator voor bestandssysteemondersteunde L2 en het benchmarken.
Bron: AWS ML blog — origineel
Eerdere berichten over dit onderwerp ↓
Vers nieuws