Artificial Intelligence
デコーダベースの大規模言語モデル: 完全ガイド
大規模な言語モデル (LLM) は、人間のようなテキストを生成し、質問に答え、言語関連の幅広いタスクを支援する際に優れた能力を実証することにより、自然言語処理 (NLP) の分野に革命をもたらしました。これらの強力なモデルの中核には、 デコーダのみのトランスフォーマ アーキテクチャ、独創的な論文で提案されたオリジナルの変圧器アーキテクチャの変形です。注意はあなたが必要とするすべてです」バスワニらによる。
この包括的なガイドでは、デコーダーベースの LLM の内部動作を調査し、これらのモデルを NLP 研究とアプリケーションの最前線に押し上げた基本的な構成要素、アーキテクチャの革新、実装の詳細を詳しく掘り下げます。
トランスフォーマーのアーキテクチャ: おさらい
デコーダベースの LLM の詳細に入る前に、これらのモデルが構築される基盤であるトランスフォーマー アーキテクチャを再検討することが重要です。トランスフォーマーはシーケンス モデリングに新しいアプローチを導入し、再帰層や畳み込み層を必要とせず、データ内の長距離依存関係をキャプチャするアテンション メカニズムのみに依存します。
元のトランスフォーマー アーキテクチャは、エンコーダーとデコーダーという 2 つの主要コンポーネントで構成されています。エンコーダーは入力シーケンスを処理し、コンテキスト化された表現を生成します。これはデコーダーによって消費され、出力シーケンスを生成します。このアーキテクチャは当初、機械翻訳タスク用に設計されており、エンコーダがソース言語の入力文を処理し、デコーダがターゲット言語で対応する文を生成します。
自己注意: Transformer の成功の鍵
その中心に トランス 自己注意メカニズムは、モデルが入力シーケンス内のさまざまな位置からの情報を重み付けして集約できるようにする強力なテクニックです。入力トークンを順番に処理する従来のシーケンス モデルとは異なり、セルフ アテンションにより、モデルはシーケンス内の位置に関係なく、任意のトークンのペア間の依存関係をキャプチャできます。
セルフアテンションの操作は、次の 3 つの主要なステップに分類できます。
- クエリ、キー、および値のプロジェクション: 入力シーケンスは 3 つの別々の表現に投影されます。 クエリ (Q)、 キー (K)、および 値 (V)。これらの投影は、入力に学習された重み行列を乗算することによって取得されます。
- 注意スコアの計算: 入力シーケンス内の各位置について、対応するクエリ ベクトルとすべてのキー ベクトルの間のドット積を計算することによって、アテンション スコアが計算されます。これらのスコアは、処理中の現在の位置に対する各位置の関連性を表します。
- 値の加重合計: アテンション スコアはソフトマックス関数を使用して正規化され、結果として得られるアテンションの重みを使用して値ベクトルの加重合計が計算され、現在の位置の出力表現が生成されます。
自己注意メカニズムの変形である多頭注意により、モデルは複数の「注意」にわたる注意スコアを計算することで、さまざまなタイプの関係を捉えることができます。頭」を並行して実行し、それぞれに独自のクエリ、キー、および値の投影セットを使用します。
アーキテクチャのバリアントと構成
デコーダベースの LLM の中心原理は一貫していますが、研究者はパフォーマンス、効率、一般化機能を向上させるためにさまざまなアーキテクチャのバリエーションと構成を検討してきました。このセクションでは、さまざまなアーキテクチャの選択とその影響について詳しく説明します。
アーキテクチャの種類
デコーダベースの LLM は、エンコーダ デコーダ、コーザル デコーダ、プレフィックス デコーダの 3 つの主なタイプに大別できます。各アーキテクチャ タイプは、異なる注意パターンを示します。
エンコーダ/デコーダのアーキテクチャ
バニラの Transformer モデルに基づいて、エンコーダ/デコーダ アーキテクチャは、エンコーダとデコーダの 2 つのスタックで構成されます。エンコーダーは、スタックされたマルチヘッド セルフ アテンション レイヤーを使用して、入力シーケンスをエンコードし、潜在表現を生成します。次に、デコーダはこれらの表現に対してクロスアテンションを実行して、ターゲット シーケンスを生成します。さまざまな NLP タスクでは効果的ですが、LLM はほとんどありません。 フラン-T5、このアーキテクチャを採用します。
因果デコーダのアーキテクチャ
因果デコーダー アーキテクチャには一方向アテンション マスクが組み込まれており、各入力トークンが過去のトークンとそれ自体にのみ注目できるようになります。入力トークンと出力トークンは両方とも同じデコーダー内で処理されます。などの注目モデル GPT-1、GPT-2、および GPT-3 はこのアーキテクチャに基づいて構築されており、GPT-3 は優れたコンテキスト内学習機能を備えています。 OPT、BLOOM、Gopher を含む多くの LLM は、因果デコーダを広く採用しています。
プレフィックス デコーダのアーキテクチャ
非因果デコーダーとしても知られるプレフィックス デコーダー アーキテクチャは、因果デコーダーのマスキング メカニズムを変更して、プレフィックス トークンに対する双方向のアテンションと、生成されたトークンに対する単方向のアテンションを有効にします。エンコーダ/デコーダ アーキテクチャと同様に、プレフィックス デコーダはプレフィックス シーケンスを双方向にエンコードし、共有パラメータを使用して出力トークンを自己回帰的に予測できます。プレフィックス デコーダに基づく LLM には、GLM130B や U-PaLM などがあります。
3 つのアーキテクチャ タイプはすべて、 専門家混合 (MoE) スケーリング技術。各入力のニューラル ネットワークの重みのサブセットをまばらにアクティブにします。このアプローチは、Switch Transformer や GLaM などのモデルで採用されており、エキスパートの数や合計パラメーター サイズの増加により、大幅なパフォーマンスの向上が見られます。
デコーダ専用トランスフォーマー: 自己回帰の性質を受け入れる
元のトランスフォーマー アーキテクチャは、機械翻訳などのシーケンス間のタスク向けに設計されていますが、言語モデリングやテキスト生成などの多くの NLP タスクは、モデルが条件付きで一度に 1 つのトークンを生成する自己回帰問題として組み立てることができます。以前に生成されたトークン。
デコーダのみのトランスフォーマを入力します。これは、デコーダ コンポーネントのみを保持するトランスフォーマ アーキテクチャの簡略化されたバリアントです。このアーキテクチャは、以前に生成されたトークンを入力コンテキストとして利用して出力トークンを 1 つずつ生成するため、自己回帰タスクに特に適しています。
デコーダ専用トランスフォーマとオリジナルのトランスフォーマ デコーダの主な違いは、セルフ アテンション メカニズムにあります。デコーダのみの設定では、モデルが将来のトークンに注意を払わないようにセルフアテンション操作が変更されます。これは因果関係として知られる特性です。これは、「マスクされた自己注意」と呼ばれる手法によって実現されます。この手法では、将来の位置に対応する注意スコアが負の無限大に設定され、ソフトマックス正規化ステップ中に効果的にそれらの位置をマスクします。
デコーダベースの LLM のアーキテクチャ コンポーネント
セルフ アテンションとマスクされたセルフ アテンションの中心原則は同じですが、最新のデコーダ ベースの LLM には、パフォーマンス、効率、汎化機能を向上させるためにいくつかのアーキテクチャ上の革新が導入されています。最先端の LLM で採用されている主要なコンポーネントと技術のいくつかを見てみましょう。
入力表現
入力シーケンスを処理する前に、デコーダベースの LLM はトークン化および埋め込み技術を使用して、生のテキストをモデルに適した数値表現に変換します。
トークン化: トークン化プロセスは、入力テキストを一連のトークンに変換します。トークンは、使用されるトークン化戦略に応じて、単語、サブワード、または個々の文字になる場合もあります。 LLM の一般的なトークン化手法には、Byte-Pair Encoding (BPE)、SentencePiece、WordPiece などがあります。これらの方法は、語彙のサイズと表現の粒度のバランスをとることを目的としており、モデルがまれな単語や語彙外の単語を効果的に処理できるようにします。
トークンの埋め込み: トークン化後、各トークンはトークン埋め込みと呼ばれる高密度ベクトル表現にマッピングされます。これらの埋め込みはトレーニング プロセス中に学習され、トークン間の意味論的および構文的な関係を捕捉します。
位置埋め込み: Transformer モデルは、入力シーケンス全体を同時に処理し、リカレント モデルに存在するトークンの位置という固有の概念を欠いています。位置情報を組み込むために、位置埋め込みがトークン埋め込みに追加され、モデルがシーケンス内の位置に基づいてトークンを区別できるようになります。初期の LLM は正弦波関数に基づく固定位置エンベディングを使用していましたが、より最近のモデルでは学習可能な位置エンベディングや、回転位置エンベディングなどの代替位置エンコーディング技術が検討されています。
マルチヘッド アテンション ブロック
デコーダベースの LLM のコア構成要素はマルチヘッド アテンション層であり、前述のマスクされたセルフアテンション操作を実行します。これらの層は複数回スタックされ、各層は前の層の出力に対応するため、モデルはますます複雑になる依存関係と表現をキャプチャできるようになります。
注意ヘッド: 各マルチヘッド アテンション レイヤーは複数の「アテンション ヘッド」で構成され、それぞれが独自のクエリ、キー、および値の投影セットを持ちます。これにより、モデルは入力のさまざまな側面に同時に対応し、多様な関係やパターンを捉えることができます。
残留接続と層の正規化: 深いネットワークのトレーニングを容易にし、勾配消失問題を軽減するために、デコーダベースの LLM は残差接続と層正規化技術を採用します。残留接続はレイヤーの入力をその出力に追加し、バックプロパゲーション中に勾配がより容易に流れるようにします。レイヤーの正規化は、アクティベーションと勾配を安定させるのに役立ち、トレーニングの安定性とパフォーマンスをさらに向上させます。
フィードフォワード層
マルチヘッド アテンション レイヤーに加えて、デコーダベースの LLM には、シーケンス内の各位置に単純なフィードフォワード ニューラル ネットワークを適用するフィードフォワード レイヤーが組み込まれています。これらの層は非線形性を導入し、モデルがより複雑な表現を学習できるようにします。
活性化関数: フィードフォワード層での活性化関数の選択は、モデルのパフォーマンスに大きな影響を与える可能性があります。以前の LLM は広く使用されている ReLU アクティベーションに依存していましたが、最近のモデルでは、Gaussian Error Linear Unit (GELU) や SwiGLU アクティベーションなどのより高度なアクティベーション関数が採用され、パフォーマンスが向上しています。
まばらな注意力と効率的なトランスフォーマー
セルフ アテンション メカニズムは強力ですが、シーケンスの長さに関して 2 次の計算量がかかるため、長いシーケンスでは計算コストが高くなります。この課題に対処するために、自己注意の計算およびメモリ要件を軽減し、より長いシーケンスの効率的な処理を可能にするいくつかの技術が提案されています。
まばらな注意: GPT-3 モデルで採用されているようなスパース アテンション テクニックは、すべての位置のアテンション スコアを計算するのではなく、入力シーケンス内の位置のサブセットに選択的に注目します。これにより、適度なパフォーマンスを維持しながら、計算の複雑さを大幅に軽減できます。
スライディングウィンドウの注意: ミストラル 7B モデルで導入されたスライディング ウィンドウ アテンション (SWA) は、各トークンのアテンション スパンを固定ウィンドウ サイズに制限する、シンプルかつ効果的な手法です。このアプローチは、複数の層にわたって情報を送信するトランスフォーマー層の機能を活用し、完全な自己注意の二次的な複雑さを伴うことなく、注意持続時間を効果的に増加させます。
ローリングバッファキャッシュ: 特に長いシーケンスの場合にメモリ要件をさらに削減するために、Mistral 7B モデルはローリング バッファ キャッシュを採用しています。この手法では、計算されたキーと値のベクトルを固定ウィンドウ サイズに保存して再利用し、冗長な計算を回避し、メモリ使用量を最小限に抑えます。
グループ化されたクエリのアテンション: LLaMA 2 モデルで導入されたグループ化クエリ アテンション (GQA) は、アテンション ヘッドをグループに分割し、各グループが共通のキーと値のマトリックスを共有するマルチクエリ アテンション メカニズムの変形です。このアプローチは、マルチクエリ アテンションの効率と標準セルフ アテンションのパフォーマンスのバランスをとり、高品質の結果を維持しながら推論時間を短縮します。