Transformerファミリーバージョン2.0
本記事は、Lilian Weng氏による2020年の「Transformerファミリー」記事の大幅なアップデートで、ページ数が2倍になりました。近年のTransformerアーキテクチャの多くの改良点を体系的にレビューし、アテンション機構、位置エンコーディング、長いコンテキストのサポート、適応的モデリング、効率的なアテンションなどをカバーし、Transformer-XL、Rotary位置埋め込み、ALiBi、Universal Transformerなどの最新の進歩を含んでいます。
本記事は、Lilian Weng氏が2023年1月27日に公開したブログ記事であり、2020年の同名記事の包括的な更新版です。記事の長さは2倍になり、構造が再編成され、過去3年間のTransformerアーキテクチャの多くの改良が組み込まれています。記事では、Transformerの基本、アテンション機構、位置エンコーディング、長いコンテキストの処理、適応的モデリング、効率的なアテンションなどの主要トピックを体系的に紹介し、Transformer-XL、Compressive Transformer、kNN-LM、SPALM、Memorizing Transformer、DA-Transformer、ALiBi、Universal Transformer、適応的アテンションスパン、深さ適応型Transformer、およびさまざまなスパースアテンションパターンなどの最新の進歩をカバーしています。
まず、Transformerの基礎が復習されます:スケーリングドット積アテンション、マルチヘッド自己アテンション、エンコーダ-デコーダアーキテクチャ。アテンション機構により、モデルは入力データの特定の部分に選択的に注目することができ、自己アテンションは同じシーケンス内の異なる位置に注目します。マルチヘッドアテンションは複数のサブスペースを並列に計算することで表現力を豊かにします。エンコーダ-デコーダ構造は、コンテキスト認識表現の生成と情報の抽出にそれぞれ使用されます。
位置エンコーディングはTransformerの鍵であり、自己アテンションが置換不変であるため、順序情報を提供するために重要です。記事では多様な位置エンコーディング手法が詳細に説明されています:正弦波位置エンコーディングは異なる周波数のサインとコサイン関数を使用;学習位置エンコーディングは各位置に学習可能なベクトルを割り当て;相対位置エンコーディング(Shaw et al.)は位置オフセットをエンコード;Transformer-XLはドット積の再パラメータ化に基づく相対位置エンコーディングを提案;回転位置埋め込み(RoPE)は回転行列を利用して各層に相対位置情報を注入します。これらの手法はモデルがシーケンスの順序を理解するために不可欠です。
より長いコンテキストをサポートするために、さまざまな改良が提案されています。Transformer-XLは、セグメント間のリカレント接続とメモリを導入することで、以前の隠れ状態を再利用し、アテンション範囲を拡張します。Compressive Transformerは古いメモリをさらに圧縮して、より長いシーケンスをサポートします。kNN-LMとSPALMは外部のキー値ストアを非微分可能な長期メモリとして利用し、最近傍検索によって予測を強化します。Memorizing Transformerはデコーダの上部にkNN拡張アテンション層を追加します。さらに、DA-TransformerとALiBiは距離に基づくバイアス項でアテンションスコアを調整し、モデルがより長いコンテキストに外挿することを促進します。Universal Transformerはリカレント機構をTransformerと組み合わせ、適応的計算時間によって処理ステップ数を動的に調整します。
適応的モデリングに関しては、適応的アテンションスパン(Sukhbaatar et al.)により、各アテンションヘッドがソフトマスクとL1正則化を用いて最適なアテンション範囲を学習できます。深さ適応型Transformer(Elabyad et al.)とCALM(Schuster et al.)は、推論時にトークンごとに必要な層数を動的に決定し、速度と性能のバランスを取ります。これらの手法は計算コストを大幅に削減します。
効率的なアテンションは、標準Transformerの二次複雑性に対処します。記事では、固定局所コンテキスト(画像Transformerなど)、ストライドコンテキスト、局所と大域の組み合わせなど、さまざまなスパースアテンションパターンが紹介されています。低ランクアテンションは行列分解によってさらに複雑性を低減します。これらの改良により、Transformerはより長いシーケンスを扱えるようになり、計算の実現可能性が向上しました。
結論として、2020年以降、Transformerアーキテクチャは複数の側面で顕著な進歩を遂げており、これらの改良はモデルの性能を向上させるだけでなく、特に自然言語処理や強化学習の分野での応用範囲を広げています。