✨ 要約🔬 技術概要
巨大な図書館を想像してみてください。そこでは、すべての本(単語や「トークン」)には、その物語の中でどのように理解されるべきかという特定の指示書が付いています。現代のAI(大規模言語モデル)では、これらの本は司書チーム(「アテンション層」)によって読まれます。彼らは、これまでの物語の文脈に基づいて、どの本にどれだけの注意を払うべきかを決定します。
通常、これらの司書は本を取り、現在の物語の文脈を確認し、その本に対する新しい一連のメモ(「バリュー・ベクトル」と呼ばれるもの)を書き記してから、次の工程へと渡します。このプロセスは、まるで司書が前のページで何が起きたかに基づいて、本を読むたびにその要約を書き直しているようなものです。
大きな発見 研究者たちは、この論文の中で驚くべき事実を発見しました。それは、図書館の「奥の部屋」で働く司書たち(より深い層のAI)については、実は物語の文脈に基づいてメモを書き直す必要がないということです。
代わりに、これらの深い層の司書たちは、物語がどのようなものであれ、決して変わることのない「あらかじめ書かれた完璧な要約」をそのまま手にする方がうまく機能します。結局のところ、これらの特定の層においては、単語に関する「文脈に依存しない、オリジナルの」情報の方が、通常作成される「文脈依存的な」メモよりも価値があることが判明したのです。
解決策:「値の銀行(Bank of Values)」 これに基づき、著者たちは「値の銀行(Bank of Values: BoV)」と呼ばれる新しいシステムを開発しました。
従来の方法(標準的なアテンション): AIが単語を読むたびに、これまでの物語全体を考慮した、その単語のための新しく複雑なメモを計算します。これは計算コストが高く、これらの一時的なメモを保存するために多くのメモリを必要とします。
新しい方法(BoV): 深い層において、AIは即座にこれらのメモを計算することを止めます。その代わりに、すべての単語(語彙)に対して、完璧に計算済みのメモが恒久的に保存されている巨大で静的な「銀行」(ルックアップテーブル)を持っています。
AIがある単語のメモを必要とするとき、単にその銀行から「検索(ルックアップ)」するだけです。
これは、単語について尋ねられるたびにライターのチームが座って新しい定義を構成するのではなく、定義がすでに書き込まれ印刷されている辞書を持っているようなものです。
なぜこれが優れているのか?
より速く、より安価: 深い層において、AIはメモを「書き直す」という重い計算を行う必要がないため、膨大な計算量(FLOPs)を節約できます。
メモリを節約できる: 従来の方法では、AIは現在の物語のために書き上げたすべてのメモを保持する「キャッシュ」(一時的な保管場所)を持つ必要がありました。新しい方法では、メモは「銀行」の中に恒久的に保存されているため、AIはその重いキャッシュを持ち歩く必要がありません。ただ棚から必要なものを取り出すだけです。
より高性能: 研究者たちは、さまざまなサイズのAIモデルを用いてテストを行いました。その結果、「銀行」メソッドを使用することで、AIが通常のメソッドよりも少ない作業量でありながら、より賢くなり(エラー率が低下)、より効率的になることが分かりました。
注意点(およびその解決策) 論文では、この手法を図書館のすべての司書に適用することはできないと指摘しています。最前列の司書(浅い層)は、単語を理解するために依然として物語の文脈を見る必要があります。しかし、奥の部屋にいる深い層の司書にとっては、「銀行」メソッドはゲームチェンジャーとなります。
まとめ この論文は、AIの脳の深い部分においては、単語を物語に基づいて再解釈する必要はなく、その単語の本来の、純粋なアイデンティティさえあればよいのだと主張しています。これらのアイデンティティを恒久的な「銀行」に保存し、計算する代わりに検索することで、AIはより速く、より少ないメモリを使用し、より優れたパフォーマンスを発揮できるのです。
技術要約:Bank of Values (BoV)
問題提起 現代の大規模言語モデル(LLM)のバックボーンであるTransformerアーキテクチャは、クエリ、キー、およびバリュー(Value)ベクトルが残差ストリームから計算されるアテンション層に依存しています。残差ストリームは、クエリとキーに対してコンテキストを効果的に蓄積しますが、深い層におけるバリューベクトル に対するコンテキストの必要性は、これまで十分に検証されてきませんでした。標準的なアテンションは、残差ストリーム(x i x_i x i )を用いてバリューベクトル(V = x i W V V = x_i W_V V = x i W V )を計算しますが、これには元のトークン情報と蓄積されたコンテキストが混在しています。コンテキストフリーなトークン情報をバリューベクトルに注入しようとする最近の研究(例:Value Residual Learning、SVFormer)は、混合した結果を示しており、多くの場合、コンテキストフリーな成分の特定の寄与を分離することに失敗しているか、あるいはすべての層に対して非効率的に適用されています。本研究が取り組む核心的な問題は、深い層が本当にコンテキスト依存のバリューベクトルを必要としているのか、それとも、残差ストリームを投影する計算オーバーヘッドなしに、元のコンテキストフリーなトークン情報を保持することからより多くの恩恵を受けるのか、という点です。
手法 著者らは、バリューベクトルの構成に関する系統的な調査を行い、それに続く新しいアーキテクチャ設計である**Bank of Values (BoV)**を提案しています。
系統的なアブレーション研究: 12層、135Mパラメータのモデルを用い、著者らは深い層におけるバリューベクトルの最適な構成を決定するために、4つの軸にわたる実験を実施しました。
加法的(Additive)対 置換的(Substitutive): 標準的なバリューベクトルをコンテキストフリーなソースで完全に置き換える場合と、線形に組み合わせる場合を比較。
係数(Coefficients): 学習可能な(無制限の)係数と固定の係数を比較。
コンテキストフリー情報のソース: 初期埋め込みの層固有の投影(x 0 W V x_0 W_V x 0 W V )と、第1層の共有バリューベクトル(V 1 V_1 V 1 )を比較。
対象レイヤー: これらの変更を全層、隔層、または最後の3分の1の層に適用した場合の影響を評価。
アブレーションからの主な知見:
深い層は、コンテキスト依存の成分(V V V )よりも、コンテキストフリーな成分(V ~ \tilde{V} V ~ )を強く好みます。加法的バリアントにおいて、V ~ \tilde{V} V ~ に対する学習された係数は、V V V に対する係数(しばしば0に押し下げられる)よりも有意に大きく(しばしば10超)なりました。
V V V をV ~ \tilde{V} V ~ で置換することは、最後の3分の1の層 においてのみ大幅な性能向上をもたらします。これを浅い層に適用すると性能が低下します。
一度深い層が高品質なコンテキストフリー成分にアクセスできるようになると、コンテキスト依存の成分を追加しても、わずかな恩恵しか得られません。
層固有のコンテキストフリーベクトル(x 0 W V x_0 W_V x 0 W V )は、共有ベクトル(V 1 V_1 V 1 )よりも優れた性能を示しました。これは、各層がトークンを独自のサブスペースに投影できるためです。
Bank of Values (BoV) アーキテクチャ: 深い層は、決定的であり入力シーケンスに依存しないコンテキストフリーなバリューベクトルを好むという知見に基づき、著者らはBoVを提案しています。
メカニズム: 最後の3分の1の層において、標準的な高密度バリュー行列投影(x i W V x_i W_V x i W V )は、スパースなルックアップテーブル (E V E_V E V )に置き換えられます。
実装: トークンID i i i に対して、バリューベクトルは直接 v i = γ v E V [ i ] v_i = \gamma_v E_V[i] v i = γ v E V [ i ] として取得されます。ここで、E V ∈ R ∣ V ∣ × d E_V \in \mathbb{R}^{|V| \times d} E V ∈ R ∣ V ∣ × d は、語彙内のすべてのトークンに対して事前計算されたバリューベクトルを格納する学習可能なパラメータテーブルであり、γ v \gamma_v γ v は学習可能なスケーリング係数です。
推論の効率性: 標準的なアテンションは、すべての過去のトークンのためにバリューベクトルをキャッシュする必要がありますが(層あたり $O(Td)$ のメモリを必要とする)、BoVは値をキャッシュしません。代わりに、フォワードパス中に静的なパラメータテーブル E V E_V E V から $O(Td)$ のギャザー(gather)操作を実行します。テーブル E V E_V E V はホストメモリにオフロードでき、必要なエントリのみをプリフェッチすることが可能です。
主な貢献
洞察: 本論文は、深いTransformer層のバリューベクトルは、主にコンテキストフリーな元のトークン情報を必要としており、残差ストリームから導出されるコンテキスト依存の成分は大部分が冗長であることを示しています。
アーキテクチャ: 深い層におけるバリューベクトルの計算を、トークン固有のテーブルからの静的なルックアップに置き換える手法である**Bank of Values (BoV)**を導入しました。
効率性: BoVは、深い層におけるバリューベクトルの計算を排除することで、長文脈推論におけるメモリ使用量を削減し、トークンあたりのFLOPsを低減します。
結果 著者らは、計算制御された予算(それぞれ 1.50 × 10 18 1.50 \times 10^{18} 1.50 × 1 0 18 および 3.91 × 10 19 3.91 \times 10^{19} 3.91 × 1 0 19 FLOPs)の下で訓練された135Mおよび780Mパラメータのモデルを用いて、BoVを評価しました。
検証損失: BoVは、両方のモデルスケールにおいて、保持された分割のClimbMixデータセットに対し、標準的なアテンション・ベースラインと比較して低い検証損失を達成しました。
ベンチマーク性能: 780Mスケールにおいて、BoVは標準的なアテンション・ベースラインと比較して、21のDCLM COREベンチマークの平均スコアを向上させました。
比較: BoVは、トークン情報をバリューベクトルに注入する既存の手法(例:Value Residual Learning)と同等以上の性能を示しながら、より少ないメモリとより少ないFLOPs を使用しました。具体的には、残差ストリームの計算にトークン情報を追加する手法(これらは依然としてコンテキスト依存の値を計算・キャッシュするコストを伴う)よりも優れた性能を発揮しました。
意義 本論文は、深い層においてはバリューベクトルを計算するためにコンテキストを必要としないという洞察を利用することで、標準的なアテンションよりも効率的な代替手段としてBoVを提供できると主張しています。バリューベクトルを動的な計算としてではなく、スパースなモデルパラメータとして永続化することにより、BoVはモデルの性能を損なうことなく(場合によっては向上させながら)、長文脈推論におけるメモリフットプリントと計算コストを削減します。これは、すべてのアテンションベクトルを残差ストリームから計算するというデフォルトのパラダイムに挑戦するものであり、より効率的なTransformerアーキテクチャへの道を示唆しています。
毎週最高の NLP 論文をお届け。
スタンフォード、ケンブリッジ、フランス科学アカデミーの研究者に信頼されています。
受信トレイを確認して登録を完了してください。
問題が発生しました。もう一度お試しください。
スパムなし、いつでも解除可能。
週刊ダイジェスト — 最新の研究をわかりやすく。 登録 ×