AIモデルとプラットフォーム

デコーダーベースの大規模言語モデル:完全ガイド

mm
Unite.AI を Google の優先ソースに追加

大規模言語モデル (LLM) は、自然言語処理 (NLP) の分野を革命し、人間のようなテキストを生成し、質問に答え、言語関連タスクの幅広い分野で優れた能力を示しています。これらの強力なモデルの核心にあるのは、デコーダーのみのトランスフォーマーアーキテクチャ であり、Vaswani らによって提案された “Attention is All You Need” という名付けられたトランスフォーマーの元のアーキテクチャのバリアントです。

この包括的なガイドでは、デコーダーベースの LLM の内部動作を探求し、基本的な構成要素、建築上の革新、実装の詳細について説明します。これらのモデルは NLP 研究とアプリケーションの最前線に立っています。

トランスフォーマーアーキテクチャ:復習

デコーダーベースの LLM に特有の詳細に踏み込む前に、トランスフォーマーアーキテクチャを復習することが重要です。トランスフォーマーは、シーケンスの長距離依存関係を捉えるために、再帰的または畳み込み層を必要とせずに、注目メカニズムのみに頼る新しいアプローチを導入しました。

Transformers Architecture

Transformers Architecture

元のトランスフォーマーアーキテクチャは、2 つの主要なコンポーネントで構成されています。エンコーダーとデコーダーです。エンコーダーは入力シーケンスを処理し、コンテキスト化された表現を生成し、デコーダーは出力シーケンスを生成するためにこれを使用します。このアーキテクチャは、エンコーダーが入力文をソース言語で処理し、デコーダーがターゲット言語の対応する文を生成する、マシン翻訳タスク用に最初に設計されました。

セルフアテンション:トランスフォーマーの成功の鍵

トランスフォーマーの核心にあるのは、トランスフォーマー です。セルフアテンションメカニズムは、モデルが入力シーケンスのさまざまな位置からの情報を重み付けして集約できる強力なテクニックです。伝統的なシーケンスモデルとは異なり、トークンをシーケンス的に処理するのではなく、セルフアテンションにより、モデルはシーケンス内の任意のトークンパーのペア間の依存関係を捉えることができます。

Multiquery attention

Multiquery attention

セルフアテンション操作は、3 つの主要なステップに分解できます。

  1. クエリ、キー、値の投影:入力シーケンスは、クエリ (Q)、キー (K)、 (V) の 3 つの別々の表現に投影されます。これらの投影は、入力と学習された重み行列の積によって得られます。
  2. アテンションスコアの計算:入力シーケンスの各位置について、アテンションスコアは、対応するクエリベクトルとすべてのキー ベクトルのドット積を取ることで計算されます。これらのスコアは、各位置の関連性を表します。
  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 は、入力シーケンスを処理する前に、トークン化と埋め込みテクニックを使用して、生のテキストをモデルが処理できる数値表現に変換します。

vector embedding

vector embedding

トークン化:トークン化プロセスは、入力テキストをトークンのシーケンスに変換します。トークンは、単語、サブワード、または個々の文字である可能性があり、使用されるトークン化戦略によって異なります。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) は、マルチクエリアテンションメカニズムのバリアントであり、注目ヘッドをグループに分割し、各グループが共有のキーと値行列を共有します。このアプローチは、マルチクエリアテンションの効率性と標準的なセルフアテンションのパフォーマンスのバランスをとり、推論時間の向上とともに、高品質の結果を提供します。

Grouped-query attention

Grouped-query attention

モデルサイズとスケーリング

現代の LLM の特徴の 1 つは、その規模です。パラメーターの数は数十億から数百億に及ぶことがあります。モデルサイズを増やすことは、最先端のパフォーマンスを達成する上で重要な要素でした。より大きなモデルは、データ内のより複雑なパターンと関係を捉えることができます。

パラメーターカウント:デコーダーベースの LLM のパラメーターの数は、主に埋め込み次元 (d_model)、注目ヘッドの数 (n_heads)、レイヤーの数 (n_layers)、およびボキャブラリーのサイズ (vocab_size) で決定されます。たとえば、GPT-3 モデルには 175 億のパラメーターがあり、d_model = 12288n_heads = 96n_layers = 96vocab_size = 50257 です。

モデル並列化:これらの巨大なモデルのトレーニングと展開には、多大な計算リソースと特殊なハードウェアが必要です。この課題に対処するために、モデル並列化テクニックが採用されています。ここで、モデルは複数の GPU または TPU に分割され、各デバイスは計算の一部を担当します。

