駄文。

プログラマーの日常でつまずいたこと・気づいたことなどの記録です

RWKVその2

さて昨日は GPT系のOSSがすごいという紹介をしたのだが、その中で今日は自分の中で一番ホットなRWKVについて書いてみる。

RWKVは、ChatGPTが実現している方式のTransformerだけでなくRNNを組み合わせて 使用メモリを大幅に削減したプラットフォームで、実際 GPUのメモリ3Gでも動作が可能になっている(ただし、速度はそれなり と思われる。実際に挙動を確認まではしていないので..)

私自身は RTX A5000(VRAM 24G) x2の環境で動作確認しました。

RWKV自体は使用する使用する精度(fp32, fp16, fp16i8など)と、オンメモリ展開するレイヤ数などを細かく指定して精度・速度と 引き換えに使用メモリを削減する手段を提供しているため、少ないVRAM環境のGPUでの動作を実現している。

私自身は fp16を指定し、2枚のGPUにレイヤを分散させることでオンメモリ実行できたため一応理想の速度での動作を確認できた と思うが、この条件下でパラメタ14Bのモデルでの動作でもChatGPTのサービスのレスポンスを超える速さで応答があったのは びっくりであった。

実際他のOSSではここまで反応性の良いものはなかった。

しかもRWKV自体、日本語のサポートについても取り組んでいるらしくChatインターフェイス向けのパッケージであるChatRWKV でも日本語のUIや日本語に強化したモデルの提供が行われている点も心強い。

ただ、やっぱりパラメタ数ではChatGPTに比べると桁が1つ違う分やりとりでは少し物足りない点もあるが、OSSでfine tuning等も やりやすい点など今後の利用については広がりがあり、今後も注目していこうと思う。