No history yet

Transformerの進化とMixture of Experts

Transformerの進化とMixture of Experts

Transformerアーキテクチャは、エンコーダー・デコーダー構造から始まり、自然言語処理に革命をもたらしました。しかし、今日の最先端の生成AI、例えばGPTやLlamaのようなモデルでは、その姿は大きく変わっています。主流は「デコーダー専用」モデルへと移行しました。この変化は、単なる簡略化ではありません。生成タスクに特化することで、より効率的で強力なモデルを生み出すための戦略的な進化なのです。

Lesson image

さらに、モデルの規模が指数関数的に増大する中で、計算コストをいかに抑えるかが大きな課題となりました。その答えの一つが、Mixture of Experts(MoE)と呼ばれる構造です。これは、巨大な一つのモデルを使う代わりに、多数の「専門家」サブネットワークを状況に応じて使い分けることで、性能を維持しつつ推論コストを劇的に削減する賢いアプローチです。本稿では、デコーダー専用モデルへの移行理由と、それを支える最新の技術改良、そしてMoEの仕組みについて掘り下げていきます。

高速化と安定化のための改良

デコーダー専用モデルが主流になるにつれ、その性能を最大限に引き出すための様々な改良が加えられてきました。特に学習の安定化、長い文脈の理解、そして推論速度の向上は重要なテーマです。ここでは、現代のLLMに不可欠な3つの主要な技術、RMSNorm、RoPE、GQAを見ていきましょう。

事前正規化とRMSNorm

ディープラーニングモデルの層が深くなるほど、学習は不安定になりがちです。これを解決するのが正規化層の役割です。従来のPost-LN(事後正規化)では、AttentionやFFNブロックの「後」にLayerNormを適用していましたが、これでは勾配が不安定になることがありました。

そこで登場したのがPre-LN(事前正規化)です。これは、ブロックの「前」に正規化を行うことで、学習プロセス全体を通じて勾配の流れを安定させます。さらに、Llamaなどで採用されているRMSNormは、従来のLayerNormを簡略化し、計算効率を高めたものです。平均を引く(再センタリングする)ステップを省略し、ベクトルの大きさ(二乗平均平方根)だけで正規化を行います。この単純化により、特にGPUでの計算が高速になります。

RMSNorm(x)=x1ni=1nxi2+ϵg\text{RMSNorm}(x) = \frac{x}{\sqrt{\frac{1}{n}\sum_{i=1}^{n} x_i^2 + \epsilon}} \cdot g

回転位置埋め込み (RoPE)

Transformerが単語の順序を理解するためには、位置情報が必要です。従来は学習された絶対位置埋め込みが使われていましたが、これには限界がありました。例えば、訓練データより長い文章に対応するのが難しいという問題です。

Rotary Positional Embeddings(RoPE)は、この問題をエレガントに解決します。RoPEは、位置情報をベクトルに「足す」のではなく、トークンベクトルをその位置に応じて「回転」させます。具体的には、トークンベクトルを高次元空間内の複素数とみなし、位置 mm に応じた角度 mθm\theta だけ回転させるのです。この方法の利点は、2つのトークンの相対的な位置関係が、それらのベクトルの内積(関連度を計算する際に重要)に自然にエンコードされることです。これにより、モデルは絶対的な位置ではなく、単語間の相対的な距離を学習でき、未知の長さのシーケンスにもうまく対応(外挿)できるようになります。

Grouped-Query Attention (GQA)

Self-Attentionの中核であるMulti-Head Attention (MHA)は、複数の「ヘッド」が並行して情報の異なる側面を捉える仕組みです。各ヘッドは独自のQuery (Q)、Key (K)、Value (V) の射影行列を持ちます。しかし、モデルが巨大化し、特に長い文脈を扱うようになると、すべてのヘッドがKとVのペアを持つことによるメモリ消費が、推論時の大きなボトルネックとなります。

この問題を解決するために、まず全てのQヘッドが単一のKとVヘッドを共有するMulti-Query Attention (MQA) が提案されました。これによりメモリは大幅に削減できましたが、モデルの品質が低下することがありました。

Grouped-Query Attention (GQA) は、MHAとMQAの中間を取る最適なアプローチです。Qヘッドを複数のグループに分け、各「グループ」内でKとVのヘッドを共有します。例えば、8つのQヘッドを2つのグループに分ければ、KとVのヘッドは2つだけになります。これにより、MQAほどの品質劣化を招くことなく、MHAに比べてメモリ使用量と推論時間を大幅に削減できるのです。

Mixture of Experts (MoE)の台頭

モデルのパラメータ数を増やすことは性能向上に直結しますが、単純にモデルを大きくすると、すべての計算にその巨大なモデルを使うことになり、莫大な計算コストがかかります。MixtralやGPT-4で採用されているMixture of Experts (MoE) は、このジレンマを解決するアーキテクチャです。

MoEの核心は、Transformerブロック内の各フィードフォワード(FFN)モジュールを、複数のエキスパート層に置き換えることにあります。これらのエキスパート層もまた、フィードフォワードモジュールです。

MoEの仕組みは、電話交換台のようなものです。入力されたトークン(電話)は、まず「ルーター」と呼ばれる小さなネットワークに送られます。ルーターは、そのトークンの内容を見て、どの「専門家」(エキスパート)に処理を任せるのが最適かを判断します。通常、ルーターは最も適していると判断した上位2つ(Top-2)のエキスパートを選択します。

選ばれたエキスパートだけがそのトークンのために起動(活性化)され、処理を行います。他の大多数のエキスパートは待機したままです。そして、選ばれたエキスパートたちの出力が、ルーターが計算した重みに基づいて統合され、最終的な出力となります。この「スパースな活性化」により、モデル全体のパラメータ数は巨大であっても、一度の推論で実際に使われるパラメータ数はごく一部に抑えられます。これにより、巨大モデルの知識と能力を持ちながら、計算コストを現実的な範囲に保つことが可能になるのです。

このように、現代のTransformerアーキテクチャは、デコーダー専用構造を基盤としながら、学習効率、推論速度、文脈長、そして計算コストといった多角的な課題を解決するための洗練された改良が重ねられています。これらの技術の組み合わせが、今日の驚異的な生成AIの能力を支えているのです。

Quiz Questions 1/6

GPTやLlamaのような現代の生成AIモデルで主流となっているアーキテクチャは何ですか?

Quiz Questions 2/6

Llamaなどで採用されているRMSNormが、従来のLayerNormに比べて持つ主な利点は何ですか?