RedKnot

长文本推理省显存提吞吐,按头复用 KV

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 基础设施 🍴 复刻 1521 🐛 待处理 7 👀 关注 103
GitHub ↗
GitHub 星标 ★ 3058
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,免费使用

项目预览

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

项目数据

分类基础设施
开发团队rednote-machine-learning
定价模式🏷️完全免费
价格说明开源项目,免费使用
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
GitHub 星标★ 3058
上线时间2026-06-04 00:00:00
代码更新2026-10-28
仓库体积63.1 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-16
浏览次数1

项目介绍

RedKnot 是一个面向长上下文大语言模型推理的服务框架,核心解决长文本场景下 KV Cache 显存占用大、推理吞吐低的问题。它提出 Head-Aware KV Reuse(按注意力头粒度复用 KV)和 SegPagedAttention(分段分页注意力)两项技术:前者识别不同注意力头对历史信息的依赖差异,只对真正需要的头保留或复用 KV,减少冗余计算与显存;后者把长序列切分成段并分页管理,提升显存利用率和批处理效率。项目用 Python 实现,适合部署在需要处理超长输入(如长文档问答、代码库分析、多轮长对话)的推理服务中,在保持生成质量的同时降低显存开销、提高并发吞吐。

Star 增长趋势

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

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

使用教程

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

环境要求

  • 8×NVIDIA H200(单卡143,771 MiB)或8×B300 节点,TP8 配置
  • CPython 3.11.13、PyTorch 2.9.1 + CUDA 12.8、Triton 3.5.1
  • GPU 驱动 570.148.08(H200 认证 Hopper 配置)
  • 可访问 GitHub 的 git(README 使用 SSH 地址)
  • DeepSeek-V4-Flash 权重,可用本地 checkpoint 或允许自动下载

安装与启动步骤

  1. 1克隆仓库

    README 提供的是 SSH 地址,需本机已配置 GitHub SSH key;也可改用 HTTPS 地址克隆。

    git clone git@github.com:rednote-machine-learning/RedKnot.git
  2. 2进入测试目录

    所有复现脚本都位于 test/srt/redknot 下,后续命令均在该目录执行。

    cd RedKnot/test/srt/redknot
  3. 3校验固定环境

    setup_deepseek_v4_flash_env.sh 用于创建或校验固定版本环境,--check-only 只做检查不安装。

    ./setup_deepseek_v4_flash_env.sh --check-only
  4. 4加载环境变量

    source 该 env 文件后,新 shell 中即可直接使用锁定好的 Python 与依赖环境。

    source ./environment-deepseek_v4-flash.env
  5. 5指定模型路径

    默认使用本地 DeepSeek-V4-Flash checkpoint;换路径时设置 REDKNOT_MODEL_PATH 或给脚本传 --model-path。

    export REDKNOT_MODEL_PATH=/your/path/to/DeepSeek-V4-Flash
  6. 6运行复现脚本

    一键创建/校验环境并顺序跑完 64K、128K、256K、440K 四个套件,耗时较长且占用全部八张 GPU。

    ./run_deepseek_v4_flash_reproduction.sh
  7. 7直接跑基准入口

    在已准备好的机器上,也可跳过 wrapper,直接用 Python 入口脚本执行基准测试。

    python benchmark_RedKnot_DeepSeekV4Flash.py

关键配置

配置项必填说明示例
REDKNOT_MODEL_PATH否指定 DeepSeek-V4-Flash checkpoint 的本地路径/your/path/to/DeepSeek-V4-Flash
--model-path否命令行方式指定另一个 checkpoint 路径--model-path /your/path/to/DeepSeek-V4-Flash
--no-download-model否禁用自动下载模型,仅使用本地 checkpoint--no-download-model

如何确认成功

脚本顺序跑完 64K/128K/256K/440K 四个套件并输出 TTFT 结果,结果布局见 test/srt/redknot/README_DEEPSEEK_V4_FLASH.md。

常见问题

