项目文件夹

0

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

GeeeekExplorer%2Fnano-vllm | Trendshift

Nano-vLLM

从零实现的一款轻量级 vLLM。

核心特性

  • 🚀 快速离线推理 - 推理速度与 vLLM 相当
  • 📖 可读性强的代码库 - 以约 1,200 行 Python 代码实现的简洁实现
  • 优化套件 - 前缀缓存(Prefix caching)、张量并行(Tensor Parallelism)、Torch 编译、CUDA graph 等

安装

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("/YOUR/MODEL/PATH", enforce_eager=True, tensor_parallel_size=1)
sampling_params = SamplingParams(temperature=0.6, max_tokens=256)
prompts = ["Hello, Nano-vLLM."]
outputs = llm.generate(prompts, sampling_params)
outputs[0]["text"]

基准测试

基准测试请参阅 bench.py

测试配置:

  • 硬件:RTX 4070 Laptop8GB
  • 模型:Qwen3-0.6B
  • 总请求数:256 条序列
  • 输入长度:在 100–1024 个 token 之间随机采样
  • 输出长度:在 100–1024 个 token 之间随机采样

性能结果:

推理引擎 输出 Token 数 耗时(秒) 吞吐量(tokens/s
vLLM 133,966 98.37 1361.84
Nano-vLLM 133,966 93.41 1434.13

Star 历史

Star History Chart