उत्पादन सेवा स्टैक KV अपलोडिंग और कैश-जाहिर रूटिंग
Type: Learn
Languages: Python (stdlib, toy KV-spill simulator)
Prerequisites: Phase 17 · 04 (Serving Engine Internals), Phase 17 · 06 (SGLang/RadixAttention)
Time: ~60 minutes
सीखने के लक्ष्य
- vLLM उत्पादन-स्टैक परतों का आरेखः राउटर, इंजन, KV अपलोड, अवलोकनशीलता।
- केवी ऑफलोडिंग कनेक्टर एपीआई (v0.9.0+) और 0.11.0 असिनक्रोनस पथ कैसे ऑफलोड लटेंसी छिपाता है, इसकी व्याख्या करें।
- यह निर्धारित करें कि LMCache CPU-DRAM (KV > HBM) के साथ ओवरहेड (KV HBM फिट करने के लिए पर्याप्त छोटे) जोड़ता है।
- स्थानीय vLLM सीपीयू ऑफलोड और LMCache कनेक्टर के बीच चयन तैनाती प्रतिबंधों को देखते हुए।
समस्या
आपके वीएलएलएम सर्विंग में जीपीयू 100% एचबीएम पर प्रीपेशन घटनाओं के साथ जब भी समवर्ती चढ़ाई होती है। अनुरोधों को निकाला जाता है, रिक्वेज किया जाता है, और आप एक मिनट में चार बार एक ही 2K-टोकन प्रॉम्प्ट को फिर से प्रीफिल करते हैं। जीपीयू गणना अधिशेष प्रीफिल पर खर्च की जाती है; गुडपुट कच्चे आउटपुट से काफी नीचे है।
अधिक जीपीयू जोड़ने की लागत रैखिक है। अधिक एचबीएम जोड़ना संभव नहीं है। लेकिन सीपीयू DRAM सस्ता है एक सॉकेट में 512 जीबी + है, जो एचबीएम से भी खराब लटेंसी ऑर्डर में है लेकिन "अस्थायी रूप से गर्म" केवी कैश के लिए ठीक है।
LMCache CPU DRAM में KV कैश निकाले ताकि पूर्ववर्ती अनुरोध जल्दी से पुनर्प्राप्त हो जाएं, और इंजनों में दोहराए गए पूर्वावधान प्रत्येक इंजन को पुनः भरने के बिना कैश साझा करते हैं।
अवधारणा
vLLM उत्पादन-स्टैक
github.com/vllm-project/production-stackसंदर्भ कुबेरनेट्स तैनाती हैः
- Router कैश-जागरूक (चरण 17 · 11) KV घटनाओं का उपभोग करता है।
- Engines vLLM श्रमिकों में से एक प्रति GPU या प्रति TP/PP समूह।
- KV cache offload LMCache तैनाती या मूल कनेक्टर।
- Observability Prometheus स्क्रैप, ग्राफाना डैशबोर्ड, ओटीएल निशान.
- Control plane सेवा खोज, कॉन्फ़िग, रोलिंग अपडेट।
हेलम चार्ट + ऑपरेटर के रूप में शिप किया गया।
KV अनलोडिंग कनेक्टर एपीआई (v0.9.0+)
vLLM 0.9.0 ने प्लग करने योग्य KV कैश बैकेंड के लिए एक कनेक्टर एपीआई पेश किया। आपका इंजन कनेक्टर पर ब्लॉक को उतारता है; कनेक्टर उन्हें संग्रहीत करता है (RAM, डिस्क, ऑब्जेक्ट स्टोरेज, LMCache) । अनुरोध को ब्लॉक की आवश्यकता होती है, कनेक्टर इसे वापस लोड करता है।
vLLM 0.11.0 (जनवरी 2026) एक असिनक्रोनस ऑफलोड पथ जोड़ता है ऑफलोड पृष्ठभूमि में हो सकता है ताकि सामान्य मामले में इंजन उस पर ब्लॉक न हो। अंत-से-अंत लटेंसी और आउटपुट अभी भी वर्कलोड के आकार, केवी कैश हिट रेट और सिस्टम दबाव पर निर्भर करता है; वीएलएलएम के अपने नोट्स में कहा गया है कि कस्टम-कर्नल ऑफलोड कम हिट रेट पर आउटपुट को कम कर सकता है और एसिंक शेड्यूलिंग में अनुमानित डिकोडिंग के साथ बातचीत के मुद्दे ज्ञात हैं।
मूल सीपीयू अपलोड बनाम LMCache
Native vLLM CPU offload: इंजन-स्थानीय. मेजबान रैम में KV ब्लॉक संग्रहीत करता है. तेजी से लागू करने के लिए, शून्य नेटवर्क hop. इंजन पार नहीं करता है.
LMCache connector: क्लस्टर-स्केल. साझा LMCache सर्वर (CPU DRAM + Ceph/S3 स्तर) में ब्लॉक संग्रहीत करता है। ब्लॉक किसी भी इंजन के लिए सुलभ हैं। 16x H100 बेंचमार्क प्रकाशित किए गए हैं।
जब एक इंजन में एचबीएम दबाव होता है तो नेटिव चुनें। जब कई इंजन प्रीफिक्स साझा करते हैं तो एलएमसीचे चुनें (सामान्य सिस्टम प्रॉम्प्ट के साथ आरएजी, साझा टेम्पलेट के साथ मल्टी-रेन्टेन्ट) ।
बेंचमार्क व्यवहार
16x H100 (80 GB HBM) 4 a3-highgpu-4g परीक्षण में फैला हुआः
- कम KV पदचिह्न (छोटे संकेत, कम समवर्ती): सभी कॉन्फ़िग मूल लाइन के साथ मेल खाते हैं, LMCache ~ 3-5% ओवरहेड जोड़ता है।
- मध्यम पदचिह्नः एलएमसीकेई इंजनों में उपसर्ग के पुनः उपयोग में मदद करना शुरू कर देता है।
- KV HBM से अधिक हैः मूल CPU ऑफलोड और LMCache दोनों में ब्रीडपुट में काफी सुधार होता है; LMCache क्रॉस-इंजन साझाकरण के कारण अधिक लाभ होता है।
जब LMCache निर्णायक हो
- बहु-आवासीय सेवा जहां सिस्टम संकेत किरायेदारों के बीच साझा किए जाते हैं।
- RAG जहां दस्तावेज़ टुकड़े क्वेरी के माध्यम से दोहराया।
- उसी आधार पर ठीक-ठीक वेरिएंट (LoRA) जहां बेस मॉडल केवी का पुनः उपयोग अधिशेष कार्य को कम करता है।
- पूर्व-भारी कार्यभारः पुनः पूर्ति से सीपीयू सस्ता है।
जब सक्षम नहीं करना
- छोटे एचबीएम दबाव आप लाभ के बिना ओवरहेड का भुगतान करते हैं।
- लघु संदर्भ (<1K टोकन) स्थानांतरण समय > पुनः पूर्ति।
- एकल किरायेदार एकल प्रम्प्ट कार्यभार कैप्चर करने के लिए कोई पुनः उपयोग नहीं।
विघटित सेवा के साथ एकीकरण
चरण 17 · 17 विघटित सेवा + LMCache यौगिकः KV प्रीफिल पूल से LMCache में पूल भूमि को डिकोड करने के लिए स्थानांतरित करता है यदि उपयोग नहीं किया जाता है; बाद में क्वेरी LMCache से खींचता है। चरण 17 · 11 कैश-जाहिर राउटर इंजन को रूट कर सकता है जिसका स्थानीय OR LMCache-साझा कैश मेल खाता है।
संख्याओं को याद रखना चाहिए
- vLLM 0.9.0: कनेक्टर एपीआई शिप किया गया।
- vLLM 0.11.0 (जनवरी 2026): असिनक्रोनस ऑफलोड पथ; एंड-टू-एंड लटेंसी प्रभाव वर्कलोड, KV हिट रेट और सिस्टम दबाव (निश्चित गारंटी नहीं) पर निर्भर करता है।
- 16x H100 बेंचमार्क: LMCache मदद करता है जब KV पदचिह्न HBM से अधिक हो।
- छोटे एचबीएम दबावः 3-5% ओवरहेड बिना लाभ के।
इसका प्रयोग करें
code/main.pyएलएमसीके के साथ और बिना एक पूर्व-भारी कार्यभार का अनुकरण करता है। रिपोर्ट्स रिफिलिंग से बचा गया, थ्रूपुट की वृद्धि, और ब्रेक-ईवन एचबीएम उपयोग।
इसे भेजें
यह सबक हमें फल देता हैoutputs/skill-vllm-stack-decider.md. वर्कलोड के आकार और vLLM तैनाती को देखते हुए, native vs LMCache vs neither का फैसला करता है।
व्यायाम
- दौड़ें
code/main.py. LMCache HBM उपयोग के साथ भुगतान शुरू करता है? - एक किरायेदार 6K टोकन प्रणाली 200 queries / घंटे पर शीघ्र साझा करता है. प्रति किरायेदार के लिए अपेक्षित LMCache बचत की गणना करें.
- LMCache सर्वर एक ही विफलता बिंदु है। HA रणनीति (प्रतिलिपि, मूल में वापस) डिजाइन करें।
- LMCache Spinning डिस्क पर Ceph को स्टोर करता है। 70B FP8 (500 MB) पर 4K-टोकन KV के लिए, रीफिल बनाम री-फिल का समय क्या है?
- तर्क करें कि vLLM 0.11.0 असिनक्रोनस पथ "मुक्त" है ऊपर का स्थान कहां छिपा है?
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Production-stack | "the reference deployment" | vLLM's Kubernetes Helm chart + operator |
| Connector API | "KV backend interface" | vLLM 0.9.0+ pluggable KV store interface |
| Native CPU offload | "engine-local spill" | Store KV in host RAM of same engine |
| LMCache | "cluster KV cache" | Cross-engine KV cache server on CPU DRAM + disk |
| 0.11.0 async | "non-blocking offload" | Offload hidden behind engine stream |
| Preemption | "evict to make room" | KV cache shuffle when HBM full |
| Prefix reuse | "same system prompt" | Multiple queries share beginning; cache hit |
| Ceph tier | "disk tier" | Durable storage below DRAM in the cache hierarchy |
आगे पढ़ना
- vLLM Blog — KV Offloading Connector (Jan 2026)
- vLLM Production Stack GitHub हेलम चार्ट + ऑपरेटर।
- LMCache for Enterprise-Scale LLM Inference (arXiv:2510.09665)
- LMCache GitHub कनेक्टर कार्यान्वयन।
- vLLM 0.11.0 release notes असिनक्रोनस पथ विवरण।
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.