项目/nano-vllm-rs

更新于 2026/06/16

nano-vllm-rs

使用 Rust 与 Burn 实现的轻量 vLLM 风格推理引擎,覆盖 Qwen3、KV cache 与多种计算后端。

nano-vllm-rs 是一个使用 Rust 和 Burn 实现的轻量 vLLM 风格推理引擎,灵感来自 nano-vllm。目标不是替代完整 vLLM,而是用较小代码面展示模型加载、KV cache、batch scheduling 和 token generation 如何组成推理运行时。

当前能力

  • 加载 Hugging Face safetensors 目录中的 Qwen3 风格模型。
  • 支持部分 Qwen3 GGUF 文件。
  • 通过 Burn Dispatch backend 运行在 CPU、CUDA 与 ROCm。
  • 提供单次推理、多轮 Chat REPL 和 benchmark 子命令。
  • 输出 prefill、decode 与总吞吐量。
  • 生成确定性的 Qwen3 权重 remap/concatenation 计划。

GGUF 当前支持 F32F16BF16Q4_0Q4_1Q5_0Q5_1Q8_0Q8_1Q6K 等 tensor type。

实验状态

该项目仍是实验性实现,目前没有 release,也没有声明开源许可证。公开源码不等于获得复制、修改或分发授权。

  • Q4_K_M 等 K-quant 格式尚未实现,会在加载时明确失败。
  • 多轮 REPL 会重放完整对话,没有跨轮持久化 KV cache。
  • GGUF 权重在 matmul 时临时上传,速度明显低于 dense safetensors。
  • 支持范围聚焦 Qwen3,不是通用模型兼容层。

项目内置 fast、normal 与 heavy 三档 benchmark,可固定序列数、输入长度、输出长度和模型长度来比较 CPU、CUDA、ROCm 或不同提交。

相关阅读

Memo关闭侧信道攻击缓解,make Linux great again!Memotime-warp-test.c: check TSC synchronity on x86 CPUsMemoArchLinux NVIDIA GPU 容器启动失败