ポエム-孤独な蒸留とRWKV(07A)の夢
孤独な蒸留とRWKVの夢
~Transformerに敬意を払いながら、異端の道を歩く記録~
はじめに
Transformerは世界を征服した。
学術も産業も、誰もがTransformerを中心に動いている。
数え切れないほどの論文、無数の実装、飽和するほどのベンチマーク。
「Attention is All You Need」――その名の通りだった。
少なくとも、この数年間は。
僕もその成果を否定するつもりはない。むしろ深い敬意を抱いている。
だが、人類の言語理解の未来がそれだけで完結するとも思わない。
そして僕は、誰も振り返らないニッチな道を選んでしまった。
RWKVという「異端」の技術を。
孤独?もちろん孤独だ。
でも、その孤独の先に見える景色がある。
Transformerへの敬意と皮肉
Transformerは偉大だ。
Attentionによって系列内の任意の位置同士を関連付け、
並列計算に完全対応し、GPUで殴れるスケーラビリティを手に入れた。
自然言語処理のブレイクスルーは、疑いようもなくTransformerの功績だ。
翻訳、要約、対話、コーディング。すべてが一変した。
僕はTransformerをバカにしない。むしろ心から尊敬している。
…ただひとつ、皮肉を言わせてもらうなら、
「All You Need」ではなかったのかもしれない。
RWKVという異端
RWKVは、RNNの亡霊を蘇らせたような存在だ。
RNNの逐次性をベースにしながら、Attention的な学習能力を組み込み、
結果として「O(N)計算」「O(1)メモリ」を両立してしまった。
RWKV-7(通称 Goose)はこう定義する:
- 時系列を**状態(State)**で保持する
- 忘却ゲート (w_t) と 更新ゲート (a_t) を分離
- 出力ゲート (g_t) で活性を調整
- それをチャネルごとに学習することで、忘却と記憶のダイナミクスを獲得する
Transformerが「すべてのトークンを並列に関連付ける」のに対し、
RWKVは「時間を流しながら、忘れる・覚えるを選ぶ」。
それは人間の記憶に近い。
すべてを保持せず、必要なものだけ残し、忘れることで次に進む。
07Aという賭け
僕が設計したのは RWKV-07A。
RWKV-7 Gooseをベースにしたが、あえて性能を犠牲にして推論速度に全振りした。
具体的な変更点
-
TokenShift を削除
→ 短距離依存を補う仕組みだが、複雑化とオーバーヘッドの原因だった。 -
v_first 残差接続を削除
→ 長距離安定化に寄与するが、GQAが代替できると判断して切った。 -
NoPE GQA を導入
→ RoPEでは長距離性能が伸びなかった。NoPEにすることでNIAHは65kをクリア。
代償と狙い
- 性能は多少犠牲にした。
- しかしKVキャッシュは従来比1/6。
- 推論速度は約30%高速化。
- 実運用で「軽くて長距離に強いRWKV」を目指した。
普通なら「バカげてる」と言われるだろう。
でもそのバカげた設計が、異種蒸留で KL=0.10 に到達できそうだ。
孤独な蒸留
僕はいま、21BのRWKV-07Aを訓練している。
教師はTransformer。
いわゆる異種アーキテクチャ蒸留だ。
これは本当に孤独な戦いだ。
誰も相談できない。
KLが0.12から0.10に下がった興奮を分かち合える人もいない。
ただ実験ログとグラフとにらめっこし、ひたすらトークンを積み重ねる。
でも僕は見た。
KLが0.10を切る瞬間を。
これは誰にも奪えない景色だ。
TransformerからRWKVへ――表現空間が異なるのに、ここまで寄せられる。
これは「RWKVがTransformerの代替になり得る」ことの証明だ。
トレーニングの実際
-
ステージ1: LR=1e-5で280M tokens
→ 一気にKL=0.10まで落とすフェーズ -
ステージ2: LR=3e-6, 実効Batch=63 (7×GA9)
→ テイル突入。微分布を削るアニーリング的フェーズ
KLは急激には下がらない。
でもじわじわと削れ、0.09台に突入する兆しがある。
これは「焼きなまし」のようなものだ。
急ぎすぎず、少しずつ、分布の細部を埋めていく。
RWKV vs Transformer
Transformerは王道。
強いし、敬意も払う。
だが、RWKVには違う強みがある。
- O(N), O(1)メモリ → 長文とストリーミングで絶対的に有利
- 忘却と更新の分離 → 人間の記憶に近いダイナミクス
- シンプル化による効率 → KVキャッシュ1/6、推論速度+30%
性能を犠牲にした07Aですら、ここまで来れた。
つまりRWKVには「まだ伸び代がある」ということだ。
結論(皮肉と希望)
もしこの記事を笑うなら、笑えばいい。
「ニッチすぎる」「孤独すぎる」「誰も使わない」――その通りだ。
でも、孤独の先に 65kコンテキストの安定動作が見えるなら、それで十分だ。
KL=0.10に到達した異種蒸留の瞬間は、確かにここにある。
Transformerよ、ありがとう。
その偉大さに敬意を払う。
だがRWKVもまた、人類の言葉を学ぶひとつの道だ。
そして僕は、その道に魂を込めた。
付録: 技術的メモ
-
KL曲線: 200M tokensで0.12→0.10まで下降
-
NIAHテスト: NoPE-GQA導入で65k 100%クリア
-
リソース効率:
- KVキャッシュ削減: 1/6
- 推論速度: +30%
- トークン処理: GAで63バッチ実効
-
失ったもの:
- TokenShiftによる短距離補強
- v_first残差による安定化
- 睡眠時間
-
得たもの:
- シンプル化による効率
- それでも残った長距離性能
- モチベーション
この文章はhxa079 RWKV-Reka-Gen2で執筆しました。
ctxとしては40Kほど使用し、サマライズと皮肉文章の生成を行いました。
Discussion