(NInfer分支) 我为Qwen-3.8 27B在双5090显卡上实现1M上下文的尝试

Reddit r/LocalLLaMA 工具

摘要

一位开发者分支了NInfer,这是一个C++20/CUDA推理引擎,添加了张量并行和YaRN绳索缩放,使得Qwen3.8-27B能够在双5090显卡上运行1M token上下文,并在特定解码场景中优于vLLM。

嗨!我分支了NInfer(一个从零开始构建的C++20/CUDA推理引擎,用于Qwen模型),并添加了两项功能:跨两个GPU的张量并行,以及YaRN ×4绳索缩放。两者结合使得Qwen3.8-27B NVFP4能够在两个消费级5090显卡上运行1,048,576 token上下文——每张卡27.4 GB,无需NVLink。性能数据(单流,每GPU 500 W上限):在653k上下文下解码:使用MTP推测解码时119 tok/s,不使用时57 tok/s。vLLM在相同提示下:42 tok/s。原因:超过其原生262k窗口后,vLLM的MTP接受率降至零(1,533个草稿中0个被接受)——它仍然为起草器付费。NInfer的接受率在1M范围内保持约55–60%。预填充是vLLM获胜的地方:快1.2–1.3倍。完整的1M提示在NInfer上需要约18分钟。这是未调优的部分。在1M下:解码48 tok/s,使用MTP时约100 tok/s。vLLM的fp8 KV缓存在此硬件上上限约为759k token;NInfer的INT8 KV在更少内存中容纳1,048,576。两个GPU也比一个快:在250k时75 vs 54 tok/s,因为权重和KV流量每卡减半,且每个token的约128次跨GPU归约在CUDA图下仅耗时约0.2 ms。分支性能
查看原文

相似文章