ChatGPTの仕組みから学ぶG検定対策講座①
こんにちは。ゆうせいです。
ChatGPTに質問すると、まるで人間が考えて書いたような自然な文章が返ってきます。
しかし、ChatGPTが最初から回答全体を完成させているわけではありません。
文章生成の基本となっているのは、次の処理です。
ここまでに入力された文章から、次に続くトークンを予測する
今回は、Transformerの内部処理を視覚的に確認できる「Transformer Explainer」を操作しながら、ChatGPTが文章を生成する基本的な仕組みを見ていきます。
Transformer Explainerでは、入力した文章がトークンに分割され、数値へ変換され、Transformer Blockを通り、次のトークンの確率が計算されるまでの流れを画面上で確認できます。
Transformer Explainerを開く
まず、次のTransformer Explainerを開いてください。
Transformer Explainerは、ジョージア工科大学の研究者らによって開発された、Transformerの内部処理を視覚的に学べるWebツールです。ブラウザ内でGPT-2 smallが動作し、入力に応じて計算結果が更新されます。
画面上部には、次のような英文が入力されています。
Data visualization empowers users to
日本語にすると、次のような意味です。
データの可視化は、利用者が~することを可能にする
文章は途中で終わっています。
Transformerは、この文章に続くトークンを予測します。
Generateボタンを押してみる
画面上部にある「Generate」ボタンを押してください。
すると、入力されていた文章の後ろに、新しいトークンが追加されます。
例えば、次のような文章になります。
Data visualization empowers users to understand
このとき、Transformerが行っているのは、文章全体を一度に作成する処理ではありません。
最初に、次のトークンとして「understand」が適切である可能性を計算します。
「understand」が選ばれると、入力は次のように更新されます。
Data visualization empowers users to understand
続いてTransformerは、この更新された文章を使って、さらに次のトークンを予測します。
この処理を繰り返すことで、文章が少しずつ生成されていきます。
ChatGPTの基本は「次のトークン予測」
文章生成AIの基本的な動作は、次のトークンを予測することです。
例えば、次の文章を考えてみましょう。
日本の首都は
この後に続く候補として、モデルは次のようなトークンを考えます。
| 候補 | 確率のイメージ |
|---|---|
| 東京 | 90% |
| 大阪 | 4% |
| 京都 | 3% |
| その他 | 3% |
この場合、最も確率の高い「東京」が選ばれる可能性が高くなります。
「東京」が選ばれると、文章は次のようになります。
日本の首都は東京
次に、モデルはこの文章全体を使って、さらに続きを予測します。
| 候補 | 確率のイメージ |
|---|---|
| です | 80% |
| に | 8% |
| で | 5% |
| その他 | 7% |
「です」が選ばれれば、次の文章が完成します。
日本の首都は東京です
このように、文章生成AIは、次に続くトークンの予測を繰り返しながら文章を作っています。
Transformer Explainerも、入力された文章に対して、次のトークンの確率を計算する仕組みを視覚化しています。(データサイエンスクラブ)
「単語」ではなく「トークン」を予測する
初学者向けの説明では、よく次のように表現されます。
ChatGPTは次の単語を予測している
おおまかな説明としては間違いではありません。
ただし、より正確には、予測しているのは単語ではなくトークンです。
トークンとは、AIが文章を処理するために分割した単位です。
例えば、次の文章があるとします。
生成AIは便利です。
説明を単純化すると、次のような単位に分割されるイメージです。
「生成」/「AI」/「は」/「便利」/「です」/「。」
ただし、トークンと単語は必ずしも一致しません。
一つの単語が複数のトークンに分割されることもあります。
Transformer Explainerの例では、「empowers」という単語が一つのまとまりではなく、複数のトークンに分割されます。また、同ツールで使用されているGPT-2の語彙には、50,257種類のトークンがあります。
文章をトークンに分割する処理を、トークン化、英語ではTokenizationと呼びます。
Transformerとは何か
Transformerは、文章などの連続したデータを処理するためのニューラルネットワークの仕組みです。
2017年に発表された論文「Attention Is All You Need」で提案され、その後、文章生成、翻訳、要約、質問応答など、さまざまなAIの基盤として利用されるようになりました。
Transformerの重要な特徴は、文章中のトークン同士の関係を調べられることです。
例えば、次の文章を考えてみましょう。
太郎は新しいパソコンを購入した。それを仕事で使う予定だ。
二つ目の文にある「それ」は、前の文にある「新しいパソコン」を指しています。
「それ」の意味を理解するには、直前の単語だけではなく、少し前に登場した「新しいパソコン」との関係を調べる必要があります。
Transformerでは、文章中のどのトークンが、ほかのどのトークンと強く関係しているのかを計算します。
この中心となる仕組みが、Attentionです。
日本語では「注意機構」と訳されます。
Transformer Explainerで全体構造を見る
Transformer Explainerの画面を下へスクロールすると、Transformerの処理が大きく三つに分けて表示されています。
- Embedding
- Transformer Block
- Probabilities

文章生成の流れとして整理すると、次のようになります。
1.Embedding
入力された文章を、Transformerが計算できる数値へ変換する処理です。
主に次の処理が行われます。
- 文章をトークンに分割する
- 各トークンをIDに変換する
- 各トークンをベクトルに変換する
- トークンの位置情報を加える

