【論文解説】Transformer: 全てのLLMの原点「Attention Is All You Need」
この記事の要約
Transformerアーキテクチャは、全ての現代の大規模言語モデル(LLM)の基盤であり、Self-Attentionにより並列処理を実現し、長距離依存を直接モデリングすることで性能を向上させました。機械翻訳タスクでのSOTA達成や、GPT、BERT、Claudeなどのモデルへの影響を通じて、AI分野に革命をもたらしました。理解することで、適切なモデル選択や限界の把握が可能になります。
「それは無理だ」
著名な計算言語学者Hans Uszkoreitは、息子Jakobの仮説を一蹴しました。「再帰なしで翻訳? Attentionだけで十分? そんなはずがない」
2017年当時、自然言語処理の世界ではRNN(再帰型ニューラルネットワーク)が絶対的な存在でした。言語を理解するには「順番に処理する」しかない——これが常識だったのです。
しかしJakobは諦めませんでした。Google Brainの7人の仲間と共に、常識に挑戦する論文を書き上げました。タイトルは「Attention Is All You Need」——ビートルズの「All You Need Is Love」のパロディです。
学会は懐疑的でした。しかし実験結果は衝撃的でした。翻訳性能は従来記録を更新し、学習時間はわずか3.5日。そして何より——全ての単語を並列処理できる。GPUの性能を最大限に引き出せるのです。
それから9年。この論文は6万回以上引用され、ChatGPT、GPT-4、Claude、Gemini——現代AIの「ほぼ全て」の基盤となりました。
そして驚くべきことに、8人の著者全員がGoogleを退社。7人がスタートアップを創業し、1人はOpenAIへ。生み出した価値は合計約1.2兆円。父親の懐疑は、息子の確信に変わりました。
本記事では、このAI革命の原点となった技術の全貌に迫ります。
本記事の表記について
- 下線付きの用語にカーソルを合わせると解説が表示されます
関連記事: 本記事は「AIエージェント論文おすすめ11選」の詳細解説記事です。他の論文も合わせてご覧ください。
本記事でわかること
- Self-Attentionの仕組み: 全ての単語を同時に参照し、並列処理を実現するメカニズム
- RNN/LSTMを超えた理由: 逐次処理の制約を克服し、長距離依存を直接モデリング
- Python実装で理解: NumPyによるSelf-Attentionのゼロからの実装
- 現代AIへの影響: GPT、BERT、Claudeなど全てのLLMの基盤となった革新的アーキテクチャ
- 2024-2026年の最新進化: Flash Attention、Mixture of Experts、State Space Modelなど
基本情報
| 項目 | 内容 |
|---|---|
| トピック | Transformer(Attention Is All You Need) |
| カテゴリ | 論文解説 |
| 難易度 | 中級 |
| 発表 | NeurIPS 2017(Google) |
| 著者数 | 8名(全員Google退社済み) |
| 引用数 | 6万回以上(2026年3月時点) |
| arXiv | 1706.03762 |
Transformerの仕組みを図解で理解
Transformerの核心は、Self-Attentionメカニズムです。従来のRNNが「順番に処理する」のに対し、Transformerは「全体を一度に見る」ことができます。
Transformerアーキテクチャの全体像Self-Attention:全ての単語が全ての単語を参照
Self-Attention は、入力文の各単語が他の全ての単語との関連性を計算する仕組みです。
入力: "猫がマットの上に座った"
[猫] → [猫, が, マット, の, 上, に, 座った] との関連度を計算
[が] → [猫, が, マット, の, 上, に, 座った] との関連度を計算
...
計算式:
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) V
- Q (Query): 「何を探しているか」を表すベクトル
- K (Key): 「何を持っているか」を表すベクトル
- V (Value): 実際の情報を持つベクトル
Multi-Head Attention:複数の視点で同時に注目
1つのAttentionだけでは、1つの観点からしか関係性を捉えられません。Multi-Head Attention は、複数のAttentionを並列実行することで、様々な観点からの関係性を同時に学習します。
Head 1: 文法的な関係(主語-動詞)
Head 2: 意味的な関係(猫-座る)
Head 3: 位置的な関係(近くの単語)
...
論文では8つのHeadを使用しています。
Positional Encoding:単語の位置情報を付与
Self-Attentionは全ての単語を同時に処理するため、単語の順序情報が失われます。これを補うのがPositional Encoding(位置エンコーディング) です。
PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
三角関数を使うことで、以下のメリットがあります。
- どんな長さの文でも対応可能
- 相対的な位置関係を学習しやすい
- 学習パラメータが不要
Encoder-Decoder構造
Transformerは、**Encoder(入力を理解)とDecoder(出力を生成)**の2つの部分から構成されます。
Encoder(6層):
- Self-Attention層
- Feed Forward層
- 各層の後にLayer Normalization
Decoder(6層):
- Masked Self-Attention層(未来の情報を見せない)
- Encoder-Decoder Attention層
- Feed Forward層
ここまでのポイント: Transformerの仕組みは理解できました。次は、Python実装で手を動かして理解しましょう。
【実装で理解】Self-AttentionをPythonでゼロから書く
理論だけでは掴みにくいSelf-Attentionを、NumPyで実装してみましょう。わずか20行程度のコードで、Transformerの核心が理解できます。
Step 1: 入力の準備
import numpy as np
# 3つの単語、各4次元の埋め込みベクトル(簡略化)
# "猫" "が" "座った" に相当
np.random.seed(42)
X = np.random.randn(3, 4) # (seq_len=3, d_model=4)
print("入力行列 X:")
print(X.round(2))
Step 2: Q, K, V の計算
d_k = 4 # Key/Queryの次元数
# 重み行列(学習で獲得されるパラメータ)
W_Q = np.random.randn(4, d_k)
W_K = np.random.randn(4, d_k)
W_V = np.random.randn(4, d_k)
# Q, K, V を計算
Q = X @ W_Q # Query: 各単語が「何を探しているか」
K = X @ W_K # Key: 各単語が「何を持っているか」
V = X @ W_V # Value: 実際に渡す情報
print("Q (Query):", Q.shape) # (3, 4)
print("K (Key):", K.shape) # (3, 4)
print("V (Value):", V.shape) # (3, 4)
Step 3: Attention Scoreの計算
def softmax(x):
exp_x = np.exp(x - np.max(x, axis=-1, keepdims=True))
return exp_x / np.sum(exp_x, axis=-1, keepdims=True)
# Scaled Dot-Product Attention
scores = Q @ K.T / np.sqrt(d_k) # (3, 3)
attention_weights = softmax(scores)
output = attention_weights @ V # (3, 4)
print("\nAttention重み(各単語が他の単語にどれだけ注目しているか):")
print(attention_weights.round(3))
print("\n出力(文脈を考慮した新しい表現):")
print(output.round(2))
実行結果の読み方
Attention重み:
[[0.74 0.15 0.11] ← "猫"は自分自身に74%注目
[0.22 0.53 0.25] ← "が"は自分自身に53%注目
[0.31 0.08 0.61]] ← "座った"は自分自身に61%注目
ポイント: 各行の合計は必ず1.0になります(softmaxの性質)。この重み付けにより、各単語は文脈に応じた「新しい表現」を獲得します。
Multi-Head Attentionへの拡張
def multi_head_attention(X, num_heads=2, d_model=4):
d_k = d_model // num_heads # 各ヘッドの次元
heads = []
for h in range(num_heads):
W_Q = np.random.randn(d_model, d_k)
W_K = np.random.randn(d_model, d_k)
W_V = np.random.randn(d_model, d_k)
Q = X @ W_Q
K = X @ W_K
V = X @ W_V
scores = Q @ K.T / np.sqrt(d_k)
weights = softmax(scores)
heads.append(weights @ V)
# 全ヘッドを結合
return np.concatenate(heads, axis=-1) # (3, 4)
result = multi_head_attention(X)
print("Multi-Head出力:", result.shape) # (3, 4)
ここまでのポイント: Self-Attentionの核心は「行列の掛け算とsoftmax」だけです。この単純さこそが、GPUでの大規模並列処理を可能にした鍵です。では、なぜこれがRNN/LSTMより革命的だったのでしょうか?
なぜTransformerは革新的だったのか
従来のRNN/LSTM vs Transformer比較RNN/LSTMの問題点
| 問題 | 内容 |
|---|---|
| 逐次処理 | 単語を1つずつ処理するため、並列化ができない |
| 長距離依存 | 文が長くなると、最初の情報が失われる(勾配消失) |
| 学習の遅さ | GPUの並列性能を活かせない |
CNNの問題点
| 問題 | 内容 |
|---|---|
| 限定的な受容野 | 一度に見れる範囲が限られる |
| 長距離依存 | 遠くの単語を参照するには多層化が必要 |
Transformerが解決したこと
- 並列処理: 全ての単語を同時に処理でき、学習が高速化
- 長距離依存: Self-Attentionで任意の2単語間の関係を直接計算
- スケーラビリティ: パラメータを増やすほど性能が向上
計算量の比較
| アーキテクチャ | 1層あたりの計算量 | 逐次処理数 | 最大パス長 |
|---|---|---|---|
| RNN | O(n × d²) | O(n) | O(n) |
| CNN | O(k × n × d²) | O(1) | O(log n) |
| Transformer | O(n² × d) | O(1) | O(1) |
最大パス長O(1) が決定的でした。RNNでは100単語離れた単語間の依存関係を学ぶのに100ステップ必要ですが、Transformerは1ステップで直接参照できます。
ここまでのポイント: RNN/LSTMの限界は理解できました。Transformerが「理論的には」優れていることも分かりました。では、実際にどれほどの性能差が出たのでしょうか?
実験結果:どれくらい性能が出たのか
機械翻訳タスク
| ベンチマーク | 従来SOTA | Transformer | 改善 |
|---|---|---|---|
| WMT 2014 英独翻訳 | 25.8 BLEU | 28.4 BLEU | +2.6 |
| WMT 2014 英仏翻訳 | 40.4 BLEU | 41.0 BLEU | +0.6 |
BLEU: 機械翻訳の精度を測る指標。数値が高いほど優れた翻訳を意味します。
学習効率
| 指標 | 内容 |
|---|---|
| 学習時間 | 3.5日(8 GPU) |
| パラメータ数 | 65M(base)/ 213M(big) |
| 学習コスト | 従来手法の1/4以下 |
特筆すべきは、SOTA(最高性能)を達成しながら学習コストが大幅に削減された点です。
Ablation Study:何が効いているのか
論文では各コンポーネントの貢献を検証しています。
| 変更 | BLEU変化 | 考察 |
|---|---|---|
| Head数 1(16→1) | -0.9 | Multi-Headは重要 |
| Head数 32(16→32) | -0.3 | 多すぎても効果は限定的 |
| d_k を小さく(64→16) | -1.3 | Key次元の削減は性能に直結 |
| d_model拡大(512→1024) | +0.3 | モデルサイズ拡大は有効 |
| Positional Encoding除去 | -1.0 | 位置情報は不可欠 |
ここまでのポイント: 性能向上と効率化を同時に達成——これだけでも十分に革新的です。しかし、Transformerの影響はここから始まりました。わずか1年後、AI業界は劇的に変わります。
後続への影響:現代AIの基盤
Encoder系モデル
| モデル | 年 | 特徴 |
|---|---|---|
| BERT | 2018 | 双方向理解、穴埋めタスク |
| RoBERTa | 2019 | BERTの最適化版 |
| ALBERT | 2019 | 軽量化BERT |
Decoder系モデル
| モデル | 年 | 特徴 |
|---|---|---|
| GPT | 2018 | 生成特化、自己回帰 |
| GPT-2 | 2019 | 大規模化(1.5B) |
| GPT-3 | 2020 | Few-shot学習(175B) |
| GPT-4 | 2023 | マルチモーダル |
Encoder-Decoder系モデル
| モデル | 年 | 特徴 |
|---|---|---|
| T5 | 2019 | テキストtoテキスト統一 |
| BART | 2019 | ノイズ除去事前学習 |
現在のLLM
| モデル | 開発元 | ベース | パラメータ規模 |
|---|---|---|---|
| Claude 4 | Anthropic | Transformer | 非公開 |
| GPT-4o | OpenAI | Transformer | 推定1.8T |
| Gemini | Transformer | 非公開 | |
| Llama 3 | Meta | Transformer | 405B |
全ての現代LLMがTransformerを基盤としているという事実が、この論文の影響力を物語っています。
ここまでのポイント: 技術的影響は計り知れません。しかし、2017年のオリジナルTransformerには弱点もありました。それを克服する進化が今も続いています。
2024-2026年の最新進化:Transformerはどこまで来たか
オリジナルTransformerのO(n²)計算量と固定コンテキスト長という弱点を克服するため、多くの改良が生まれています。
Flash Attention(2022-2024)
GPUメモリの読み書き(I/O)がボトルネックだった問題を解決。Attention計算をタイル分割し、高速メモリ(SRAM)上で完結させる手法です。
| バージョン | 改善点 | 高速化 |
|---|---|---|
| Flash Attention | I/Oを考慮したタイル分割 | 2-4倍 |
| Flash Attention 2 | 並列性向上、非正方行列対応 | さらに2倍 |
| Flash Attention 3 | FP8対応、H100最適化 | さらに1.5倍 |
現在、PyTorch 2.0以降に標準搭載されており、ほぼ全てのLLM訓練・推論で使われています。
Mixture of Experts(MoE)
全パラメータを毎回使うのではなく、入力に応じて一部の「専門家」ネットワークだけを活性化する手法。
| モデル | 総パラメータ | 活性化パラメータ | 効果 |
|---|---|---|---|
| Mixtral 8x7B | 46.7B | 12.9B | 70Bモデル相当の性能 |
| GPT-4(推定) | 1.8T | 約220B | コスト効率の大幅向上 |
| DeepSeek-V3 | 671B | 37B | オープンソース最高性能 |
コンテキスト長の拡張
| 手法 | コンテキスト長 | 主なモデル |
|---|---|---|
| オリジナル(2017) | 512トークン | Transformer |
| RoPE(2021) | 4K→128K拡張可能 | Llama、Qwen |
| Ring Attention | 100万トークン+ | Gemini 1.5 Pro |
| Infini-Attention | 無限長(理論上) | Google Research |
State Space Model(SSM)との融合
Mambaに代表されるSSMは、O(n)の計算量でTransformerに匹敵する性能を実現。2025年以降、TransformerとSSMのハイブリッドモデルが主流になりつつあります。
| モデル | アーキテクチャ | 特徴 |
|---|---|---|
| Mamba | 純粋SSM | O(n)で高速推論 |
| Jamba | Transformer + Mamba | 両方の利点を活用 |
| Zamba 2 | Hybrid | 7Bで13B相当の性能 |
ここまでのポイント: Transformerは進化し続けています。しかし、Transformerが生み出したのは技術だけではありませんでした。8人の著者は、全員が驚くべき道を歩みます。
【驚きの事実】著者8人のその後
論文の8人の著者は、全員がGoogleを退社しました。その後の活躍は驚異的です。
8人の「その後」一覧
| 著者 | 退社年 | 創業・参加先 | 評価額/調達額 |
|---|---|---|---|
| Illia Polosukhin | 2017 | NEAR Protocol | 5億ドル調達 |
| Aidan N. Gomez | 2019 | Cohere | 評価額55億ドル |
| Jakob Uszkoreit | 2021 | Inceptive | 1.2億ドル調達 |
| Noam Shazeer | 2021 | Character.AI→Google復帰 | 25億ドルで買収 |
| Niki Parmar | 2021 | Essential AI→Anthropic | Claude 3.7開発 |
| Łukasz Kaiser | 2021 | OpenAI | GPT-4、o1、o3開発 |
| Ashish Vaswani | 2023 | Essential AI | 6,500万ドル調達 |
| Llion Jones | 2023 | Sakana AI | 日本発AIスタートアップ |
合計創出価値: 約80億ドル超(約1.2兆円)
「へー」となるエピソード
20歳のインターンがCEOに: Aidan N. Gomezは論文執筆時、Google Brainのインターン(20歳)でした。現在はCohere CEO、評価額55億ドル企業を率いています。TIME100 AI(2023年)にも選出されました。
辞めて27億ドルで買い戻された男: Noam Shazeerは2021年、「Googleが保守的すぎる」と退社してCharacter.AIを創業。2024年、Googleが25億ドルで彼を「買い戻し」ました。
父親の懐疑を覆した息子: Jakob Uszkoreitの「Attentionだけで十分」という仮説は、著名な計算言語学者である父Hans Uszkoreitですら懐疑的でした。現在、JakobはAIでRNA医薬品を設計するInceptiveを経営しています。
日本でAIスタートアップを創業: Llion Jonesは2023年にGoogleを退社し、東京でSakana AIを共同創業。David Haとともに、「自然にインスパイアされたAI」というユニークなアプローチで注目を集めています。
FAQ
Q1. なぜ「Attention Is All You Need」というタイトルなのか?
ビートルズの名曲「All You Need Is Love」(1967年)のパロディです。従来、RNNやCNNが必須とされていた自然言語処理において、「Attentionだけで十分」という挑発的なメッセージを込めています。
技術的な主張(RNN/CNNを使わずAttentionのみでSOTA達成)と、ポップカルチャーへのオマージュを兼ねた絶妙なタイトルです。このキャッチーさも、論文が広く知られるようになった一因かもしれません。
Q2. Self-AttentionとAttentionの違いは?
Attention(従来): Encoder-Decoder間など、異なる系列間の関係を計算
Self-Attention: 同じ系列内での単語間の関係を計算
Self-Attentionにより、入力文の内部構造を理解できるようになりました。
Q3. なぜTransformerは長い文脈が苦手なのか?
Attentionの計算量がO(n²)(nは系列長)のため、文が長くなると計算コストが急増します。
例えば、1000トークンなら100万回、10000トークンなら1億回の計算が必要です。この問題を解決するため、Flash Attention、Ring Attention、Infini-Attentionなどの改良手法が研究されています。2026年現在、Gemini 1.5 Proは100万トークン、Claude 4は20万トークンのコンテキストを処理できます。
Q4. TransformerとBERT/GPTの関係は?
- BERT: TransformerのEncoder部分のみを使用
- GPT: TransformerのDecoder部分のみを使用
- T5: TransformerのEncoder-Decoder両方を使用
つまり、BERT/GPTはTransformerの「派生モデル」です。
Q5. 商用利用は可能?
論文自体はApache 2.0ライセンスです。Transformerアーキテクチャを使用したモデル(GPT、Claude等)は各社のライセンスに従います。
基本的にAPIを通じた商用利用は可能です。
Q6. TransformerとMambaの違いは?
TransformerはSelf-Attentionベースで計算量O(n²)ですが、長距離依存の直接モデリングに優れます。MambaはState Space Model(SSM)ベースで計算量O(n)と効率的ですが、2024年に登場した比較的新しいアーキテクチャです。
2025-2026年のトレンドは、両者を組み合わせたハイブリッドモデル(Jamba、Zamba等)です。Transformerの表現力とSSMの効率性を両立させるアプローチが主流になりつつあります。
Q7. Transformerを学ぶのに最適なリソースは?
段階的に学ぶことをおすすめします。
- 入門: Jay Alammarの「The Illustrated Transformer」——図解で直感的に理解
- 実装: Harvard NLPの「The Annotated Transformer」——PyTorchによる完全実装
- 論文: 原論文(arXiv)——15ページで読みやすい
- 応用: Andrej KarpathyのnanoGPT——ゼロからGPTを構築する実践チュートリアル
まとめ
2017年、「Attentionだけで十分」という常識に反する仮説から始まったTransformerは、AI分野に革命をもたらしました。
主要ポイント
- 技術的革新: Self-Attentionで並列処理を実現し、RNN/LSTMの限界を克服
- 圧倒的な影響力: 6万回以上の引用、GPT・BERT・Claude・Geminiなど全LLMの基盤
- 人材輩出: 8人の著者全員がGoogle退社、合計約1.2兆円の価値を創出
- 進化の継続: Flash Attention、MoE、SSMとの融合で弱点を克服中
「人に話したくなる」ポイント
- タイトルはビートルズ「All You Need Is Love」のパロディ
- 著者の1人(Aidan)は論文執筆時、20歳のインターン → 現在は55億ドル企業のCEO
- 「常識を覆す」仮説は、著者の父親(著名な計算言語学者)ですら懐疑的だった
- 8人中1人(Llion Jones)は東京でSakana AIを創業
次のステップ
- 本記事のPython実装コードを実際に動かしてみる
- Encoder系(BERT)とDecoder系(GPT)の違いを学ぶ
- Chain-of-Thought論文を読み、Transformerベースの推論技術を理解する
次に読むべき論文
| 前の論文 | 次の論文 |
|---|---|
| - | Chain-of-Thought |
参考リソース
- arXiv論文
- Google AI Blog
- The Illustrated Transformer
- Attention Is All You Need (動画解説)
- Harvard NLP: The Annotated Transformer
本記事はネクサフローのAI研究シリーズの一部です。
この記事の著者

中村 知良
代表取締役
早稲田大学卒業後、ソフトバンク株式会社にてAI活用やCEO直下案件のプロジェクトマネージャーに従事。その後、不動産スタートアップPit in株式会社の創業、他スタートアップでの業務改善・データ活用を経験後、2023年10月、株式会社ネクサフローを創業し代表取締役CEO就任。


