メインコンテンツへスキップ
ブログ一覧に戻る
AI活用・LLM

大規模言語モデル(LLM)とは?Transformerアーキテクチャを図解で理解

2025年12月7日
最終更新: 2026年10月8日
11分で読めます

この記事でわかること

LLMとTransformerの仕組みを、学習時と生成時の違いから解説します。Q・K・Vとattentionの架空計算、encoderとdecoderの構成、微調整とprompt tuningの区別、生成・翻訳・要約のPython例を掲載。未公表のモデル規模や正確性を推測せず、実務で何を別に確かめるかを整理します。

2026年10月8日に、Google MLCCのTransformer教材とGoogle Researchの原論文ページを再読しました。LLMはトークン列を予測する学習済みモデル、Transformerはattentionを中心とする構造として分け、encoder-decoder、encoder-only、decoder-onlyを混同しません。self-attentionの重みは計算上の関係であり、情報の真偽や人間の理解を直接証明しません。学習時の並列計算と自己回帰生成の逐次性も別に扱います。

LLMの仕組みを知るときは、文章を学ぶ段階と、学習済みモデルが続きを生成する段階を分けると理解しやすくなります。Transformerのattentionは入力の表現を組み合わせる計算であり、答えの正しさを判定する装置ではありません。

30秒で要点

  • LLMは言語を扱う学習済みモデル。生成型では、文脈から次のトークンを予測して文章を伸ばす。
  • 原Transformerはencoder–decoder構成。GPT系のdecoder型やBERTのencoder型まで、同じ図のまま説明しない。
  • 学習では既知の系列の複数位置を並列計算できるが、通常の自己回帰生成は直前までの出力に依存する。

表が収まらない場合は、横にスクロールできます

用語この記事での意味
トークンモデルが扱う文字列の単位。単語一つと一致するとは限らない
パラメータ学習で調整される数値。数だけで用途への適合性は決まらない
AttentionQとKから重みを作り、Vを重み付きで組み合わせる計算
RAG検索した外部資料を生成時の入力へ渡す構成。追加学習とは別

1. LLMとは何か、どこで使うか

大規模言語モデル(Large Language Model)は、大量のデータを使って言語のパターンを学習するモデルです。生成、翻訳、要約、質問応答、コード生成などに使われます。「理解」という言葉はここではタスク上の能力を指し、人間と同じ認知過程が確認されたという意味ではありません。

データの種類・規模・言語はモデルごとに異なります。公開Webだけでなく、ライセンスを得たデータなどを使う例もあります。長文を入力できても、すべての条件を正確に使える保証はありません。

歴史的なモデル例と、公表範囲

下表は旧稿のモデル例を整理したもので、現行製品のランキングではありません。論文のパラメータ数と、現在提供されるサービスの仕様を混同しないでください。

表が収まらない場合は、横にスクロールできます

モデル例この資料で確認できる規模読む際の境界
GPT-32020年論文の1750億few-shot評価の研究モデル
GPT-4技術報告でモデル規模は未公表「推定1–2兆」を確定情報として使わない
Claude本記事では規模比較の対象外製品名だけから内部構成を推定しない
PaLM2022年論文の5400億現在のGoogle製品全般の値ではない
LLaMA2023年初代論文の70億〜650億研究者への公開と、無条件の利用許諾を分ける

根拠はGPT-3論文の要旨、GPT-4技術報告の概要・手法、PaLM要旨、初代LLaMA要旨です。非公表の数値を埋めて比較しません。

流れとしては、2017年のTransformer、2018年のGPT系初期モデル、2019年のGPT-2、2020年のGPT-3、2022年のChatGPT公開、2023年のGPT-4が理解の足場になります。GPT-1やGPT-2の規模を並べることより、事前学習したモデルを用途に応じて使う流れに注目してください。

表が収まらない場合は、横にスクロールできます

用途入出力の例別に必要な確認
テキスト生成要件からメールや記事の下書き事実・固有名詞・権利
翻訳日本語から英語用語・否定・条件の保持
要約会議録から要点数値・例外・未決事項の保持
質問応答資料に基づく回答根拠との一致・資料の新しさ
コード生成説明からPython実行・境界条件・安全性