コンピュータは、「猫」「データ」「便利」といった言葉を、そのまま計算することはできません。
そこで、それぞれのトークンを多数の数値が並んだベクトルへ変換します。
Transformer Explainerで使用されているGPT-2 smallでは、一つのトークンが768次元のベクトルで表現されます。

2.Transformer Block
数値に変換されたトークンを処理する部分です。
Transformer Blockには、主に次の二つがあります。
- Multi-Head Self-Attention
- MLP
Self-Attentionは、トークン同士の関係を調べる仕組みです。
MLPは、各トークンが持つ情報をさらに変換し、より複雑な特徴を表現できるようにするニューラルネットワークです。
Transformer Explainerで使用されているGPT-2 smallでは、Transformer Blockが12個積み重ねられています。トークンの表現は複数のBlockを通過するたびに更新されていきます。

3.Probabilities
Transformer Blockで処理された結果から、次のトークンの候補と確率を計算する部分です。
GPT-2には50,257種類のトークンがあるため、最終的には、それぞれのトークンに対して次のような点数が計算されます。
| トークン | 点数のイメージ |
|---|---|
| understand | 8.2 |
| see | 7.6 |
| explore | 6.9 |
| create | 5.1 |
この段階の点数は、Logitと呼ばれます。
LogitにSoftmax関数を適用すると、合計が1になる確率分布へ変換されます。
| トークン | 確率のイメージ |
|---|---|
| understand | 45% |
| see | 28% |
| explore | 18% |
| create | 9% |
モデルは、この確率分布をもとに次のトークンを選びます。
同じ入力でも出力が変わる理由
同じ質問をChatGPTに入力しても、毎回まったく同じ回答になるとは限りません。
これは、必ず最も確率の高いトークンだけを選んでいるわけではないためです。
例えば、次の文章を考えてみましょう。
天気がよいので、公園へ
続きとしては、複数の候補があります。
- 行きます
- 出かけます
- 散歩に行きます
- 遊びに行きます
どの候補も、文章として不自然ではありません。
モデルは、それぞれの候補に確率を付け、その確率をもとに次のトークンを選択します。
どの程度幅広い候補から選ぶかに影響する設定が、Temperatureです。
Transformer Explainerの画面上部には、Temperatureを変更するための入力欄があります。
Temperatureを低くすると、確率の高い候補が選ばれやすくなり、出力が安定します。
Temperatureを高くすると、確率の低い候補も選ばれやすくなり、出力に多様性が生まれます。
Temperatureを変更してみる
Transformer ExplainerのTemperatureを「0.2」程度に設定し、Generateボタンを数回押してみてください。
確率の高いトークンが選ばれやすいため、比較的似た結果が生成されます。
次に、Temperatureを「1.5」や「2.0」程度へ上げてみてください。
選択されるトークンの幅が広がり、異なる結果が出やすくなります。
ただし、Temperatureを高くしすぎると、文脈に合わないトークンも選ばれやすくなります。
Temperatureは、単純に「高いほどよい」「低いほどよい」というものではありません。
目的に応じた使い分けが必要です。
- 正確で安定した回答が必要な場合は低めにする
- 多様なアイデアが必要な場合は高めにする
- 一般的な文章生成では中間的な値を使う
Transformer Explainerでは、Temperatureだけでなく、候補を上位のトークンに限定するTop-kや、累積確率を基準に候補を絞るTop-pも操作できます。
次のトークン予測だけで、なぜ質問に回答できるのか
「次のトークンを予測しているだけなのに、なぜ質問に答えられるのか」と疑問に思うかもしれません。
大規模言語モデルは、学習データに含まれる膨大な文章から、次のようなパターンを学習しています。
- 質問の後には回答が続く
- 説明を求められたら定義や具体例が続く
- プログラムの途中には適切なコードが続く
- メールの書き出しには挨拶や宛名が続く
- 物語の文章には登場人物の行動が続く
つまり、モデルは単語を無作為に並べているのではありません。
入力された文章と、それまでに生成した文章を手掛かりに、文脈に合う次のトークンを繰り返し選んでいます。
次のトークン予測を非常に高い精度で繰り返すことで、質問への回答、文章の要約、翻訳、プログラムの作成などが可能になります。
今回のまとめ
- ChatGPTなどの文章生成AIは、Transformerを基盤としている
- Transformer Explainerでは、Transformerの内部処理を視覚的に確認できる
- 文章生成の基本は、次のトークンを予測することである
- トークンは単語と必ずしも同じ単位ではない
- Transformerの処理は、Embedding、Transformer Block、Output Probabilitiesに大別できる
- Self-Attentionは、文章中のトークン同士の関係を調べる
- 次のトークンは、計算された確率分布をもとに選択される
- Temperatureを変更すると、生成結果の安定性や多様性が変化する
次回は、Transformer Explainerの「Embedding」を展開しながら、入力された文章がどのようにトークンへ分割され、768次元の数値ベクトルへ変換されるのかを解説します。
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。
最新の投稿
山崎講師2026年7月26日ChatGPTの仕組みから学ぶG検定対策講座②
山崎講師2026年7月26日ChatGPTの仕組みから学ぶG検定対策講座①
山崎講師2026年7月21日残差学習とは?ResNetの仕組みを新人エンジニア向けにやさしく解説
山崎講師2026年7月21日新人エンジニア向け:オートエンコーダの仕組みをインスタントコーヒーで理解する
