RedKnot

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

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

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

项目数据

分类基础设施
开发团队rednote-machine-learning
所属国家
官网地址
定价模式free
价格说明开源项目,免费使用
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型
GitHub 星标★ 2664
30天Star增速
HF 下载量
上线时间2026-06-04 00:00:00
最近更新2026-09-18 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

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

项目介绍

RedKnot 是一个基础设施领域的开源项目,官方简介:Efficient Long-Context LLM Serving with Head-Aware KV Reuse and SegPagedAttention。项目使用 Python 开发,在 GitHub 上获得 2567 星标。

上一篇:hpc-ops

下一篇:TurboLLM

同类项目推荐

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

★ 8433 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···

★ 181124 2026-08-09