2. Transformerの構造と、並列化できる場所

Attention Is All You Needの原Transformerは、翻訳などの系列変換を扱うencoder–decoderです。以下はその概念図で、全LLMの共通構造図ではありません。

入力トークン + 位置情報
  ↓
Encoder: Self-Attention → Feed-Forward
         各層に残差接続とLayer Normalization
  ↓ 入力の表現
Decoder: Masked Self-Attention → Cross-Attention → Feed-Forward
         各層に残差接続とLayer Normalization
  ↓
次の出力トークンの分布 → 選択 → 次の生成へ

Encoderは入力系列を表現へ変えます。原Decoderは、過去の出力とEncoderの表現を使って次の出力を作ります。GPT系の生成モデルはdecoder型、BERTはencoder型として区別できます。BERTの双方向表現は、左右の文脈を使う点でも通常の自己回帰生成と異なります。

表が収まらない場合は、横にスクロールできます

場面入力が既知か並列化と依存関係
学習時の系列教材のトークン列は既知マスクで未来を隠しつつ、複数位置の計算をまとめられる
生成前の入力処理与えられたプロンプトは既知入力位置の表現をまとめて処理できる
通常の自己回帰生成未来の出力は未確定選んだトークンを次の入力へ使う。文章全体を一度に確定するわけではない

「並列処理だから長文生成もすべて同時」は誤りです。また、attentionを使うだけで長距離の条件を必ず保持できるわけではありません。長い入力での計算量や実際の正答率は、モデル・実装・タスクを分けて評価します。

3. Q・K・Vでattentionを計算する

たとえば次の文を考えます。実際のトークン分割や重みはモデル次第です。

入力:「猫が机の上にいる」

Self-Attentionでは同じ系列の表現からQ(問い合わせ側)、K(照合側)、V(混ぜる情報)を作ります。「猫」「机」「上」といった関係を扱う表現を学習できますが、各headが必ず人間の文法概念に対応すると決めることはできません。

Attention(Q, K, V) = softmax(QK^T / √d_k) V

QとKの内積をKの次元数の平方根で割り、softmaxで和が1の重みにします。その重みでVを足します。必要なマスクもこの計算に加わります。重みが大きいことを、出典の信頼性や回答の正しさと読み替えないでください。

架空の3候補・2次元で検算する

これは著者が作った数値教材で、実モデルの測定値ではありません。Q=[1,0]、Kは[1,0]・[0,1]・[1,1]、Vは[2,0]・[0,2]・[2,2]とします。内積は1・0・1、d_k=2です。

表が収まらない場合は、横にスクロールできます

候補内積÷√2softmaxの重み(概数)V
A0.7071070.401112[2,0]
B00.197776[0,2]
C0.7071070.401112[2,2]

出力の第1成分は2×0.401112+0×0.197776+2×0.401112≒1.604448、第2成分は0×0.401112+2×0.197776+2×0.401112≒1.197776です。丸める前の値で計算してから表示を丸めます。

架空のQKV例で内積1・0・1を平方根2で割り、重み約0.401・0.198・0.401から出力約1.604・1.198を作る。学習の既知位置は並列化できるが生成は前の出力に依存する
図1:attentionの算術と生成順序を分ける。数値は架空教材であり、重みは事実の信頼度ではない。

Multi-Head Attentionは異なる学習済み射影で複数のattentionを計算し、結果を連結してさらに射影します。複数の表現部分を扱える設計ですが、head数を増やせばすべての用途で性能が上がるという保証ではありません。

4. 事前学習・微調整・RLHFを区別する

生成型の事前学習では次トークン予測が代表的です。一方、BERTは隠したトークンを周囲から予測する目的を使います。すべてのモデルが両方を順番に行うわけではありません。学習で言語や知識に関わるパターンを得ても、記憶した内容の正しさや最新性は別問題です。

表が収まらない場合は、横にスクロールできます

