
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 1102
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(项目为 Python 编写,README 未指定具体版本)
- uv 包管理器(README 通过官方脚本安装)
- 可运行 PyTorch 的机器;README 提到多 GPU 时可调整 world_size
- 网络可访问 astral.sh 以下载 uv 安装脚本
安装与启动步骤
-
1安装 uv 包管理器
README 指定用 uv 管理依赖,先通过官方脚本安装,安装后新开终端使 uv 命令生效。
curl -LsSf https://astral.sh/uv/install.sh | sh -
2同步项目依赖
在项目根目录执行 uv sync,按锁文件创建虚拟环境并安装全部依赖。
uv sync -
3运行主推理引擎
执行 main.py 跑通完整推理流程:小尺寸 Qwen3 随机初始化 + 60 条对话提示 + 分页注意力解码。
uv run python main.py -
4运行预填充基准
执行 benchmark_prefilling.py,测试 FlashAttention 在预填充阶段的表现。
uv run python benchmark_prefilling.py -
5运行解码基准
执行 benchmark_decoding.py,测试 PagedAttention 在解码阶段的表现。
uv run python benchmark_decoding.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
world_size | 否 | 在 main.py 的 config 中设置多 GPU 并行数量,大于 1 即多卡 | 2 |
如何确认成功
执行 uv run python main.py 后终端正常打印推理输出、无报错退出,即说明引擎启动成功。
常见问题
Q:如何启用多 GPU 运行?
A:按 README 说明,在 main.py 的 config 中把 world_size 改为大于 1 的数值即可,无需其他改动。
Q:需要自己下载模型权重吗?
A:不需要。main.py 使用随机初始化的小尺寸 Qwen3 演示推理流程,README 未要求下载任何权重文件。
Q:想系统理解实现原理看哪里?
A:README 指向 HowToApproachvLLM.md,其中按层、模型、分页注意力、CUDA graphs、调度等环节给出分步实现指南。
Q:三个脚本分别做什么?
A:main.py 是主推理引擎示例,benchmark_prefilling.py 与 benchmark_decoding.py 分别做预填充的 FlashAttention 和解码的 PagedAttention 基准测试。
注意事项
- 项目基于 Nano-vLLM 改造,自包含实现 PagedAttention 与 FlashAttention,不依赖 vLLM 官方代码。
- main.py 会构造小尺寸 Qwen3 与 60 条提示(2 条基础提示各重复 30 次),最多生成 256 个 token,显存占用与真机部署模型不同。
- README 未给出 Python 版本、CUDA 版本和显存要求,实际运行前请自行确认环境兼容性。
核心亮点
- 自实现 PagedAttention 与 FlashAttention,代码量小、可逐行对照原理
- 基于 Nano-vLLM 精简复现,适合教学与快速实验,上手门槛低
- Python 实现,便于修改调度、缓存策略并观察性能变化
不足之处
- 功能与性能远不及生产级 vLLM,缺少量化、分布式等能力
- 社区与文档规模小,长期维护和生态支持待观察
适用场景
- 学习大模型推理引擎内部原理的教学演示
- 在小型模型上做注意力/缓存策略的对比实验
- 作为二次开发原型,验证自定义调度或显存管理想法
替代项目
vLLM、Nano-vLLM
上一篇:flashinfer
下一篇:1Cat-vLLM
同类项目推荐
llm-d-inference-sim
开源
不装 GPU 不跑模型,秒起一个假 vLLM 服务
A lightweight, configurable, and real-time simulator designed to mimic the behavior ···
Strata
开源
一键把大模型装进自己电脑,本地 API 即开即用
Qwen3.8-Flash-Next on any consumer hardware: one-click install for Windows / Linux. ···
MinerU
开源
把 PDF/Word 一键转成 AI 能读懂的 Markdown,让文档直接喂给大模型。
Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON ···
minio
开源
自建高性能 S3 对象存储,轻松兼容 AWS,秒级部署。
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPL···
vLLM-2080Ti-Definitive
开源
双2080Ti+NVLink跑Qwen 27B,单请求破100 tok/s
The definitive vLLM runtime for dual RTX 2080 Ti 22GB + NVLink, delivering Qwen 27B ···
optimum-intel
开源
让 Hugging Face 模型在 Intel 芯片上跑得更快,几行代码实现加速。
Optimum Intel: Accelerate inference with Intel optimization tools
LLM-Tools
开源
输入模型参数,秒算 GPU 显存和硬件需求
Open-source calculator for LLM system requirements.
krasis
开源
显存不够也能跑大模型,混合推理榨干硬件性能
Krasis is a Hybrid LLM runtime which focuses on efficient running of larger models o···
tma1
开源
让 AI 代理读取自己的运行日志,自动优化下一轮决策。
Local-first observability your agent reads back. TMA1 records every LLM call, then r···