1 ポイント 投稿者 GN⁺ 2024-10-04 | 1件のコメント | WhatsAppで共有
  • Transformerは2017年以降ディープラーニングを再編したが、長いシーケンスでは自己注意のコストが大きくなり、並列学習可能な再帰モデルが再び注目を集めている
  • Transformer以前の20年間、シーケンスモデリングに広く使われていたLSTMGRUは、ゲートの前状態依存性を減らせば並列学習の可能性が開ける
  • 単純化されたminLSTMminGRUは、従来のLSTM・GRUよりパラメータが少なく、学習中に完全に並列化でき、複数のタスクでTransformerを含む最新モデルと競争力のある性能を示す
  • Transformerの効率化は疎性、低ランク近似、タイリングへと広がり、最近では状態空間モデル、線形化アテンション、線形RNNのような代替的な再帰モデルも高い性能を示している
  • 付録にある数行のplain PyTorch実装により、minGRUとminLSTMは初心者、実務者、研究者が実験しやすい軽量モデルと見なせる

Transformer後に再び注目される再帰モデル

  • RNNは1990年代から機械翻訳、テキスト生成のようなシーケンスモデリング作業で広く使われてきた
    • 代表的なモデルはLSTM(1997)とGRU(2014)
    • 本質的に逐次的な構造のため並列化が制限され、長いシーケンスの学習では計算効率が低くなりやすい
  • Transformerは2017年、自己注意を通じて並列学習メカニズムを導入し、シーケンスモデリングで急速に成功した
    • その後、大規模言語モデルだけでなく、コンピュータビジョン、強化学習、バイオインフォマティクスへと拡張された
    • 自己注意はトークン間の相互作用をモデル化するが、計算複雑度はシーケンス長に対して二乗で増加する
    • 長いシーケンスや資源が制約された環境ではコストが大きく増える可能性がある
  • Transformerの効率を高めるための研究は複数の方向で進められてきた
    • 疎性
    • 低ランク近似
    • タイリング
  • 最近では、より効率的にスケールする並列化可能な再帰モデルが再浮上している
    • 状態空間モデル
    • 線形化アテンション
    • 線形RNN
    • こうした最新の再帰モデルは入力依存の遷移を活用し、Transformerに近い高い性能を示す
    • 大規模言語モデルだけでなく、画像やグラフベースのデータにも適用されている

minLSTMとminGRUの核心アイデア

  • この研究は、Transformer以前に長く使われていたLSTMGRUを歴史的観点から再検討している
  • 2つのモデルは初期の入力依存再帰モデルの事例と見ることができる
  • ゲートが前状態に依存する部分を取り除けば、LSTMとGRUも並列学習が可能になる
  • さらに単純化することで、minLSTMminGRUという最小版が導かれる
    • 従来のLSTM・GRUよりパラメータ数が少ない
    • 学習中に完全な並列化が可能
    • 単純な構造にもかかわらず、複数のタスクで競争力のある性能を示す
    • 比較対象にはTransformerを含む最近のモデルが入る
  • この結果は、モデル構造とアルゴリズム複雑度を拡大し続ける流れに疑問を投げかける
  • 付録にはminGRUとminLSTMのplain PyTorch実装が数行のコードで含まれている
    • モデルが軽量で適応しやすい
    • 初心者、実務者、研究者が活用しやすい形になっている