調整方法学習するもの誤解しやすい点
全パラメータ微調整基盤モデルの重みデータ・計算負担があり、常に最高精度とは限らない
LoRA追加した低ランク行列など基盤重みを固定する方式でも、学習するパラメータはある
Prompt tuning学習可能なsoft prompt手書きの指示を直すだけのprompt engineeringとは異なる
LoRA要旨とprompt tuning要旨が、それぞれ固定部分と学習部分を説明しています。目的は用途への適応ですが、未使用の評価例で悪化や偏りも確かめます。 InstructGPT論文では、人が書いた望ましい応答による教師あり調整の後、人による応答の順位付けを使います。RLHFの概略は、人の評価→報酬モデル→その報酬を使う強化学習です。役立つ応答や有害性の低減を目指す方法の一つで、全LLMに必須の工程でも、無誤答を保証する方法でもありません。

5. 生成・翻訳・要約のPython例

旧稿の3つの用途を、公式のResponses API例に合わせた形で示します。利用可能なmodelと初期化済みclientを呼び出し側から渡します。この掲載コードはローカルの偽clientで入力・戻り値だけを検算しており、SDK接続や実モデルの生成品質は未検証です。実clientで呼べばAPI通信が発生するので、利用条件と機密情報の扱いを別途確認してください。

テキスト生成

def generate_text(client, model, prompt):
    response = client.responses.create(
        model=model,
        instructions="要件に沿う下書きを作り、不明な事実は断定しない。",
        input=prompt,
    )
    return response.output_text

翻訳

def translate_text(client, model, text, target_language="英語"):
    response = client.responses.create(
        model=model,
        instructions=f"{target_language}に翻訳。数値・否定・条件を保持する。",
        input=text,
    )
    return response.output_text

要約

def summarize_text(client, model, text, max_length=200):
    if type(max_length) is not int or max_length <= 0:
        raise ValueError("max_length must be a positive integer")
    response = client.responses.create(
        model=model,
        instructions=f"{max_length}文字以内で要約。例外と未決事項を残す。",
        input=text,
    )
    return response.output_text

文字数は指示だけでは保証されません。出力を検査し、超過時は意味を損なう機械的切断ではなく再編集を検討します。翻訳の正確さや要約の忠実さも、偽clientのテストでは証明できません。

6. 位置情報・正規化・dropoutの役割

原Transformerは入力埋め込みに位置情報を加えます。論文では正弦・余弦を使い、学習する位置埋め込みとも比較しています。位置情報を一切持たないattention計算だけでは、語順を十分に表せません。現在のモデルすべてが同じ位置表現を使うとは限りません。

Layer Normalizationは表現を正規化し、残差接続とともに学習を支えます。Dropoutは学習時の一部の値を無効化する正則化です。学習の安定化や過学習の抑制を狙いますが、個々の用途の速度・精度改善率はここから決まりません。

7. 限界を踏まえて使い分ける

表が収まらない場合は、横にスクロールできます

課題確認すること
古い情報・誤った断定一次資料と照合し、必要なら検索やツールを使う
長い文脈の取り違え条件・例外を含む評価例を作る
創作の新規性・独自性人の評価軸や権利確認を置く。仕組みだけで「真の創造性」を判定しない
計算資源・費用学習と推論を分け、実際の入力長と用途で計測する
偏り・個人情報・有害な出力データと出力の運用ルールを定め、人の確認を組み込む

まず用途、正解・不正解の判断、参照すべき資料を決めます。attentionの式を理解することと、そのモデルを業務で受け入れられることは別です。

指示の設計はプロンプトエンジニアリング入門、対話サービスとの関係はChatGPTの基礎、全体像はAI・LLM完全ガイドへ進めます。

アプリへの組込みはLangChain入門、外部資料を渡す構成はRAG、複数段階の処理はAIエージェント開発、検索の仕組みはベクトルデータベースも参照してください。AIと機械学習の違いとFirst byte流AI活用は、導入目的を整理する入口です。

よくある質問(FAQ)