इस प्रोजेक्ट के बारे में
Dynamo एक ओपन-सोर्स ऑर्केस्ट्रेशन लेयर है जो इन्फरेंस इंजनों को बदलने के बजाय उनके ऊपर बैठती है। यह SGLang, TensorRT-LLM और vLLM को LLM, reasoning, multimodal और video generation वर्कलोड के लिए मल्टी-नोड इन्फरेंस सिस्टम में समन्वित करती है। यह प्रोजेक्ट प्रदर्शन के लिए Rust और extensibility के लिए Python के साथ बनाया गया है, और Apache 2.0 के अंतर्गत लाइसेंस प्राप्त है।
README में वर्णित मुख्य क्षमताएँ:
- Disaggregated prefill/decode: prefill और decode को स्वतंत्र रूप से स्केल होने वाले GPU पूल्स में अलग करता है ताकि प्रत्येक चरण अपने वर्कलोड के अनुरूप हार्डवेयर पर चल सके।
- KV-aware routing: अनावश्यक prefill गणना को कम करने के लिए वर्कर लोड और KV cache ओवरलैप के आधार पर अनुरोधों को रूट करता है।
- KV Block Manager (KVBM): प्रभावी कॉन्टेक्स्ट लंबाई बढ़ाने के लिए KV cache को GPU, CPU, SSD और रिमोट स्टोरेज में ऑफलोड करता है।
- ModelExpress: नई रेप्लिकाओं के cold starts को तेज़ करने के लिए NIXL/NVLink के माध्यम से मॉडल वेट्स को GPU-to-GPU स्ट्रीम करता है।
- Planner: एक SLA-आधारित autoscaler जो वर्कलोड को प्रोफाइल करता है और पूल्स को सही आकार देता है।
- Grove: टोपोलॉजी-अवेयर gang scheduling के लिए एक Kubernetes ऑपरेटर, जिसमें रैक, होस्ट और NUMA नोड्स में NVL72 प्लेसमेंट शामिल है।
- AISimulate: GPU क्लस्टर शुरू किए बिना ऑफलाइन serving व्यवहार का अनुमान लगाता है और डिप्लॉयमेंट कॉन्फ़िगरेशन खोजता है।
- Fault tolerance: canary health checks और in-flight request migration ताकि वर्कर विफलताओं पर उपयोगकर्ता अनुरोध जरूरी नहीं कि ड्रॉप हों।
संस्करण 1.0 में जोड़े गए मुख्य बिंदुओं में DGDR के माध्यम से zero-config डिप्लॉयमेंट (एक YAML में मॉडल, हार्डवेयर और SLA निर्दिष्ट करें), agentic inference सुविधाएँ जैसे प्राथमिकता, अपेक्षित आउटपुट लंबाई और speculative prefill के लिए per-request hints, session metadata, और LangChain तथा NeMo Agent Toolkit के साथ इंटीग्रेशन शामिल हैं। embedding cache के साथ multimodal encode/prefill/decode, video generation के लिए native FastVideo और SGLang Diffusion समर्थन, एक Kubernetes Inference Gateway प्लगइन, और S3/Azure blob समर्थन के साथ storage-tier KV offload भी सूचीबद्ध हैं।
डिप्लॉयमेंट विकल्प: vLLM, SGLang और TensorRT-LLM रनटाइम के लिए पहले से बने NGC कंटेनर; backend extras के साथ uv के जरिए PyPI इंस्टॉलेशन; और Dynamo Platform के माध्यम से Kubernetes डिप्लॉयमेंट, जिसमें DynamoGraphDeploymentRequest मैनिफेस्ट शामिल है जो मॉडल, backend और SLA लक्ष्य लेता है। Qwen3-32B-FP8, DeepSeek-R1 और Kimi-K3 जैसे मॉडलों के लिए पहले से बनी रेसिपी मौजूद हैं, साथ में AWS EKS, Google GKE, Azure AKS और Amazon ECS के लिए क्लाउड गाइड हैं। सोर्स से बिल्ड करने में Rust, maturin और uv का उपयोग होता है, और एक devcontainer उपलब्ध है।
दो request routing टोपोलॉजी दर्ज हैं: Dynamo-native frontend routing (क्लाइंट से Frontend से Router से वर्कर्स) और Kubernetes Gateway API Inference Extension के साथ Gateway API routing, जहाँ एक gateway वर्कर के frontend sidecar पर अग्रेषित करने से पहले Dynamo Endpoint Picker Plugin को कॉल करता है। दोनों OpenAI-संगत API उजागर करते हैं।
सर्विस डिस्कवरी इंटर-कंपोनेंट संचार के लिए TCP का उपयोग करती है; Kubernetes पर, CRDs और EndpointSlices डिस्कवरी संभालते हैं, और अधिकांश डिप्लॉयमेंट के लिए etcd या NATS वैकल्पिक हैं। Frontend एक OpenAPI 3 स्पेसिफिकेशन उजागर करता है, और AIPerf के माध्यम से बेंचमार्किंग मार्गदर्शन प्रदान किया गया है। README में Slack, office hours, साप्ताहिक community meetings और GitHub issues के रूप में ट्रैक किए गए design proposals सहित समुदाय चैनल भी सूचीबद्ध हैं।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.