OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  nano-vllm — 更轻量的 vLLM 风格推理服务实现

nano-vllm — 更轻量的 vLLM 风格推理服务实现

 
  inspire ·  2026-03-29 11:00:26 · 5 次点击  · 0 条评论  

GeeeekExplorer%2Fnano-vllm | Trendshift

Nano-vLLM

一个从零开始构建的轻量级 vLLM 实现。

主要特性

  • 🚀 快速的离线推理 - 推理速度与 vLLM 相当
  • 📖 可读性强的代码库 - 约 1,200 行 Python 代码的清晰实现
  • 优化套件 - 前缀缓存、张量并行、Torch 编译、CUDA 图等

安装

pip install git+https://github.com/GeeeekExplorer/nano-vllm.git

模型下载

如需手动下载模型权重,请使用以下命令:

huggingface-cli download --resume-download Qwen/Qwen3-0.6B \
  --local-dir ~/huggingface/Qwen3-0.6B/ \
  --local-dir-use-symlinks False

快速开始

具体用法请参考 example.py。其 API 接口与 vLLM 基本一致,仅在 LLM.generate 方法上有细微差别:

from nanovllm import LLM, SamplingParams
llm = LLM("/你的/模型/路径", enforce_eager=True, tensor_parallel_size=1)
sampling_params = SamplingParams(temperature=0.6, max_tokens=256)
prompts = ["你好,Nano-vLLM。"]
outputs = llm.generate(prompts, sampling_params)
outputs[0]["text"]

性能基准测试

性能基准测试请参考 bench.py

测试配置:
- 硬件:RTX 4070 笔记本电脑 (8GB)
- 模型:Qwen3-0.6B
- 总请求数:256 个序列
- 输入长度:在 100–1024 个 token 之间随机采样
- 输出长度:在 100–1024 个 token 之间随机采样

性能结果:
| 推理引擎 | 输出 Token 数 | 耗时 (秒) | 吞吐量 (token/秒) |
|----------------|-------------|----------|-----------------------|
| vLLM | 133,966 | 98.37 | 1361.84 |
| Nano-vLLM | 133,966 | 93.41 | 1434.13 |

Star 历史

Star History Chart

5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 12 ms
Developed with Cursor