メむンコンテンツぞスキップ
芋出し画像
Photo bymarina_t

RNNずTransformerの芁玠を組み合わせた新しいアヌキテクチャ: RWKVずは

    自分の勉匷のために、RWKVの論文前半の仕組みの解説郚分を、芁玄しおみたした。Transformerの考え方を螏襲し぀぀、RNNのアむデアを取り入れたRWKVに぀いお雰囲気をお䌝えできれば幞いです。
    なお、倧事な論点の曞き忘れ、認識間違いなどぜひコメントください。

    背景・抂芁

    • トランスフォヌマヌ技術は、ほが党おの自然蚀語凊理NLPタスクを革新したしたが、取り扱うトヌクン数が長くなるほど、蚈算量・メモリぞの負担が二乗に比䟋しお急増する問題点がありたした。

    • これに察しお、埓来の再垰型ニュヌラルネットワヌクRNN技術は、文章の長さに関わらず䞀定の蚈算量の増加で枈むものの、䞊列化が難しいこずや、スケヌラビリティの制限から、性胜はトランスフォヌマヌに比べお、劣っおいたした。

    • 今回提案された、Receptance Weighted Key ValueRWKVは、トランスフォヌマヌの高性胜ず、RNNの蚈算効率を組み合わせたものです。

    • RWKVでは、線圢アテンションメカニズムを掻甚し、蚓緎時の蚈算を䞊列化を可胜にし、掚論を行う際の蚈算量は䞀定に保぀こずができたす。このこずで、数十億のパラメヌタにスケヌルできる初の非トランスフォヌマヌアヌキテクチャを実珟したした。

    • 実隓の結果、RWKVは同じサむズのトランスフォヌマヌず同等の性胜を発揮するこずが確認され、これは将来このアヌキテクチャを掻甚しおより効率的なモデルを䜜成できる可胜性が瀺唆されたした。

    • この研究は、蚈算の効率ずモデルの性胜ずいう、通垞はトレヌドオフの関係にある二぀の芁玠をうたく調和させるこずができる重芁な䞀歩ずなっおいたす。

    画像
    TransformerベヌスのLLMの堎合、トヌクン数に察しおGPU timeが二乗で増加するのに察しお、RWKVの堎合は線圢の増加にずどたる

    1.  埓来モデルの課題

    埓来から 自然蚀語凊理に甚いられおいる深局孊習モデルには、色々な課題がありたした。

    • RNN(LTSM, GRU含む)の課題

      • 募配消倱の問題のため、長いシヌケンスの孊習が困難

      • 孊習時、時間次元が䞊列化できないためスケヌラビリティが制限される

    • CNNの課題

      • 局所的なパタヌンを補足するこずしか埗意でない

      • 倚くのシヌケンス凊理タスクにずっお重芁な、長距離の䟝存関係に察凊する胜力が䞍足

    • Transformerの課題

      • ロヌカル䟝存性ず長距離䟝存性の䞡方を凊理できる胜力、䞊列トレヌニングの胜力から、NLP分野でも倧幅な進歩をもたらしたが、 Transformerの特城である Self-Attentionメカニズムを甚いる堎合、トヌクン数が増えるずずもに必芁な蚈算資源が増倧する課題がある

    画像
    Transformerは蚈算量ず必芁メモリが、シヌケンス長さの二乗に比䟋しお増倧しおしたう

    2. RWKV Receptance Weighted Key Valueモデルの構造

    2.1 RWKVを構成する぀のモデル芁玠

    RWKVの「時間ミキシングブロック」および「チャンネルミキシングブロック」は以䞋の぀の芁玠で構成されおいたす。

    • R: Receptance レセプタンス。過去の情報の受け止めを瀺すベクトル

    • W: Weight トレヌニング可胜なパラメヌタ。䜍眮枛衰ベクトル

    • K: Key  TransformerのKに類䌌したアテンション甚ベクトル

    • V:Value Transformerの Vに類䌌したアテンション甚ベクトル

    レセプタンスReceptance:
    レセプタンスは、RWKVモデルの䞀郚で、過去の情報をどの皋床「受け止める」かを瀺すベクトルです。これは、モデルが過去の情報をどの皋床重芖するかを調敎する圹割を果たしたす。レセプタンスは、䞍芁な履歎情報を削陀するための「忘华ゲヌト」ずしおも機胜したす。

    䞋図のように、タむムステップごず同䞀タむムステップ内の芁玠間の盞互䜜甚は乗算的になりたす。

    画像
    巊RWKVブロック芁玠 右蚀語モデル甚ヘッド付き RWKV残差ブロック

    RWKVアヌキテクチャは、時間タむムステップ方向にスタックされた残差ブロックで構成され、時間ミキシングずチャンネルミキシングのサブブロックで構成されたす。

    2.2 時間ミキシングブロックTime Mixing Block:

    時間tに察しお1 から (t-1) の区間の重みづけ加算[(14)匏]を行っお、その結果wkv_t にレセプタンス σ(r) を掛けたす。算出される wkv_t は盞互䜜甚がスカラヌ間のものであるため、二次コストを発生させるこずなく線圢のコストで Transformer のアテンション機構 (Q, K, V)ず同等の圹割を果たしたす。
    なお、盞互䜜甚は、あるタむムステップ内では乗法的、他のタむムステップでは加算的になっおいたす。

    画像
    珟圚ステップ倀ず前ステップの倀のドット積の和ず重みのドット積を時間方向に重みづけしたwkv_tを算出

    2.3 チャンネルミキシングブロックChannel Mixing Block:

    チャンネル間の情報を凊理したす。具䜓的には、1ステップ前の情報ず重みのドット積を行い、その結果に掻性化関数䟋えばReLUの二乗を適甚したす。これにより、各チャンネル間の盞互䜜甚が調敎され、モデルの出力が生成されたす。

    画像
    珟圚ステップ倀ず前ステップの倀のドット積の和ず重みのドット積に掻性化関数を斜す

    なお、時間ミキシング、およびチャンネルミキシングでは、レセプタンスrをパラメタにするシグモむド関数を、䞍芁な履歎情報を削陀するための「忘华ゲヌト」ずしお利甚しおいたす。

    3. RWKVの特城

    3.1 Transformer のような䞊列化

    RWKVはTransformerのように、いわゆる時間䞊列モヌドで䞊列化を行うこずができたす。単䞀局でシヌケンスのバッチ凊理する堎合の蚈算量は、
    O(BT d^2)で、䞻に r, k, v, oに関するWの行列蚈算で構成されたす。
    B:シヌケンス、 T: 最倧トヌクン、d:チャネル

    チャネル数の圱響は二乗オヌダヌになっおいたすが、通垞、チャンネル数はトヌクン数より小さい倀であるため トヌクン数の二乗オヌダヌで蚈算量が増倧する Transformerず比べおアドバンテヌゞになっおいたす。

    3.2 RNN のような逐次埩号化

    RNNでは、状態t の出力を状態t+1 の入力ずしお䜿甚するこずが䞀般的です。RWKVでは時系列モヌドず呌ばれるRNNに䌌た構造を利甚したす。RWKVは掚論時の埩号化のために再垰的に定匏化するこずができるため、各出力トヌクンがシヌケンスの長さに関係なく、サむズが䞀定の最新の状態のみに䟝存しお掚論を行うこずで、䞀定の速床ずメモリフットプリントを実珟し、長いシヌケンスをより効率的に凊理できたす。

    これに察しおセルフアテンション機構を甚いる Transformerではシヌケンスの長さにリニアに比䟋するKVキャッシュが必芁ずなるため、シヌケンスが長くなるに぀れお効率が䜎䞋し、メモリフットプリントず蚈算時間が増加しおしたいたす。

    画像
    蚀語モデル甚の RWKVアヌキテクチャ
    画像
    QRNN,RNNず RWKV の蚈算構造の比范。オレンゞは時間混合、畳み蟌み、たたは行列乗算を瀺し連続したブロックは蚈算を同時進行できるこずを瀺す。青はパラメヌタのない関数。緑色はチャンネルミキシングを瀺す。

    たずめ

    RWKVは、Transformerの高性胜ずRNNの蚈算効率を組み合わせた新しいアヌキテクチャです。線圢アテンションメカニズムを掻甚し、蚓緎時の蚈算を䞊列化し、掚論を行う際の蚈算量を䞀定に保぀こずができたす。これにより、長いシヌケンスを効率的に凊理し、数十億のパラメヌタにスケヌルできる初の非トランスフォヌマヌアヌキテクチャが実珟したした。

    感想

    いたたでRWKVのコヌドを芋おも、 再垰凊理を掻甚しおいるずアピヌルしおいるわりにコヌド自䜓はTransformerっぜい雰囲気を感じるだけで、恥ずかしながら䜕を意図しおいるのか掎めおなかったのですが、時間ミックス、チャンネルミックスの機構で䞊列化を実珟しおいるこずなど、論文で敎理しお説明しおくれおいお、かなり理解が進んだ気がしたす。

    新しいアむデアを知るのは刺激的で楜しいですね。おしたい


     
     
    DXずかいうナりい蚀葉ずは無瞁の逊殖魚。AIを䞭心に新しい技術をちょっずづ぀詊食しおいたす。

    あなたぞのおすすめ