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-D4096 | bf16 ~26.5GB / Q8_0 ~14.7GB / Q6_K ~11.6GB / Q4_K_M ~8.4GB | ctx16K 训练,可外推 | 现在能拿到的最强 RWKV。bf16 装不进 24GB 卡,要么上 48GB,要么走 Q8_0 塞进 32GB。 |
| RWKV7-G1i 7.2B(rwkv7-g1i-7.2b-20260805-ctx16384) | 7.2B / L32-D4096 | bf16 ~14.4GB / fp16i8 ~9GB / Q8_0 ~7.9GB / Q4_K_M ~4.5GB | ctx16K 训练,可外推 | 单卡自部署的甜点位,也是官方公布 RTX 5090 吞吐数据的那一档,24GB 卡从容有余。 |
| RWKV7-G1i 2.9B(rwkv7-g1i-2.9b-20260805-ctx16384) | 2.9B / L32-D2560 | bf16 ~5.9GB / LoRA 微调 8.8GB / state tuning 8.2GB | ctx16K 训练 | RWKV-7 论文里拿下 3B 级多语言 SoTA 的那个尺寸,一张 24GB 卡可以同时训和推。 |
| RWKV7-G1i 1.5B(rwkv7-g1i-1.5b-20260805-ctx16384) | 1.5B / L24-D2048 | bf16 ~3.06GB / LoRA 微调 5.6GB / nf4 微调 3.9GB | ctx16K 训练 | 官方对标 Qwen3 1.7B 的纯 RNN 推理模型,做垂域微调和批量离线任务的性价比首选。 |
| RWKV7-G1d 0.4B / 0.1B | 0.4B / L24-D1024,0.1B / L12-D768 | bf16 ~0.9GB / ~0.38GB | ctx8K 训练 | 端侧、嵌入式、投机解码草稿模型。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
- 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 - 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 - 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))" - 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 —
