60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
---
|
||
title: "RWKV (Receptance Weighted Key Value)"
|
||
created: 2026-06-18
|
||
updated: 2026-06-18
|
||
type: concept
|
||
tags: ["rnn", "linear-attention", "sequence-modeling", "architecture"]
|
||
sources: ["https://arxiv.org/abs/2503.14456"]
|
||
---
|
||
|
||
# RWKV
|
||
|
||
## 定义
|
||
|
||
RWKV(Receptance Weighted Key Value)是一族线性复杂度的 RNN 架构,结合了 Transformer 的并行训练优势与 RNN 的常数推理内存。从 RWKV-4 到 RWKV-7,逐步将线性注意力、[[delta-rule]]、[[state-space-models|SSM]] 的思想融合进统一的序列建模框架。
|
||
|
||
## 架构演进
|
||
|
||
| 版本 | 代号 | 核心创新 | 复杂度类 |
|
||
|------|------|---------|---------|
|
||
| RWKV-4 | — | WKV 线性注意力 + token shift | TC^0 |
|
||
| RWKV-5 | Eagle | 多头矩阵值状态 | TC^0 |
|
||
| RWKV-6 | Finch | 动态衰减 + 数据依赖 | TC^0 |
|
||
| **RWKV-7** | **Goose** | **广义 Delta 规则 + 向量门控** | **NC^1** |
|
||
|
||
## 核心设计理念
|
||
|
||
RWKV 始终坚持:
|
||
- **线性复杂度**:训练 O(n),推理 O(1) 内存
|
||
- **全并行训练**:不使用 BPTT,通过 chunked parallel scan
|
||
- **常数推理**:无 KV cache,单 token 推理成本恒定
|
||
- **开源**:Apache 2.0,权重 + 代码 + 数据公开
|
||
|
||
## WKV 时间混合
|
||
|
||
RWKV 的核心是 WKV(Weighted Key Value)算子,可以视为受线性注意力启发的 RNN 循环:
|
||
|
||
```
|
||
w_t = softplus(W_w · x_t) 或更复杂的函数
|
||
k_t = W_k · x_t
|
||
v_t = W_v · x_t
|
||
状态 = 衰减(旧状态) + 新信息(k_t, v_t)
|
||
```
|
||
|
||
每个版本在"如何衰减、如何整合新信息"上有不同的数学形式。
|
||
|
||
## 相关概念
|
||
|
||
- [[token-shift]] — RWKV 家族的时间混合技巧
|
||
- [[wkv-time-mixing]] — WKV 算子的具体机制
|
||
- [[delta-rule]] — RWKV-7 引入的广义 delta 规则
|
||
- [[generalized-delta-rule]] — RWKV-7 的核心创新
|
||
- [[regular-language-recognition]] — RWKV-7 的理论突破
|
||
- [[peng-rwkv7|RWKV-7 论文]]
|
||
- [[state-space-models]] — SSM 视角下的 RWKV
|
||
|
||
## 参考
|
||
|
||
- RWKV-4 (Peng et al., 2023)
|
||
- [[peng-rwkv7|RWKV-7 "Goose"]] (Peng et al., 2025)
|