Cohere 开源 Megakernel 服务系统
Cohere 以 Apache-2.0 发布了一套把整个解码步骤融进单个 CUDA 内核的服务系统。在单张 H100 上比 vLLM 快 1.58 倍,但只支持一个模型、只支持 H100、批量只能是 1 到 8。
Cohere 以 Apache-2.0 许可开源了自家的服务系统 Cohere Megakernel。其主张是:这是首个围绕解码巨型内核构建的完整服务系统,把整个解码步骤融合进一次 CUDA 内核启动,同时仍支持一台真实服务器所需的全部能力。
什么是巨型内核
在常规推理中,生成一个 token 需要按顺序启动数十个独立的 GPU 内核,每次启动和其间的同步都有开销。巨型内核把这件事反过来:一个常驻的 CUDA 内核执行完整的解码前向过程。工作被拆解成一张任务图,每个任务是一块 GEMM 分片或一次注意力切分,从而消除了各操作之间的全网格同步屏障。
数字
测量在单张 NVIDIA H100 上以 North Mini Code 进行,对比对象是搭配 FlashAttention-3 与 Triton MoE 后端的 vLLM v0.24。
| 测量项 | 相对 vLLM |
|---|---|
| 仅解码,批量 1,8K 上下文 | 1.58 倍 |
| AIME 2025,端到端,批量 8 | 1.41 倍 |
| SciCode | 1.37 倍 |
| MMLU-Pro(计算机科学) | 1.33 倍 |
| LiveCodeBench v6 | 1.28 倍 |
| GPQA | 1.25 倍 |
仓库还称在批量为 1 时达到了 H100 理论峰值的百分之六十二。公告里的 1.58 出自最佳情形,也就是仅解码的测量;用真实提示做端到端,增益在 1.25 到 1.41 倍之间。
限制写得很清楚
仓库没有回避约束,而且清单不短。系统只做解码;预填充由单独的 PyTorch 内核完成,而且预填充期间解码会暂停。硬件仅限 H100(SM90a),精度仅限 BF16。批量只能是 1 到 8。采样选项受限:只有贪心和温度,没有 top_p,top_k 也有限。由于任务调度是针对具体模型编排的,受支持的模型只有 North Mini Code。
所以这不是通用的 vLLM 替代品,而是围绕一个模型、一种显卡和一个狭窄批量区间压缩出来的推理引擎。作为交换,它确实支持真实服务器的活儿:连续批处理、不等长序列、分页 KV 缓存、滑动窗口注意力、前缀缓存、抢占、流式响应和工具调用,并提供 OpenAI 兼容接口。