ロボットに物語を書かせることを想像してみてください。長らく、これを行うための主な方法が2つあり、どちらも重大な欠点がありました。
2 つの古い方法
- 「一人芝居」(デコーダのみ): これは、本を読み、すぐに次の文を書こうとする学生のようなものです。彼らは書くのが非常に速いですが、書きながらこれまで読んだ「すべて」を頭の中で記憶し続けなければなりません。物語が長くなると、脳(メモリ)が過負荷になり、速度が低下します。
- 「2 人組チーム」(エンコーダ - デコーダ): これは、「読み手」と「書き手」を持つようなものです。読み手はまず本全体を読み、メモを取り、そのメモを書き手に渡します。これにより書き手の脳力を節約できますが、読み手は非常に気まぐれです。彼らは単語の約 15%(「汚染された」部分)にのみメモを取り、残りを無視します。つまり、チームの大部分の物語を無視しているため、学習が遅くなります。
新しい解決策:「ブロックベースのダブルデコーダ」
この論文の著者たちは、両者の長所を取り入れようとする新しいチーム構造を提案しています。彼らはこれをブロックベースのダブルデコーダと呼んでいます。
簡単な比喩を用いて、その仕組みを説明します。
長い小説を読んでいると想像してください。ただし、1 語ずつ読むのではなく、それをブロック(章や場面のようなもの)に分割します。
- コンテキストデコーダ(読み手): この部分は、ある時点までの物語全体を読み進めます。設定やキャラクターを理解するために最初の数章を素早く読み飛ばすような速読者です。「過去」のみを読むため、一度に本全体をメモリに保持する必要はありません。要約を作成します。
- 生成デコーダ(書き手): この部分は、読み手から受け取った要約と、現在のテキストブロックを受け取り、物語の次の部分を書き出します。
魔法のトリック:「二重因果的」ブロック
秘密の鍵は、物語をどのように分割するかです。彼らはテキストをチャンク(ブロック)に切り分けます。
- 単一のチャンク内では、書き手はそのチャンク内のすべての単語を見ることができます(グループディスカッションのように)。
- しかし、過去のチャンクを見る際、書き手は読み手が提供する「要約」のみを見ることができ、生々しい単語そのものを見ることはできません。
これがなぜ重要なのか?
- 無駄な学習の解消: 古い「2 人組チーム」では、読み手が単語の 85% を無視していました。この新しいシステムでは、すべての単語が学習の機会を得ます。モデルはすべてのトークンに対して「評価」を受けるため、はるかに速く、賢く学習します。
- 超効率的なメモリ: ロボットが実際に物語を「書く」(推論)際、本全体を記憶する必要はありません。読み手からの要約と現在のチャンクのみを記憶すれば済みます。必要なメモリは約3 分の 2削減されます。これは、図書館全体をバックパックに運ぶことから、単一の索引カードを運ぶことに切り替えるようなものです。
- 速度: 「読み手」部分は開始時に一度実行された後はアイドル状態になるため、「書き手」部分ははるかに軽量で高速です。レースのスタートには重厚なエンジンを持ちながら、スプリントには軽量で空力的なボディを持つようなものです。
彼らが発見したことは?
研究者たちは、この新しいアーキテクチャを古いものに対してテストしました。
- 学習: 新しいモデルは、速度のゴールドスタンダードである「一人芝居」とほぼ同等に学習し、古い「2 人組チーム」よりはるかに良く学習しました。
- 執筆(推論): 実際にテキストを生成する段階になると、新しいモデルはスターとなりました。古い「2 人組チーム」よりもはるかに少ないコンピュータメモリを使用し、高速でありながら、非常に賢さを維持していました。
結論
この論文は、作業を 2 つのデコーダに分割し、テキストをブロックに分割することで、すべての単語から学習する(古い効率的なモデルとは異なり)、かつ執筆時にメモリ問題に悩まされない(古い高速モデルとは異なり)モデルを構築したと主張しています。これは、実行するために巨大で高価なコンピュータを必要としない、高性能なロボットを実現する方法です。
技術概要:ブロックベースのダブルデコーダ
問題定義
本論文は、トランスフォーマーアーキテクチャ設計におけるトレーニング効率と推論効率の間の根本的なトレードオフを取り扱っている。デコーダのみのモデルは、優れたトレーニング効率とスケーラビリティを提供するが、KV キャッシュメモリおよびトークンあたりの計算コストに関する高い推論コストに悩まされる。一方、エンコーダ - デコーダモデルは、大幅な推論時の節約(KV キャッシュの削減)を提供するが、スパン破損(損失信号を生成するのは約 15% のトークンのみ)や効率的なバッチ処理を妨げる動的なシーケンス長といった目的による、事前トレーニング中のスパースな監督に悩まされる。PrefixLM などの既存の代替案はこのギャップを埋めようとするが、依然として多くのトークンを未学習のままにし、エンコーダ - デコーダの完全な効率を達成できていない。
手法:ブロックベースのダブルデコーダ
著者は、完全な損失監督と推論効率の両方を達成するために、2 つのデコーダスタックを組み合わせる「ブロックベースのダブルデコーダ」と呼ばれる新しいアーキテクチャを提案する。
アーキテクチャ構造:
- コンテキストデコーダ: 完全な入力シーケンスを処理し、各トークンに対して因果的潜在変数(ht)を出力する、標準的な因果デコーダのみのトランスフォーマー。
- 生成デコーダ: 3 つの入力を受け取る 2 番目のデコーダスタック。これらは、コンテキストデコーダからの因果的潜在変数、生トークンシーケンス、およびブロック分割である。
- 二重因果ブロックベースのマスク: 入力シーケンスは連続するブロックに分割される。ブロック内では、生成デコーダは因果的セルフアテンションを使用する。ブロック間では、先行するブロックのコンテキストデコーダの潜在変数に対するフルクロスアテンションを使用する。これにより、ブロック内および先行ブロックから前方へアテンションが流れる「二重因果」構造が生まれる。
トレーニング目的:
- トークンをマスクするスパン破損とは異なり、この手法は入力シーケンス内のすべてのトークンが、1 回のフォワードパスで正確に 1 回損失に寄与することを保証する。
- パッキング後のシーケンス長は静的なままとなり、動的バッチ処理とトークンパディングの必要性が排除され、スループットが向上する。
- 著者は、統合されたデュアルキーアテンションの実装がまだ利用できないため、PyTorch の FlexAttention を使用して、個別のセルフアテンションとクロスアテンションのロジットを計算し、事後に log-sum-exp 正規化によって結合するというアテンション機構を実装している。
推論メカニズム:
- 推論時、コンテキストデコーダはプロンプトに対して 1 回実行される(プリフィル)。これは標準的な因果デコーダであるため、自身の出力に対して KV キャッシュを必要としない(生成デコーダのみがキャッシュを必要とする)。
- 生成デコーダは、キャッシュされたコンテキスト潜在変数と自身の以前の出力にアテンションを向けながら、自己回帰的にトークンを生成する。
- この分離により、デコーダのみのモデルで一般的に使用されるプレフィックスレベルの KV キャッシングの再利用が可能となりながら、エンコーダ - デコーダアーキテクチャのメモリ上の利点を維持できる。
主な貢献
- 新規アーキテクチャ: コンテキスト処理とトークン生成を分離するために 2 つのデコーダスタックを利用する、ブロックベースのダブルデコーダの導入。
- 二重因果マスク: 完全なトークン監督(100% の損失密度)を可能にしつつ、効率的なバッチ処理のための静的シーケンス長を維持する新しいアテンションマスク。
- 推論の最適化: このアーキテクチャは、デコーダのみのモデルと比較して、KV キャッシュメモリとトークンあたりの計算を約2/3削減する(コンテキストデコーダを 2/3、生成デコーダを 1/3 と仮定した場合)、プリフィルキャッシング機能を犠牲にすることなく。
- トレーニング効率: この手法は、スパン破損でトレーニングされたエンコーダ - デコーダに固有のスパースな監督と動的バッチ処理の問題を回避する。
実験結果
著者は、パラメータ数(625 万〜1 億)とトークン予算(6,250 万〜10 億)全体にわたり、デコーダのみ、標準エンコーダ - デコーダ(SED)、およびブロックベースのダブルデコーダを比較するスケーリング則実験を実施した。
- 性能: ダブルデコーダは SED ベースラインを強く凌駕し、デコーダのみのモデルとほぼ同等の性能を示す。最大規模(1 億パラメータ、10 億トークン)において、ダブルデコーダは一致したデコーダのみのモデルよりも評価損失が約 0.2 ナット悪いのみであり、SED は両者よりも約 0.7 ナット劣る。
- スケーリング挙動: SED モデルは、スパースな監督によりパラメータを増加させても性能が向上しない「データ制限領域」にあることが判明した。対照的に、ダブルデコーダとデコーダのみのモデルは標準的なスケーリング則に従い、容量限界に達すると平坦化する。
- 計算トレードオフ: 追加の KV 投影により、ダブルデコーダはトレーニング時の FLOPs がわずかに増加する(特定の設定ではデコーダのみのモデルより約 2.4% 多い)が、これは推論上の利点によって上回る。
意義と主張
本論文は、ブロックベースのダブルデコーダがトレーニング効率と推論効率の間の歴史的な二項対立を成功裏に解決すると主張している。エンコーダ - デコーダのような構造に完全な損失監督を回復させることで、著者は、デコーダのみのモデルのトレーニング効率とスケーリング特性を維持しつつ、エンコーダ - デコーダの推論効率(具体的には削減された KV キャッシュとトークンあたりのレイテンシ)を達成することが可能であることを実証している。
著者は、 modest なトレーニング時の損失の差(約 0.2 ナット)は、大幅な推論時の節約を可能にするアーキテクチャの分離に必要なコストであると強調している。彼らは、このアーキテクチャがメモリ制約のあるエッジデバイスやシナリオに特に適していること、また、事前トレーニング中の潜在連鎖思考推論や、コンテキストデコーダへのループ型トランスフォーマーの適用といった新たな研究の方向性を可能にすると論じている。
毎週最高の machine learning 論文をお届け。
スタンフォード、ケンブリッジ、フランス科学アカデミーの研究者に信頼されています。
受信トレイを確認して登録を完了してください。
問題が発生しました。もう一度お試しください。
スパムなし、いつでも解除可能。
週刊ダイジェスト — 最新の研究をわかりやすく。登録