跳到主要内容

文本大模型 · 线性注意力 / RNN

RWKV 本地部署:纯 RNN、零 KV Cache,7.2B 一张 24GB 卡就跑得动

RWKV-7 “Goose” 把 KV Cache 整个删掉了 —— 上下文从 1K 涨到 100K,显存占用一个字节都不涨。G1i 全系 Apache 2.0,在 NexGPU 上按秒租卡,$0.193/卡·时起。

RWKV 不是又一个 Transformer 变体,它是把 RNN 重新做对了的那一支。当前生产架构是 RWKV-7 “Goose”(论文 arXiv:2503.14456,提出 Dynamic State Evolution 与广义 Delta Rule),线性时间、常量空间、100% RNN、完全没有 attention。项目由 BlinkDL(彭博)主导,2023 年 9 月并入 Linux Foundation AI & Data,商业化主体是元始智能,全线权重 Apache 2.0,可商用、可闭源分发。当前在更新的只有 RWKV7-G1 “GooseOne” 推理模型这一条线:最新一批是 2026-08-05 放出的 G1i,训练上下文 ctx16384,四个尺寸 1.5B / 2.9B / 7.2B / 13.3B,配置分别是 L24-D2048、L32-D2560、L32-D4096、L61-D4096,词表统一 65536、head size 64。如果你还在搜 RWKV-4 Raven、RWKV-5 Eagle 或 RWKV-6 Finch 的部署方法 —— 官方 wiki 已经把它们标为 EOL,同尺寸直接换 G1 就是白捡的提升。

RWKV 的显存账和 Transformer 完全不是一套算法,这也是它值得单独开一张卡试的原因。没有 KV Cache,推理时的循环状态是固定大小的:以 7.2B 为例,L32-D4096、head size 64,WKV state 就是 32 × 4096 × 64 ≈ 840 万个元素,fp32 下约 34MB —— 跑到第 10 万个 token 还是这 34MB。所以显存预算基本等于权重本身:G1i 的 .pth 是 bf16 存的,文件多大就占多大,1.5B 3.06GB、2.9B 5.9GB、7.2B 14.4GB、13.3B 26.5GB。官方在单张 RTX 5090 上实测 7.2B fp16:bsz1 解码 145+ tok/s、bsz1 prefill 11289 tok/s、bsz320 解码 9650+ tok/s、bsz960 解码 10250+ tok/s,而且强调 constant speed & vram —— 批量从 1 拉到 960,显存不需要为 KV Cache 再让出一寸。诚实的代价在另一头:固定大小的 state 意味着召回是有损的,不像 attention 那样对全上下文精确可查,做长文档精确抽取时要自己配检索兜底。

真正会绊住人的是工具链,不是显存。第一条要说清楚:vLLM 目前不支持 RWKV —— 它的 supported models 里有 Mamba、Mamba2、FalconMamba、Jamba,就是没有 RWKV,`vllm serve` 这条路走不通,别照着别人的 Qwen 教程套。能走通的是四条:llama.cpp / Ollama 吃 GGUF(社区 @MollySophia 在 2025 年 3 月把 RWKV v7 合进了 llama.cpp 主线)、官方 rwkv pip 包用 strategy 字符串直接控精度、transformers 配 flash-linear-attention 走 Triton 内核、以及 WebGPU 路线的 Ai00 和 web-rwkv。其次是 prompt:RWKV 是 RNN,对格式远比 Transformer 敏感,官方给的是 `User: 问题\n\nAssistant:` 后跟一个空格,Instruction 格式下 Instruction 必须在 Input 之前(RWKV 回看能力弱,先给指令再给材料),prompt 末尾的多余空格会打乱 World tokenizer,G1 触发思维链要在用户问题后面加 `(think)`,chat 场景推荐 temperature 1、top-p 0.5。下一代 RWKV-8 “Heron” 还在预览阶段:DeepEmbed(2025-05)和 ROSA(Rapid Online Suffix Automaton,2025-10)已有实验权重,但要上生产,今天仍然选 G1i。

01 —

RWKV 现役版本与显存对照

G1i 系列 2026-08-05 发布,训练上下文 ctx16384;.pth 为 bf16,文件大小基本等于权重显存

