项目/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 当前支持 F32、F16、BF16、Q4_0、Q4_1、Q5_0、Q5_1、Q8_0、Q8_1 与 Q6K 等 tensor type。
实验状态
该项目仍是实验性实现,目前没有 release,也没有声明开源许可证。公开源码不等于获得复制、修改或分发授权。
Q4_K_M等 K-quant 格式尚未实现,会在加载时明确失败。- 多轮 REPL 会重放完整对话,没有跨轮持久化 KV cache。
- GGUF 权重在 matmul 时临时上传,速度明显低于 dense safetensors。
- 支持范围聚焦 Qwen3,不是通用模型兼容层。
项目内置 fast、normal 与 heavy 三档 benchmark,可固定序列数、输入长度、输出长度和模型长度来比较 CPU、CUDA、ROCm 或不同提交。