Transformerとは何か?LLMにおけるその役割と仕組み
Transformerとは何か?LLMにおけるその役割と仕組み
自然言語処理(NLP)の分野における大規模言語モデル(LLM)は、近年大きな進展を遂げており、その中心技術がTransformerです。数式とともにTransformerの構造と役割について解説し、LLMにおけるTransformerの重要性を紹介します。
Transformerの概要
Transformerは、2017年に発表された「Attention Is All You Need」という論文で初めて提案されました。このモデルは、従来のリカレントニューラルネットワーク(RNN)などに比べ、並列処理を用いることで効率的に大規模データを処理することができるため、大規模言語モデルの学習に特に適しています。
Transformerは、主に2つの構造から成り立っています。
- エンコーダ(Encoder):入力データを処理し、内部表現を生成する。
- デコーダ(Decoder):エンコーダから得られた内部表現をもとに、出力を生成する。
LLMの種類によって、エンコーダのみ、デコーダのみ、あるいはその両方を使用します。たとえば、GPTシリーズはデコーダを利用する代表的なモデルです。
Attention(アテンション)機構の理解
Transformerの最大の革新はアテンション機構です。アテンション機構は、入力シーケンス内の各単語の関連性を評価し、重要な情報に注目する仕組みです。ここでは、アテンション機構を数式で説明します。
アテンション機構の計算式
アテンション機構では、Query、Key、およびValueのベクトルを使用します。
-
:QueryベクトルQ -
:KeyベクトルK -
:ValueベクトルV -
:Keyベクトルの次元数d_k
まず、
Multi-Head Attention
マルチヘッドアテンションは、複数のアテンション機構を並列で処理する仕組みです。これにより、モデルは異なる部分に焦点を当て、より多角的にデータを学習できます。
Multi-Head Attentionの計算式
各ヘッドの計算は次のように行われます。
-
:各ヘッドに対する線形変換行列W_i^Q, W_i^K, W_i^V -
:出力重み行列W^O
複数のヘッドによるアテンションの結果を連結し、最終的に出力重み行列
Positional Encoding
Transformerはシーケンシャルなデータ処理を行わないため、単語やトークンの順序情報を保持するためにPositional Encodingを使用します。論文では、位置情報を固定のサイン波とコサイン波を用いてエンコーディングしています。
具体的には、次のように位置情報が埋め込まれます。
-
:単語の位置pos -
:次元インデックスi -
:埋め込みベクトルの次元数d
このように、単語の位置に基づく情報がベクトルに追加されます。ただし、後続の研究では、学習可能な位置エンコーディングも採用されています。
Feed Forward Networks
各アテンションブロックの後には、フィードフォワードネットワーク(FFN)が存在します。FFNは、各単語ごとに独立して使用される2層の全結合ネットワークです。
-
:重み行列W_1, W_2 -
:バイアスb_1, b_2
ReLU関数を用いて非線形変換を行い、各トークンに対する処理を行います。
残差接続とレイヤー正規化
Transformerの各サブレイヤー(Add,Norm)には、残差接続とレイヤー正規化が施されています。これにより、モデルの学習が安定し、勾配消失や爆発問題を防ぐことができます。
- 残差接続:各サブレイヤーの入力と出力を加算します。
- レイヤー正規化:データの分布を正規化し、学習効率を向上させます。
出力層
-
線形変換は、前の層からの出力
に対して次のように定義されます。h z = W_o h + b - ここで、
は出力層の重み行列、W_o はバイアスです。b
- ここで、
-
Softmax関数は、線形変換の結果
に適用され、各単語に対する確率分布を計算します。z y = \mathrm{softmax}(z) - ここで、
は語彙内の各単語の確率分布を表します。y
- ここで、
この出力層によって、次に生成される単語の確率分布が求められ、テキスト生成や翻訳の際に利用されます。
まとめ
このようにTransformerは、NLPにおいて革新的な技術です。特に、アテンション機構を活用することで、長距離依存関係を効率的に学習し、LLMの性能を大きく向上させました。さらに、Transformerは大規模なデータセットでの学習に適しており、GPTなどのモデルで採用されています。
Discussion