版本参数量显存上下文说明
RWKV7-G1i 13.3B(rwkv7-g1i-13.3b-20260805-ctx16384)13.3B / L61-D4096bf16 ~26.5GB / Q8_0 ~14.7GB / Q6_K ~11.6GB / Q4_K_M ~8.4GBctx16K 训练,可外推现在能拿到的最强 RWKV。bf16 装不进 24GB 卡,要么上 48GB,要么走 Q8_0 塞进 32GB。
RWKV7-G1i 7.2B(rwkv7-g1i-7.2b-20260805-ctx16384)7.2B / L32-D4096bf16 ~14.4GB / fp16i8 ~9GB / Q8_0 ~7.9GB / Q4_K_M ~4.5GBctx16K 训练,可外推单卡自部署的甜点位,也是官方公布 RTX 5090 吞吐数据的那一档,24GB 卡从容有余。
RWKV7-G1i 2.9B(rwkv7-g1i-2.9b-20260805-ctx16384)2.9B / L32-D2560bf16 ~5.9GB / LoRA 微调 8.8GB / state tuning 8.2GBctx16K 训练RWKV-7 论文里拿下 3B 级多语言 SoTA 的那个尺寸,一张 24GB 卡可以同时训和推。
RWKV7-G1i 1.5B(rwkv7-g1i-1.5b-20260805-ctx16384)1.5B / L24-D2048bf16 ~3.06GB / LoRA 微调 5.6GB / nf4 微调 3.9GBctx16K 训练官方对标 Qwen3 1.7B 的纯 RNN 推理模型,做垂域微调和批量离线任务的性价比首选。
RWKV7-G1d 0.4B / 0.1B0.4B / L24-D1024,0.1B / L12-D768bf16 ~0.9GB / ~0.38GBctx8K 训练端侧、嵌入式、投机解码草稿模型。RWKV-7 0.4B 用 ctx4k 训练即可外推并解决 ctx16k NIAH。
RWKV-8 “Heron” 预览(rwkv7a-g1d-0.1b + DeepEmbed)0.1B 主干 + DeepEmbed 词表向量权重文件 2.01GB,但激活显存仍是 0.1B 量级ctx8K实验性。DeepEmbed 把稀疏容量放进不占显存的词表向量里,配合 ROSA 机制探索真无限上下文,尚未生产就绪。

02 —

按场景选卡:RWKV 该租哪张

RWKV 没有 KV Cache,选卡只需覆盖权重加一点余量 —— 上下文拉长不用换卡

  • 1.5B / 2.9B 评估、LoRA 与 state tuning 微调

    RTX 3090 24GB$0.193/卡·时

    2.9B LoRA bf16 只要 8.8GB、state tuning 8.2GB,24GB 一张卡训推同机,全网最便宜的入场券。

  • 7.2B bf16 单卡推理服务

    RTX 4090 24GB$0.540/卡·时

    14.4GB 权重加 34MB 级 state,24GB 留足并发余量,是 7.2B 私有化部署最稳的一档。

  • 7.2B 高并发吞吐,或 13.3B 走 Q8_0 / Q6_K 量化

    RTX 5090 32GB$0.723/卡·时

    官方 145 tok/s(bsz1)与 10250+ tok/s(bsz960)就是在 5090 上测的,同一张卡能直接复现。

  • 13.3B bf16 全精度服务,或 7.2B 大批量持续训练

    RTX A6000 48GB$0.817/卡·时

    26.5GB 权重放 32GB 卡余量太紧,48GB 才能安心开批量;再往上做预训练可切 H100 SXM 80GB。

03 —

四步在 NexGPU 上把 RWKV 跑起来

