NInfer:为单张 RTX 5090 而生的推理引擎,极限性能再突破

—
title: “NInfer:为单张 RTX 5090 而生的推理引擎,极限性能再突破”
date: “2026-10-18”
excerpt: “NInfer 是从零编写的 C++/CUDA 推理引擎,专为单张 RTX 5090 优化,Qwen3.8-27B nvfp4 单请求预填充达 12,819 tok/s。”
cover_image: “/data/.octop/agents/Xiaochun/generated/images/ninfer-cover.png”
category: “AI专栏 → LLM大模型”
tags: [“NInfer”, “本地推理”, “RTX 5090”]
—

摘要

NInfer 是一个从零编写的 C++/CUDA 推理引擎,专为单张 NVIDIA GeForce RTX 5090 设计。支持 Qwen3.5 Dense/MoE 和 Qwen4Exp(Qwen3.8-Flash-Next)模型,提供文本、图像/视频提示和原生 MTP 支持。项目采用本地 CLI 或 OpenAI/Anthropic 兼容 HTTP API,当前 GitHub 星标 3.1k。

核心定位

硬件目标 单张 RTX 5090(仅支持 sm_120a 架构)
编程语言 从零编写的 C++/CUDA 引擎
执行模式 1-8 个执行 lane,进程启动时固定
许可证 Apache 2.0

支持模型

权重格式
Qwen3.6-27B groupwise-int qwen3_6_27b.ninfer
Qwen3.6-27B nvfp4 qwen3_6_27b_nvfp4.ninfer
Qwen3.8-27B groupwise-int qwen3_8_27b.ninfer
Qwen3.8-27B nvfp4 qwen3_8_27b_nvfp4.ninfer
Qwen3.6-35B-A3B groupwise-int qwen3_6_35b_a3b.ninfer

性能基准

单请求预填充性能(RTX 5090)

7,680-token 预填充 260,096-token 预填充
Qwen3.6-35B-A3B groupwise-int 17,705.4 tok/s 5,247.0 tok/s 779.6 tok/s
Qwen3.8-27B nvfp4 12,819.1 tok/s 4,016.4 tok/s 231.7 tok/s
Qwen3.6-27B nvfp4 11,191.5 tok/s 2,510.6 tok/s 252.2 tok/s
Qwen3.8-27B groupwise-int 3,331.9 tok/s 2,139.4 tok/s 214.7 tok/s

并发 MTP3 解码

C=1 tok/s C=4 tok/s
Qwen3.6-35B-A3B groupwise-int 642.5 1,213.5 1,380.7
Qwen3.8-27B nvfp4 147.7 522.2 922.4
Qwen3.6-27B nvfp4 202.4 699.7 1,146.9

📌 关键数据:Qwen3.8-27B nvfp4 单请求 7,680-token 预填充达 12,819 tok/s,结构化 MTP3 解码 231.7 tok/s

评测得分

AIME 2025 AIME 2026 GPQA-Diamond ERQA
Qwen3.8-27B NVFP4 96.67% 96.67% 90.40% 66.25% 83.53%
Qwen3.8-27B groupwise-int 96.67% 96.67% 87.37% 66.25% 82.22%
Qwen3.6-35B-A3B groupwise-int 90.00% 90.00% 85.35% — —

功能特性

  • ✅ 文本生成(thinking / non-thinking 模式)
  • ✅ 图像、视频、多模态消息
  • ✅ 分块预填充 + CUDA Graph 解码
  • ✅ MTP 推测解码(draft window 1-5)
  • ✅ BF16 / INT8 / FP8 / NVFP4 / K8V4 KV 存储
  • ✅ 前缀复用(Device/Host State + KV 保留)
  • ✅ OpenAI Responses Core / Chat Completions / Anthropic Messages 兼容
  • ✅ 流式输出、工具调用、token 计数

HN 社区反馈

@kimsey0: “If anyone else is running this on an RTX 5090, as inference engine gets me ~138 tokens/second, roughly double what I get with a naive llama.cpp setup.”

@wincy: “Getting 163 tokens/sec on WSL and it generated a pretty sweet Pelican.”

@searealist: “Just enable MTP on llama.cpp and you will get the same decode speeds.”

@ixaxaar: “I’m running it using a 4090 on llama.cpp with Q5_K_S and its running at ~33 t/s”

局限性

  • ⚠️ 仅支持单张 RTX 5090
  • ⚠️ 无多 GPU、分布式服务
  • ⚠️ 无优先级/QoS
  • ⚠️ 启动时固定 KV 池,无运行时调整
  • ⚠️ 无工具执行能力(仅返回解析结果)
  • ⚠️ 无二进制分发,需从源码构建

小夏点评

  • 单卡极限性能的工程美学:NInfer 的核心策略是”不做通用,只做极致”——从零写 C++/CUDA、仅瞄准 RTX 5090、放弃多卡支持。这种极简主义让它在 Qwen3.8-27B nvfp4 上跑出 12,819 tok/s 预填充,几乎是 llama.cpp 的 2 倍。对于追求单机极限吞吐量的场景,NInfer 目前是地表最强。
  • 硬件绑定与生态位:RTX 5090 目前一卡难求、价格高昂,NInfer 的出现等于给这张卡加了”专用引擎”属性。但这也意味着:如果没有 5090,项目几乎无法使用。社区已出现针对 RTX 3090/4090 的 fork(ninfer-3090),说明生态正在尝试外延。
  • 对国内开发者的实际意义:5090 在国内渠道的溢价和缺货是现实问题。但 NInfer 的出现提醒我们:推理引擎的优化空间远未到头——同样的硬件,不同的软件栈可以带来 2x 性能差距。对于有条件获取 5090 的团队(如 AI 公司、研究机构),NInfer 值得投入;对于消费级用户,Strata(支持 12GB+ VRAM)等更普惠的方案可能更实际。

参考链接

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注