عن المشروع
نظرة عامة على راوتر llm-d
يعد راوتر llm-d نقطة دخول ذكية لحركة مرور الاستدلال في بيئات Kubernetes، صُممت لتحسين تقديم نماذج LLM عبر توفير توجيه مراعٍ للحمل وذاكرة البادئة المؤقتة، وتحديد أولويات الطلبات، والتحكم المتقدم في التدفق. وهو يدعم تنسيقات طلبات متنوعة وأهداف خدمة معقدة، ما يجعله مناسبًا لنشر الذكاء الاصطناعي الإنتاجي.
المكونات الأساسية
يستضيف المستودع عدة مكونات رئيسية:
1. Endpoint Picker (EPP): محرك التوجيه الذكي الذي يعمل بصفة "عقل" الراوتر. فهو يقيّم الطلبات الواردة مقابل الحالة الحالية لـ InferencePool، مع مراعاة عوامل مثل موقع KV-cache والحمل الحالي والأولوية لاتخاذ قرارات توزيع مثلى. ويتكامل مع وكلاء L7 عبر بروتوكول ext-proc.
2. واجهات برمجة إدارة الطلبات: موارد تؤثر على سلوك EPP:
- InferenceObjective: يضبط أهداف الجدولة لطلبات محددة، بما في ذلك مستويات الأولوية وأهداف الأداء.
- InferenceModelRewrite: يتيح إعادة كتابة اسم النموذج لإدارة مرنة لحركة المرور، ويدعم اختبار A/B وعمليات الطرح Canary.
3. Disaggregation Sidecar: مكون تنسيق يُنشر إلى جانب خوادم النماذج (عادةً بصفة sidecar لعمال فك الترميز decode workers). وينسّق دورات حياة الاستدلال المعقدة متعددة المراحل، مثل P/D (Prefill/Decode) وE/P/D (Encode/Prefill/Decode)، عبر التواصل مع العمال المتخصصين لإدارة KV-cache وعمليات نقل التضمين.
أوضاع التشغيل
يدعم راوتر llm-d وضعين رئيسيين للنشر:
1. الوضع المستقل Standalone Mode
يستخدم هذا الوضع وكيل Envoy مُدارًا ذاتيًا دون الحاجة إلى بنية Gateway API التحتية. ويدعم مخطط Helm المستقل طوبولوجيتين:
- وضع Sidecar (الافتراضي): يعمل الوكيل داخل حجرة EPP، ويناسب الاختبارات الأساسية والتقييمات المحلية.
- وضع Service: يعمل الوكيل بصفة Deployment وService منفصلين قابلين للتوسع أفقيًا، ويصل إلى EPP عبر Service الخاص به. عيّن router.proxy.mode=service لتوسيع الوكيل بشكل مستقل.
2. وضع Gateway (بوابة الاستدلال)
يوصى بهذا الوضع للإنتاج، ويستفيد من Kubernetes Gateway API الرسمية. يعمل EPP بصفة خلفية لـ InferencePool، ويُشار إليه عبر HTTPRoute على بوابة مشتركة. يتيح ذلك إدارة متقدمة لحركة المرور، وموازنة أحمال عبر مجموعات متعددة، وبنية تحتية مشتركة لكل من أحمال الاستدلال والأحمال التقليدية.
البنية والوثائق
يوفر المشروع وثائق شاملة تشمل:
- تفاصيل البنية ومنطق التوجيه والمكونات الإضافية (المرشحات filters والمُقيِّمات scorers)
- توصيات تحديد أحجام الحاويات للأحمال الثقيلة أو ذات السياق الطويل
- مواصفات تنسيق سجلات OpenTelemetry JSON الموجهة إلى stdout
- أدلة إعداد Disaggregation
- تعليمات التحقق من القطع الأثرية للأمان
المتطلبات التقنية
للتثبيت التلقائي لـ Envoy، يوفر المشروع أدوات، لكن التثبيت اليدوي يتطلب دعم أوضاع أجسام الطلب/الاستجابة FULL_DUPLEX_STREAMED في مرشح ext-proc.
المجتمع والمساهمات
يشجع المشروع المشاركة المجتمعية عبر اجتماعات كل أسبوعين، وقناة Slack مخصصة (#sig-router)، وإرشادات المساهمة. ويتبع دليل المساهمة الخاص بمؤسسة llm-d، ويجب مناقشة التغييرات الأكبر عبر Issues أولًا.
الأمان
تحمل صور الحاويات المنشورة تصديقًا موقعًا بالأصل (provenance attestation) وSBOM (قائمة مكونات البرمجيات). وتُوثَّق إرشادات الإبلاغ الأمني في SECURITY.md، مع تعليمات التحقق من القطع الأثرية الصادرة.
بشكل عام، يعد راوتر llm-d حلاً قويًا للمؤسسات التي تبحث عن توجيه استدلال ذكي وقابل للتوسع في Kubernetes، خاصة لأحمال عمل LLM الحديثة ذات متطلبات الخدمة المفككة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.