从开卡到 OpenAI 兼容接口,7.2B 通常半小时内出第一个 token

  1. 01

    开卡并装好 CUDA 内核环境

    从 2,000+ 预置镜像里选 PyTorch 镜像开一张 RTX 4090 24GB。装 rwkv pip 包时务必装 ninja 并打开 RWKV_CUDA_ON=1 —— 它会编译自定义 CUDA 算子,更快而且更省显存;RWKV-7 必须显式设 RWKV_V7_ON=1,否则包会按旧架构加载后报错。缺 C++ 编译器或 CUDA 路径没导出时它会静默退回慢路径,记得先确认 nvcc 可见。

    pip install rwkv ninja huggingface_hub && export RWKV_V7_ON=1 RWKV_CUDA_ON=1 RWKV_JIT_ON=1 PATH=/usr/local/cuda/bin:$PATH
  2. 02

    拉 G1i 权重

    官方权重在 HuggingFace 的 BlinkDL/rwkv7-g1 仓库,按文件名精确下载,不必整仓 clone。7.2B 是 14.4GB,13.3B 是 26.5GB,NexGPU 节点直连下载通常几分钟内完成。要走 llama.cpp 就改下社区 GGUF 仓库,Q8_0 只有 7.93GB。

    hf download BlinkDL/rwkv7-g1 rwkv7-g1i-7.2b-20260805-ctx16384.pth --local-dir /workspace/rwkv
  3. 03

    起推理:原生 pip 包或 llama.cpp 二选一

    rwkv pip 包用 strategy 字符串一行控精度:cuda fp16 约 15GB 显存跑 7B,cuda fp16i8 压到约 9GB,还支持 cuda fp16i8 *20 -> cuda fp16 这类分层混合。注意两个坑:model 路径要去掉 .pth 后缀,tokenizer 要传 World 词表 rwkv_vocab_v20230424。想直接要 OpenAI 兼容 HTTP 接口,就用 llama.cpp 的 llama-server 加 GGUF:llama-server -m rwkv7-g1c-7.2b-Q8_0.gguf -ngl 99 --host 0.0.0.0 --port 8080,官方量化优先级是 FP16 > Q8_0 > Q5_K_M > Q4_K_M,再低会明显掉智力。

    python -c "from rwkv.model import RWKV; from rwkv.utils import PIPELINE; m=RWKV(model='/workspace/rwkv/rwkv7-g1i-7.2b-20260805-ctx16384', strategy='cuda fp16'); p=PIPELINE(m,'rwkv_vocab_v20230424'); print(p.generate('User: 用一句话解释 RWKV 为什么不需要 KV Cache\n\nAssistant:', token_count=200))"
  4. 04

    微调:state tuning 是 RWKV 独有的便宜路子

    用 RWKV-PEFT 做 LoRA、state tuning、MiSS 或 PiSSA。state tuning 只训初始状态,1.5B bf16 要 5.3GB、int8 4.1GB、nf4 3.7GB,2.9B bf16 8.2GB —— 一张 3090 就够,产出的 state 文件几十 MB,可以在 Ai00 或 RWKV Runner 里像换人格一样热挂载。一个必须记住的约束:state 文件只能配它训练时的那个模型版本,G1i 训的 state 不要往 G1d 上挂。

    git clone https://github.com/JL-er/RWKV-PEFT.git && cd RWKV-PEFT && pip install -r requirements.txt

算一遍真实账单

把 G1i 7.2B bf16 在 RTX 4090 24GB 上从零跑通并压测一轮:开镜像加下载 14.4GB 权重约 12 分钟(0.2 小时),对齐 prompt 格式与 state 调试 1.5 小时,bsz1 与 bsz64 两轮吞吐压测 1.3 小时 —— 合计 3 小时,3 × $0.540 = $1.62。同一轮想复现官方 RTX 5090 上 145 tok/s(bsz1)的数字,换 RTX 5090 32GB:3 × $0.723 = $2.17。13.3B bf16 26.5GB 权重放 RTX A6000 48GB 跑一个 8 小时评测批次:8 × $0.817 = $6.54。想省到极致,1.5B 的 LoRA 微调放 RTX 3090 24GB,训 6 小时是 6 × $0.193 = $1.16。存储另算:权重加环境约 20GB,保留一个月是 20 × $0.414 = $8.28,跑完销毁卷就不再计费。算力按秒计量、按小时定价,实例一停算力就停算,没有起租门槛、没有开通费、不用申请配额。

04 —

常见问题

RWKV 本地部署到底需要多大显存?

看尺寸,而且不看上下文 —— 这是 RWKV 最省心的地方。G1i 的 bf16 权重就是显存下限:1.5B 3.06GB、2.9B 5.9GB、7.2B 14.4GB、13.3B 26.5GB,循环 state 只有几十 MB 且恒定不变。量化后更低,7.2B Q4_K_M 只要 4.51GB、Q8_0 7.93GB。也就是说 7.2B 在 24GB 卡上非常宽裕,13.3B bf16 才需要 48GB。NexGPU 上 RTX 3090 24GB $0.193/卡·时、RTX 4090 24GB $0.540/卡·时、RTX A6000 48GB $0.817/卡·时,按秒计费,试完就停。

RWKV 能用 vLLM 部署吗?

