トランスフォーマー(ディープラーニング)

標準的なトランスフォーマーのアーキテクチャ。左側にエンコーダー、右側にデコーダーが表示されています。注:これはLN以前の規約を使用しており、2017年のオリジナルのトランスフォーマーで使用されていたLN以降の規約とは異なります

ディープラーニングにおいて、トランスフォーマーはマルチヘッドアテンションメカニズムに基づく人工ニューラルネットワークアーキテクチャであり、テキストはトークンと呼ばれる数値表現に変換され、各トークンは単語埋め込みテーブルからの参照によってベクトルに変換されます。[ 1 ]各レイヤーでは、各トークンは並列マルチヘッドアテンションメカニズムを介してコンテキストウィンドウの範囲内で他の(マスクされていない)トークンとともにコンテキスト化され、重要なトークンの信号が増幅され、それほど重要でないトークンが低減されます。

Transformerは再帰ユニットを持たないという利点があり、そのため長短期記憶(LSTM)などの初期の再帰型ニューラルネットワークアーキテクチャ(RNN)よりも訓練時間が短くて済みます。[ 2 ]その後の変種は、大規模な(言語)データセットでの大規模言語モデル(LLM)の訓練に広く採用されています。[ 3 ]

トランスフォーマーの現代版は、2017年の論文「Attention Is All You Need」でGoogleの研究者らによって提案された。[ 1 ]トランスフォーマーの前身は、機械翻訳用の以前のアーキテクチャの改良として開発されたが、[ 4 ] [ 5 ]、それ以来多くの応用が見出されている。それらは、大規模な自然言語処理コンピュータービジョンビジョントランスフォーマー)、強化学習[ 6 ] [ 7 ]オーディオ[ 8 ]マルチモーダル学習ロボット工学[ 9 ]さらにはチェスのプレイにも使用されている。[ 10 ]また、生成的事前学習済みトランスフォーマー(GPT)[ 11 ]BERT [ 12 ](トランスフォーマーからの双方向エンコーダー表現)などの事前学習済みシステムの開発にもつながっている。

歴史

先行例

長年にわたり、シーケンスのモデリングと生成は、単純なリカレントニューラルネットワーク(RNN)を用いて行われてきました。よく引用される初期の例は、エルマンネットワーク(1990)です。理論的には、1つのトークンからの情報はシーケンスの任意の遠くまで伝播できますが、実際には勾配消失問題により、長い文の終わりのモデルの状態は、先行するトークンに関する正確で抽出可能な情報なしに残されます

重要なブレークスルーはLSTM (1995) [注 1 ]であり、消失勾配問題を克服するために様々なイノベーションを使用し、長いシーケンス モデリングの効率的な学習を可能にした RNN です。重要なイノベーションの 1 つは、他のニューロンの出力を乗算するニューロン、いわゆる乗法ユニットを使用した注意メカニズムの使用でした。[ 13 ]乗法ユニットを使用するニューラル ネットワークは、後にシグマ パイ ネットワーク[ 14 ]または高次ネットワークと呼ばれるようになりました。[ 15 ] LSTM は、2017 年に transformers が発表されるまで、長いシーケンス モデリングの標準的なアーキテクチャになりました。ただし、LSTM は、他のほとんどの RNN と同様に、シーケンシャル処理を使用していました。[注 2 ]具体的には、RNN は最初から最後まで一度に 1 つのトークンを操作します。シーケンス内のすべてのトークンを並列に操作することはできません。

現代のトランスフォーマーはこの問題を克服していますが、RNNとは異なり、コンテキストウィンドウのサイズの2乗の計算時間を必要とします。線形スケーリング高速重みコントローラ(1992)は、入力に応じて更なる処理のための重み行列を計算することを学習します。[ 16 ] 2つのネットワークのうち1つには、「高速重み」または「動的リンク」(1981)があります。[ 17 ] [ 18 ] [ 19 ]低速ニューラルネットワークは、クエリへの回答を計算する高速ニューラルネットワークの重みの変化を計算するためのキーと値を生成するために、勾配降下法によって学習します。[ 16 ]これは後に、正規化されていない線形トランスフォーマーと同等であることが示されました。[ 20 ] [ 21 ]

seq2seqへの注目

エンコーダー・デコーダー配列伝達のアイデアは2010年代初頭に開発されました。seq2seqを生み出した創始者としてよく引用されるのは、2014年に同時に発表された2つの論文です。[ 22 ] [ 23 ]

機械翻訳用の3億8000万パラメータモデルは、2つの長短期記憶(LSTM)を使用します。[ 23 ]そのアーキテクチャは2つの部分で構成されています。エンコーダーは、トークンのシーケンスを取り込み、それをベクトルに変換するLSTMです。デコーダーは、ベクトルをトークンのシーケンスに変換する別のLSTMです。同様に、別の1億3000万パラメータモデルでは、 LSTMの代わりにゲート付き再帰ユニット(GRU)が使用されました。[ 22 ]その後の研究では、GRUはseq2seqにおいてLSTMよりも優れているわけでも劣っているわけでもないことが示されました。[ 24 ] [ 25 ]

これらの初期のseq2seqモデルには注意機構がなく、状態ベクトルはソーステキストの最後の単語が処理された後にのみアクセス可能であった。理論的にはこのようなベクトルは元の文全体の情報を保持しているが、実際には情報の保存状態は芳しくない。これは、入力が1つの再帰型ネットワークによって順次処理されて固定サイズの出力ベクトルとなり、それがさらに別の再帰型ネットワークによって処理されて出力となるためである。入力が長い場合、出力ベクトルは関連するすべての情報を保持できず、出力の品質が低下する。その証拠として、入力文を逆順に処理するとseq2seq翻訳が改善された。[ 26 ]

RNN探索モデルは、機械翻訳のseq2seqにアテンション機構を導入し、(固定サイズの出力ベクトルの)ボトルネック問題を解決することで、モデルが長距離の依存関係をより容易に処理できるようにしました。この名前は、「翻訳のデコード中に原文を検索することをエミュレートする」ことに由来しています。[ 4 ]

機械翻訳におけるグローバル( RNN検索)とローカル(スライディングウィンドウ)の注意モデルアーキテクチャの相対的なパフォーマンスを比較したところ、混合注意はグローバル注意よりも品質が高く、ローカル注意は翻訳時間を短縮することがわかりました。[ 27 ]

2016年、Google翻訳はGoogle Neural Machine Translationへと刷新され、統計的機械翻訳に基づく以前のモデルに取って代わりました。新しいモデルはseq2seqモデルで、エンコーダとデコーダはどちらも8層の双方向LSTMでした。[ 28 ]開発には9ヶ月かかりましたが、10年を要した統計的アプローチを上回る性能を発揮しました。[ 29 ]

注意の並列化

注意(自己注意を含む)を備えたSeq2seqモデルは、再帰型ネットワークと同じ問題を抱えていました。つまり、並列化が難しく、GPUでの高速化が妨げられていました。2016年、分解可能注意は、並列化が容易なフィードフォワードネットワークに自己注意メカニズムを適用し、LSTMよりも桁違いに少ないパラメータでテキスト含意においてSOTA結果を達成しました。 [ 30 ]その著者の一人であるJakob Uszkoreitは、再帰性のない注意で言語翻訳に十分ではないかと考え、「注意さえあれば十分」というタイトルが付けられました。[ 31 ]この仮説は当時の常識に反するものであり、著名な計算言語学者である彼の父親であるHans Uszkoreitでさえ懐疑的でした[ 31 ]同年、LSTMに対して自己注意(イントラアテンションまたはイントラセンテンスアテンションと呼ばれる)が提案された。[ 32 ]

2017年、オリジナルの(100MBサイズ)エンコーダ・デコーダ変換モデルが「Attention is all you need」論文で提案されました。当時の研究の焦点は、機械翻訳におけるseq2seqの改良にあり、再帰性を排除してすべてのトークンを並列処理しつつ、ドット積アテンション機構を維持することでテキスト処理性能を維持しました。[ 1 ]これにより、独立したヘッドの使用と再帰性の欠如により並列化が容易なマルチヘッドアテンションモデルが導入されました。その並列化可能性は、大規模ニューラルネットワークで広く使用される上で重要な要素でした。[ 33 ]

AIブーム時代

2017年春という早い時期に、「Attention is all you need」のプレプリントが出版される前にも、共著者の一人がアーキテクチャの「デコーダーのみ」のバリエーションを適用して、架空のWikipediaの記事を生成しました。[ 34 ] Transformerアーキテクチャは現在、進行中のAIブームに貢献する多くの生成モデルと並んで使用されています。

言語モデルにおいて、ELMo (2018)は文脈付き単語埋め込みを生成する双方向LSTMであり、 bag of wordsword2vecの研究の流れを改良したものである。その後、エンコーダのみのトランスフォーマーモデルであるBERT (2018)が登場した。 [ 35 ] 2019年10月、Googleは検索クエリの処理にBERTの使用を開始した。[ 36 ] 2020年、Google翻訳は従来のRNNエンコーダー・RNNデコーダーモデルをトランスフォーマー・エンコーダー・RNNデコーダーモデルに置き換えた。[ 37 ]

2018年以降、OpenAIのGPTシリーズのデコーダーのみの変換機は、自然言語生成における最先端技術となりました。2022年には、GPT-3をベースにしたチャットボットであるChatGPTが予想外に人気を博し[ 38 ] 、大規模言語モデルのブームを引き起こしました[ 39 ] [ 40 ]

2020年以降、トランスフォーマーは、ビジョントランスフォーマー[ 41 ]、音声認識[ 42 ] 、ロボット工学[ 6 ]マルチモーダル[ 43 ]など、テキスト以外のモダリティにも応用されています。ビジョントランスフォーマーは、畳み込みニューラルネットワークの新たな開発を刺激しました。[ 44 ] DALL-E(2021)、Stable Diffusion 3(2024)[ 45 ] 、 Sora (2024)などの画像およびビデオジェネレーターは、トランスフォーマーを使用して入力データ(テキストプロンプトなど)を「トークン」に分解し、自己注意を使用して各トークン間の関連性を計算することで分析します。これにより、モデルはデータ内のコンテキストと関係性を理解できるようになります。

トレーニング

トレーニングを安定させる方法

単純なTransformerアーキテクチャでは収束が困難でした。原著論文[ 1 ]では、著者らは学習率ウォームアップの使用を推奨していました。つまり、学習率は訓練の最初の部分では0から最大値(通常は訓練ステップの総数の2%が推奨されます)まで線形に増加し、その後再び減少させるべきでした。

2020年の論文では、マルチヘッドアテンション層とフィードフォワード層の前(後ではなく)に層の正規化を使用すると、学習率のウォームアップを必要とせずにトレーニングが安定することがわかりました。 [ 46 ]これは「LN前トランスフォーマー」であり、元の「LN後トランスフォーマー」と比較して、より一般的に使用されています。

事前学習と微調整

Transformerは通常、まず大規模な汎用データセットを用いた自己教師学習によって事前学習され、その後、小規模なタスク固有のデータセットを用いて教師あり微調整が行われます。事前学習データセットは通常、 The Pileのようなラベルのない大規模コーパスです。事前学習と微調整のタスクには、一般的に以下が含まれます

