tiny-vllm

用 C++/CUDA 手写一个能跑的迷你 vLLM

tiny-vllm 是一个用 C++ 与 CUDA 从零实现的高性能 LLM 推理引擎教学项目,定位为 vLLM 的精简版。它解决的核心问题是:主流推理框架(如 vLLM)代码量大、抽象层多,初学者难以看清 PagedAttention、连续批处理、KV Cache 管理等关键机制的真实实现。该项目把推理引擎拆成可读的 C++/CUDA 代码,覆盖模型权重加载、注意力计算、分页显存管理、请求调度与批处理等环节,让开发者能亲手编译、运行并修改一个可工作的推理系统。它强调性能与工程细节,而非封装成开箱即用的服务,适合作为学习 HPC 与 LLM 推理底层原理的实践素材,也可作为自研推理引擎的起点参考。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1119
维护状态 活跃
是否开源
定价模式 free

项目数据

分类基础设施
开发团队jmaczan
所属国家
官网地址
定价模式free
价格说明开源免费,无在线服务,需自行编译部署
访问状态
是否开源
开源协议Apache-2.0
主要语言C++
技术栈/模型ai,attention,batching,course,cpp,cuda,hpc,inference,llm,llm-inference,pagedattention,tiny-vllm,vllm
GitHub 星标★ 1119
30天Star增速
HF 下载量
上线时间2026-02-09 00:00:00
最近更新2026-09-18 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:高级 约 20 分钟 部署方式:本地安装 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 支持 CUDA 的 NVIDIA GPU(项目全部计算均用 CUDA kernel 实现)
  • CUDA 工具链与 C++ 编译器(项目为 C++/CUDA 实现,需自行编译)
  • Safetensors 格式的 Llama 3.2 1B Instruct 模型权重
  • Git(用于克隆仓库)

安装与启动步骤

  1. 1克隆仓库

    从 GitHub 拉取 tiny-vllm 源码,仓库同时包含推理服务完整源码和配套实现课程。

    git clone https://github.com/jmaczan/tiny-vllm.git
    cd tiny-vllm
  2. 2通读课程目录

    README 目录列出了从 LLM/推理服务概念、技术前置知识到 Safetensors、bfloat16、显存等章节,按顺序阅读再动手。

  3. 3准备 CUDA 环境

    确认机器有 NVIDIA GPU,并自行安装可编译 C++/CUDA 的编译环境;README 未给出具体安装命令,请按官方文档配置。

  4. 4准备模型权重

    准备 Safetensors 格式的 Llama 3.2 1B Instruct 权重,项目仅声明支持从 Safetensors 加载该模型。

  5. 5按章节实现并编译

    跟着课程章节逐步补齐前向计算、KV Cache、分页显存管理等模块并编译运行;README 未提供统一构建命令,需按各章节指引操作。

如何确认成功

能成功编译,加载 Llama 3.2 1B Instruct 的 Safetensors 权重,并完成一次 prefill + decode 前向计算输出 token,即表示跑通。

常见问题

Q:没有 NVIDIA GPU 可以运行吗?

A:项目声明所有计算都由 CUDA kernel 实现,因此需要支持 CUDA 的 NVIDIA GPU,纯 CPU 环境无法按原样运行。

Q:支持哪些模型?

A:README 只说明从 Safetensors 加载 Llama 3.2 1B Instruct,未提及其他模型,换模型需自行改造代码。

Q:它是可以直接部署的推理服务吗?

A:不是。它是 vLLM 的精简教学实现,强调性能与工程细节,适合学习 PagedAttention、连续批处理等底层机制。

Q:我应该从哪里开始?

A:先按 README 目录读完 Intro、技术前置知识、Safetensors、bfloat16、GPU/CPU 内存等章节,再进入实现部分。

注意事项

  • README 未给出明确的安装与构建命令,本教程步骤为依据项目描述推断的通用准备动作,请以仓库内课程章节为准。
  • 仓库包含两部分:推理服务完整源码,以及带你从零实现引擎的课程,建议边读边改。
  • 项目定位为教学素材,也可作为自研推理引擎的起点,但不应直接当作生产服务使用。

核心亮点

  • 用 C++ 与 CUDA 从零实现 PagedAttention 与 KV Cache,代码量可控,便于逐行读懂推理引擎内部机制
  • 覆盖连续批处理、请求调度、显存分页管理等 vLLM 核心思想,是少见的端到端教学实现
  • 自带课程式组织与构建流程,可编译运行并动手改,比只读论文或源码更适合上手 HPC 推理开发

不足之处

  • 作为教学精简版,功能与性能均不及完整 vLLM,不适合直接用于生产部署
  • 文档与社区规模仍在成长,遇到问题可参考的资料相对有限

适用场景

  • 学习 LLM 推理引擎底层原理,配合课程动手实现 PagedAttention
  • 作为自研高性能推理引擎的代码起点或架构参考
  • 在 CUDA/HPC 课程或面试准备中演示连续批处理与显存管理

替代项目

vLLM、llama.cpp、TensorRT-LLM

项目介绍

tiny-vllm 是基础设施领域的开源项目,由 jmaczan 开发,是 2026 年新上线的项目。

在全站 12,753 个收录项目中,它的 GitHub 星标数(1,119)位列前 30%,在基础设施分类中处于中上游。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-18。开源免费,无在线服务,需自行编译部署。

它主要面向的使用场景是:学习LLM推理引擎底层原理,配合课程动手实现PagedAttention。同类可对比的替代方案包括 vLLM、llama.cpp、TensorRT-LLM。

上一篇:mcp-context-forge

下一篇:csghub-server

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···

★ 202 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8576 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 435 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181269 2026-08-09