不能。vLLM 的 supported models 列表里有 Mamba、Mamba2、FalconMamba、Jamba,但没有任何 RWKV 架构,`vllm serve` 走不通,照搬 Qwen 的部署脚本一定失败。可行的四条路是:llama.cpp / Ollama 吃 GGUF(RWKV v7 支持已于 2025 年 3 月合入 llama.cpp 主线),官方 rwkv pip 包用 strategy 字符串,transformers 配 flash-linear-attention 走 Triton 内核,或者 WebGPU 路线的 Ai00 / web-rwkv。NexGPU 的镜像库里 PyTorch、vLLM、Ubuntu CLI 都是现成的,选 PyTorch 镜像再装 rwkv 或编译 llama.cpp 都是几分钟的事。

RWKV 号称无限上下文,长文档处理是不是就不吃显存了?

显存确实不涨,这点没有夸大:state 是固定大小的,7.2B 的 WKV state 是 32 × 4096 × 64 ≈ 840 万元素、fp32 约 34MB,第 1 个 token 和第 10 万个 token 一样多。但要诚实地说另一半:固定 state 意味着召回有损,不像 attention 那样可以对全上下文精确回查,所以做长合同精确抽取这类任务建议外挂检索。另外 G1i 训练上下文是 ctx16384,超出训练长度靠外推(RWKV-7 0.4B 用 ctx4k 训练就能解决 ctx16k 的 NIAH),但超得越远质量越难保证。在 NexGPU 上开一张 RTX 4090 24GB $0.540/卡·时,一两个小时就能用你自己的语料把这条边界测清楚。

RWKV-4 Raven、RWKV-5 Eagle、RWKV-6 Finch 还值得部署吗?

不值得了。官方 wiki 已把 V4 / V5 / V6 以及初代 V7-World 标为 EOL,唯一持续更新的是 RWKV7-G1 系列,数据版本一路 G1 → G1a → G1a2 → G1b → G1c → G1d 迭代到 2026-08-05 的 G1i,同尺寸下越新越强。如果你手上有基于 Raven 或 Finch 的老部署,换成同尺寸 G1i 通常是纯增益,只是要注意 prompt 格式和 state 文件都要跟着换。迁移验证在 NexGPU 上很便宜:一张 RTX 3090 24GB $0.193/卡·时,新旧模型同机跑同一套评测集,一小时不到两毛钱。

RWKV 微调需要几张卡?state tuning 和 LoRA 差多少显存?

RWKV-7 的微调开销低得反常。官方给的 LoRA 显存是 1.5B bf16 5.6GB / int8 4.6GB / nf4 3.9GB,2.9B bf16 8.8GB / int8 6.7GB / nf4 5.7GB;state tuning 更省,1.5B bf16 5.3GB、2.9B bf16 8.2GB / nf4 4.7GB,而且产出的 state 文件只有几十 MB,热挂载即可切换风格。也就是说 2.9B 以下全部单卡起步。要做 7.2B 以上的持续预训练才需要多卡,官方参考配置是 4×8×H100 ctx10240 配 DeepSpeed zero2 + gradcp,跑到 270k tokens/s、37% MFU。NexGPU 单节点最多 14 张卡、最大节点显存 2,152GB,H100 SXM 80GB $3.582/卡·时,从一张 3090 到多机 H100 是同一个控制台。

自己部署 RWKV 最容易踩的坑是哪些?

按踩坑频率排:一是 prompt 格式 —— RWKV 是 RNN,对格式比 Transformer 敏感得多,标准是 `User: 问题\n\nAssistant:` 后带一个空格,Instruction 格式下 Instruction 必须在 Input 前面,prompt 尾部多余空格会打乱 World tokenizer(词表 65536,不是 BPE 也不是 sentencepiece);二是 rwkv pip 包的 model 路径要去掉 .pth 后缀,且 RWKV_V7_ON=1 不设就加载失败;三是走 transformers 路线时 flash-linear-attention 的 Triton 内核对 Python 与 Triton 版本挑剔,Python 3.10/3.11 有已知 Triton 崩溃问题,建议 3.12 以上;四是 state 文件必须与训练它的模型版本严格对应。这些都是十几分钟能试穿的问题 —— NexGPU 按秒计费、SSH / Jupyter / Web 终端 / REST API / CLI 全开,Telegram 上是中英双语真人支持、没有工单排队,卡在哪一步直接问。

开始使用 NexGPU

无论你是企业研发团队还是独立开发者,都可以在几分钟内跑起第一个任务。

注册即可浏览全网实时价格,无需绑定支付方式。