T5トランスフォーマーレポート[ 47 ]には、多数の自然言語事前学習タスクが記載されている。いくつかの例は以下の通りである。

  • 不完全または破損したテキストを復元または修復します。例えば、「Thank you ~~ me to your party ~~ week」という入力に対して、「Thank you for inviting me to your party last week」という出力が生成される場合があります
  • 自然言語間の翻訳(機械翻訳
  • 自然言語の実用的な受容性を判断する。例えば、次の文は「受容できない」と判断される可能性がある。[ 48 ]なぜなら、たとえ構文的には正しくても、人間の通常の使用ではあり得ないからである。コースはうまくジャンプしている。

これらの各タスクは、言語 (または言語群) のネイティブ スピーカーにとっては簡単または明白ですが、以前の世代の機械学習アーキテクチャでは難しいことが一般的であることに注意してください。

タスク

一般的に、言語モデリングタスクには3つのクラスがあります。「マスク型」、自己回帰型」、prefixLM」です。[ 51 ]これらのクラス、Transformerなどの特定のモデリングアーキテクチャとは独立していますが、Transformerの文脈で議論されることがよくあります

マスクタスク[ 49 ]では、1つ以上のトークンがマスクされ、モデルはコンテキストに基づいてマスクされたトークンが何であるかを予測する確率分布を生成します。このタスクの損失関数は通常、マスクされたトークンの対数パープレキシティの合計です。そして、モデルはこの損失関数を最小化するように学習されます。BERTシリーズのモデルは、マスクされたトークンの予測と別のタスクのために学習されています。

自己回帰タスク[ 50 ]では、まずシーケンス全体がマスクされ、モデルは最初のトークンの確率分布を生成します。次に最初のトークンが明らかにされ、モデルは2番目のトークンを予測します。これを繰り返します。このタスクの損失関数は、通常、同じです。GPTシリーズのモデルは、自己回帰タスクによって訓練されます。

prefixLMタスク[ 51 ]では、シーケンスは2つの部分に分割されます。最初の部分は文脈として提示され、モデルは2番目の部分の最初のトークンを予測します。その後、最初のトークンが明らかにされ、モデルは2番目のトークンを予測し、これを繰り返します。このタスクの損失関数は、通常、同じです。T5シリーズのモデルは、prefixLMタスクによって訓練されます。

「マスク言語モデリング」の「マスク」は「マスクされた注意」の「マスク」ではなく、「プレフィックス言語モデリング」の「prefixLM」は「プレフィックス言語モデル」の「prefixLM」ではないことに注意してください。

アーキテクチャ

すべてのトランスフォーマーは同じ主要コンポーネントを持っています。

  • トークナイザー:テキストをトークンに変換します
  • 埋め込みレイヤー。トークンとトークンの位置をベクトル表現に変換します。
  • 変換層はベクトル表現に対して繰り返し変換を行い、より多くの言語情報を抽出します。これらは、交互に配置された注意層とフィードフォワード層で構成されています。変換層には、エンコーダー層とデコーダー層の2つの主要なタイプがあり、さらにバリエーションがあります。
  • 最終的なベクトル表現をトークン上の確率分布に変換する非埋め込みレイヤー。

以下の説明は、原論文に記載されているトランスフォーマーに正確に従っています。いくつかのバリエーションがあり、次のセクションで説明します。

慣例により、すべてのベクトルは行ベクトルとして記述されます。例えば、ベクトルを線形層に通すということは、右側の重み行列を乗算することを意味します。

トークン化

Transformerアーキテクチャは、テキストではなく数値(行列の乗算、ドット積、活性化関数)の演算で構成されているため、まず入力テキストから何らかの数値表現へのマッピングが必要です。これは3つのステップで行われます

まず、入力テキストはプリプロセッサによって処理され、テキスト変換と、テキストをプレトークンと呼ばれる粗いセグメントに分割します。後者はプレトークン化と呼ばれます。次に、各プレトークンは、プリプロセッサによって出力されたプレトークンのみを参照することを想定しているトークナイザーによって、さらにトークンに分割されます。トークナイザーが生成する各トークンは、語彙と呼ばれる有限の文字列セットに属する 1 つ以上の文字の文字列です。3 つに、語彙は有限で事前にわかっているため、各トークンに整数識別子を割り当てることができ、このマッピングをトークンのシーケンスに適用して、任意の入力テキストを数値シーケンスとして表すことができます。このマッピングは全単射であるため、出力側で整数識別子のシーケンスを生成し、それをトークンに戻すことができます。一部の前処理を元に戻すと、結果は再び判読可能なテキストになります。

トークナイザーのトレーニング (語彙化と呼ばれることもあります) は、適切な語彙を見つけるだけでなく、その使い方を学習することも意味します。任意の長さの文字列には仮想的なセグメンテーションがあり、その中には語彙にないセグメントが含まれるものもあるためです。語彙化中に最も重要なハイパーパラメータは語彙サイズです。語彙サイズが小さい場合、学習した語彙は一般に文字と短い文字列で構成され、単語は多くのトークンに分割されます。サイズが大きくなると、トークンを完全な単語専用にすることができますが、プリプロセッサとトークナイザーによっては、大きな語彙で単語を分割するために常に最大のトークンが使用されるとは限りません。

トークンは必ずしも完全な単語ではないため、サブワードと呼ばれることもあり、トークン化アルゴリズムはサブワードトークナイザーと呼ばれることもあります。これは、これらのシステムを、古い情報検索システムや自然言語処理システムで使用されていた従来の用語と区別するためでもあります。これらのシステムでは、「トークナイザー」という言葉は、今日では「プレトークナイザー」(非常に大まかに言えば、単語への分割)と呼ばれるものを指すために使用されていました。語彙に含まれないトークンを生成するトークナイザーでは、語彙に含まれる特別なトークンが汎用的な代替として使用され、「未知」を表す「[UNK]」と表記されます。原則として、このような[UNK]によって任意の文字列を隠すことができます。実際、情報検索では、プレトークナイザー自体が[UNK]を含む単語レベルの語彙を持つトークナイザー(「トークナイザー」とも呼ばれます)として使用されていました。

一般的に使用されるサブワード トークナイゼーション アルゴリズムは、バイト ペア エンコーディング(BPE) とユニグラム言語モデル (ULM) で、それぞれ語彙化アルゴリズムと専用のセグメンテーション アルゴリズムが含まれています。また、学習を必要とせず、語彙 (BPE や ULM などで生成されたもの) があれば適用できるセグメンテーション アルゴリズムもいくつか存在します。たとえば、プレトークン内のトークンを左から右に移動して貪欲に認識するなどです。サブワード トークナイザーのソフトウェア実装としてよく知られているのは、Rust で実装されたHugging FacetokenizersPython パッケージと、sentencepieceC++ で実装された Python パッケージです。後者のパッケージの名前の由来は、設定オプションの 1 つで組み込みのプレトークナイザーを無効にできるためです。これにより、実質的に文全体をプレトークンにして、トークナイザーに個々の単語ではなく文全体を認識させることができます。

埋め込み

各整数トークン識別子は、ルックアップテーブルを介して埋め込みベクトルに変換されます言い換えると、トークン識別子のワンホット表現に埋め込み行列を掛け合わせます。たとえば、入力トークンの識別子が の場合、ワンホット表現は、その埋め込みベクトルは です。トークン埋め込みベクトルは、それぞれの位置エンコードベクトル(以下を参照)に加算され、入力ベクトルのシーケンスが生成されます

埋め込みベクトルの次元は隠れサイズまたは埋め込みサイズと呼ばれ、と表記される。[ 35 ]このサイズは、元のTransformer論文では次のように表記されている。[ 1 ]

埋め込み解除

アンエンベディング層はエンベディング層のほぼ逆です。エンベディング層がトークン識別子をベクトルに変換するのに対し、アンエンベディング層はベクトルをトークンの確率分布に変換します。

思考連鎖応答の各出力トークンについて、温度 1 での上位 16 個のトークン確率を示した図。色は、その出力が同じプロンプトで温度 0 でのものとどの程度異なるかを表しています。

アンエンベディング層は線形ソフトマックス層であり、行列の形状は である。一部のアーキテクチャでは、埋め込み行列の転置をアンエンベディング行列として用いることで、埋め込み関連パラメータの量が2倍になることを避け、学習中の発散を回避する。この方法は重み結合と呼ばれる。[ 52 ]

位置エンコーディング

パラメータを使用した(絶対)位置エンコーディングの図解

位置エンコーディングは、シーケンス内のトークンの相対的な位置を表す固定サイズのベクトル表現です。これは、入力シーケンス内の単語の位置に関する情報を変換モデルに提供します。これにより、入力シーケンスの順序にバイアスが生じ、例えば、入力シーケンス「man bites dog」は「dog bites man」とは異なる処理を施されます。

位置エンコーディングは、型 の関数として定義されます。ここで、は正の偶数です。原著論文[ 1 ]で定義されている完全な位置エンコーディングは次のとおりです。ここで、 です。

ここで、は自由パラメータであり、位置エンコーディング関数に入力される最大値よりも大幅に大きい必要があります。原著論文では が使用されています。

関数は、 型の複素関数として記述すると、より単純な形式になります。

この位置エンコード関数を使用する主な理由は、シフトが線形変換となるためです。ここではシフトしたい距離です。これにより、変換子は任意のエンコードされた位置を取り、行列乗算によってnステップ先またはnステップ後の位置のエンコードを見つけることができます。

線形和をとることで、任意の定数に対して、任意の畳み込みを線形変換として実装することもできます。これにより、変換器は任意のエンコードされた位置を取り、その近傍のエンコードされた位置の線形和を求めることができます。このエンコードされた位置の和が注意機構に入力されると、畳み込みニューラルネットワーク言語モデルで起こるのと同様に、近傍に注目重みが生成されます。著者の言葉を借りれば、「これにより、モデルは相対的な位置によって注意を容易に学習できると仮定しました。」

典型的な実装では、すべての演算は複素数ではなく実数に対して行われますが、複素数の乗算は実数の 2 行 2 列の行列の乗算として実装できるため、これは単なる表記上の違いです。

エンコーダ・デコーダ(概要)

エンコーダ・デコーダブロック1つ
トランスフォーマーは、積み重ねられたエンコーダ層とデコーダ層で構成されています

以前のseq2seqモデルと同様に、オリジナルのTransformerモデルはエンコーダー・デコーダーアーキテクチャを採用していました。エンコーダーは、すべての入力トークンを1層ずつまとめて処理するエンコード層で構成され、デコーダーは、エンコーダーの出力とデコーダーのこれまでの出力トークンを反復的に処理するデコード層で構成されます。

各エンコーダ層の目的は、トークンの文脈化された表現を作成することです。各表現は、自己注意メカニズムを介して他の入力トークンからの情報を「混合」するトークンに対応します。各デコーダ層には、2つの注意サブ層が含まれます。(1) エンコーダの出力(文脈化された入力トークン表現)を組み込むためのクロスアテンション、(2) デコーダへの入力トークン(つまり、推論時間中にこれまでに生成されたトークン)間の情報を「混合」するためのセルフアテンションです。[ 53 ] [ 54 ]

エンコーダー層とデコーダー層の両方に、出力の追加処理のためのフィードフォワードニューラルネットワークがあり、残差接続と層正規化ステップが含まれています。 [ 54 ]これらのフィードフォワード層には、トランスフォーマーモデルのほとんどのパラメータが含まれています。

フィードフォワードネットワーク

フィードフォワードネットワークモジュール。これは、次元ベクトルを次元ベクトルにマッピングする2層ネットワークです

Transformerのフィードフォワードネットワーク(FFN)モジュールは、2層の多層パーセプトロンです。ここで、 とは重み行列、と は バイアスベクトル、 は活性化関数です。オリジナルのTransformerでは、ReLU活性化関数が使用されていました。

中間層のニューロン数は、中間サイズ(GPT)[ 55 ] 、フィルタサイズ(BERT)[ 35 ] 、またはフィードフォワードサイズ(BERT) [ 35 ]と呼ばれます。通常、中間サイズは埋め込みサイズよりも大きくなります。例えば、GPT-2シリーズとBERTシリーズの両方において、モデルの中間サイズは埋め込みサイズの4倍です。

スケールドドット積アテンション

アテンションヘッド

スケールドドット積アテンション、ブロック図
注意ヘッドモジュール内の正確な寸法カウント

Transformerアーキテクチャで使用されるアテンションメカニズムは、スケールされたドット積アテンションユニットです。各ユニットについて、Transformerモデルはクエリ重み、キー重み、および値重みという3つの重み行列を学習します。

このモジュールは、クエリシーケンス、キーシーケンス、値シーケンスの3つのシーケンスを受け取ります。クエリシーケンスは長さ のシーケンスであり、各エントリは次元 のベクトルです。キーシーケンスと値シーケンスについても同様です。

クエリシーケンス内の各ベクトルを行列で乗算してクエリベクトルを生成します。すべてのクエリベクトルの行列がクエリ行列です。同様に、キー行列と値行列を構築します。

通常、すべてが正方行列、つまり、などに なります。

注意の重みは、クエリベクトルとキーベクトルを使用して計算されます。トークンからトークンへの注意の重みは、とのドット積です。注意の重みは、キーベクトルの次元の平方根 で割られ、トレーニング中に勾配を安定させ、重みを正規化するソフトマックスに渡されます。と が異なる行列であるという事実により、注意は非対称になります。つまり、トークンがトークンに注意を向ける場合(つまり、が大きい場合)、これは必ずしもトークンがトークンに注意を向けることを意味するわけではありません(つまり、 が小さい可能性があります)。トークンに対する注意ユニットの出力は、すべてのトークンの値ベクトルの加重和であり、トークンから各トークンへの注意で重み付けされています。

すべてのトークンに対する注目度の計算は、ソフトマックス関数を用いた1つの大きな行列計算として表現できます。これは、行列演算を高速に計算する計算行列演算最適化により、トレーニングに有用です。行列、 、は、それぞれ番目の行がベクトル、、 である行列として定義されます。したがって、注目度は次のように表すことができます。

ここで、ソフトマックスは行列の各行に適用されます。

クエリベクトルの次元数はクエリサイズであり、キーサイズ値サイズも同様です。アテンションヘッドの出力次元はヘッド次元です。アテンションメカニズムは、以下の3つの等式を満たす必要がありますが、それ以外は制約がありません。

注意ヘッドが自己注意型で使用される場合、 となります。注意ヘッドが相互注意型で使用される場合、通常は となります。理論的には3つすべてが異なることも可能ですが、実際にはそうなることはほとんどありません。

マルチヘッド・アテンション

マルチヘッド・アテンション、ブロック図
マルチヘッド・アテンション・モジュール内の正確な次元数

行列の集合はアテンションヘッドと呼ばれ、Transformerモデルの各層には複数のアテンションヘッドがあります。各アテンションヘッドは各トークンに関連するトークンに注目しますが、複数のアテンションヘッドが存在することで、モデルは異なる「関連性」の定義に対してこれを実行できます。具体的には、アテンションスコアの計算に関与するクエリ射影行列とキー射影行列、およびが「関連性」を定義します。一方、値射影行列は、出力射影行列の一部と組み合わされて、注目されているトークンが後続の層、そして最終的には出力ロジットに渡される情報にどのように影響するかを決定します。さらに、各アテンションヘッドによって捕捉されるトークン関係の範囲、つまりアテンションの範囲は、トークンが後続の層を通過するにつれて拡大する可能性があります。これにより、モデルはより深い層におけるより複雑で長距離の依存関係を捕捉できます。多くのTransformerアテンションヘッドは、人間にとって意味のある関連性関係をエンコードします。例えば、一部のアテンションヘッドは主に次の単語に注目しますが、他のアテンションヘッドは主に動詞からその直接目的語に注目します。[ 56 ]各アテンションヘッドの計算は並列に実行できるため、高速処理が可能です。アテンション層の出力は連結され、フィードフォワードニューラルネットワーク層に渡されます。

具体的には、複数の注意ヘッドを でインデックスすると、 となります。ここで、行列は単語埋め込みの連結であり、行列 は個々の注意ヘッド が所有する「投影行列」であり、はマルチヘッド注意ヘッド全体が所有する最終的な投影行列です。

理論的には、各アテンション ヘッドが異なるヘッド サイズを持つことは可能ですが、実際にはそうなることはほとんどありません。

例えば、最小のGPT-2モデルには、自己注意メカニズムのみが含まれています。このモデルは以下の次元を持ちます。なので、出力射影行列は正方行列です。

マスクされた注意

トランスフォーマーアーキテクチャは、出力トークンを反復的に計算するように構築されています。が最初の出力トークンの計算を指していると仮定すると、ステップ の間、出力トークンは一定のままになります。これにより、自己回帰モデルと同様のモデルの特性が保証されます。[ 1 ]したがって、すべての時間ステップ において、すべての出力の計算は位置のトークンにアクセスしてはなりません(トークンがまだ計算されていない時間ステップ の場合、当然のことです)。この動作は、ソフトマックスステージの前に、注意リンクを切断する必要があるエントリやその他の場所にマスク行列を追加することで実現できます。次の行列は、デコーダーの自己注意モジュールで一般的に使用され、「因果マ​​スキング」と呼ばれます

言葉で言えば、各トークンは自身とそれ以前のすべてのトークンに注意を向けることができるが、それ以降のトークンには注意を向けることができないことを意味します。マスクなしの注意モジュールは、マスクのすべてのエントリがゼロであるマスク付き注意モジュールと考えることができます。マスク行列の珍しい使用例として、XLNetはという形式のすべてのマスクを考慮します。ここではランダム順列行列です。[ 57 ]

エンコーダ

1つのエンコーダ層

エンコーダは、埋め込み層とそれに続く複数のエンコーダ層で構成されます

各エンコーダ層は、自己注意機構とフィードフォワード層という2つの主要コンポーネントで構成されています。入力を入力ベクトルのシーケンスとして受け取り、自己注意機構を適用して中間ベクトルシーケンスを生成し、各ベクトルに対して個別にフィードフォワード層を適用します。概略的には、以下のようになります。

ここで は「フィードフォワードネットワーク」を表します。は行列の各行に個別に適用される という暗黙の慣例により、より簡潔に と記述できます。

エンコーダー層は積層されています。最初のエンコーダー層は埋め込み層から入力ベクトルのシーケンスを受け取り、ベクトルのシーケンスを生成します。このベクトルのシーケンスは2番目のエンコーダー層で処理され、これが繰り返されます。最後のエンコーダー層からの出力はデコーダーで使用されます。

エンコーダーは入力全体を一度に処理するため、すべてのトークンが他のすべてのトークンに注意を向けることができる (全対全の注意) ため、因果マスキングは必要ありません。

デコーダ

1つのデコーダ層

デコーダは、埋め込み層、複数のデコーダ層、そして非埋め込み層で構成されます

各デコーダーは、因果的にマスクされた自己注意機構、交差注意機構、そしてフィードフォワードニューラルネットワークという3つの主要構成要素から構成されます。デコーダーはエンコーダーと同様に機能しますが、エンコーダーによって生成されたエンコーディングから関連情報を引き出す追加の注意機構が挿入されています。この機構は、エンコーダー・デコーダー注意機構とも呼ばれます。[ 1 ] [ 54 ]

最初のエンコーダと同様に、最初のデコーダは、エンコードではなく、出力シーケンスの位置情報と埋め込みを入力として受け取ります。トランスフォーマーは現在または将来の出力を使用して出力を予測してはならないため、この逆方向の情報の流れを防ぐために、出力シーケンスを部分的にマスクする必要があります。[ 1 ]これにより、自己回帰テキスト生成が可能になります。デコードでは、トークンはまだ生成されていないトークンに注意を向けることができないため、全対全の注意は不適切です。したがって、デコーダの自己注意モジュールは因果的にマスクされます。

対照的に、クロスアテンション機構は、デコーダがデコードを開始する前に計算されるエンコーダの出力ベクトルに注目します。したがって、クロスアテンション機構ではマスキングは必要ありません。

図式的に言えば、次のようになります。ここで、行はエンコーダからの出力ベクトルである行列です。

最後のデコーダーの後には、語彙全体の出力確率を生成するための最終アンエンベディング層が続きます。次に、確率に従ってトークンの1つがサンプリングされ、デコーダーが再び実行されて次のトークンが生成され、自己回帰的に出力テキストが生成されます。

完全なトランスフォーマーアーキテクチャ

サブレイヤー

(a) エンコーダーレイヤー1層とデコーダーレイヤー1層。(b) エンコーダーレイヤー2層とデコーダーレイヤー2層。サブレイヤーにもラベルが付けられています

各エンコーダー層には、自己注意層とフィードフォワードネットワークの2つのサブ層が含まれます。各デコーダー層には、因果的マスク自己注意層、クロスアテンション層、フィードフォワードネットワークの3つのサブ層が含まれます。

ノルムファーストとノルムラストを備えたトランスフォーマーエンコーダ
ノルムファーストとノルムラストを備えたトランスフォーマーデコーダー
完全なトランスアーキテクチャのブロック図
オブジェクト指向プログラミングスタイルによる、完全なトランスフォーマーアーキテクチャの概略的なオブジェクト階層

最後に詳しく説明すると、残差接続レイヤー正規化(以下、「LayerNorm」または「LN」と表記)は概念的には不要ですが、数値の安定性と収束には必要です。

勾配消失の問題を回避し、学習プロセスを安定化させるために導入された残差接続は、y = F(x) + x と表すことができます。この式は、出力 y が入力 x の変換 (F(x)) と入力 x そのもの (x) の和であることを示しています。入力 x を加算することで入力情報が保持され、F(x) の勾配がゼロに近い場合の問題を回避できます。

フィードフォワード ネットワーク モジュールが各ベクトルに個別適用されるのと同様に、LayerNorm も各ベクトルに個別に適用されます。

一般的に使用されている2つの規則、すなわちLN後規則とLN前規則があります。LN後規則では、各サブレイヤーの出力は、サブレイヤー自体によって実装された関数 です。

LN以前の慣例においては、各サブレイヤーの出力は…である。2017年のオリジナルのTransformerはLN以降の慣例を使用していた。これは学習が難しく、慎重なハイパーパラメータ調整と、学習率の「ウォームアップ」(最初は小さく始めて徐々に増加させる)が必要であった。2018年に何度か提案されたLN以前の慣例[ 58 ]は、学習が容易でウォームアップを必要とせず、収束が速いことがわかった[ 46 ] 。

擬似コード

以下は、標準的なLN以前のエンコーダ・デコーダ変換器の擬似コードであり、「Transformersの形式アルゴリズム」[ 59 ]から改変したものです

入力:エンコーダ入力 t_e デコーダ入力 t_d 出力:確率分布の配列。形状は(デコーダーの語彙サイズ×長さ(デコーダーの出力シーケンス)) /* エンコーダ */ z_e ← encoding.tokenizer(t_e)  1:length(z_e)内のtについて z_e[t] ← エンコーダ.埋め込み(z_e[t]) + エンコーダ.位置埋め込み(t)  1:length(encoder.layers)lに対して レイヤー ← エンコーダー.レイヤー[l] /* 最初のサブレイヤー */ z_e_copy ← コピー(z_e) 1:length(z_e)tについて z_e[t] ← レイヤー.レイヤーノルム(z_e[t]) z_e ←layer.multihead_attention(z_e, z_e, z_e) 1:length(z_e)tについて z_e[t] ← z_e[t] + z_e_copy[t] /* 2番目のサブレイヤー */ z_e_copy ← コピー(z_e) 1:length(z_e)tについて z_e[t] ← レイヤー.レイヤーノルム(z_e[t]) z_e ← レイヤー.フィードフォワード(z_e) 1:length(z_e)tについて z_e[t] ← z_e[t] + z_e_copy[t] 1:length(z_e)tについて z_e[t] ← エンコーダー最終層ノルム(z_e[t]) /* デコーダー */ z_d ← デコーダー.tokenizer(t_d) 1: length (z_d)tについて z_d[t] ← デコーダー.埋め込み(z_d[t]) + デコーダー.位置埋め込み(t)  1:length(decoder.layers)lに対して レイヤー ← デコーダー.レイヤー[l] /* 最初のサブレイヤー */ z_d_copy ← コピー(z_d) 1:length(z_d)tについて z_d[t] ← レイヤー.レイヤーノルム(z_d[t]) z_d ← レイヤー.マスクされたマルチヘッドアテンション(z_d, z_d, z_d) 1:length(z_d)tについて z_d[t] ← z_d[t] + z_d_copy[t] /* 2番目のサブレイヤー */ z_d_copy ← コピー(z_d) 1:length(z_d)tについて z_d[t] ← レイヤー.レイヤーノルム(z_d[t]) z_d ←layer.multihead_attention(z_d, z_e, z_e) 1:length(z_d)iに対して z_d[t] ← z_d[t] + z_d_copy[t] /* 3番目のサブレイヤー */ z_d_copy ← コピー(z_d) 1:length(z_d)tについて z_d[t] ← レイヤー.レイヤーノルム(z_d[t]) z_d ← レイヤー.フィードフォワード(z_d) 1:length(z_d)tについて z_d[t] ← z_d[t] + z_d_copy[t] z_d ← デコーダー.final_layer_norm(z_d) 出力分布 ← [] 1:length(z_d)tについて 出力分布.append(デコーダー.unembed(z_d[t])) output_distributions を返す

用語

変圧器のアーキテクチャはモジュール式であるため、バリエーションが可能です。ここではいくつかの一般的なバリエーションについて説明します。[ 60 ]

「エンコーダのみ」の変換器は、エンコーダを用いて入力テキストを、入力テキストを表すベクトルのシーケンスにマッピングします。これは通常、下流のアプリケーションのためのテキスト埋め込みや表現学習に使用されます。BERTはエンコーダのみの変換器です。BERT現在はあまり使用されていません。これは、エンコーダ・デコーダ変換器を学習し、エンコーダのみを扱う場合と比べて、それほど優れた結果が得られないことが判明したためです。[ 51 ]これらは「all-to-all」または「BERTのような」変換器とも呼ばれます。

「デコーダのみ」のトランスフォーマーは、文字通りデコーダのみではありません。エンコーダがなければ、クロスアテンション機構は何も注目しないからです。したがって、デコーダのみのトランスフォーマーのデコーダー層は、因果的にマスクされた自己注意とフィードフォワードネットワークの2つのサブレイヤーのみで構成されます。これは通常、テキスト生成命令追跡に使用されます。GPTシリーズChinchillaシリーズのモデルはデコーダのみで、「自己回帰型」または「因果的」とも呼ばれます。

「エンコーダ・デコーダ」トランスフォーマーは、基本的にオリジナルのトランスフォーマーと同じで、エンコーダ層ごとに2つのサブレイヤー、デコーダ層ごとに3つのサブレイヤーなどを備えています。代替活性化関数や正規化の位置の変更など、アーキテクチャ上の小さな改良が加えられている場合もあります。これは通常、テキスト生成や命令の追跡にも使用されます。T5シリーズのモデルはエンコーダ・デコーダです。[ 60 ]

「prefixLM」(接頭辞言語モデル)はデコーダーのみのアーキテクチャですが、因果マスキングとは異なる接頭辞マスキングを備えています。具体的には、図3 に示すような形式のマスクを持ちます[ 60 ] 。最初の列は「接頭辞」に対応し、それ以降の列は接頭辞に基づいて自己回帰的に生成されたテキストに対応します。これらはエンコーダー・デコーダーモデルに似ていますが、「スパース性」が低いです。このようなモデルは理論的な可能性やベンチマーク比較として引用されることはありますが、ほとんど使用されていません。[ 51 ]

seq2seqモデルを混合したものも存在します。例えば、2020年にGoogle翻訳は、従来のRNNエンコーダー・RNNデコーダーモデルをトランスフォーマー・エンコーダー・RNNデコーダーモデルに置き換えました。これは、トランスフォーマーベースのデコーダーはエンコーダーとは異なり、品質を大幅に向上させなかった一方で、RNNデコーダーの方がはるかに高速だったためです。[ 37 ]

その後の研究

代替活性化関数

オリジナルのTransformerはReLU活性化関数を使用しています。他の活性化関数も開発されました。LlamaシリーズPaLMはSwiGLUを使用しました。[ 61 ] GPT-1とBERT [ 35 ]はどちらもGELUを使用しました。[ 62 ]

代替活性化関数は、フィードフォワードモジュールのゲート線形ユニットと組み合わせて使用​​されることが多い。 [ 61 ]

代替正規化

トランスフォーマーで使用される正規化は、LayerNormとは異なる場合があります。一例として、Llamaシリーズで使用されているRMSNorm [ 63 ]があります。その他の例としては、CapsuleNorm [ 64 ]、ScaleNorm [ 65 ]、FixNorm [ 65 ]などがあります

代替の位置符号化

変圧器は正弦波以外の位置符号化方式を使用する場合があります。[ 66 ]

オリジナルのトランスフォーマーの論文では、学習した位置エンコーディングを使用していると報告されていましたが[ 67 ] 、正弦波エンコーディングよりも優れているとは考えられませんでした[ 1 ]。その後、[ 68 ]では、因果マスキング自体がトランスフォーマーデコーダーに十分な信号を提供し、位置エンコーディングモジュールなしで暗黙的に絶対位置エンコーディングを実行することを学習できることがわかりました。

ロープ

RoPE(回転位置埋め込み)[ 69 ]は、 2次元ベクトルのリストを考えることで最もよく説明されます。ここで、ある角度を選びます。すると、RoPEエンコーディングは、次のようになります。同様に、2次元ベクトルを複素数として表すと、RoPEエンコーディングは角度による乗算になります。次元ベクトルのリストの場合、RoPEエンコーダは角度のシーケンスによって定義されます。そして、RoPEエンコーディングは各座標ペアに適用されます。

RoPE の利点は、2 つのベクトル間のドット積が、 任意の整数に対して、それらの相対的な位置のみに依存することです。

ALiBi

ALiBi(線形バイアス付きアテンション)[ 70 ]は、元のトランスフォーマーの位置エンコーダーの代替ではありません。代わりに、アテンション機構に直接接続される追加の位置エンコーダーです。具体的には、ALiBiアテンション機構は、ここで、は実数(「スカラー」)、はで定義される線形バイアス行列、つまり、です。線形バイアス行列は、緩和されたマスクであるという考え方です。が完全な注意が払われていることを表し、が注意が払われていないことを表すのと同様に、線形バイアス行列は、一方向への注意を増加させ、反対方向への注意を減少させます

ALiBiは、短いコンテキストウィンドウで事前学習を行い、その後、より長いコンテキストウィンドウで微調整を行うことができます。Attentionメカニズムに直接組み込まれるため、ネットワーク全体の「底部」(オリジナルのTransformerの正弦波エンコーダやRoPE、その他多くのTransformerの正弦波エンコーダが配置されている部分)に組み込む任意の位置エンコーダと組み合わせることができます。

相対位置エンコーディング

相対位置エンコーディング[ 71 ]はALiBiに似ていますが、より汎用的です。ここで、はテプリッツ行列、つまり、のときは常にです。これは、「絶対位置エンコーディング」である元の正弦波位置エンコーディングとは対照的です。[ 72 ]

効率的な実装

Transformerモデルは、TensorFlowPyTorchなどの標準的なディープラーニングフレームワークに実装されています。Transformersは、 Hugging Faceが作成したライブラリで、Transformerベースのアーキテクチャと事前学習済みモデルを提供しています。[ 11 ]

KVキャッシュ

自己回帰変換を推論(テキスト生成など)に使用する場合、クエリベクトルは各ステップで異なりますが、既に計算済みのキーベクトルと値ベクトルは常に同じです。KVキャッシュ方式は、計算済みのキーベクトルと値ベクトルを各アテンションブロックに保存するため、新しいトークンごとに再計算する必要はありません。PagedAttention、KVキャッシュにメモリページングを適用します。 [ 73 ] [ 74 ] [ 75 ]

トランスフォーマーを「["あなたはカスタマーサポート担当者です..."]」のような組み込みプロンプトと共に使用する場合、プロンプトのキーと値のベクトルを計算し、ディスクに保存できます。このモデルをオンラインチャットボットなどの短時間のリアルタイムインタラクションに多数使用すると、計算コストの削減効果は顕著になります。

フラッシュアテンション

フラッシュアテンション[ 76 ]は、 GPU上でトランスフォーマーアテンション機構を効率的に実装するアルゴリズムです。これは通信を回避するアルゴリズムで、各ブロックがGPUのキャッシュ内に収まるようにブロック単位で行列乗算を実行し、ブロックを慎重に管理することで、GPUキャッシュ間のデータコピーを最小限に抑えます(データの移動が遅いため)。詳細については、 ソフトマックスのページを参照してください

より長いコンテキスト長を処理できる言語モデルへの需要の高まりに対応するため、改良版であるFlashAttention-2 [ 77 ] [ 78 ] [ 79 ]が開発されました。このモデルは、作業分割と並列処理の強化により、A100 GPU(FP16 / BF16)上で最大230 TFLOPs/sの性能を達成しており、これはオリジナルのFlashAttentionの2倍の速度向上となります。

FlashAttention-2の主な進歩には、非matmul FLOPの削減、シーケンス長次元での並列性の向上、GPUワープ間の作業分割の改善、最大256のヘッド次元とマルチクエリアテンション(MQA)およびグループクエリアテンション(GQA)のサポートの追加などがあります。[ 80 ]

ベンチマークテストの結果、FlashAttention-2はFlashAttentionよりも最大2倍、PyTorchの標準的なアテンション実装よりも最大9倍高速であることが明らかになりました。今後の開発では、H100 GPUなどの新しいハードウェアやFP8などの新しいデータ型への最適化が予定されています。

FlashAttention-4は命令スループットを向上させるためのパイプライン化に重点を置いており、特にBlackwell GPUで優れたパフォーマンスを発揮するように開発されました。[ 81 ]

マルチクエリアテンション

いくつかの異なる形式の注意機構と、それぞれに必要なKVキャッシュの量の比較

マルチクエリアテンションはマルチヘッドアテンションのメカニズムを変更します。[ 82 ]通常、

マルチクエリアテンションでは、 は 1 つだけなので、次のようになります。

これはモデルの品質とトレーニング速度には中立的な影響を与えますが、推論速度は向上します。

より一般的には、グループ化クエリアテンション(GQA)は、アテンションヘッドをグループに分割し、各グループがキーと値のペアを共有する。MQAは1つのグループを持つGQAであり、標準的なマルチヘッドアテンションは最大数のグループを持つGQAである。[ 83 ]

V2のアーキテクチャ。MLAと専門家の混合の変種の両方を示しています[ 84 ]:図2

マルチヘッド潜在的注意(MLA)は、標準的なMHAの低ランク近似です。具体的には、各隠れベクトルは、注意機構に入る前に、まず2つの低次元空間(「潜在空間」)に投影されます。1つはクエリ用、もう1つはキー値(KVベクトル)用です。この設計により、低次元KVベクトルのみをキャッシュすればよいため、KVキャッシュが最小限に抑えられます。[ 84 ]

投機的復号

投機的復号[ 85 ] [ 86 ]は、トークンの復号を高速化する方法の一つです。CPUの投機的実行と同様に、将来のトークンは高速に計算され、検証されます。高速に計算されたトークンが正しくない場合、それらは破棄され、低速で計算されます

投機的デコードにおける重要な要素は、次の意味で、トランスフォーマー デコーダーはデコードよりも検証の方が高速であることです。

GPT-3とGPT-3-smallという2つのTransformerモデルがあり、どちらもコンテキストウィンドウサイズが512であるとします。GPT-3を用いて貪欲復号法でコンテキストウィンドウ全体を自己回帰的に生成するには、512回実行する必要があり、そのたびにトークンが生成され、時間がかかります。しかし、これらのトークンの値についてある程度の推測値があれば、モデルを1回実行するだけで、それらすべてを並列に検証できます。つまり、各トークンが実際に 番目の出力において最大の対数尤度を持つトークンであることを確認することです。

投機的デコードでは、より小さなモデルまたはその他の単純なヒューリスティックを使用して、いくつかの投機的トークンを生成し、その後、それらのトークンをより大きなモデルで検証します。たとえば、GPT-3-small を使用して 4 つの投機的トークンを生成するとします。これには しかかかりません。これらのトークンは、より大きな GPT-3 を一度に通過します。 と がGPT-3 によって選択されたものとして検証されると仮定すると、それらは保持されますが は選択されないため は破棄され、それらに対して GPT-3 が実行されます。これには かかり、 よりも短くなる可能性があります。

非貪欲復号法の場合も同様の考え方が適用されますが、投機的トークンは確率的に受け入れられるか拒否されるかが異なり、最終的な出力分布は投機的復号法を使用しなかった場合と同じになることが保証されます。[ 85 ] [ 87 ]

マルチトークン予測

マルチトークン予測では、1回のフォワードパスで最終的な埋め込みベクトルが作成され、その後、トークン確率に埋め込まれなくなります。ただし、そのベクトルは別の変換ブロックによってさらに処理され、次のトークンを予測することができ、これを任意のステップ数だけ未来まで続けることができます。新しいトークンごとにスタック全体ではなく、変換ブロックが1つだけ必要となるため、精度と速度がトレードオフになります。[ 88 ] [ 89 ]

準二次変換器

変換器ベースのアーキテクチャの学習は、特に長い入力の場合、コストが高くなる可能性があります。[ 90 ]この問題に対処するために多くの手法が開発されてきました。画像領域では、Swin変換器はシフトウィンドウ内で注意を実行する効率的なアーキテクチャです。[ 91 ]音声領域では、SepTrは時間領域と周波数領域で注意を分離します。[ 92 ] Long Range Arena (2020) [ 93 ]は、長い入力に対する変換器アーキテクチャの動作を比較するための標準的なベンチマークです

代替アテンショングラフ

標準的なアテンショングラフは、全対全または因果関係のいずれかであり、どちらも のようにスケールします。ここではシーケンス内のトークンの数です

Reformer(2020)[ 90 ] [ 94 ]は、局所性に敏感なハッシュと可逆層を使用することで、計算負荷をからに削減します。[ 95 ]

スパースアテンション[ 96 ]は、よりも遅く成長するアテンショングラフを使用します。例えば、BigBird (2020) [ 97 ]は、として成長するランダムスモールワールドネットワークを使用します。

通常の変換子は、コンテキストウィンドウのサイズの2乗に相当するメモリサイズを必要とします。アテンションフリー変換子[ 98 ]は、キーと値をリンクさせることで、変換子の利点を維持しながら、メモリサイズを線形依存にまで削減します。

ランダム機能の注目

ランダム特徴アテンション(2021)[ 99 ]はフーリエランダム特徴を用いる。ここで、は正規分布からの独立なサンプルである。このパラメータの選択は、またはを満たす。したがって、1つのクエリを持つ単頭アテンションは、次のように表すことができる。ここで、はである。複数のクエリを持つ場合も同様であり、マルチヘッドアテンションも同様である。

この近似は、まず行列を計算し、それをクエリと乗算することで線形時間で計算できます。本質的には、Performer (2022) [ 100 ]のより正確なバージョンを得ることができました。Performer (2022)は同じランダム特徴量アテンションを使用していますが、最初に正規分布から独立にサンプリングされ、その後グラムシュミット法で処理されます

マルチモーダリティ

トランスフォーマーは、通常、モダリティを「トークン化」する方法を見つけることで、テキストだけでなく、モダリティ(入力または出力)にも使用/適応できます

マルチモーダルモデルは、ゼロから学習することも、微調整によって学習することもできます。2022年の研究では、自然言語のみで事前学習されたTransformerは、わずか0.03%のパラメータを微調整するだけで、様々な論理タスクや視覚タスクにおいてLSTMと競合できることが明らかになり、転移学習が実証されました。[ 101 ] LLaVAは、言語モデル(Vicuna-13B)[ 102 ]と視覚モデル(ViT -L/14)を線形層で接続した視覚言語モデルです。線形層のみが微調整されています。[ 103 ]

ビジョントランスフォーマー[ 41 ]は、入力画像を一連のパッチとして分解し、それらをベクトルに変換し、標準的なトランスフォーマーにトークンの埋め込みベクトルのように扱うことで、コンピュータビジョンにトランスフォーマーを適応させます。

Conformer [ 42 ]とその後のWhisper [ 104 ]は音声認識に同じパターンを採用しており、まず音声信号をスペクトログラムに変換し、次にそれを画像のように、つまり一連のパッチに分解してベクトルに変換し、標準のトランスフォーマーにトークンの埋め込みベクトルのように処理します。

パーセプター[ 105 ] [ 106 ]は、マルチモーダル性のために設計されたトランスフォーマーの一種である。

画像生成では、注目すべきアーキテクチャとして、DALL-E 1 (2021)、Parti (2022)、[ 107 ] Phenaki (2023)、[ 108 ]、Muse (2023) がある。[ 109 ]後のモデルとは異なり、DALL-E は拡散モデルではない。代わりに、デコーダーのみのトランスフォーマーを使用してテキストを自己回帰的に生成し、続いて画像のトークン表現を生成し、それを変分オートエンコーダーで画像に変換する。[ 110 ] Parti はエンコーダー - デコーダー トランスフォーマーで、エンコーダーがテキスト プロンプトを処理し、デコーダーが画像のトークン表現を生成する。[ 111 ] Muse はエンコーダーのみのトランスフォーマーで、マスクされていない画像トークンからマスクされた画像トークンを予測するようにトレーニングされる。生成中、すべての入力トークンはマスクされ、すべてのトークンが予測されるまで、最も信頼度の高い予測が次の反復に含められる。[ 109 ] Phenakiはテキストから動画への変換モデルです。これは、事前に計算されたテキストトークンを条件とする双方向マスク変換器です。生成されたトークンは動画にデコードされます。[ 108 ]

アプリケーション

トランスフォーマーは自然言語処理(NLP)において大きな成功を収めてきました。GPT -2GPT-3GPT-4Gemini、AlbertAGPT、ClaudeBERTGrokXLNetRoBERTaChatGPTといった多くの大規模言語モデルは、トランスフォーマーがNLP関連の様々なサブタスクと、それらに関連する実世界のアプリケーションを実行できることを実証しています

従来のNLPに加えて、Transformerアーキテクチャは次のような他のアプリケーションでも成功を収めています

参照

注釈

  1. ^ゲート付き回帰ユニット(2014)により、複雑さがさらに軽減されました
  2. ^ RWKV や状態空間モデルなどの一部のアーキテクチャでは、この問題を回避できます。

参考文献

  1. ^ a b c d e f g h i j k lヴァスワニ、アシシュ;シャジール、ノアム;パーマー、ニキ;ウスコレイト、ヤコブ;ジョーンズ、リオン;ゴメス、エイダン・N;カイザー、ウカス;ポロスキン、イリア (2017). 「必要なのは注意だけ」(PDF) .神経情報処理システムの進歩. 30.カラン・アソシエイツ社
  2. ^ゼップ・ホッホライター;シュミットフーバー、ユルゲン(1997年11月1日)。 「長短期記憶」。ニューラル計算9 (8): 1735 ~ 1780 年。土井: 10.1162/neco.1997.9.8.1735ISSN 0899-7667PMID 9377276S2CID 1915014   
  3. ^ a b「より優れた言語モデルとその影響」OpenAI 2019年2月14日。2020年12月19日時点のオリジナルよりアーカイブ2019年8月25日閲覧。
  4. ^ a b Bahdanau; Cho, Kyunghyun; Bengio, Yoshua (2014年9月1日). 「アラインメントと翻訳の共同学習によるニューラル機械翻訳」. arXiv : 1409.0473 [ cs.CL ].
  5. ^ Luong, Minh-Thang; Pham, Hieu; Manning, Christopher D. (2015年8月17日). 「注意に基づくニューラル機械翻訳への効果的なアプローチ」. arXiv : 1508.04025 [ cs.CL ].
  6. ^ a b Chen, Lili; Lu, Kevin; Rajeswaran, Aravind; Lee, Kimin; Grover, Aditya; Laskin, Michael; Abbeel, Pieter; Srinivas, Aravind; Mordatch, Igor (2021-06-24), Decision Transformer: シーケンスモデリングによる強化学習, arXiv : 2106.01345
  7. ^ Parisotto, Emilio; Song, Fr​​ancis; Rae, Jack; Pascanu, Razvan; Gulcehre, Caglar; Jayakumar, Siddhant; Jaderberg, Max; Kaufman, Raphaël Lopez; Clark, Aidan; Noury, Seb; Botvinick, Matthew; Heess, Nicolas; Hadsell, Raia (2020-11-21). 「強化学習のためのトランスフォーマーの安定化」 .第37回国際機械学習会議論文集. PMLR: 7487– 7498.
  8. ^ Radford, Alec; Jong Wook Kim; Xu, Tao; Brockman, Greg; McLeavey, Christine; Sutskever, Ilya (2022). 「大規模弱教師によるロバストな音声認識」. arXiv : 2212.04356 [ eess.AS ].
  9. ^ Monastirsky, Maxim; Azulay, Osher; Sintov, Avishai (2023年2月). 「Decision Transformersを用いた少数のサンプルを用いた投球学習」. IEEE Robotics and Automation Letters . 8 (2): 576– 583. Bibcode : 2023IRAL....8..576M . doi : 10.1109/LRA.2022.3229266 . ISSN 2377-3766 . 
  10. ^ a bルオス、アニアン;デレタン、グレゴワール。メダパティ、ソウラブ。グラウモヤ、ジョルディ。李文亮。キャット、エリオット。リード、ジョン。ジェネウェイン、ティム (2024-02-07)。 「検索なしのグランドマスターレベルのチェス」。arXiv : 2402.04494v1 [ cs.LG ]。
  11. ^ a b Wolf, Thomas; Debut, Lysandre; Sanh, Victor; Chaumond, Julien; Delangue, Clement; Moi, Anthony; Cistac, Pierric; Rault, Tim; Louf, Remi; Funtowicz, Morgan; Davison, Joe; Shleifer, Sam; von Platen, Patrick; Ma, Clara; Jernite, Yacine; Plu, Julien; Xu, Canwen; Le Scao, Teven; Gugger, Sylvain; Drame, Mariama; Lhoest, Quentin; Rush, Alexander (2020). 「Transformers: State-of-the-Art Natural Language Processing」. Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations . pp.  38– 45. doi : 10.18653/v1/2020.emnlp-demos.6 . S2CID 208117506 
  12. ^ a b c「BERTのオープンソース化:自然言語処理のための最先端の事前トレーニング」。Google AIブログ。2018年11月2日。 2021年1月13日時点のオリジナルよりアーカイブ。 2019年8月25日閲覧
  13. ^ Feldman, JA; Ballard, DH (1982-07-01). 「コネクショニストモデルとその特性」 .認知科学. 6 (3): 205– 254. doi : 10.1016/S0364-0213(82)80001-3 . ISSN 0364-0213 . 
  14. ^ Rumelhart, David E.; McClelland, James L.; Hinton, Geoffrey E. (1987-07-29).並列分散処理 第1巻:認知の微細構造の探究:基礎、第2章(PDF) . マサチューセッツ州ケンブリッジ:Bradford Books. ISBN 978-0-262-68053-0
  15. ^ Giles, C. Lee; Maxwell, Tom (1987-12-01). 「高次ニューラルネットワークにおける学習、不変性、および汎化」 .応用光学. 26 (23): 4972–4978 . doi : 10.1364/AO.26.004972 . ISSN 0003-6935 . PMID 20523475  
  16. ^ a b Schmidhuber, Jürgen (1992). 「高速重みメモリの制御学習:リカレントネットの代替」(PDF) . Neural Computation . 4 (1): 131– 139. doi : 10.1162/neco.1992.4.1.131 . S2CID 16683347 . 
  17. ^ Christoph von der Malsburg: 脳機能の相関理論. 内部報告書 81-2, MPI Biophysical Chemistry, 1981. http://cogprints.org/1380/1/vdM_correlation.pdf再版については、『Models of Neural Networks II』第2章、95~119ページを参照。Springer, Berlin, 1994.
  18. ^ Jerome A. Feldman、「Dynamic connection in neural networks」、Biological Cyber​​netics、第46巻、第1号、pp.27-39、1982年12月。
  19. ^ヒントン、ジェフリー・E.;プラウト、デイビッド・C. (1987). 「高速重みを用いた古い記憶のぼやけの除去」認知科学学会年次大会議事録. 9 .
  20. ^ Katharopoulos, Angelos; Vyas, Apoorv; Pappas, Nikolaos; Fleuret, François (2020). 「Transformers are RNNs: Fast autoregressive Transformers with linear attention」 ICML 2020 . PMLR. pp.  5156– 5165.
  21. ^シュラーク、イマノール;入江一樹;シュミットフーバー、ユルゲン(2021)。 「リニアトランスはひそかに高速な重量プログラマです。」ICML 2021。スプリンガー。9355–9366ページ 
  22. ^ a b Cho, Kyunghyun; van Merriënboer, Bart; Gulcehre, Caglar; Bahdanau, Dzmitry; Bougares, Fethi; Schwenk, Holger; Bengio, Yoshua (2014年10月). 「統計的機械翻訳のためのRNNエンコーダー・デコーダーを用いたフレーズ表現の学習」 . Moschitti, Alessandro; Pang, Bo; Daelemans, Walter (編). 2014年自然言語処理における経験的手法に関する会議 (EMNLP) の議事録. ドーハ、カタール:計算言語学協会. pp.  1724– 1734. arXiv : 1406.1078 . doi : 10.3115/v1/D14-1179 .
  23. ^ a b Sutskever, Ilya; Vinyals, Oriol; Le, Quoc Viet (2014年12月14日). 「ニューラルネットワークによるシーケンスツーシーケンス学習」. arXiv : 1409.3215 [ cs.CL ].[最初のバージョンは2014年9月10日にarXivに投稿されました]
  24. ^ Chung, Junyoung; Gulcehre, Caglar; Cho, KyungHyun; Bengio, Yoshua (2014). 「シーケンスモデリングにおけるゲート型リカレントニューラルネットワークの実証的評価」arXiv : 1412.3555 [ cs.NE ].
  25. ^ Gruber, N.; Jockisch, A. (2020)「テキストの動機分類において、GRU細胞はより特異的で、LSTM細胞はより敏感なのか?」Frontiers in Artificial Intelligence3 40、doi10.3389/frai.2020.00040PMC 7861254PMID 33733157S2CID 220252321   
  26. ^ Sutskever, Ilya; Vinyals, Oriol; Le, Quoc V (2014). 「ニューラルネットワークによるシーケンスツーシーケンス学習」 .ニューラル情報処理システムの進歩. 27. Curran Associates, Inc. arXiv : 1409.3215 .
  27. ^ Luong, Minh-Thang; Pham, Hieu; Manning, Christopher D. (2015). 「注意に基づくニューラル機械翻訳への効果的なアプローチ」arXiv : 1508.04025 [ cs.CL ].
  28. ^ Wu, Yonghui; et al. (2016-09-01). 「Googleのニューラル機械翻訳システム:人間と機械の翻訳のギャップを埋める」arXiv : 1609.08144 [ cs.CL ].
  29. ^ Lewis-Kraus, Gideon (2016年12月14日). 「AIの大覚醒」 . The New York Times . ISSN 0362-4331 . 2023年5月24日時点のオリジナルよりアーカイブ。 2023年6月22日閲覧 
  30. ^ Parikh, Ankur P.; Täckström, Oscar; Das, Dipanjan; Uszkoreit, Jakob (2016-09-25). 「自然言語推論のための分解可能な注意モデル」. arXiv : 1606.01933 [ cs.CL ].
  31. ^ a bレヴィ、スティーブン。 「8人のGoogle社員が現代のAI発明。その内幕とは?」 Wired。ISSN 1059-1028。2024320日時点のオリジナルよりアーカイブ。 2024年8月6日閲覧 
  32. ^ Cheng, Jianpeng; Dong, Li; Lapata, Mirella (2016年11月). 「機械読解のための長短期記憶ネットワーク」 . Su, Jian; Duh, Kevin; Carreras, Xavier (編). 2016年自然言語処理における経験的手法に関する会議議事録. テキサス州オースティン: 計算言語学協会. pp.  551– 561. doi : 10.18653/v1/D16-1053 .
  33. ^ Peng, Bo; Alcaide, Eric; Anthony, Quentin; Albalak, Alon; Arcadinho, Samuel; Biderman, Stella; Cao, Huanqi; Cheng, Xin; Chung, Michael (2023-12-10), RWKV: トランスフォーマー時代のRNNの再発明arXiv : 2305.13048
  34. ^ Marche, Stephen (2024年8月23日). 「言語AIは偶然に生まれたのか?」 . The New Yorker . ISSN 0028-792X . 2024年8月27日閲覧。 
  35. ^ a b c d e Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (2018年10月11日). 「BERT: 言語理解のための深層双方向トランスフォーマーの事前学習」. arXiv : 1810.04805v2 [ cs.CL ].
  36. ^ 「Google: BERTは現在、ほぼすべての英語クエリで使用されています」 Search Engine Land . 2020年10月15日. 2020年11月24日閲覧
  37. ^ a b Caswell, Isaac; Liang, Bowen (2020年6月8日). 「Google翻訳の最近の進歩」 . Google Research . 2024年7月4日時点のオリジナルよりアーカイブ2024年8月7日閲覧。
  38. ^ 「ChatGPTの開発に携わった人々による、ChatGPTがどのように構築されたかの裏話」 MITテクノロジーレビュー2024年8月6日閲覧。
  39. ^ 「教師なし学習による言語理解の向上」 openai.com 2018年6月11日. 2023年3月18日時点のオリジナルよりアーカイブ。 2023年3月18日閲覧
  40. ^ Finetune-transformer-lm、OpenAI、2018 年 6 月 11 日、 2023 年 5月 1 日に取得
  41. ^ a bドソヴィツキー、アレクセイ;バイエル、ルーカス。コレスニコフ、アレクサンダー。ヴァイセンボルン、ディルク。ザイ、シャオファ。ウンターティナー、トーマス。デガニ、モスタファ。ミンデラー、マティアス。ハイゴールド、ゲオルク。ジェリー、シルヴァン。ウシュコレイト、ヤコブ(2021-06-03)。 「画像は 16x16 ワードの価値があります: 大規模な画像認識のためのトランスフォーマー」。arXiv : 2010.11929 [ cs.CV ]。
  42. ^ a bグラティ、アンモール;秦、ジェームズ。チウ、チュンチェン。パルマー、ニキ。張、裕。ユウ、ジアフイ。ハン、ウェイ。王、紫博。張正東。ウー、ヨンフイ。龐明、龐明(2020)。 「Conformer: 音声認識用の畳み込み拡張トランスフォーマー」。arXiv : 2005.08100 [ eess.AS ]。
  43. ^チョロマンスキー、クシシュトフ;リホシェルストフ、ヴァレリー。ドーハン、デイビッド。ソン、シンユウ。ゲーン、アンドレア。サルロス、タマス;ホーキンス、ピーター。デイビス、ジャレッド。モヒウディン、アフロズ (2022-11-19)、パフォーマーによる注意の再考arXiv : 2009.14794
  44. ^ Liu, Zhuang; Mao, Hanzi; Wu, Chao-Yuan; Feichtenhofer, Christoph; Darrell, Trevor; Xie, Saining (2022). 2020年代に向けたConvNet . コンピュータビジョンとパターン認識に関する会議 ( CVPR ). pp.  11976– 11986.
  45. ^ Esser, Patrick; Kulal, Sumith; Blattmann, Andreas; Entezari, Rahim; Müller, Jonas; Saini, Harry; Levi, Yam; Lorenz, Dominik; Sauer, Axel (2024-03-05),高解像度画像合成のための整流フロートランスフォーマーのスケーリング, arXiv : 2403.03206
  46. ^ a bシオン、ルイビン;ヤン、ユンチャン。彼、ディ。鄭、凱。鄭、淑新。シン、チェン。張恵帥。ラン、ヤンヤン。王、李偉。劉鉄燕(2020-06-29)。 「トランスフォーマーアーキテクチャにおけるオンレイヤー正規化」。arXiv : 2002.04745 [ cs.LG ]。
  47. ^ Raffel, Colin; Shazeer, Noam; Roberts, Adam; Lee, Katherine; Narang, Sharan; Matena, Michael; Zhou, Yanqi; Li, Wei; Liu, Peter J. (2020-01-01). 「統合テキスト-テキスト変換による転移学習の限界の探究」 . The Journal of Machine Learning Research . 21 (1): 140:5485–140:5551. arXiv : 1910.10683 . ISSN 1532-4435 . 
  48. ^ Raffel, Colin; Shazeer, Noam; Roberts, Adam; Lee, Katherine; Narang, Sharan; Matena, Michael; Zhou, Yanqi; Li, Wei; Liu, Peter J. (2019). 「統合テキスト・ツー・テキスト・トランスフォーマーによる転移学習の限界の探究」arXiv : 1910.10683 [ cs.LG ].
  49. ^ a b「マスク言語モデリング」 . huggingface.co . 2023年10月5日閲覧。
  50. ^ a b「因果言語モデリング」 . huggingface.co . 2023年10月5日閲覧。
  51. ^ a b c d Tay, Yi; Dehghani, Mostafa; Tran, Vinh Q.; Garcia, Xavier; Wei, Jason; Wang, Xuezhi; Chung, Hyung Won; Shakeri, Siamak; Bahri, Dara (2023-02-28), UL2: Unifying Language Learning Paradigms , arXiv : 2205.05131
  52. ^ Press, Ofir; Wolf, Lior (2017-02-21) 「出力埋め込みを用いた言語モデルの改善arXiv : 1608.05859
  53. ^ Lintz, Nathan (2016-04-18). 「ニューラルネットワークによるシーケンスモデリング(パート2):アテンションモデル」 . Indico . 2020年10月21日時点のオリジナルよりアーカイブ。 2019年10月15日閲覧
  54. ^ a b c Alammar, Jay. 「The Illustrated transformer」 . jalammar.github.io . 2020年10月18日時点のオリジナルよりアーカイブ。 2019年10月15日閲覧
  55. ^チーム、ケラス。「Keras ドキュメント: GPT2Backbone モデル」ケラス.io 2024 年 8 月 8 日に取得
  56. ^ Clark, Kevin; Khandelwal, Urvashi; Levy, Omer; Manning, Christopher D. (2019年8月). 「BERTは何を見ているのか? BERTの注意の分析」 . 2019 ACLワークショップ「BlackboxNLP:NLPのためのニューラルネットワークの分析と解釈」の議事録. フィレンツェ、イタリア:Association for Computational Linguistics: 276– 286. arXiv : 1906.04341 . doi : 10.18653/v1/W19-4828 . 2020年10月21日時点のオリジナルよりアーカイブ。 2020年5月20日閲覧
  57. ^楊志林;ダイ、ジハン。ヤン、イーミン。カーボネル、ハイメ。サラフトディノフ、ラスR;ル、クオック V (2019)。「XLNet: 言語理解のための一般化された自己回帰事前トレーニング」神経情報処理システムの進歩32. Curran Associates, Inc. arXiv : 1906.08237
  58. ^王、強;李、北。シャオ、トン。朱、ジンポー。リー・チャンリャン。ウォン、デレク F. Chao、Lidia S. (2019-06-04)、機械翻訳のためのディープ トランスフォーマー モデルの学習arXiv : 1906.01787
  59. ^ Phuong, Mary; Hutter, Marcus (2022-07-19) 「Transformersの形式アルゴリズムarXiv : 2207.09238
  60. ^ a b c Raffel, Colin; Shazeer, Noam; Roberts, Adam; Lee, Katherine; Narang, Sharan; Matena, Michael; Zhou, Yanqi; Li, Wei; Liu, Peter J. (2020). 「統合テキストツーテキスト変換による転移学習の限界の探究」 . Journal of Machine Learning Research . 21 (140): 1– 67. arXiv : 1910.10683 . ISSN 1533-7928 . 
  61. ^ a b Shazeer, Noam (2020-02-01). 「GLUバリアントによるTransformerの改良」. arXiv : 2002.05202 [ cs.LG ].
  62. ^ Hendrycks, Dan; Gimpel, Kevin (2016-06-27). 「ガウス誤差線形単位 (GELU)」. arXiv : 1606.08415v5 [ cs.LG ].
  63. ^ Zhang, Biao; Sennrich, Rico (2019). 「Root Mean Square Layer Normalization」 . Advances in Neural Information Processing Systems . 32. Curran Associates, Inc. arXiv : 1910.07467 .
  64. ^ Tembine, Hamidou, Manzoor Ahmed Khan, Issa Bamia. 2024. 「平均場型トランスフォーマー」数学12巻22号3506頁。https://doi.org/10.3390/math12223506
  65. ^ a b Nguyen, Toan Q.; Salazar, Julian (2019-11-02). Niehues, Jan; Cattoni, Rolando; Stüker, Sebastian; Negri, Matteo; Turchi, Marco; Ha, Thanh-Le; Salesky, Elizabeth; Sanabria, Ramon; Barrault, Loic (編). 「涙のないトランスフォーマー:自己注意の正規化の改善」 .第16回国際音声言語翻訳会議論文集. 香港:計算言語学協会 . arXiv : 1910.05895 . doi : 10.5281/zenodo.3525484 .
  66. ^フィリップ・ダフター;シュミット、マーティン。シュッツェ、ハインリッヒ (2022-06-06)。「変圧器の位置情報: 概要」計算言語学48 (3): 733–763 . arXiv : 2102.11090土井: 10.1162/coli_a_00445ISSN 0891-2017S2CID 231986066  
  67. ^ Gehring, Jonas; Auli, Michael; Grangier, David; Yarats, Denis; Dauphin, Yann N. (2017-07-17). 「畳み込みシーケンス対シーケンス学習」 .第34回国際機械学習会議論文集. PMLR: 1243– 1252.
  68. ^ Haviv, Adi; Ram, Ori; Press, Ofir; Izsak, Peter; Levy, Omer (2022-12-05),位置エンコーディングのないTransformer言語モデルでも位置情報を学習できる, arXiv : 2203.16634
  69. ^蘇建林;ルー、ユウ。パン、シェンフェン。ムルタダ、アハメッド。ウェン、ボー。劉雲峰(2021-04-01)。 「RoFormer: ロータリー位置埋め込みを備えた強化されたトランスフォーマー」。arXiv : 2104.09864 [ cs.CL ]。
  70. ^ Press, Ofir; Smith, Noah A.; Lewis, Mike (2021-08-01). 「短いトレーニング、長いテスト:線形バイアスによるアテンションで入力長の外挿が可能に」. arXiv : 2108.12409 [ cs.CL ].
  71. ^ Shaw, Peter; Uszkoreit, Jakob; Vaswani, Ashish (2018). 「相対位置表現を用いた自己注意」. arXiv : 1803.02155 [ cs.CL ].
  72. ^柯、国林;彼、ディ。 Liu、Tie-Yan (2021-03-15)、言語事前トレーニングにおける位置エンコーディングの再考arXiv : 2006.15595
  73. ^ Kwon, Woosuk; Li, Zhuohan; Zhuang, Siyuan; Sheng, Ying; Zheng, Lianmin; Yu, Cody Hao; Gonzalez, Joseph; Zhang, Hao; Stoica, Ion (2023-10-23). 「PagedAttentionを用いた大規模言語モデルサービングのための効率的なメモリ管理」 . Proceedings of the 29th Symposium on Operating Systems Principles . SOSP '23. ニューヨーク、ニューヨーク州、米国: Association for Computing Machinery. pp.  611– 626. arXiv : 2309.06180 . doi : 10.1145/3600006.3613165 . ISBN 979-8-4007-0229-7
  74. ^ vllm-project/vllm、vLLM、2024年6月20日、 2024年6月20日閲覧
  75. ^李卓漢、クォン・ウソク;荘、思源。シェン、イン。鄭、蓮民。ゆう、コーディ。ゴンザレス、ジョーイ。チャン・ハオ。ストイカ、イオン(2023-06-20)。「vLLM: PagedAttendant を使用した簡単、高速、安価な LLM サービスvLLM ブログ2024 年 6 月 20 日に取得
  76. ^ Dao, Tri; Fu, Dan; Ermon, Stefano; Rudra, Atri; Ré, Christopher (2022-12-06). 「FlashAttention: IOを考慮した高速かつメモリ効率の高いExact Attention」 .ニューラル情報処理システムの進歩. 35 : 16344–16359 . arXiv : 2205.14135 .
  77. ^ "Stanford CRFM" . crfm.stanford.edu . 2023年7月18日閲覧
  78. ^ 「FlashAttention-2: より高速なアテンションと優れた並列処理および作業分割」プリンストンNLP 2023年6月17日. 2023年7月18日閲覧
  79. ^ 「Together AIのチーフサイエンティスト、Tri Dao氏によるFlashAttention-2のリリースで、モデルのトレーニングと推論を高速化」 TOGETHER . 2023年7月18日閲覧
  80. ^ Ainslie, Joshua; Lee-Thorp, James; de Jong, Michiel; Zemlyanskiy, Yury; Lebrón, Federico; Sanghai, Sumit (2023-12-23). 「GQA: マルチヘッドチェックポイントからの一般化マルチクエリTransformerモデルのトレーニング」. arXiv : 2305.13245 [ cs.CL ].
  81. ^ 「Flash Attention 4をリバースエンジニアリングしました」。Modal 2025年9月26日閲覧
  82. ^ Chowdhery, Aakanksha; Narang, Sharan; Devlin, Jacob; Bosma, Maarten; Mishra, Gaurav; Roberts, Adam; Barham, Paul; Chung, Hyung Won; Sutton, Charles; Gehrmann, Sebastian; Schuh, Parker; Shi, Kensen; Tsvyashchenko, Sasha; Maynez, Joshua; Rao, Abhishek (2022-04-01). 「PaLM: Pathwaysを用いた言語モデルのスケーリング」. arXiv : 2204.02311 [ cs.CL ].
  83. ^ Ainslie, Joshua; Lee-Thorp, James; de Jong, Michiel; Zemlyanskiy, Yury; Lebrón, Federico; Sanghai, Sumit (2023-12-23), GQA: マルチヘッドチェックポイントからの一般化マルチクエリトランスフォーマーモデルのトレーニング, arXiv : 2305.13245
  84. ^ a b DeepSeek-AI;劉愛新。フォン、ベイ。王斌、ワン・ビンシュアン。リュウ、ボー。趙、成港。デングル、成旗; Ruan、Chong (2024 年 6 月 19 日)、DeepSeek-V2: 強力で経済的、効率的な専門家の混合言語モデルarXiv : 2405.04434
  85. ^ a b Leviathan, Yaniv; Kalman, Matan; Matias, Yossi (2023-05-18) 「投機的デコードによるTransformersからの高速推論arXiv : 2211.17192
  86. ^ Fu, Yao (2023-12-13). 「100倍のスピードアップを目指して:フルスタックTransformer推論最適化」 .
  87. ^ Chen, Charlie; Borgeaud, Sebastian; Irving, Geoffrey; Lespiau, Jean-Baptiste; Sifre, Laurent; Jumper, John (2023-02-02), Accelerating Large Language Model Decoding with Speculative Sampling , arXiv : 2302.01318
  88. ^ Gloeckle, Fabian; Badr Youbi Idrissi; Rozière, Baptiste; Lopez-Paz, David; Synnaeve, Gabriel (2024). 「マルチトークン予測による大規模言語モデルの高速化と高速化」arXiv : 2404.19737 [ cs.CL ].
  89. ^ DeepSeek-AI;他。 (2024年)。 「DeepSeek-V3テクニカルレポート」。arXiv : 2412.19437 [ cs.CL ]。
  90. ^ a bキタエフ, ニキータ; カイザー, ウカス; レフスカヤ, アンセルム (2020). 「リフォーマー:効率的な変圧器」. arXiv : 2001.04451 [ cs.LG ].
  91. ^ Liu, Ze; Lin, Yutong; Cao, Yue; Hu, Han; Wei, Yixuan; Zhang, Zheng; Lin, Stephen; Guo, Baining (2021). 「Swin Transformer: Shifted Windowsを用いた階層型ビジョントランスフォーマー」. 2021 IEEE/CVF 国際コンピュータビジョン会議 (ICCV) . IEEE. pp.  9992– 10002. arXiv : 2103.14030 . doi : 10.1109/ICCV48922.2021.00986 . ISBN 978-1-6654-2812-5
  92. ^リステア、ニコライア・カタリン;イヨネスク、ラドゥ・チューダー。カーン、ファハド・シャバズ(2022-09-18)。「SepTr: オーディオ スペクトログラム処理用の分離可能なトランス」スピーチ間。 ISCA: 41034107。arXiv : 2203.09581土井10.21437/Interspeech.2022-249
  93. ^ Tay, Yi; Dehghani, Mostafa; Abnar, Samira; Shen, Yikang; Bahri, Dara; Pham, Philip; Rao, Jinfeng; Yang, Liu; Ruder, Sebastian; Metzler, Donald (2020-11-08). 「Long Range Arena: 効率的なトランスフォーマーのベンチマーク」. arXiv : 2011.04006 [ cs.LG ].
  94. ^ 「Reformer: The Efficient Transformer」 . Google AI Blog . 2020年1月16日. 2020年10月22日時点のオリジナルよりアーカイブ。 2020年10月22日閲覧
  95. ^ Gomez, Aidan N; Ren, Mengye; Urtasun, Raquel; Grosse, Roger B (2017). 「可逆残差ネットワーク:活性化情報の保存なしのバックプロパゲーション」 .ニューラル情報処理システムの進歩. 30. Curran Associates, Inc. arXiv : 1707.04585 .
  96. ^ Child, Rewon; Gray, Scott; Radford, Alec; Sutskever, Ilya (2019-04-23) 「スパーストランスフォーマーによる長いシーケンスの生成arXiv : 1904.10509
  97. ^ 「スパースアテンション法を用いたより長いシーケンス向けのTransformersの構築」。Google AIブログ。2021年3月25日。2021年9月18日時点のオリジナルよりアーカイブ。 2021年5月28日閲覧
  98. ^ Zhai, Shuangfei; Talbott, Walter; Srivastava, Nitish; Huang, Chen; Goh, Hanlin; Zhang, Ruixiang; Susskind, Josh (2021-09-21). 「An Attention Free Transformer」. arXiv : 2105.14103 [ cs.LG ].
  99. ^彭、ハオ;パパス、ニコラオス。ヨガタマ、ダニ。シュワルツ、ロイ。スミス、ノア A.コン、リンペン(2021-03-19)。 「ランダム機能アテンション」。arXiv : 2103.02143 [ cs.CL ]。
  100. ^ Choromanski, Krzysztof; Likhosherstov, Valerii; Dohan, David; Song, Xingyou; Gane, Andreea; Sarlos, Tamas; Hawkins, Peter; Davis, Jared; Belanger, David; Colwell, Lucy; Weller, Adrian (2020-09-30). 「線形スケーラブルなLong-Context Transformersを用いたタンパク質のマスク言語モデリング」arXiv : 2006.03555 [ cs.LG ].
  101. ^ Lu, Kevin; Grover, Aditya; Abbeel, Pieter; Mordatch, Igor (2022-06-28). 「汎用計算エンジンとしての凍結済み学習済みTransformers」 . AAAI人工知能会議論文集. 36 (7): 7628– 7636. doi : 10.1609/aaai.v36i7.20729 . ISSN 2374-3468 . 
  102. ^ 「Vicuna:ChatGPT品質90%*でGPT-4を圧倒するオープンソースチャットボット | LMSYS Org」 lmsys.org . 2024年8月11日閲覧
  103. ^リュウ、ハオティアン;李春源。呉、青陽。イ・ヨンジェ(2023-12-15)。「ビジュアル指示チューニング」神経情報処理システムの進歩36 : 34892–34916
  104. ^ Radford, Alec; Kim, Jong Wook; Xu, Tao; Brockman, Greg; McLeavey, Christine; Sutskever, Ilya (2022). 「大規模弱教師によるロバストな音声認識」. arXiv : 2212.04356 [ eess.AS ].
  105. ^ Jaegle, Andrew; Gimeno, Felix; Brock, Andrew; Zisserman, Andrew; Vinyals, Oriol; Carreira, Joao (2021-06-22). 「Perceiver: 反復的注意による一般知覚」. arXiv : 2103.03206 [ cs.CV ].
  106. ^ジェイグル、アンドリュー;ボルジョー、セバスチャン。アライラック、ジャン=バティスト。カール・ドーシュ。イヨネスク、カタリン州。ディン、デイビッド。コップラ、スカンダ。ゾラン、ダニエル。ブロック、アンドリュー。シェルハマー、エヴァン。エナフ、オリヴィエ (2021-08-02)。 「パーシーバー IO: 構造化された入力と出力のための一般的なアーキテクチャ」。arXiv : 2107.14795 [ cs.LG ]。
  107. ^ 「Parti: Pathways Autoregressive Text-to-Image Model」 . sites.research.google . 2024年8月9日閲覧。
  108. ^ a bヴィジェガス、ルーベン;ババエイザデ、モハマド。キンダーマンズ、ピーター=ヤン。モラルド、ヘルナン。張、漢。サファール、モハマド・タギ。カストロ、サンティアゴ;クンツェ、ユリウス。エルハン、ドゥミトル(2022-09-29)。 「Phenaki: オープンドメインのテキスト記述からの可変長ビデオ生成」。arXiv : 2210.02399 [ cs.CV ]。
  109. ^ a b Chang, Huiwen; Zhang, Han; Barber, Jarred; Maschinot, AJ; Lezama, Jose; Jiang, Lu; Yang, Ming-Hsuan ; Murphy, Kevin; Freeman, William T. (2023-01-02). 「Muse: マスク付き生成トランスフォーマーによるテキストから画像への生成」. arXiv : 2301.00704 [ cs.CV ].
  110. ^ Ramesh, Aditya; Pavlov, Mikhail; Goh, Gabriel; Gray, Scott; Voss, Chelsea; Radford, Alec; Chen, Mark; Sutskever, Ilya (2021-02-26)、ゼロショットテキスト画像生成arXiv : 2102.12092
  111. ^ユウ、ジアフイ;徐元中。コー・ジンユ。ルオン、タン;バイド、グンジャン。ワン・ジルイ。ヴァスデヴァン、ビジェイ;クー、アレクサンダー。 Yang、yingfei (2022-06-21)、コンテンツリッチなテキストから画像への生成のための自己回帰モデルのスケーリングarXiv : 2206.10789
  112. ^ Kariampuzha, William; Alyea, Gioconda; Qu, Sue; Sanjak, Jaleal; Mathé, Ewy; Sid, Eric; Chatelaine, Haley; Yadaw, Arjun; Xu, Yanji; Zhu, Qian (2023). 「大規模希少疾患疫学のため高精度情報抽出」 . Journal of Translational Medicine . 21 (1): 157. doi : 10.1186/s12967-023-04011-y . PMC 9972634. PMID 36855134 .  

さらに読む

  • アレクサンダー・ラッシュ著『注釈付きトランスフォーマー』(Wayback Machineに2021年9月22日アーカイブ)、ハーバードNLPグループ、2018年4月3日
  • Phuong, Mary; Hutter, Marcus (2022). 「Transformersのための形式アルゴリズム」. arXiv : 2207.09238 [ cs.LG ].
  • フェランド、ハビエル。サルティ、ガブリエレ。ビザッツァ、アリアナ。コスタ・ジュッサ、マルタ R. (2024-05-01)。 「トランスフォーマーベースの言語モデルの内部動作に関する入門書」。arXiv : 2405.00208 [ cs.CL ]。
  • Leech, Gavin (2024年11月6日). 「Transformer++」 . argmin gravitas . 2025年2月26日時点のオリジナルよりアーカイブ。 2025年5月8日閲覧
  • 米国特許 10452978、Noam M. Shazeer、エイダン・ニコラス・ゴメス。ウカシュ・ミエチスワフ・カイザー。ヤコブ・D・ウシュコライト。リオン・オーウェン・ジョーンズ。ニキ・J・パーマー;イリア・ポロスキン。 Ashish Teku Vaswani、「注意ベースのシーケンス変換ニューラル ネットワーク」、2019 年 10 月 22 日に発行、Google LLC に譲渡