عن المشروع

Dynamo هي طبقة تنسيق مفتوحة المصدر تقع فوق محركات الاستدلال بدلاً من استبدالها. تقوم بتنسيق SGLang وTensorRT-LLM وvLLM في نظام استدلال متعدد العقد لأحمال عمل LLM والاستدلال والوسائط المتعددة وتوليد الفيديو. تم بناء المشروع باستخدام Rust للأداء وPython للتوسعة، وهو مرخص بموجب Apache 2.0. القدرات الأساسية الموصوفة في README: - فصل prefill/decode: يفصل prefill وdecode إلى مجموعات GPU قابلة للتوسع بشكل مستقل بحيث يمكن لكل مرحلة أن تعمل على أجهزة مناسبة لعبء عملها. - التوجيه الواعي بـKV: يوجه الطلبات بناءً على حمل العامل وتداخل ذاكرة التخزين المؤقت KV لتقليل حساب prefill الزائد. - مدير كتل KV (KVBM): يفرغ ذاكرة التخزين المؤقت KV عبر GPU وCPU وSSD والتخزين البعيد لتوسيع طول السياق الفعال. - ModelExpress: ينقل أوزان النموذج من GPU إلى GPU عبر NIXL/NVLink لتسريع بدء التشغيل البارد للنسخ الجديدة. - Planner: أداة توسع تلقائي مدفوعة باتفاقية مستوى الخدمة تقوم بتحليل أحمال العمل وتحديد حجم المجموعات بشكل صحيح. - Grove: مشغل Kubernetes لجدولة المجموعات المدركة للطوبولوجيا، بما في ذلك وضع NVL72 عبر الرفوف والمضيفين وعقد NUMA. - AISimulate: يتنبأ بسلوك الخدمة ويبحث في تكوينات النشر دون تشغيل مجموعة GPU. - تحمل الأخطاء: فحوصات صحية Canary بالإضافة إلى ترحيل الطلبات قيد التنفيذ بحيث لا تؤدي فشل العمال بالضرورة إلى إسقاط طلبات المستخدم. تتضمن إضافات الإصدار 1.0 المميزة النشر بدون تكوين عبر DGDR (تحديد النموذج والأجهزة واتفاقية مستوى الخدمة في ملف YAML واحد)، وميزات الاستدلال الوكيل مثل تلميحات لكل طلب للأولوية وطول الإخراج المتوقع وprefill التخميني، وبيانات تعريف الجلسة، والتكامل مع LangChain وNeMo Agent Toolkit. كما يتم سرد تشفير/فك ترميز/فك ترميز الوسائط المتعددة مع ذاكرة تخزين مؤقت للتضمين، ودعم FastVideo الأصلي وSGLang Diffusion لتوليد الفيديو، ومكون إضافي لبوابة Kubernetes Inference Gateway، وتفريغ KV على مستوى التخزين مع دعم S3/Azure blob. خيارات النشر: حاويات NGC المعدة مسبقًا لبيئات تشغيل vLLM وSGLang وTensorRT-LLM؛ تثبيت PyPI عبر uv مع إضافات الواجهة الخلفية؛ ونشر Kubernetes عبر Dynamo Platform، بما في ذلك بيان DynamoGraphDeploymentRequest الذي يأخذ النموذج والواجهة الخلفية وأهداف اتفاقية مستوى الخدمة. توجد وصفات معدة مسبقًا لنماذج مثل Qwen3-32B-FP8 وDeepSeek-R1 وKimi-K3، مع أدلة سحابية لـ AWS EKS وGoogle GKE وAzure AKS وAmazon ECS. البناء من المصدر يستخدم Rust وmaturin وuv، مع توفر devcontainer. يتم توثيق طوبولوجيتين لتوجيه الطلبات: توجيه الواجهة الأمامية الأصلي لـ Dynamo (العميل إلى الواجهة الأمامية إلى الموجّه إلى العمال) وتوجيه Gateway API مع امتداد استدلال Kubernetes Gateway API، حيث تستدعي البوابة مكون Endpoint Picker Plugin الخاص بـ Dynamo قبل إعادة التوجيه إلى sidecar الواجهة الأمامية للعامل. كلاهما يعرض واجهة برمجة تطبيقات متوافقة مع OpenAI. يكتشف الخدمة استخدام TCP للاتصال بين المكونات؛ على Kubernetes، تتعامل CRDs وEndpointSlices مع الاكتشاف، وetcd أو NATS اختيارية لمعظم عمليات النشر. تعرض الواجهة الأمامية مواصفات OpenAPI 3، ويتم توفير إرشادات قياس الأداء عبر AIPerf. يسرد README أيضًا قنوات المجتمع بما في ذلك Slack وساعات العمل والاجتماعات المجتمعية الأسبوعية ومقترحات التصميم التي يتم تتبعها كقضايا GitHub.