AIモデルとプラットフォーム
デコーダーベースの大規模言語モデル:完全ガイド
大規模言語モデル (LLM) は、自然言語処理 (NLP) の分野を革命し、人間のようなテキストを生成し、質問に答え、言語関連タスクの幅広い分野で優れた能力を示しています。これらの強力なモデルの核心にあるのは、デコーダーのみのトランスフォーマーアーキテクチャ であり、Vaswani らによって提案された “Attention is All You Need” という名付けられたトランスフォーマーの元のアーキテクチャのバリアントです。
この包括的なガイドでは、デコーダーベースの LLM の内部動作を探求し、基本的な構成要素、建築上の革新、実装の詳細について説明します。これらのモデルは NLP 研究とアプリケーションの最前線に立っています。
トランスフォーマーアーキテクチャ:復習
デコーダーベースの LLM に特有の詳細に踏み込む前に、トランスフォーマーアーキテクチャを復習することが重要です。トランスフォーマーは、シーケンスの長距離依存関係を捉えるために、再帰的または畳み込み層を必要とせずに、注目メカニズムのみに頼る新しいアプローチを導入しました。
元のトランスフォーマーアーキテクチャは、2 つの主要なコンポーネントで構成されています。エンコーダーとデコーダーです。エンコーダーは入力シーケンスを処理し、コンテキスト化された表現を生成し、デコーダーは出力シーケンスを生成するためにこれを使用します。このアーキテクチャは、エンコーダーが入力文をソース言語で処理し、デコーダーがターゲット言語の対応する文を生成する、マシン翻訳タスク用に最初に設計されました。
セルフアテンション:トランスフォーマーの成功の鍵
トランスフォーマーの核心にあるのは、トランスフォーマー です。セルフアテンションメカニズムは、モデルが入力シーケンスのさまざまな位置からの情報を重み付けして集約できる強力なテクニックです。伝統的なシーケンスモデルとは異なり、トークンをシーケンス的に処理するのではなく、セルフアテンションにより、モデルはシーケンス内の任意のトークンパーのペア間の依存関係を捉えることができます。
セルフアテンション操作は、3 つの主要なステップに分解できます。
- クエリ、キー、値の投影:入力シーケンスは、クエリ (Q)、キー (K)、値 (V) の 3 つの別々の表現に投影されます。これらの投影は、入力と学習された重み行列の積によって得られます。
- アテンションスコアの計算:入力シーケンスの各位置について、アテンションスコアは、対応するクエリベクトルとすべてのキー ベクトルのドット積を取ることで計算されます。これらのスコアは、各位置の関連性を表します。
- 値の加重和:アテンションスコアはソフトマックス関数で正規化され、結果のアテンション重みは、出力表現を生成するために値ベクトルの加重和を計算するために使用されます。
マルチヘッドアテンションは、セルフアテンションメカニズムのバリアントであり、モデルが複数の「ヘッド」で並行してアテンションスコアを計算することで、さまざまな種類の関係を捉えることができます。
アーキテクチャのバリアントと構成
デコーダーベースの LLM の核心原理は一貫していますが、研究者はパフォーマンス、効率、汎用性を向上させるために、さまざまなアーキテクチャのバリアントと構成を探求しています。このセクションでは、さまざまなアーキテクチャの選択とその意味について説明します。
アーキテクチャの種類
デコーダーベースの LLM は、エンコーダー デコーダー、因果デコーダー、プレフィックス デコーダーの 3 つの主要な種類に分類できます。各アーキテクチャ種類には、独自の注目パターンがあります。
エンコーダー デコーダー アーキテクチャ
バニラトランスフォーマーモデルに基づくエンコーダー デコーダー アーキテクチャは、2 つのスタックで構成されます。エンコーダーとデコーダーです。エンコーダーは入力シーケンスを処理し、潜在的な表現を生成し、デコーダーは出力シーケンスを生成するためにこれを使用します。多くの LLM、たとえば Flan-T5 は、このアーキテクチャを採用しています。
因果デコーダー アーキテクチャ
因果デコーダー アーキテクチャは、入力トークンが過去のトークンと自分自身のみに注目できるように、単方向の注目マスクを組み込みます。入力トークンと出力トークンは、同じデコーダー内で処理されます。GPT-1、GPT-2、GPT-3 などのモデルは、このアーキテクチャに基づいて構築されています。GPT-3 は、コンテキスト内での学習能力を示しています。多くの LLM、OPT、BLOOM、Gopher などは、因果デコーダーを広く採用しています。
プレフィックス デコーダー アーキテクチャ
プレフィックス デコーダー アーキテクチャは、因果デコーダーのマスク機構を変更して、プレフィックス トークンに対する双方向の注目と生成トークンに対する単方向の注目を可能にします。エンコーダー デコーダー アーキテクチャと同様に、プレフィックス デコーダーは、プレフィックス シーケンスを双方向にエンコードし、出力トークンを自回帰的に生成するために共有パラメーターを使用します。GLM130B や U-PaLM などの LLM は、プレフィックス デコーダーを使用しています。
これら 3 つのアーキテクチャの種類は、専門家モデルのスケーリング技術である モデルの拡張 を使用して拡張できます。このアプローチは、Switch Transformer や GLaM などのモデルで使用されており、エキスパートの数やパラメーターの総数を増やすことで、パフォーマンスが大幅に向上しています。
デコーダーのみトランスフォーマー:自回帰性を活用する
元のトランスフォーマーアーキテクチャは、シーケンス間タスクであるマシン翻訳用に設計されていましたが、多くの NLP タスクは、モデルが 1 つずつトークンを生成し、前に生成されたトークンに基づいて条件付ける、自回帰問題として表現できます。
デコーダーのみトランスフォーマーは、トランスフォーマーアーキテクチャの簡略化されたバリアントであり、デコーダーコンポーネントのみを保持しています。このアーキテクチャは、自回帰タスクに特に適しています。出力トークンを 1 つずつ生成し、前に生成されたトークンを入力コンテキストとして使用します。
デコーダーのみトランスフォーマーと元のトランスフォーマーデコーダーの主な違いは、セルフアテンションメカニズムにあります。デコーダーのみ設定では、セルフアテンション操作は、モデルが将来のトークンに注目できないように変更されます。これは、将来の位置に対応するアテンションスコアを負の無限大に設定することで実現され、ソフトマックス正規化ステップ中にこれらをマスクアウトします。
デコーダーベースの LLM のアーキテクチャコンポーネント
デコーダーベースの LLM の核心原理は同じですが、最新のモデルでは、パフォーマンス、効率、汎用性を向上させるために、さまざまなアーキテクチャの革新とテクニックが導入されています。このセクションでは、デコーダーベースの LLM で使用される主なコンポーネントとテクニックについて説明します。
入力表現
デコーダーベースの LLM は、入力シーケンスを処理する前に、トークン化と埋め込みテクニックを使用して、生のテキストをモデルが処理できる数値表現に変換します。
トークン化:トークン化プロセスは、入力テキストをトークンのシーケンスに変換します。トークンは、単語、サブワード、または個々の文字である可能性があり、使用されるトークン化戦略によって異なります。LLM に使用される一般的なトークン化テクニックには、バイトペアエンコーディング (BPE)、SentencePiece、WordPiece などがあります。これらの方法は、ボキャブラリーのサイズと表現の粒度のバランスをとることを目指しており、モデルがまれな単語やボキャブラリー外の単語を効果的に処理できるようにします。
トークン埋め込み:トークン化の後、各トークンは、トレーニング中に学習される密なベクトル表現であるトークン埋め込みにマップされます。これらの埋め込みは、トークン間の意味的および構文的関係を捉えます。
位置埋め込み:トランスフォーマーモデルは、シーケンス全体を同時に処理するため、再帰モデルにあるようなトークンの位置の固有の概念がないため、位置情報を組み込むために位置埋め込みが追加されます。これにより、モデルはトークンの位置に基づいてトークンを区別できます。初期の LLM では、正弦関数に基づく固定位置埋め込みが使用されていましたが、最近のモデルでは、学習可能な位置埋め込みまたはロータリー位置埋め込みなどの代替位置符号化テクニックが探求されています。
マルチヘッドアテンションブロック
デコーダーベースの LLM の核心構成要素は、マルチヘッドアテンションレイヤーであり、先ほど説明したマスクされたセルフアテンション操作を実行します。これらのレイヤーは複数回スタックされ、各レイヤーが前のレイヤーの出力を注目して、モデルが複雑な依存関係と表現を捉えることができます。
アテンションヘッド:各マルチヘッドアテンションレイヤーは、複数の「アテンションヘッド」で構成されており、それぞれが独自のクエリ、キー、値の投影を持ちます。これにより、モデルは同時にさまざまな側面に注目し、多様な関係とパターンを捉えることができます。
残差接続とレイヤー正規化:深いネットワークのトレーニングを容易にし、消えゆく勾配問題を軽減するために、デコーダーベースの LLM では、残差接続とレイヤー正規化テクニックが採用されています。残差接続は、各レイヤーの入力をその出力に追加することで、勾配がバックプロパゲーション中により容易に流れるようにします。レイヤー正規化は、活性化と勾配の安定化に役立つため、トレーニングの安定性とパフォーマンスの向上に役立ちます。
フィードフォワード層
マルチヘッドアテンション層に加えて、デコーダーベースの LLM には、シーケンス内の各位置に単純なフィードフォワードニューラルネットワークを適用するフィードフォワード層が含まれます。これらの層は非線形性を導入し、モデルがより複雑な表現を学習できるようにします。
活性化関数:フィードフォワード層の活性化関数の選択は、モデルのパフォーマンスに大きな影響を与える可能性があります。以前の LLM では、広く使用されている ReLU 活性化関数が使用されていましたが、最近のモデルでは、GELU (Gaussian Error Linear Unit) または SwiGLU 活性化関数などのより洗練された活性化関数が採用されており、パフォーマンスの向上が見られています。
スパースアテンションと効率的なトランスフォーマー
セルフアテンションメカニズムは強力ですが、シーケンス長に対して二乗の計算複雑性があるため、長いシーケンスでは計算コストが高くなります。 この課題に対処するために、セルフアテンションの計算とメモリ要件を削減するためのテクニックがいくつか提案されています。
スパースアテンション:スパースアテンションテクニック、たとえば GPT-3 モデルで採用されているものは、入力シーケンスのすべての位置ではなく、入力シーケンスの位置のサブセットにのみ注目することで、計算コストを大幅に削減しながら、妥当なパフォーマンスを維持します。
スライディングウィンドウアテンション:Mistral 7B モデルで導入されたスライディングウィンドウアテンション (SWA) は、各トークンの注目範囲を固定のウィンドウサイズに制限する、シンプルながら有効なテクニックです。このアプローチは、トランスフォーマーレイヤーが複数のレイヤーを介して情報を伝達する能力を利用し、注目範囲を増やしながら、完全なセルフアテンションの二乗の複雑性を回避します。
ローリングバッファーキャッシュ:長いシーケンス、特にメモリ要件を削減するために、Mistral 7B モデルではローリングバッファーキャッシュが採用されています。このテクニックでは、固定のウィンドウサイズの計算されたキーと値ベクトルを保存して再利用し、冗長な計算を避け、メモリ使用量を最小限に抑えます。
グループ化クエリアテンション:LLaMA 2 モデルで導入されたグループ化クエリアテンション (GQA) は、マルチクエリアテンションメカニズムのバリアントであり、注目ヘッドをグループに分割し、各グループが共有のキーと値行列を共有します。このアプローチは、マルチクエリアテンションの効率性と標準的なセルフアテンションのパフォーマンスのバランスをとり、推論時間の向上とともに、高品質の結果を提供します。
















