1Cat-vLLM
1CatAI/1Cat-vLLM加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
2017 年发布的 NVIDIA Tesla V100 曾是 AI 训练的旗舰级 GPU,搭载 Volta 架构、640 个 Tensor Core、16GB HBM2 显存。但随着 2023 年之后大模型参数规模爆发式增长,社区的优化重心全面转向 H100/A100/H200 等新架构——V100 被认为"廉颇老矣",主流推理框架(如 vLLM 原版)甚至无法在 V100 上流畅运行 70B 参数模型。
1Cat AI 这么想吗?他们不这么想。
他们的判断是:V100 的 Tensor Core 从未"突然失效",只是软件栈停止了对 SM70 架构的认真优化。于是团队启动了 1Cat-vLLM 项目,目标简单直接:让现代大模型在 V100 上真正跑得快,而不是仅仅"能启动"。
实测数据摆在 README 首页:4 张 V100 16GB 联合运行 Qwen3.8-27B(NVFP4 精度 + DFlash2 投机解码),吞吐约 260 tokens/s。

图1:1Cat-LLM 项目标识(来源:项目仓库 assets,Apache-2.0 许可)
这不是情怀,而是一笔非常具体的账。
第一层是供给侧。 2023 年后 H100/A100 成为新规,H100 单卡价格是 V100 二手价的五到十倍,H100 出口管制又让国内采购更难。对手握一批 V100 的企业、高校和中小算力中心来说,"换卡"不是选项,"榨干旧卡"才是唯一路径。
第二层是生态侧。 vLLM 社区的优化是自上而下的:主力开发者的测试集群是 H100,FlashAttention、FlashInfer、NVFP4 这些新特性都以 SM80+ 为第一目标。SM70 被降级成"能跑就行"的兼容路径——这就是 1Cat 团队所说的"软件栈停止了对 SM70 的认真优化"。
第三层是技术侧。 Volta 架构有它自己的独特性:它是最后一个支持 Tensor Core 的"上一代"架构,SM70 的 WMMA 指令集与后续架构不兼容,无法直接复用针对 SM80+ 写的高效 kernel。要在 V100 上跑出接近 H100 的效率,必须手写 SM70 专属 kernel——这正是这个项目存在的原因。
如果说 vLLM 是一台通用赛车,那么 1Cat-vLLM 就是把同一台赛车按一台老赛道的特性重新调校的特制版本。
赛车手的直觉是"这台车太老了,换新的";1Cat 团队的思路是"这条赛道的弯道特性我摸清楚了,油门、齿比、悬挂我都能重新调"——引擎没换,但传动系统、空气动力学、抓地力全都针对这条赛道重做了一遍。这正是工程上"深度改装"与"换车"的区别。
从仓库结构能清楚看出工作量:
flash-attention-v100/ — SM70 专属的 FlashAttention 实现,这是吞吐的关键flash_qla/ — 面向 QLA 量化格式的注意力优化路径flashinfer-sm70/ — FlashInfer 的 SM70 后端移植rust/ + build_rust.sh + rust-toolchain.toml — 用 Rust 写 CUDA 绑定层csrc/ + cmake/ + CMakeLists.txt — CUDA C++ 核心 kernelbenchmarks/ — 完整的性能基准套件docker/ — 存在 Docker 支持(含多阶段构建)SM70_FLASH_V100_QUALITY_EXPERIMENT_LOG_20260615.md、**SM70_MTP_OUTPUT_QUALITY_AUDIT_20260616.md** — 连"投机解码输出质量审计"都单独留了文档最值得关注的是量化路径。 项目把量化支持当作"运维设计问题"而非单纯的"加载器问题":NVFP4、AWQ 4-bit、GGUF 社区量化 checkpoint 都在支持范围内。GGUF 的加入尤其有价值——它意味着社区里现成的量化模型可以直接拿来用,不必等官方转格式。
性能声明非常克制,这点值得点赞。 README 明确写道:260 tok/s 是"真机演示的头条数字,不是通用的固定解码速率",并强调注意力 TFLOP/s、prefill tok/s、纯目标模型 decode、投机 decode 这几个指标不可互换。它还给出了单请求契约的具体参数:262144 最大上下文、8192 token prefill 预算、4 个序列槽位、显存利用率 0.80、T=1/top-p=.95/top-k=20/seed=0、最多 256 输出 token,三次热请求取中位数。
版本节奏很猛。 最新发布版 v1.5.1(2026-10-03)相比 v1.5.0:4K 单请求 103.87 → 229.34 tok/s(+120.80%),32K 单请求 49.04 → 201.18 tok/s(+310.24%),128K 单请求 171.43 tok/s。v1.5.0 本身是"自 v1.3.0 以来最大的 SM70/V100 版本",包含 126 个合并 PR、400 次提交。
PIFS 的部署评估把它标为 quick_deploy = unsupported、难度"困难",这是准确的:
代价是:32GB+ 内存、50GB+ 磁盘、16GB+ 显存(多卡推荐)、1 小时以上的部署时间。
第一,硬件的世代劣势是物理的。 即便 kernel 写得再精妙,SM70 没有 FP8 Tensor Core、没有 TMA、没有 Hopper 的异步事务引擎。README 里 128K 上下文下 171 tok/s 的成绩很好,但横向对比 H100 同模型的速度,差距依然存在——软件优化能补回一部分,但补不回架构代差。
第二,FlashAttention 与投机解码的精度妥协需要盯。 项目自己留了 SM70_FLASH_V100_QUALITY_EXPERIMENT_LOG 和 SM70_MTP_OUTPUT_QUALITY_AUDIT 两份文档,说明 FP8 KV cache(E4M3)与 DFlash2 投机解码的输出质量是团队主动关注并反复审计的问题。README 特别指出"原始 E4M3 修复需要 precision revision 4,当前多头与请求主序路径需要更新的原生能力"——这类精度契约的复杂度,对使用者是实实在在的心智负担。
第三,项目改名正在进行中。 1Cat-vLLM 正在更名为 1Cat-LLM,仓库链接、发布文件名、安装命令在过渡期仍保留旧名。这对自动化脚本和 CI 集成是个隐患。
第四,中文文档缺失。 团队在 README 里做了详尽的英文说明,但中文用户只能靠自己翻译。考虑到 V100 在国内存量巨大(尤其高校和早期智算中心),这个缺口有点可惜。
第五,fork 的长期维护成本。 硬分叉 vLLM 意味着要持续跟进上游的接口变化、bug 修复与新特性。项目的应对是建立 .buildkite CI、AGENTS.md/CLAUDE.md 协作规范、SM70_FLASH_* 审计日志等工程化流程,说明团队是有意识做长期主义的——但 fork 的维护负担是结构性的,不是一次性投入能解决的。
1Cat-LLM 的价值不只在于"又一个推理框架"。它代表的是国内 AI 基础设施里一条被严重低估的曲线:存量 V100 算力的再激活。
在大模型叙事里,大家的目光总是盯着 H100 供给、H200 交付、国产芯片突破。但真实的算力存量池里,V100 仍然是相当可观的规模,而它们的利用率长期低下——因为没有一个值得投入的优化路径。1Cat 把这条路径做出来了:4 卡 V100 跑 27B 模型到 260 tok/s,意味着大量 2022-2023 年采购的 GPU 集群可以继续承担生产推理任务。
社区里已经出现了它的衍生 fork(如 humanjesse/vllm-v100 在其基础上扩展 compressed-tensors、MoE 与 kernel 精度),也有用户在 NVIDIA 开发者论坛实测 8 卡 V100-32GB(DGX-1)跑 GLM-5.3-Flash-NVFP4 达到上下文上限——生态在自发扩散,这比任何官方推广都更有说服力。
从这个角度看,1Cat-LLM 兑现的是一句朴素的判断:软件优化的边际收益,在存量硬件上往往远高于换新硬件。只是当硬件足够便宜时,没人会去做这件苦活——直到存量算力变成了稀缺资源。