用語集に戻る
AI中級

Transformer

transformer

一言で言うと

2017 年の論文「Attention Is All You Need」で発表された深層学習アーキテクチャ。Self-Attention を中心にして GPT・BERT・Claude などの基盤になっている。

もう少し詳しく

一言で言うと

2017 年の論文「Attention Is All You Need」で発表された深層学習アーキテクチャ。Self-Attention を中心にして GPT・BERT・Claude などの基盤になっている。

詳細

Transformer 以前の RNN / LSTM は文章を 1 トークンずつ順番に処理していたため、長文での記憶喪失と並列化の難しさが課題でした。Transformer は Self-Attention という仕組みで「文の中のどの単語がどの単語に注目すべきか」を全単語間で同時に計算します。これにより GPU 並列化が一気に進み、巨大モデルの学習が現実的になりました。

オリジナルは Encoder (理解)Decoder (生成) の 2 段構成でした。その後、用途別に派生しています。

  • Encoder のみ — BERT、文章分類・検索 (embedding)

  • Decoder のみ — GPT、Claude、Llama (テキスト生成、現在の LLM の主流)

  • Encoder + Decoder — T5、機械翻訳・要約
  • 具体例

    # Hugging Face transformers で BERT を呼ぶ最小例
    from transformers import AutoTokenizer, AutoModel
    import torch

    tok = AutoTokenizer.from_pretrained("bert-base-uncased")
    model = AutoModel.from_pretrained("bert-base-uncased")

    inputs = tok("Transformers changed NLP forever.", return_tensors="pt")
    with torch.no_grad():
    out = model(inputs)

    # 各トークンの 768 次元ベクトル (= attention で文脈を取り込んだ状態)
    print(out.last_hidden_state.shape) # torch.Size([1, 7, 768])

    中核の Multi-Head Attention は、入力を 8 や 12 個の「ヘッド」に分け、それぞれ別の観点 (主語-動詞関係、固有名詞、共参照など) で重み付けを学習します。最後にそれらを結合することで、複数の文脈関係を同時に捉えます。

    使い分け / トレードオフ

    「自分で Transformer を学習する」場面は 2026 年現在ほぼゼロです。事前学習済みモデル (Llama、Qwen、GPT-OSS) をファインチューニングするか、API (OpenAI / Anthropic / Google) を叩くのが現実解です。

    計算量は系列長 N に対して O(N²)** で、長文ほど二乗で重くなります(N が 2 倍になると計算量は約 4 倍に増えます)。これを緩和する FlashAttention・Sliding Window・MoE (Mixture of Experts) などの工夫が現役のフロンティアです。

    関連用語

  • [llm](/glossary/llm)

  • [self-attention](/glossary/self-attention)

  • [neural-network](/glossary/neural-network)

  • [deep-learning](/glossary/deep-learning)

  • [embedding](/glossary/embedding)

  • 関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る