tiny-vllm

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 基础设施 🍴 复刻 102 👀 关注 6
GitHub ↗
GitHub 星标 ★ 1181
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源免费,无在线服务,需自行编译部署

项目预览

tiny-vllm 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类基础设施
开发团队jmaczan
定价模式🏷️完全免费
价格说明开源免费,无在线服务,需自行编译部署
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言C++
技术栈/模型ai,attention,batching,course,cpp,cuda,hpc,inference,llm,llm-inference,pagedattention,tiny-vllm,vllm
GitHub 星标★ 1181
上线时间2026-02-09 00:00:00
代码更新2026-11-01
仓库体积1.0 MB
本站数据更新2026-11-04
维护状态活跃
收录时间2026-09-16
浏览次数1

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 1181

技术标签

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:高级 约 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

上一篇:mcp-context-forge

下一篇:csghub-server

同类项目推荐

edgevec 开源

把向量搜索跑在浏览器和边缘,数据不出端

High-performance vector search for Browser, Node, and Edge

★ 100 2026-11-02
Neumann 开源

一套存储搞定表格、图谱和向量,查询不用再拼装

A Rust runtime that unifies relational tables, graph relationships, and vector embed···

★ 75 2026-08-09
inferencedb 开源

把实时模型推理结果一键流入数据湖,方便后续分析

Stream inferences of real-time ML models in production to any data lake (Experimenta···

★ 82 2026-08-09
xllm 开源

一套引擎,跑遍各类模型和加速器,推理更快更省心。

A high-performance inference engine for LLM, VLM, DiT and REC models, optimized for ···

★ 1616 2026-08-09
tiygate 开源

给 LLM 服务加个高可用保险,自动切换不宕机

TiyGate is a lightweight gateway for highly available LLM services. 一款致力于提供高···

★ 147 2026-08-09
agentplay 开源

把编码代理的会话回放成地图和时间线

Replay your coding agent sessions as a map and a timeline

★ 350 2026-10-24
microduck 开源

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

A Tiny biped duck robot

★ 13431 2026-09-10