『トランスフォーマーの位置符号化の解説』

『トランスフォーマーの位置符号化の解説』の魅力的な解説

元のTransformerアーキテクチャでは、位置エンコーディングが入力と出力の埋め込みに追加されました。

エンコーダーデコーダートランスフォーマーアーキテクチャ。

位置エンコーディングは、トランスフォーマーにおいて単語やトークンの順序を捉えるために重要な役割を果たします。

位置情報がない場合、トランスフォーマーの出力は入力の単語の順序を混ぜた場合に変化しないことに留意する価値があります。

ただし、位置エンコーディングは処理できるテキストの最大長に制限を課すこともあります。

トランスフォーマーアーキテクチャでは、入力テキストはトークンのシーケンスに分割され、各トークンは学習可能な位置埋め込みベクトルと関連付けられます。

トークンと位置の埋め込みを関連付けるための通常の手順は、以下の画像に示すように、それらを単純に追加することです。

トークンと位置埋め込みから最終的な入力埋め込みが構築される単純な例。

このブログ記事の以下のセクションでは、これらの埋め込みの取得方法について見ていきます。

絶対位置埋め込み

絶対位置埋め込みは、理解しやすいタイプの埋め込みであり、それで始めましょう。

BERTGPT-2(ChatGPTの祖先)の両方が、このタイプの学習済み位置埋め込みを使用しました。

トークン/単語の埋め込みを理解していれば、この概念は同じです:モデルが入力のすべての可能なトークンを表すトークン埋め込みテーブルを持っているように、モデルはサポートする可能なトークン位置すべてを持つ位置埋め込みテーブルも持っています。

トークンと位置埋め込みテーブルの例。

これら絶対位置埋め込みはモデルによって学習されます。これはアーキテクチャへの厳しい制約を追加します:位置埋め込みテーブルには行の制限があり、つまり、モデルは最大入力サイズに制限があるということです!

正弦波位置埋め込み

Attention Is All You Needで提案された最初のトランスフォーマーは、正弦波および余弦波の位置埋め込みを使用します。

Attention Is All You Needで使用された位置埋め込みを計算するために使用された式。

正弦波位置埋め込みがどのように構築されるかについての優れた説明は、この素晴らしい動画 by Batool Arhamna Haider をぜひお勧めします。

重要な点は、これらの正弦波および余弦波の位置エンベディングはモデルによって学習されない、しかし、大きな入力サイズの処理には適していないということです。

シーケンスの長さが増すにつれて、位置エンベディングに使用される正弦波関数の周波数が高すぎるため、非常に短い周期になります。これにより、長距離の依存関係の不適切な表現や、精緻な位置情報のキャプチャに苦労する可能性があります。

相対位置エンベディング

相対位置エンベディングは、最初に「Self-Attention with Relative Position Representations」という論文で提案されました。

この論文では、著者らは相対的な位置エンベディングの作成方法として、ペアワイズ距離の使用を導入しました。

理論的には、位置エンベディングは未知の長さのシーケンスにも汎化できます。なぜなら、それがエンコードする唯一の情報は2つのトークン間の相対的なペアワイズ距離だからです。

このタイプの位置エンベディングはT5でも使用され、著者らによって新しい単純化されたペアワイズ距離の計算方法が導入されました。

執筆時点では、相対位置エンベディングの中で最も広く使用されている2つのタイプがあります: RoPE および ALiBiです。

これらの新しいアプローチの主な傾向は、スケーリングされたドット積注意機構で使用されるクエリ(Q)とキーベクトル(K)に位置情報を埋め込むことです。つまり、トークンのエンベディングには位置エンベディングは追加されません

スケーリングされたドット積注意機構と、元のトランスフォーマーアーキテクチャでの適用箇所。

Rotal Positional Embeddings (RoPE)

ローティング位置エンベディングは、モデルに追加のトレーニング可能なパラメータを追加しない一種の相対位置エンベディングです。

LlamaLlama 2、およびFalconは、このタイプの位置エンベディングを使用しています!

RoPEを使用する場合、QベクトルとKベクトルは、位置情報をエンコードするために個別に変更されます。この変更は、下記のギフで示されるように、事前に計算された固定の回転行列を使用して行われます。

RoPEのビジュアルな説明

最近、これらのエンベディングは、(微調整なしで)より長いシーケンスにも適用できることがわかりました。この技術はRoPEスケーリングと呼ばれました。

アイデアは、推論時に、mθを回転させる代わりに、この回転をより小さくスケーリングし、より長いシーケンスサイズに対応することです。

回転をスケーリングする方法は多数ありますが、もっとも一般的な方法は線形スケーリングmθ/Nです。

RoPEスケーリングがどのように機能するかについての詳細を深堀りするには、「Large Language Models via Positional Interpolationの文脈窓の拡張」論文と元のRedditスレッドをおすすめします。

Attention with Linear Biases (ALiBi)

Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation」では、この位置エンコーディング手法が、クエリ-キーの注意スコアにその距離に比例したペナルティを与え、入力の長さを推定可能にしていることが紹介されています。

実際には、これはスケーリングされたドット積注意をわずかに変更して、一定の位置バイアスを追加することです。この定数はネットワークによって学習されません!

ALiBiのスケーリングされたドット積適応

位置バイアスは次のように単純に計算されます:

ALiBiの線形バイアス付き注意

ここで、mは各注意ヘッドごとに独立に設定される特定のスカラーです。

BLOOMBloombergGPT、およびMPTは、このタイプの位置エンコーディングを使用しており、結果は非常に印象的です!

WikiText-103データセットにおける異なる位置エンコーディングの比較
CC100+RoBERTaコーパスにおける正弦波とALiBiの位置エンコーディングの比較

結論 – 最良の位置エンコーディングは何ですか?

ALiBiは、訓練されたモデルのコンテキスト長の2倍に対してのみ優れており、より長いシーケンスにはスケーリングできません。

最近、RoPEの推定の制限に対処し、より大きなシーケンスにスケーリングできるようにするための多くのRoPEスケーリング方法が提案されています:

ただし、ALiBiもRoPEも、言語モデルの現在の入力サイズの制限を解決するのに十分ではありません。

また、注意も言語モデルが長いシーケンスを処理する能力を制限する上で重要な役割を果たしていますが、このトピックは別のブログ記事に譲りましょう! 📚

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

量産自動運転におけるBEVパーセプション

BEVの認識技術は、ここ数年で非常に進歩しました自動運転車の周りの環境を直接認識することができますBEVの認識技術はエンド...

機械学習

「成功したプロンプトの構造の探索」

この記事では、著者がGPTConsoleのBirdとPixie AIエージェントのためのプログラマのハンドブックを読者に提供しています

データサイエンス

「AIコントロールを手にして、サイバーセキュリティシステムに挑戦しましょう」

あなたの組織のデータは、サイバー犯罪者の悪意のある行為に対して免疫を持っていますか?そうでなければ、弱い防御システム...

AIニュース

オープンAIがインドに進出:現地チームの設立

名声高い人工知能(AI)企業OpenAIは、インドで力強い存在を確立するために重要な進展を遂げています。TechCrunchによれば、...