専門家モデルの混合:LLM をスケーリングするもう 1 つのアプローチは、専門家モデルの混合 (MoE) アーキテクチャです。ここで、複数の専門家モデルが組み合わされ、それぞれがデータまたはタスクの特定のサブセットに特化しています。Mixtral 8x7B モデルは、Mistral 7B モデルをその基礎モデルとして使用する MoE モデルの例であり、優れたパフォーマンスを達成しながら計算効率を維持しています。

推論とテキスト生成

デコーダーベースの LLM の主な用途の 1 つはテキスト生成であり、モデルは与えられたプロンプトまたはコンテキストに基づいて、连貫性と自然なテキストを生成します。

自回帰デコーディング:推論中、デコーダーベースの LLM は、自回帰的にテキストを生成します。1 つのトークンを 1 つずつ予測し、前に生成されたトークンと入力プロンプトに基づいて予測します。このプロセスは、事前に決定された停止基準 (最大シーケンス長に達した場合など) または終了シーケンス トークンの生成まで続きます。

サンプリング戦略:生成されたテキストの多様性とリアリズムを確保するために、トップ k サンプリング、トップ p サンプリング (または核サンプリング)、または温度スケーリングなどのさまざまなサンプリング戦略を使用できます。これらのテクニックは、ボキャブラリー上の確率分布を調整することで、生成されたテキストの多様性と連貫性のトレードオフを制御します。

プロンプトエンジニアリング:入力プロンプトの質と具体性は、生成されたテキストに大きな影響を与える可能性があります。プロンプトエンジニアリング、つまり効果的なプロンプトの作成の芸術は、LLM をさまざまなタスクに活用する上で重要な側面となり、モデルが生成プロセスを導き、望ましい出力を達成することを可能にします。

ヒューマンインザループデコーディング:生成されたテキストの品質と連貫性をさらに向上させるために、強化学習によるヒューマンのフィードバック などのテクニックが採用されています。このアプローチでは、人間の評価者がモデルの生成されたテキストにフィードバックを提供し、モデルを人間の好みに合わせてファインチューニングし、出力を改善します。

進歩と将来の方向性

デコーダーベースの LLM の分野は急速に進化しており、新しい研究とブレークスルーが連続して、モデルが達成できることを常に推進しています。ここでは、注目すべき進歩と将来の方向性について説明します。

効率的なトランスフォーマーのバリアント:スパースアテンションとスライディングウィンドウアテンションは、デコーダーベースの LLM の効率性を大幅に改善しましたが、研究者は、計算要件をさらに削減しながらパフォーマンスを維持または向上させるための代替トランスフォーマーアーキテクチャとアテンションメカニズムを積極的に探求しています。

マルチモーダル LLM:LLM の能力をテキストの範囲を超えて拡張することを目指す、マルチモーダルモデルは、画像、オーディオ、またはビデオなどの複数のモダリティを統一されたフレームワークに統合します。これにより、画像キャプション、視覚的な質問回答、またはマルチメディアコンテンツ生成などのアプリケーションが可能になります。

制御可能な生成:生成されたテキストのさまざまな属性 (スタイル、トーン、特定のコンテンツ要件など) に対する微妙な制御を可能にすることは、LLM にとって重要な方向性です。制御可能なテキスト生成やプロンプトチューニングなどのテクニックは、ユーザーが生成されたテキストをより正確に制御できるようにすることを目的としています。

結論

デコーダーベースの LLM は、自然言語処理の分野で変革的な力となり、言語生成と理解の限界を拡大しています。トランスフォーマーアーキテクチャの簡素化されたバリアントとしての謙虚な始まりから、デコーダーベースの LLM は、最先端のテクニックとアーキテクチャの革新を活用して、非常に洗練された強力なシステムに進化しました。

デコーダーベースの LLM をさらに探求し、進歩させるにつれて、言語関連タスクにおけるさらに驚くべき成果が予想され、さらに幅広いアプリケーションとドメインへの統合が期待されます。ただし、デコーダーベースの LLM の幅広い展開によって生じる可能性のある倫理的考慮、解釈可能性の課題、および潜在的な偏見に対処することが重要です。

研究の最前線に立って、オープンなコラボレーションを促進し、責任ある AI 開発への強いコミットメントを維持することで、デコーダーベースの LLM の全潜在を解き放ち、社会に利益をもたらす安全で倫理的な方法で開発および使用されることを保証できます。

私は過去5年間、機械学習とディープラーニングの魅力的世界に没頭してきました。私の情熱と専門知識は、AI/MLに特に焦点を当てた50以上の多様なソフトウェアエンジニアリングプロジェクトに貢献することになりました。私の継続的な好奇心は、自然言語処理という分野にも私を引き付け、さらに探求したいと思っています。