🧬 RWKVアーキテクチャ(RNN+Transformer ハイブリッド)
線形時間で無限文脈・KVキャッシュ不要のRWKV アーキテクチャ解説Skill。研究者向け。
📺 まず動画で見る(YouTube)
▶ 【最新版】Claude(クロード)完全解説!20以上の便利機能をこの動画1本で全て解説 ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
RNN+Transformer hybrid with O(n) inference. Linear time, infinite context, no KV cache. Train like GPT (parallel), infer like RNN (sequential). Linux Foundation AI project. Production at Windows, Office, NeMo. RWKV-7 (March 2025). Models up to 14B parameters.
🇯🇵 日本人クリエイター向け解説
線形時間で無限文脈・KVキャッシュ不要のRWKV アーキテクチャ解説Skill。研究者向け。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o rwkv-architecture.zip https://jpskill.com/download/110.zip && unzip -o rwkv-architecture.zip && rm rwkv-architecture.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/110.zip -OutFile "$d\rwkv-architecture.zip"; Expand-Archive "$d\rwkv-architecture.zip" -DestinationPath $d -Force; ri "$d\rwkv-architecture.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
rwkv-architecture.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
rwkv-architectureフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 4
💬 こう話しかけるだけ — サンプルプロンプト
- › RWKVアーキテクチャ(RNN+Transformer ハイ を使って、最小構成のサンプルコードを示して
- › RWKVアーキテクチャ(RNN+Transformer ハイ の主な使い方と注意点を教えて
- › RWKVアーキテクチャ(RNN+Transformer ハイ を既存プロジェクトに組み込む方法を教えて
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
RWKV - Receptance Weighted Key Value
クイックスタート
RWKV (RwaKuv) は、Transformer の並列化(トレーニング)と RNN の効率性(推論)を組み合わせています。
インストール:
# PyTorch をインストール
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121
# 依存関係をインストール
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade
# RWKV をインストール
pip install rwkv
基本的な使い方 (GPT モード + RNN モード):
import os
from rwkv.model import RWKV
os.environ["RWKV_JIT_ON"] = '1'
os.environ["RWKV_CUDA_ON"] = '1' # 速度向上のため CUDA カーネルを使用
# モデルをロード
model = RWKV(
model='/path/to/RWKV-4-Pile-1B5-20220903-8040',
strategy='cuda fp16'
)
# GPT モード (並列処理)
out, state = model.forward([187, 510, 1563, 310, 247], None)
print(out.detach().cpu().numpy()) # ロジット
# RNN モード (逐次処理、結果は同じ)
out, state = model.forward([187, 510], None) # 最初の2トークン
out, state = model.forward([1563], state) # 次のトークン
out, state = model.forward([310, 247], state) # 最後のトークン
print(out.detach().cpu().numpy()) # 上と同じロジットです!
一般的なワークフロー
ワークフロー 1: テキスト生成 (ストリーミング)
効率的なトークンごとの生成:
from rwkv.model import RWKV
from rwkv.utils import PIPELINE
model = RWKV(model='RWKV-4-Pile-14B-20230313-ctx8192-test1050', strategy='cuda fp16')
pipeline = PIPELINE(model, "20B_tokenizer.json")
# 初期プロンプト
prompt = "The future of AI is"
state = None
# トークンごとに生成
for token in prompt:
out, state = pipeline.model.forward(pipeline.encode(token), state)
# 生成を続行
for _ in range(100):
out, state = pipeline.model.forward(None, state)
token = pipeline.sample_logits(out)
print(pipeline.decode(token), end='', flush=True)
主な利点: トークンあたりのメモリが一定(KV キャッシュの増加なし)
ワークフロー 2: 長いコンテキスト処理 (無限コンテキスト)
数百万トークンのシーケンスを処理:
model = RWKV(model='RWKV-4-Pile-14B', strategy='cuda fp16')
# 非常に長いドキュメントを処理
state = None
long_document = load_document() # 例: 100万トークン
# ドキュメント全体をストリーム処理
for chunk in chunks(long_document, chunk_size=1024):
out, state = model.forward(chunk, state)
# state には、100万トークン全体のドキュメントからの情報が含まれています
# メモリ使用量: O(1) (一定、O(n) ではありません!)
ワークフロー 3: RWKV のファインチューニング
標準的なファインチューニングのワークフロー:
# トレーニングスクリプト
import pytorch_lightning as pl
from rwkv.model import RWKV
from rwkv.trainer import RWKVTrainer
# モデルを設定
config = {
'n_layer': 24,
'n_embd': 1024,
'vocab_size': 50277,
'ctx_len': 1024
}
# トレーナーをセットアップ
trainer = pl.Trainer(
accelerator='gpu',
devices=8,
precision='bf16',
strategy='deepspeed_stage_2',
max_epochs=1
)
# トレーニング
model = RWKV(config)
trainer.fit(model, train_dataloader)
ワークフロー 4: RWKV と Transformer の比較
メモリ比較 (100万トークンのシーケンス):
# Transformer (GPT)
# メモリ: アテンションに O(n²)
# KV キャッシュ: 100万 × hidden_dim × n_layers × 2 (キー + 値)
# 例: 100万 × 4096 × 24 × 2 = 約400GB (非現実的!)
# RWKV
# メモリ: トークンあたり O(1)
# ステート: hidden_dim × n_layers = 4096 × 24 = 約400KB
# 1,000,000倍効率的!
速度比較 (推論):
# Transformer: トークンあたり O(n) (全体として二次)
# 最初のトークン: 1回の計算
# 2番目のトークン: 2回の計算
# ...
# 1000番目のトークン: 1000回の計算
# RWKV: トークンあたり O(1) (全体として線形)
# すべてのトークン: 1回の計算
# 1000番目のトークン: 1回の計算 (最初と同じ!)
いつ使用するか、代替手段との比較
RWKV を使用する場合:
- 非常に長いコンテキスト(10万トークン以上)が必要な場合
- 一定のメモリ使用量を維持したい場合
- ストリーミングアプリケーションを構築する場合
- Transformer の性能と RNN の効率性が必要な場合
- メモリが制約されたデプロイメントの場合
主な利点:
- 線形時間: Transformer の O(n²) に対して O(n)
- KV キャッシュなし: トークンあたりのメモリが一定
- 無限コンテキスト: 固定されたウィンドウ制限なし
- 並列化可能なトレーニング: GPT と同様
- 逐次推論: RNN と同様
代わりに代替手段を使用する場合:
- Transformers: 最高の性能が必要で、計算リソースがある場合
- Mamba: 状態空間モデルが必要な場合
- RetNet: リテンションメカニズムが必要な場合
- Hyena: 畳み込みベースのアプローチが必要な場合
よくある問題
問題: トレーニング中にメモリ不足になる
勾配チェックポイントと DeepSpeed を使用してください:
trainer = pl.Trainer(
strategy='deepspeed_stage_3', # 完全な ZeRO-3
precision='bf16'
)
問題: 推論が遅い
CUDA カーネルを有効にしてください:
os.environ["RWKV_CUDA_ON"] = '1'
問題: モデルがロードされない
モデルのパスとストラテジーを確認してください:
model = RWKV(
model='/absolute/path/to/model.pth',
strategy='cuda fp16' # または CPU の場合は 'cpu fp32'
)
問題: RNN モードでの状態管理
forward 呼び出し間で常に状態を渡してください:
# 間違い: 状態が失われる
out1, _ = model.forward(tokens1, None)
out2, _ = model.forward(tokens2, None) # tokens1 からのコンテキストがない!
# 正しい: 状態が保持される
out1, state = model.forward(tokens1, None)
out2, state = model.forward(tokens2, state) # tokens1 からのコンテキストがある
高度なトピック
時間混合とチャネル混合: WKV 操作、時間減衰メカニズム、および受容ゲートについては、references/architecture-details.md を参照してください。
状態管理: att_x_prev、att_kv、ffn_x_prev の状態、および数値安定性の考慮事項については、references/state-management.md を参照してください。
RWKV-7 の改善点: 最新のアーキテクチャ改善点(2025年3月)とマルチモーダル機能については、references/rwkv7.md を参照してください。
ハードウェア要件
- GPU: NVIDIA (CUDA 11.6+) または CPU
- VRAM (FP16):
- 169M モデル: 1GB
- 430M モデル: 2GB
- 1.5B モデル: 4GB
- 3B モデル: 8GB
- 7B モデル: 16GB
- 14B モデル: 32GB
- 推論: トークンあたり O(1) メモリ
- トレーニング: GPT と同様に並列化可能
パフォーマンス
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
RWKV - Receptance Weighted Key Value
Quick start
RWKV (RwaKuv) combines Transformer parallelization (training) with RNN efficiency (inference).
Installation:
# Install PyTorch
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121
# Install dependencies
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade
# Install RWKV
pip install rwkv
Basic usage (GPT mode + RNN mode):
import os
from rwkv.model import RWKV
os.environ["RWKV_JIT_ON"] = '1'
os.environ["RWKV_CUDA_ON"] = '1' # Use CUDA kernel for speed
# Load model
model = RWKV(
model='/path/to/RWKV-4-Pile-1B5-20220903-8040',
strategy='cuda fp16'
)
# GPT mode (parallel processing)
out, state = model.forward([187, 510, 1563, 310, 247], None)
print(out.detach().cpu().numpy()) # Logits
# RNN mode (sequential processing, same result)
out, state = model.forward([187, 510], None) # First 2 tokens
out, state = model.forward([1563], state) # Next token
out, state = model.forward([310, 247], state) # Last tokens
print(out.detach().cpu().numpy()) # Same logits as above!
Common workflows
Workflow 1: Text generation (streaming)
Efficient token-by-token generation:
from rwkv.model import RWKV
from rwkv.utils import PIPELINE
model = RWKV(model='RWKV-4-Pile-14B-20230313-ctx8192-test1050', strategy='cuda fp16')
pipeline = PIPELINE(model, "20B_tokenizer.json")
# Initial prompt
prompt = "The future of AI is"
state = None
# Generate token by token
for token in prompt:
out, state = pipeline.model.forward(pipeline.encode(token), state)
# Continue generation
for _ in range(100):
out, state = pipeline.model.forward(None, state)
token = pipeline.sample_logits(out)
print(pipeline.decode(token), end='', flush=True)
Key advantage: Constant memory per token (no growing KV cache)
Workflow 2: Long context processing (infinite context)
Process million-token sequences:
model = RWKV(model='RWKV-4-Pile-14B', strategy='cuda fp16')
# Process very long document
state = None
long_document = load_document() # e.g., 1M tokens
# Stream through entire document
for chunk in chunks(long_document, chunk_size=1024):
out, state = model.forward(chunk, state)
# State now contains information from entire 1M token document
# Memory usage: O(1) (constant, not O(n)!)
Workflow 3: Fine-tuning RWKV
Standard fine-tuning workflow:
# Training script
import pytorch_lightning as pl
from rwkv.model import RWKV
from rwkv.trainer import RWKVTrainer
# Configure model
config = {
'n_layer': 24,
'n_embd': 1024,
'vocab_size': 50277,
'ctx_len': 1024
}
# Setup trainer
trainer = pl.Trainer(
accelerator='gpu',
devices=8,
precision='bf16',
strategy='deepspeed_stage_2',
max_epochs=1
)
# Train
model = RWKV(config)
trainer.fit(model, train_dataloader)
Workflow 4: RWKV vs Transformer comparison
Memory comparison (1M token sequence):
# Transformer (GPT)
# Memory: O(n²) for attention
# KV cache: 1M × hidden_dim × n_layers × 2 (keys + values)
# Example: 1M × 4096 × 24 × 2 = ~400GB (impractical!)
# RWKV
# Memory: O(1) per token
# State: hidden_dim × n_layers = 4096 × 24 = ~400KB
# 1,000,000× more efficient!
Speed comparison (inference):
# Transformer: O(n) per token (quadratic overall)
# First token: 1 computation
# Second token: 2 computations
# ...
# 1000th token: 1000 computations
# RWKV: O(1) per token (linear overall)
# Every token: 1 computation
# 1000th token: 1 computation (same as first!)
When to use vs alternatives
Use RWKV when:
- Need very long context (100K+ tokens)
- Want constant memory usage
- Building streaming applications
- Need RNN efficiency with Transformer performance
- Memory-constrained deployment
Key advantages:
- Linear time: O(n) vs O(n²) for Transformers
- No KV cache: Constant memory per token
- Infinite context: No fixed window limit
- Parallelizable training: Like GPT
- Sequential inference: Like RNN
Use alternatives instead:
- Transformers: Need absolute best performance, have compute
- Mamba: Want state-space models
- RetNet: Need retention mechanism
- Hyena: Want convolution-based approach
Common issues
Issue: Out of memory during training
Use gradient checkpointing and DeepSpeed:
trainer = pl.Trainer(
strategy='deepspeed_stage_3', # Full ZeRO-3
precision='bf16'
)
Issue: Slow inference
Enable CUDA kernel:
os.environ["RWKV_CUDA_ON"] = '1'
Issue: Model not loading
Check model path and strategy:
model = RWKV(
model='/absolute/path/to/model.pth',
strategy='cuda fp16' # Or 'cpu fp32' for CPU
)
Issue: State management in RNN mode
Always pass state between forward calls:
# WRONG: State lost
out1, _ = model.forward(tokens1, None)
out2, _ = model.forward(tokens2, None) # No context from tokens1!
# CORRECT: State preserved
out1, state = model.forward(tokens1, None)
out2, state = model.forward(tokens2, state) # Has context from tokens1
Advanced topics
Time-mixing and channel-mixing: See references/architecture-details.md for WKV operation, time-decay mechanism, and receptance gates.
State management: See references/state-management.md for att_x_prev, att_kv, ffn_x_prev states, and numerical stability considerations.
RWKV-7 improvements: See references/rwkv7.md for latest architectural improvements (March 2025) and multimodal capabilities.
Hardware requirements
- GPU: NVIDIA (CUDA 11.6+) or CPU
- VRAM (FP16):
- 169M model: 1GB
- 430M model: 2GB
- 1.5B model: 4GB
- 3B model: 8GB
- 7B model: 16GB
- 14B model: 32GB
- Inference: O(1) memory per token
- Training: Parallelizable like GPT
Performance (vs Transformers):
- Speed: Similar training, faster inference
- Memory: 1000× less for long sequences
- Scaling: Linear vs quadratic
Resources
- Paper (RWKV): https://arxiv.org/abs/2305.13048 (May 2023)
- Paper (RWKV-7): https://arxiv.org/abs/2503.14456 (March 2025)
- GitHub: https://github.com/BlinkDL/RWKV-LM ⭐ 12,000+
- Docs: https://wiki.rwkv.com/
- Models: https://huggingface.co/BlinkDL
- Linux Foundation AI: Official project
- Production: Microsoft Windows, Office integration, NeMo support
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (7,099 bytes)
- 📎 references/architecture-details.md (9,304 bytes)
- 📎 references/rwkv7.md (10,428 bytes)
- 📎 references/state-management.md (9,497 bytes)