Transformerに3つの射影(QKV)は本当に必要?その真価を徹底検証
Do transformers need three projections? Systematic study of QKV variants
Do transformers need three projections? Systematic study of QKV variants
Transformerモデルにおけるアテンション機構の核となる「Query」「Key」「Value(QKV)」の3つの射影。これらが本当にすべて必要なのか、あるいは削減や最適化が可能なのかを深掘りした研究論文の紹介です。モデルの効率化や軽量化を目指すエンジニアにとって、アテンションの計算コストやパラメータ構成を見直すための興味深い知見が得られます。
もし本当にTransformerを過剰に複雑に実装してたってことが判明したら、最高に面白いんだけどな。ただ、コードのリポジトリが見当たらないんだよね…
著者へ:線形代数(というか大抵の数学)を議論する時は、一般的な慣習に従ってほしい。今回のケースだと、マイナス記号(-)は引き算を意味する。特に二つの行列を表す変数の間に挟む場合、「かつ」みたいな意味で使っちゃダメだ。
論文のセクション1、2、そして3の一部まで、首をひねりながら読んだよ。ようやく「Q-K=V」という記述が「QマイナスKイコールV」という意味じゃないんだと気づくまでね(「QマイナスKイコールV」と読むと、対称性についての説明やコメントがほとんど意味をなさないから困惑してたんだ)。もし「KイコールV」と言いたいなら、素直に「K=V」って書いてくれよな。
個人的には、Q-K=Vのような線形制約をクエリ、キー、バリューのAttention行列に課すことに、そもそも意味があるのかどうか興味がある。
面白い論文だとは思う。K=Vがこれほど上手くいくなんて驚きだ。クエリが「バリューとは何であるか」を推測し、Attentionヘッドがその推測に最も近い(ソフトマックス済みの)値を返すというモデルを強制しているようなものかな。シーケンスが短くて次元数が大きく、マージされたキー/バリュー空間には興味深い結果が収まる余裕が十分にあるから、上手くいっているのかもしれないね。
こういうアブレーション研究はいつも興味深いね。ただ、今回の言語モデルにおける知見がどれくらい一般化できるかは疑問かな。
彼らの1.2Bモデルはわずか10Bトークンで学習されているけど、これはChinchillaの計算量最適値の半分にも満たない。現代の過学習気味な1B LLMは10Tトークン(1000倍)ものデータで学習されているからね。
これは重要な指摘だ。経験上、標準的なAttentionの単純化や代替案は、学習不足の段階では問題なく見えるけれど、十分な学習を行うとパフォーマンスが落ちることがよくあるんだ。Attentionは本来インダクティブバイアスが非常に小さいから、その表現力が真に発揮されるまでには大量の学習が必要になるからね。
学習にはコストがかかるし、著者を責めるつもりはないけど、指摘しておく必要はあるだろう。
あと、Q=K-Vのケースについて、推論ベンチマークの結果が報告されていないのは少し残念だった。個人的にはそこが一番理論的に興味深いところなんだけどな。