RWKV-LM
融合RNN与Transformer的新一代大模型架构:线性时间、零KV缓存、无限上下文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
融合RNN与Transformer的新一代大模型架构:线性时间、零KV缓存、无限上下文
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景: 你正在用大模型处理一个超长的合同文档,模型突然告诉你"上下文超出限制了"。又或者,你在一块消费级显卡上跑GPT风格的模型,显存爆了——这是所有Transformer架构用户的共同痛点。RWKV的出现,正是为了解决这些问题。
RWKV(谐音"RwaKuv",参数名首字母缩写:R、W、K、V)是由独立研究者 Bo Peng(彭博) 发起的开源大语言模型项目,GitHub仓库建于2021年8月,至今已积累超过1.45万颗星、1000多次Fork,是LLM领域最受关注的非大厂主导的研究型项目之一。
RWKV的核心创新在于:将Transformer级别的语言建模性能,与RNN(循环神经网络)的线性时间复杂度和常数空间特性结合起来。这意味着:
2025年,RWKV正式加入 Linux Foundation AI 项目,成为Linux基金会旗下项目,这意味着RWKV获得了企业级背书和社区支持。更令人惊讶的是,RWKV运行时已被集成到 Windows和Office 中——微软已经开始将RWKV落地到其核心产品。
RWKV的架构演进经历了多个版本迭代,最新的 RWKV-7 "Goose" 是目前最强的线性时间、常数空间、无注意力机制的100% RNN架构。
RWKV的每一次迭代都在解决一个核心矛盾:如何在保持RNN高效性的同时,逼近Transformer的表达能力。
RWKV-1到RWKV-4 采用了基于时间混合(Time Mixing)和通道混合(Channel Mixing)的线性注意力机制,核心公式将Transformer的softmax注意力分解为线性形式,避免了O(n²)的计算复杂度。这一阶段的RWKV已经在多项基准测试中展现出了接近Transformer的表现,同时训练速度更快。
RWKV-5/6 引入了更高效的CUDA内核和更强的推理优化,吞吐量显著提升。
RWKV-7 "Goose" 则是质的飞跃——它被设计为一个 "元上下文学习者"(Meta-In-Context Learner),通过在每个token位置对模型状态执行上下文梯度下降,实现了在推理时动态适应上下文的效果。这使得RWKV-7无需传统注意力机制,却能在长上下文任务中表现出色。官方发布的基准测试显示,RWKV-7 7.2B bf16在4×8×H100上训练速度达到259k tokens/s,MFU(模型浮点运算利用率)超过35%。
传统Transformer架构面临三个绕不开的痛点:
KV-Cache的显存炸弹:上下文越长,显存占用越大。100K上下文的模型可能需要数十GB显存来存储中间状态。RWKV彻底消除了这个问题——无论上下文多长,显存占用几乎不变。
推理速度随长度下降:Transformer的自注意力在生成长文本时越来越慢,因为每次都需要"回头看"所有历史token。RWKV的RNN本质让它在任意长度上都保持恒定速度。
无法真正做到"无限上下文":虽然SwinTransformer等变体声称支持长上下文,但本质上仍是线性增长的成本。RWKV真正实现了常数时间/空间的推理。

图1:RWKV架构示意图,展示了RNN与Transformer融合的核心设计理念。
RWKV的核心依赖非常明确:
torch >= 2.5(支持CUDA 12.5+)
pytorch-lightning == 1.9.5
deepspeed
wandb(可选,用于训练可视化)
ninja(加速编译)
项目提供了RWKV-v7/train_temp/目录下的参考训练代码,默认配置只需要1块有7GB以上显存(NVIDIA RTX 3090/4090即可)的GPU,就能在MiniPile数据集(约1.5B tokens)上完成完整的训练流程。
项目提供了两步训练脚本:
# 安装依赖
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade
cd RWKV-v7/train_temp/
# 第一步:下载数据集并生成初始权重
sh ./demo-training-prepare.sh
# 第二步:加载初始权重并开始训练
sh ./demo-training-run.sh
训练日志中loss的正常范围(±0.01以内)已由官方给出参考值,可以据此判断训练是否正常。wandb可以实时可视化loss曲线。
训练完成后,权重文件会输出到out/目录下。项目同时支持通过RWKV-CUDA内核进行高效推理,通过Albatross推理框架在RTX 5090上实现了惊人的145+ token/s单token生成速度。对于移动端,社区也提供了rwkv-mobile项目专门优化。
RWKV-LM/
├── RWKV-v7/ # 最新架构版本(含CUDA内核、训练代码、评估工具)
│ ├── train_temp/ # 参考训练实现(最低只需1张7GB GPU)
│ ├── cuda/ # 自定义CUDA kernel(需编译安装)
│ ├── rwkv_v7_demo.py # 推理示例
│ └── rwkv_mmlu_eval.py # 基准测试工具
├── RWKV-v5/ # 成熟稳定版本
├── RWKV-v4/ # 中期迭代版本
├── RWKV-v3/ # 早期实验版本
└── RWKV-v2-RNN/ # 纯RNN实验版本
| 层次 | 技术 |
|---|---|
| 框架 | PyTorch 2.5+ |
| 训练 | DeepSpeed + PyTorch Lightning 1.9.5 |
| CUDA优化 | 自定义融合kernel(需ninja编译) |
| 推理 | RWKV-CUDA / Albatross |
| 评估 | MMLU等标准基准测试 |
RWKV本身即为核心架构,不依赖任何外部LLM API。它是一个从零训练的神经网络架构,代表了一种全新的语言模型设计哲学。代码质量方面,项目结构清晰,每个版本独立组织,CUDA内核与PyTorch代码分离,文档中包含了完整的训练参考日志。
尽管RWKV优势显著,但也存在不可回避的局限:
训练复杂度高于标准Transformer:RWKV-7的官方参考实现需要仔细配置DeepSpeed和CUDA环境,依赖版本敏感(pytorch-lightning必须用1.9.5)。自定义CUDA内核需要手动编译,增加了部署门槛。
生态仍在追赶Transformer:虽然RWKV已被集成到Windows/Office和Linux Foundation,但主流AI工具链(如HuggingFace Transformers、LangChain等)对RWKV的支持仍需通过专门的connector实现,不如GPT模型开箱即用。
硬件要求不低:虽然比同等规模的Transformer省显存,但训练7B+规模模型仍需多卡集群支持,单卡可运行但大规模微调需要专业算力。
RWKV的意义远不止于一个"更快的LLM"。它的存在证明了:Transformer不是唯一正确的答案。
在2024-2025年间,随着RWKV加入Linux Foundation、进入Windows/Office,以及HuggingFace上的150+篇相关研究论文的发表,RWKV正在从"极客玩具"进化为企业级AI基础设施的一部分。它的线性注意力替代方案,为解决大模型推理成本高、显存占用大等根本性问题提供了重要参考。
目前最新的RWKV-7 "Goose"已经在多个长上下文基准测试中展现出与顶级Transformer相当甚至更优的表现,同时保持了RNN的高效特性。这条"融合RNN与Transformer"的技术路线,已经成为大模型架构演进中不可忽视的重要分支。