Cohere تفتح مصدر نظام الخدمة Megakernel
أصدرت Cohere برخصة Apache-2.0 نظام خدمة يدمج خطوة فك الترميز كاملة في نواة CUDA واحدة. أسرع من vLLM بـ1.58 مرة على بطاقة H100 واحدة، لكنه يشغل نموذجا واحدا فقط وعلى H100 فقط وبأحجام دفعات من واحد إلى ثمانية.
فتحت Cohere مصدر نظام الخدمة الخاص بها Cohere Megakernel برخصة Apache-2.0. والادعاء أنه أول نظام خدمة متكامل مبني حول نواة عملاقة لفك الترميز، يدمج خطوة فك الترميز كاملة في إطلاق نواة CUDA واحد، مع دعم كل ما يحتاجه خادم حقيقي.
ما النواة العملاقة
في الاستدلال المعتاد يتطلب إنتاج رمز واحد إطلاق عشرات النوى المستقلة على وحدة المعالجة الرسومية بالتتابع، ولكل إطلاق ولكل مزامنة بينها كلفة. والنواة العملاقة تقلب ذلك: نواة CUDA واحدة دائمة تنفذ تمريرة فك الترميز كاملة. ويفكك العمل إلى رسم مهام تمثل كل مهمة فيه بلاطة GEMM أو تقسيمة انتباه، فتزول حواجز المزامنة الشاملة بين العمليات.
الأرقام
القياسات على بطاقة NVIDIA H100 واحدة بنموذج North Mini Code، مقابل vLLM الإصدار 0.24 مع FlashAttention-3 وخلفية Triton MoE.
| القياس | مقابل vLLM |
|---|---|
| فك ترميز فقط، دفعة 1، سياق 8K | 1.58 مرة |
| AIME 2025، من طرف إلى طرف، دفعة 8 | 1.41 مرة |
| SciCode | 1.37 مرة |
| MMLU-Pro (علوم الحاسوب) | 1.33 مرة |
| LiveCodeBench v6 | 1.28 مرة |
| GPQA | 1.25 مرة |
ويذكر المستودع أيضا بلوغ اثنين وستين بالمئة من السقف النظري لبطاقة H100 عند حجم دفعة واحد. ورقم 1.58 في الإعلان يأتي من أفضل الحالات، أي قياس فك الترميز وحده؛ أما المكسب من طرف إلى طرف بموجهات حقيقية فبين 1.25 و1.41 مرة.
القيود مكتوبة بوضوح
لا يخفي المستودع القيود، والقائمة ليست قصيرة. فالنظام يقوم بـفك الترميز فقط؛ أما التعبئة المسبقة فتجري على نوى PyTorch منفصلة، وهي توقف فك الترميز أثناءها. والعتاد H100 حصرا بمعمارية SM90a، والدقة BF16 حصرا. وأحجام الدفعات من واحد إلى ثمانية. وخيارات الاعتيان محدودة: جشع ودرجة حرارة فقط، بلا top_p وبـtop_k محدود. ولأن جدول المهام خاص بالنموذج فالمدعوم هو North Mini Code وحده.
أي أن هذا ليس بديلا عاما عن vLLM، بل محرك استدلال مضغوط حول نموذج واحد وبطاقة واحدة ونطاق دفعات ضيق. وفي المقابل يدعم أعمال الخادم الحقيقية: التجميع المستمر، والأطوال غير المنتظمة، وذاكرة KV المصفحة، وانتباه النافذة المنزلقة، وتخزين البادئة، والاستباق، والاستجابة المتدفقة، واستدعاء الأدوات، خلف واجهة متوافقة مع OpenAI.