
2026/06/04 5:15
LLM がどのように動作するか
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
現代の大規模言語モデルは、非常に標準化されたアーキテクチャ・スタックに収斂しており、これは主要モデル(例:GPT、Claude、LLaMA)間の差異が、根本的な構造革新ではなく、トレーニングデータ、スケーリング、特定の構成、そしてポストトレーニングのプロセスによるものになったことを意味します。このコンセンサスは、2017 年の Transformer の初期設計以来の 5 年にわたる洗練の上に成り立っており、回転位置埋め込み(RoPE)、RMSNorm、SwiGLU、グループクエリアテンション(GQA)、およびエキスパートミックス(MoE)といった主要な構成要素が、安定性と効率性の観点から最適な選択となっています。具体的には、モデルは語彙サイズのバランスと汎化性能を実現するためにサブワードトークン化戦略(例:BPE や SentencePiece)を採用し、RoPE は従来の三角関数型エンコーディングよりも順序情報を効果的に注入します。アーキテクチャは、特異な処理のためにマルチヘッドアテンションを活用し、高密度パラメータを記憶するためにフィードフォワードネットワークを利用し、深層ネットワークにおける安定したトレーニングのためには RMSNorm を使用します。結果として、これらの最適化され共有されたメカニズムを通じて、産業全体はメモリ圧力と推論コストの削減という恩恵を受けています。将来の傾向は、ヘッド数や MoE アクティブ比率などの既存構成を洗練させる方向にあるものであり、破壊的な構造変化ではなく、確立されたパスを通じた継続的な進展を確保します。
本文
現代の大規模言語モデル (LLM):Transformer アーキテクチャのウォークスルー
本稿では、大規模言語モデル (LLM) がどのように機能するかを解説します。現代の LLM はほとんどが Transformer ブロック を積み重ねることで構成されているため、Transformer の仕組みを理解することが原理把握の第一歩となります。
学習パスと目的
本稿は優れた入門書として機能することを目的とし、難解な数式は避けつつ、以下のトピックを解説します。
- トークン化 (Tokenization): 文字列から整数 ID を抽出する仕組み
- 埋め込み (Embeddings): 整数に意味を与えるベクトル行列の仕組み
- 位置エンコーディング: トークンの順序情報をモデルに注入する仕組み
- アテンション (Attention): トークン同士が情報を共有する仕組み
- マルチヘッドアテンション: 複数の種類の関係性を同時に追跡する仕組み
- フィードフォワードネットワーク (FFN): モデルの知識を保持する構造
- リジデュアルストリームとレイヤー正規化: 深いモデルを訓練可能にする要素
- 次のトークンの予測: デコード(出力生成)の動作原理
- アーキテクチャ対重み: 共通設計と個別のカスタマイズの関係
随所に 「Tiny Explainer(簡易解説)」 を挿入し、あらゆるバックグラウンドの人々が理解できるように構成されています。
トークン化 (Tokenization)
モデルはテキストを直接処理するのではなく、整数 ID を読み取ります。これを「トークン化」と呼びます。
Tiny Explainer: トークン ID トークン ID は、モデルが辞書内のエントリを表すための整数です。モデルは文字そのものではなく数字を処理します。
サブワードと効率性
トークンは通常、単語全体ではありません。サブワードの断片を使用します(例:
running → [run, ning])。
- 単語単位では辞書が大きくなりすぎて一般化が困難です。
- 文字単位では辞書が小さすぎて単純なパターンも模型から学習する必要があります。
- サブワードは効率性と汎用性のバランスを取ります。
Tiny Explainer: 辞書 辞書とは、Tokenizer が持つ固定された断片リストのことです。各断片には固有の ID が割り当てられており、モデルはこのリストからしか ID を受け取れません。
トークナイザーの種類
- GPT モデル系: Byte Pair Encoding (BPE) の派生種を使用。
- LLaMA 様式モデル: SentencePiece が一般的。
これらは計算リソースや多言語対応などで選定されますが、基本的な「テキスト→整数」の機能は共通しています。
埋め込み (Embeddings)
トークン ID は単なる行番号です。意味を持たせるのは埋め込み行列 (embedding matrix) です。
- 各モデルには 1 つの巨大な表(行列)が存在します。
- 行数: 辞書のサイズ(例:70B モデルの場合、数万人〜数十万のエントリ)。
- 列数 (長さ): 隠れサイズ (hidden size)。多くのモデルでは 4,096 次元などです。
Tiny Explainer: ベクトル ベクトルとは数字のリストのことです。Transformer では各トークンがこのベクトルに変換され、計算の対象となります。
意味的な構造と類似性
- トークン ID を入力すると、モデルは対応するベクトルを検索します(埋め込みベクトル)。
- 意味的に近い単語は近い位置:
とking
やqueen
とParis
のベクトル距離は近くなります。France - これはハードコーディングではなく、トレーニングデータから学習された構造です。
Tiny Explainer: 埋め込み行列 埋め込み行列とは検索テーブルのことです。トークン ID を入力し、学習済みの意味ベクトルを出力します。
ベクトル空間の幾何学
- 演算
が成り立つのは、この空間に意味論的構造が組み込まれているためです。king - man + woman ≈ queen
課題: この段階では位置情報は含まれていません。「dog」のベクトルは、先頭でも真ん中でも全く同じです。このギャップを埋めるのが「位置エンコーディング」です。
位置エンコーディング (Positional Encoding)
自己アテンションには順序情報の内蔵機能がないため、トークンの位置を明記する必要があります。
従来の正弦波エンコーディング
- Vaswani et al. (2017) で提案された手法。
- 各位置に固有の正弦波・余弦波パターンを埋め込みベクトルに加算します。
- メリット: トレーニングシーケンスを超えた長さへも推論可能です。
- 課題:
- 容量: 意味と位置の情報を同じスペースに詰め込む限界がある。
- 一般化能力: 絶対位置依存のため、学習以上の長さ(例:最大 2,048 トークンで訓練→5,000 で入力)に対応できない。
RoPE (Rotary Position Embeddings)
現代の主流モデル(LLaMA, Mistral など)は RoPE を採用しています。
- 仕組み: ベクトルに位置パターンを加算せず、位置に依存する角度だけベクトルを回転させます。
- 位置 1: 小さな回転
- 位置 100: 大きな回転
- アテンション計算時の差分が「相対距離」を表し、長文脈への一般化に適しています。
Tiny Explainer: RoPE RoPE は「Rotary Position Embeddings」の略です。位置情報を加算するのではなく、ベクトルを回転させることで、アテンション計算中に相対的な距離が表現されるようにします。
中間情報の消失 (Lost in the Middle)
優れた位置エンコーディングにもかかわらず、長いプロンプトの場合、始点や終点の情報の方が信頼性が高いという現象が見られます。これはモデルが全ての部分に均等に注意を払っていないことを示唆しています。
アテンション (Attention)
アテンションは「どのトークンに注目すべきか」を決定する機構です。各トークンは以下の 3 つのベクトルに変換されます。
- Query (Q): 「何を求めたいか?」
- Key (K): 「何と照合するか(目次)」
- Value (V): 「一致した時の情報(内容)」
Tiny Explainer: Q, K, V
- Query: 探したい情報のキーワードです。
- Key: 検索対象のインデックスです。
- Value: 実際にコピーされる情報です。
計算プロセス
- 類似度スコアの計算: Query と Key を比較(スケーリングされた点積)。
- Softmax: スコアを確率分布に変換(総和が 1)。スコアが高いほど重みが大きくなります。
- 加重平均: 価値ベクトル (Value) を重み付きで組み合わせ、新しい表現を作成します。
Tiny Explainer: 点積 2 つのベクトルの整列度を測る方法です。高い値ほど似ていることを示します。
Tiny Explainer: Softmax 生スコアを確率(0〜1)に変換する関数です。
例:"The cat that I saw yesterday was sleeping."
が処理された際、was
の Value が大きく影響を受け、「猫が眠っている」という意味になるように処理されます。cat
因果マスキングと誘導ヘッド
- 因果マスキング: GPT などの生成モデルでは、将来のトークンを見せない(位置 5 は 6,7,8 を参照不可)。実装は未来的なスコアを
にします。0 - 誘導ヘッド (Induction Heads): アテンションヘッドが文脈内の反復パターン(A B ... A → B)を学習し、自己完結型の推論を行う仕組みです。
Tiny Explainer: 因果マスキング 将来のトークンを隠蔽し、次へという予測のみを行えるようにする機構です。
Tiny Explainer: 誘導ヘッド プロンプト内の反復パターンを検知して、そのパターンを続けるのに役立つアテンションヘッダーです。
コストと効率化
完全アテンションでは計算量が $O(N^2)$ で増大します(トークン数倍になると作業量は 4 倍)。これを解決する研究(FlashAttention など)が進んでいます。また、KV キャッシュを使って既生成部分の再計算を省略するのが一般的です。
Tiny Explainer: KV キャッシュ 生成中に古い Key と Value ベクトルをメモリに保持し、新しいトークン追加時でもプロンプト全体を再計算せず、高速化を実現します。
マルチヘッドアテンション (Multi-head Attention)
単一のアテンションパスでは関係性の多様性に制限があります。マルチヘッドは並列処理によりこれを解決します。
- 仕組み: 各レイヤーで複数の小さなスペース(ヘッド)に分けて計算し、後で結合します。
- 誤解への注意: ヘッドは単なるベクトルのスライスではありません。独自の学習済み行列による投影によって、異なる次元空間での Q,K,V を作成します。
ヘッダーの特殊化
モデルには明示的な指示がないにもかかわらず、各ヘッドが独自に役割を持ちます(例:動詞と名詞のリンク、代名詞の指称など)。数千ものヘッドを持つことで多様な視点を実現します。
グループ化クエリアテンション (GQA)
メモリ効率を向上させるために、多くのクエリヘッドを少数のキー/バリューヘッドが共有する構造を採用するモデルが増えています(LLaMA-2, Mistral など)。これにより完全なマルチヘッド同等の精度を維持しつつ、KV キャッシュのコストを削減できます。
Tiny Explainer: GQA 複数のクエリヘッドが少数のキー/バリューヘッドを共有することで、メモリ使用量を抑えつつ多数の視点を持つ手法です。
フィードフォワードネットワーク (FFN)
アテンションによる情報混合の後、各トークンを個別に処理するステップがあります。
- 非線形性の重要性: 拡大 → 非線形関数(ReLU, GELU, SwiGLU)→ 圧縮の構造です。非線形性がないと単なる行列乗算のスタックにしかなりません。
- パラメータの大部分: モデルの知識の多くは FFN に存在します。事実的・意味論的な構造(「エッフェル塔」など)を保持しています。
記憶編集 (Model Editing)
特定の FFN の重みを編集することで、モデル内に新たな事実を直接注入することが可能です(例:ROME)。
专家混合 (Mixture of Experts, MoE)
すべてのパラメータを使用せず、入力に応じて一部の専門家(Expert)のみを活性化させます。これにより総パラメータ数を増加させたまま、推論コストを抑制できます(Mixtral 8x7B など)。
Tiny Explainer: MoE モデル内に複数の専門分野のネットワークを持ち、各入力に対して適した専門家を選抜して処理する仕組みです。
リジデュアルストリームとレイヤー正規化 (Residual Stream and Layer Normalization)
- リジデュアル接続: 各ブロックの出力を入力に追加(置換せず)します。これにより、情報を蓄積し続ける「ストリーム」が形成され、深いモデルの訓練が可能になります。
- レイヤー正規化: データが爆発的に大きくなったりゼロに収束したりしないように制御します。
Tiny Explainer: リジデュアル接続 ブロックの出力を出発ベクトルに追加することで、ネットワーク全体をショートカットし、学習信号の流れを保証します。
正規化方式の変更
- pre-norm: モダンな Transformer はサブブロックの前で正規化を適用します(深層学習に適している)。
- RMSNorm: GPT-2 以降の主流モデルが採用する簡潔なバリエーションです。平均引き算を省略し、計算コストを低減しつつ再スケールのみを行います。
Tiny Explainer: RMSNorm ベクトルのサイズを調整するために使われる正規化方式の一つで、計算効率が良く深層学習に適しています。
次のトークンの予測 (Next-Token Prediction)
すべての処理の後に得られる最終ベクトルは、次に来るトークンに関連するスコアです。これを**ロジット (logits)**と呼びます。
- Softmax: ロジットを確率分布に変換します。
- サンプリング戦略:
- Greedy Decoding: 確率最大のトークンを採用(保守的)。
- Temperature: 分布の鋭さを調整し、創造性を高める。
- Top-k / Top-p: 候補を制限して多様性を確保。
- 生成ループ: 新しいトークンを追加し、再度アテンションと FFN を実行するのを繰り返します(KV キャッシュを活用)。
Tiny Explainer: ロジット モデルが出力した生スコアです。Softmax を適用して初めて確率の意味を持ちます。
Tiny Explainer: Temperature サンプリングのランダム性を制御するパラメータです。低い値ほど保守的、高い値ほど多様になります。
推測的デコーディング (Speculative Decoding): 小さな高速モデルが先読みしたトークンを大きなモデルが確認することで、生成速度を劇的に向上させる手法です。
Tiny Explainer: 推測的デコーディング 小さなドラフトモデルがいくつかのトークンを予測し、大きなモデルが一度に検証することで、推論速度を大幅に向上させる技術です。
アーキテクチャ対訓練済み重み (Architecture vs Trained Weights)
GPT, Claude, LLaMA, Gemini など、異なるモデル間には共通するコアメカニズムがあります。
共通設計空間
- トークン化、埋め込み、RoPE/SwiGLU/GQA などの構成要素は、近年の最先端モデルで広く共有されています。
- これは約 5 年間の研究と改良が蓄積された結果です。
主要な違い
- 訓練済み重み: 学習データ、トレーニング手法の違い。
- 設定構成: レイヤー数、パラメータ数、MoE の採用の有無など。
- ポストトレーニング: 安全制御、対話能力、指令従順性を高めるための微調整(RLHF など)。
これからの展望 (Where This Is Going)
Transformer ファミリーが言語だけでなく、画像や音声にも拡張される一方で、状態空間モデル (Mamba) などの新しいアーキテクチャも登場しています。これらは特に長いシーケンス処理において、Transformer の代替案として注目されています。
しかし、コアメカニズム(トークン化〜次トークン予測)は耐久性が高く、どのような変化があっても解決すべき根本的な課題であると言えます。