1件のコメント

 
GN⁺ 2024-10-04
Hacker Newsの意見
  • 再帰的構造をIIRフィルタ、フィードフォワード専用構造をFIRフィルタと見れば、デジタル信号処理と似ている点が多いように見える
    IIRフィルタは、同じ応答を出すFIRフィルタよりはるかに少ない要素で済む場合が多く、FIRフィルタは実装・制御・測定が比較的容易
    固定小数点演算ハードウェアが、GPUでうまく動く機械学習構造と似ているという感覚で、AIが本当に恐ろしい指数関数的な段階へ進むには、根本的に再帰的な構造が必要に見える
    LSTMはこの比喩では、動的な係数を持つFIRのような中間的なハックに近く、長期的にはニューロモーフィックなアプローチが効率面で最も良さそうに見える

    • 信号処理の観点で見ると、z変換されたフィルタ伝達関数の極の位置によって、IIR出力は安定領域が狭いため、通常は慎重に設計する必要がある
      そうでなければ、IIRフィルタは0へ指数的に減衰するか、無限大へ指数的に増大する
      LSTMのようなRNNセルは、減衰を防ぎ、何かを「記憶」するために非線形ゲートを入れた減衰フィルタに近い
      FIRフィルタは設計がはるかに単純で、こうしたハックなしでも記憶を保持できる
    • ニューロモーフィックなアプローチとは何で、AI/AGIにどう貢献するのか、わかりやすく説明してほしい
      門外漢としての第一印象では、単にニューロンをシミュレートするのではなく、複数の「エージェント」やサブシステムがさまざまな形で相互作用する『The Society of Mind』的なアイデアに似ているように見える
    • 根本的に再帰的な構造なしには、AIは恐ろしい指数関数的な段階に到達できないとしばらく考えてきたが、今では巨大なコンテキストウィンドウだけでも十分なのか気になっている
      再帰性はよりニューロモーフィックで長期的には重要かもしれないが、超知能には必須ではないのかもしれない
      ただし関連知識の浅い門外漢なので、完全に間違っている可能性もある
    • 現在のGPUのような構造でIIRフィルタを大規模に実装しても、良い性能とスケーラビリティを出せるのか疑問
  • 分野全体が長期ホライズン問題には不足しているように見える
    現在広く使われている解法はスケール拡大だが、小さな哺乳類の脳が処理するホライズンの規模にもまったく及ばない
    モデルは数兆個のパラメータを持てるかもしれないが、長期課題と効率性では、ネズミの脳が依然として勝つように思う
    小さな計算予算の中でほぼ最適な経路を見つけ、学習を続ける、小さく単純でエレガントな探索アルゴリズムがあるということ
    いつか未来のエンジニアたちが、こうした問題をノートPC上の100行のJupyter Notebookで解くようになるのだろうと思うと、うらやましくもある
    長期ホライズン問題に合った手法やアルゴリズムを見つけられれば、20億パラメータのモデルでも、短く極端な推論問題を除くあらゆる領域で現在のモデルを上回れるかもしれない
    可能な解法としては、完全な重みよりも、モデルの次元性を時間とともに拡張する方向を考えてみた
    次元性が高いほど理論上の保存容量は大きくなり、ある層は複数の特異点の重ね合わせのように機能し、別の層はそれらの使い方を知っている2層モデルに似たものになり得る
    損失地形に特定タスク向けの複数の最小値があると考えるなら、必要に応じてモデルを再構成してその最小値間を移動する方法で、ほぼ無限の局所最小値、つまりより高次元の記憶を持つ単一モデルを作れるかもしれない
    人間の脳が1日のうちに何千もの結合を作ったり切ったりしているなら、こうした結合が、その日に必要な異なる最小値の間へ内部の損失地形を操っているのかもしれない

    • その通りで、この分野には聖杯である長期ホライズン問題が欠けている
      とはいえ、スパムメール分類にネズミの脳が必要なわけではない
      20億個以上のパラメータを持つ大規模モデルは、依然として重すぎて実用的に動かしにくい特殊用途に近く、限られたハードウェアとデータセットで有用な問題だけを解く賢く小さなモデルが入り込む余地は大きい
      必要に応じてサイズが変わるモデルも実験されてきたが、限られた電力予算では非効率すぎるか、最適化が難しかった
      それでも、さらに大きなスケールへ拡張し続けるには、最終的にそうしたモデルが必要になる可能性が高そうだ
      本当のボトルネックは訓練そのもののブレークスルーかもしれない
      逆伝播の損失は、現在のモデルすら完全に最適化するには単純すぎ、将来のより大きなモデルにはなおさら不足する
      より良い代替が存在する保証もないので、現在の機械学習アプローチには固定された限界があるのかもしれない
  • 複数の場所に議論が分散するのは長所でもあり短所でもある
    Twitter/Xで見たFrançois Cholletの投稿が興味深かった: https://x.com/fchollet/status/1841902521717293273
    「RNNを復活させる興味深い研究。https://arxiv.org/abs/2410.01201 — 一般に、異なる方向から出てきた最近のアーキテクチャがおおむねTransformerに匹敵するという事実は、カーブフィッティングのパラダイム、つまりディープラーニングではアーキテクチャが根本的には重要ではないという証拠だ。
    カーブフィッティングとは、データセットを曲線上に埋め込むことだ。重要なのはデータセットであって、曲線の形を制限する特定のハードコードされた装飾ではない。曲線の表現力が十分なら、大規模データ環境ではすべてのアーキテクチャは同じ性能に収束する」

    • 「重要なのはデータセットであって、曲線の形を制限する特定のハードコードされた装飾ではない」という点には、ほぼ反対だ
      データセットはずっと以前から大量にあり、この10年の進歩は、曲線をどう設計してデータに合わせるか、そしてより多くの計算をどう使うかから生まれた
      古いモデルでも計算量を100万倍ほど増やせば新しい問題を同じように解ける、という理論的な意味はあるのかもしれないが、それを「単なる最適化」と呼ぶのは、アルゴリズム設計における計算量解析の重要性を無視して、bogosortとquicksortは同じだと言うのに近い
      過学習を減らす正則化手法を何重にも入れ、Deep Q LearningやOpenAI o1の探索空間設計のような、よりエージェント的な構造まで考えると、単純な最適化という見方は説得力が弱い
      計算量を増やすだけでは、古い構造はそうした問題を解けなかった
    • 論文を完全には読んでいないが、データセットサイズよりも計算の最適化により焦点を当てているように見える
      「学習中に完全に並列化可能で、長さ512のシーケンスで175倍高速」といった内容がある
      複数のアーキテクチャが時間とともに同じ損失に収束するとしても、大規模GPUのコストを考えると、最も速く収束する構造を見つけることにはかなり価値がある
    • さまざまな装飾が果たす大きな役割の一つは、学習空間を制限することだ
      CNNがコンピュータビジョンを支配したのは、密結合ニューラルネットワークにできないことをしたからではなく、あまり重要でない接続を大量に取り除き、学習予算をより深いネットワークに使えるようにしたからだ
      同様にTransformerが優れている理由は、巨大なネットワークをある程度効率よく学習できるようにするからだ
      この論文も、RNNの学習をはるかに速くできれば実際かなり良い、という点を示している
      大きなボトルネックは、構造の実際の表現力よりも学習速度と効率
    • MLPが万能関数近似器であることを考えると、かなり当然に見える
      巨大なMLPでもTransformerと同じ結果を出すことはできる
      問題はスケールであり、十分に大きなMLPを学習できないことにある
      Transformerは性能最適化なので有用だ
    • 結局、核心は計算効率になるはずだ
      月に1回再学習するのではなく、継続的に再学習したいし、1つのエージェントが5つのLLMと会話するのではなく、数千のLLMが協調して動作してほしい
  • 答えは「いいえ」に近いように見える
    このようなRNNは一部の場合には十分に良く、場合によってはTransformerに勝つこともあるかもしれないが、LLMでTransformerを普遍的に置き換えることはなさそうだ
    例えばユーザーが長いテキストを渡して「これをドイツ語に翻訳して」と言った場合、Transformerは履歴全体を振り返ることができる
    RNNはコンテキスト長が無制限であっても、どの時点でも記憶している情報量は隠れ状態の中に入っているものに限られる
    関連論文: https://arxiv.org/abs/2402.01032

    • 「記憶している情報量が隠れ状態に制限される」という点は、Transformerも変わらない
      Transformerも結局は有限の状態に縛られており、ただその状態が別の形で組織化されているだけだ
    • その問題は90年代からRNNを悩ませてきた
      古い状態が何ビットを伝えなければならないかに関する情報精度の問題、古い情報ほど弱くなる減衰の問題、表現が混ざったり足し合わされたりする混合の問題がある
    • 反論は、隠れ状態のサイズを十分に大きくすれば、望む長さのシーケンスに対する圧縮表現を格納できるというものだ
      気になるのは、浮動小数点演算数を固定したときにRNNがTransformerと競争できるのかという点だが、元論文はこの部分をきちんと扱っていないように見える
    • 長い文章の後に「ドイツ語に翻訳して」と言う必要はない
      代わりに「次をドイツ語に翻訳して」と言えば、必要なのは現在のタスクと、はるかに少ない量の直近の入力を記憶することだけだ
      もちろん、入力を処理しながら並列に出力する能力も必要になる
  • 私の理解では、Transformer がその後のブームを可能にしたのは、RNN の大きな問題を2つ解決したからです
    勾配消失が文脈とモデルサイズを制限し、並列化が難しいため学習データの規模も制限されていました
    今ではこの2つの問題に対する解決策があるのか気になります

    • Transformer は、どの時点でも、後で有用になった過去の情報を取り出し直せます
      RNN はメモリを継続的に更新して上書きしていくため、後で役に立つ情報を事前に予測して保存しておく必要があります
      ChatGPT のような対話型ユースケースでは、これが Transformer の非常に大きな利点です
      文脈を与えて複数ターンにわたって質問すると、どの文脈が特定の質問に重要だったのかは、トークン列の後ろのほうに来て初めて分かります
      より正確には注意ベースのモデルの利点と言うべきで、Jamba のように2つのアプローチをうまく混ぜたハイブリッドモデルもあります
    • 勾配消失や勾配爆発は、RNN だけでなく、あらゆる深い構造に影響していました
      1997年に初めて提案された LSTM が、先に解決策を示しました: https://www.semanticscholar.org/paper/Long-Short-Term-Memory...
      この知識がほとんど忘れられたように見えるのは興味深いです
      2014年ごろには LSTM が非常に人気でした: https://karpathy.github.io/2015/05/21/rnn-effectiveness/
      https://colah.github.io/posts/2015-08-Understanding-LSTMs/
    • 論文をざっと読んだところ、この論文は「勾配消失」よりも並列化と高速な学習を特に狙っています
      ただし、再帰ユニットを単純化することで、どちらも改善しているように見えます
      かなり賢く、興味深い仕事です
      論文ではずっと「10年前の構造」と呼んでいますが、実際にはさまざまなドメインに適応しやすいため、今でも非常に多く使われています
      Transformer の「競合」と位置づけるのも完全に公平ではありません。Transformer と RNN は相互排他的ではなく、両者を組み合わせる方法も多いからです
      RNN の改善は、思いがけないさまざまな場所での改善につながる可能性があります
  • minGRU 構造の単純さが本当に気に入っています
    基本的には、token から提案隠れ状態と混合係数をそれぞれ線形変換で作り、torch.lerp(proposed_hidden_state, previous_hidden_state, mix_factors) で混ぜる形です
    各層の提案隠れ状態と混合係数は現在のトークンにだけ依存するため、学習時のようにシーケンス全体を事前に知っていれば、すべて並列に計算したあと、並列スキャンで線形時間に結合できます
    これが小規模な実験で Transformer や状態空間モデルに対して競争力があるという点は、「最高の PR はコードを削除する PR だ」と信じる側の感性を満たしてくれます
    それでも、最新の最高モデルと同程度のパラメータ・データ規模まで大きくしてみるまでは、大文字の B の Breakthrough なのかは分かりません
    付録を見ると、計算はすべてログ空間で行っているようで、数値安定性のためだそうです
    出力から tanh を取り除いて線形空間で計算すると値が爆発し得るからなのか、直感がうまくつかめません
    また、このようなシーケンスモデリングが機能するという事実自体も興味深いです
    本のすべてのページを破ってランダムな順序で渡し、前のページをまったく知らない状態で各ページのベクトルと「このベクトルをそれ以前の全ページのベクトルとどう混ぜるか」を作らせ、その後で私が順番どおりに混ぜ直して、最終ベクトルが本全体の要約としてどれだけ良いかを採点するような感じです
    現時点では、トークンを提案隠れ状態と補間用の混合係数に変えるのに2つの密な線形層だけを使っていますが、この変換を単一の線形層ではなく MLP にしたらどうなるのかも気になります

    • 見たところ、この構造はトークン列を認識する基本機能を妨げているようにも見えます
      少なくともポンピング補題のような問題が起きそうです
      [the ][cat ][is ][black ] があるベクトルに近い出力を作るなら、[the ][cat ][is ][black ] を3回繰り返した入力はそのベクトルにさらに近づき、「なぜ同じ文を3回繰り返したのか?」というベクトルからは遠ざかるべきではないか、と思ってしまいます
      入力トークンと隠れ状態の間に非線形な混合がなければ、似たトークン列の間に線形的な類似性が多く残る気がします
    • 大文字の B の Breakthrough だとは思いませんが、再帰型ニューラルネットワークはどこにでもあります
      学習と性能を改善する単純化であれば、その上に再び、より高いレベルの複雑さを積み上げる舞台を作ってくれます
    • ログ空間は、トークン確率が非常に広い値域、つまり複数桁の差を持つときに重要です
      最尤適合を常に対数尤度で行うのには理由があります
  • 大学のプロジェクトで RNN を作りました。当時は消えた歴史的技術に興味があり、学校を出たらもうニューラルネットワークの話を聞くことはないだろうから、この機会を逃すべきではないと思っていました
    作ったものは動きましたが、とても単純で、古いノート PC ではものすごく遅かったです
    そのノート PC では何をやっても速くはなりませんでしたが、RNN がフィードフォワードネットワークよりかなり遅かった記憶が残っています
    これは1980〜1990年代の学術的な好奇心の対象である死んだ技術だと確信していましたが、それがどれほど速く変わったかを見ると、不思議なほどでした

    • 年を取った気がします
      2000年ごろ、動的システムの学習、たとえば制御目的の RNN で修士論文を書きましたが、当時はかなり新しいテーマでした
      バックプロパゲーションを C++ で書いて一晩中走らせ、小さな勾配のせいで本当に遅かったです
      ネットワーク構造も単一の隠れ層にニューロンが5個か10個程度でした
      ニューラルネットワークは、講義を見つけられれば幸運という小さなテーマでしたが、少し目を閉じて2015年に再び見ると、完全に変わっていました
  • 著者たち、その中には Yoshua Bengio もいるが、論文を答えを知っているかのように提示せず、問いで締めくくっている点は評価できる
    これらのモデルは学術界の基準でも非常に小さいため、何らかの結果が現在の LLM 規模にまで必ずスケールすると見なすことはできない
    核心的な結論は、RNN 系ネットワークも現代的な代替手法と同じくらい効率的に訓練できるが、結果としての性能の競争力は 小規模 でのみ確認された、ということ

    • 「必ずしもそうではない」という点を強調する必要がある
      結論も「結果性能が競争的であることは小規模でのみ確認された」とするべきではないかと思う
  • 論文のモデルは並列化できるようにしたため、https://arxiv.org/abs/2404.08819 で説明されているのと同じ理由で「本物の」RNN ではなく、したがって理論的には従来の RNN より弱い
    RNN が本来得意としていた一部の問題クラスで苦戦する
    一方 https://arxiv.org/abs/2405.04517 には「本物の」RNN 構成要素が入っており、Transformer が苦手とする 状態追跡問題 で大きな改善を示している

    • これらも本物の RNN だ
      依然として前の隠れ状態に依存しており、ゲーティングだけが依存していないだけだ
      基本的な RNN 方程式は 並列 prefix scan アルゴリズム で並列化できる
  • 論文を詳しく見たわけではないので、誰か答えてくれるとありがたい
    言われているように RNN から 隠れ状態 を取り除くと、何が残るのか? 単一トークンから予測する MLP なのか?

    • 隠れ状態を完全に取り除いたのではなく、入力ゲート・忘却ゲート・更新ゲートからだけ取り除いたということ
      論文を完全に理解したわけではないが、GRU の場合、隠れ状態更新のマスキング、つまり論文の式の z_tr_t が新しい入力だけに依存し、入力と前の隠れ状態の和には依存しない、という意味に見える
    • 完全に取り除いたわけではなく、並列スキャンで計算できるように特定の依存関係だけを取り除いたということ
      依然として隠れ状態はある
      Mamba で行われたこととある程度似ている
    • ざっと見た限りでは、状態更新を調整して、逐次実行する必要がなく 並列スキャンで回せるようにしたものに見える
    • 秘訣は再帰的依存関係を 線形 に保つことで、それによって並列訓練が可能になる