Q:本地没有 checkpoint 怎么办?

A:README 说明:若 checkpoint 不可用,Python 入口脚本可以下载已发布的模型,除非显式设置了 --no-download-model。

Q:可以用 B300 跑吗?

A:可以。B300 使用单独的 SM103 硬件配置,需要先重新编译适配硬件的 FlashMLA、DeepGEMM 与 SGL kernels,再跑同一套冻结测试。

Q:能同时跑两个 TP8 服务吗?

A:不能。默认运行是顺序执行的,每个套件都需要同样那八张 GPU,不会并发运行两个 TP8 服务。

Q:怎么换成别的 checkpoint?

A:设置环境变量 REDKNOT_MODEL_PATH,或在调用时传 --model-path,wrapper 默认使用本地 DeepSeek-V4-Flash checkpoint。

注意事项

  • 官方测量与验证均在 8×H200 或 8×B300 的 TP8 节点上完成,未提供 L20X/L20Y 的结果。
  • 默认运行被设计为完整且顺序执行,耗时长,请预留整机八卡独占时间。
  • 套件顺序、SHA256 校验、TTFT 协议与结果布局详见 test/srt/redknot/README_DEEPSEEK_V4_FLASH.md。

核心亮点

  • 按注意力头粒度复用 KV,比整层/整序列复用更精细,能实打实降低长上下文显存占用
  • SegPagedAttention 对长序列分段分页管理,提升显存利用率和批处理并发能力
  • 聚焦长上下文 LLM 服务这一真实痛点,与 vLLM 等主流框架思路互补,有工程落地价值

不足之处

  • 项目较新、星标 2567,生产环境验证和长期维护稳定性待观察
  • 依赖具体模型注意力结构做头级分析,跨模型架构的通用性和调参成本待验证

适用场景

  • 长文档问答与摘要服务,输入动辄数万 token,需要控制显存成本
  • 代码库/日志分析类应用,超长上下文推理要求高吞吐低延迟
  • 多轮长对话 Agent 后端,历史上下文不断增长,需高效 KV 管理

替代项目

vLLM、SGLang

上一篇:hpc-ops

下一篇:TurboLLM

同类项目推荐

kernel-memory 开源

给 AI 装上长期记忆,让应用能基于私有知识精准问答

Research project. A Memory solution for users, teams, and applications.

★ 2233 2026-08-09
Claude-API 开源

用 Python 快速接入 Claude 对话能力

This project provides an unofficial API for Claude AI, allowing users to access and ···

★ 915 2026-08-09
gptGrok2api 开源

批量注册 ChatGPT/Grok 账号,自动转成 API 网关

ChatGPT/GPT 注册机|Grok 注册机|全自动纯协议注册,支持 OAuth、邮箱接码、账号池、代理···

★ 289 2026-08-09
budgetml 开源

10 行代码搞定低预算 ML 推理服务,省钱省心

Deploy a ML inference service on a budget in less than 10 lines of code.

★ 1344 2026-08-09
navop 开源

一个工具搞定数据库、服务器和 AI 监控,告别多窗口切换。

A native, all-in-one workspace for databases, SSH, SFTP, terminals, remote desktop, ···

★ 2079 2026-08-09
docker-diffusers-api 开源

把 Stable Diffusion 装进 Docker,一行命令起 REST API,快速集成图像生成。

Diffusers / Stable Diffusion in docker with a REST API, supporting various models, p···

★ 204 2026-08-09
kubernetes-mlops 开源

用Python+Docker+K8s,把模型部署流水线跑起来

MLOps tutorial using Python, Docker and Kubernetes.

★ 415 2026-08-09
rust-mlops-template 开源

用 Rust 搭建高性能 MLOps 基础设施,告别 Python 性能瓶颈

A work in progress to build out solutions in Rust for MLOPs

★ 387 2026-08-09
mongo 开源

不用建表,存 JSON 文档,海量数据轻松横向扩展

The MongoDB Database

★ 28670 2026-08-29