生成 AI の仕組み入門:LLM・Transformer・トークン

AI Navigate Original / 2026/3/17

💬 オピニオンIdeas & Deep Analysis
共有:

要点

  • LLMは「次トークン予測」を繰り返して文章を生成するという発想で理解すると腹落ちしやすい
  • トークンは単語より細かい単位で、課金・コンテキスト長・プロンプト設計に直結する
  • TransformerはAttentionで文脈内の重要箇所を参照し、並列計算しやすいため大規模学習に強い
  • 幻覚(ハルシネーション)は“それっぽい続き”を作る性質から起きるため、引用要求やRAGで対策できる
  • 役割・制約・例示の3点を押さえると、実務での出力品質が安定する

生成AI(Generative AI)は、文章・画像・音声・コードなどを「それっぽく新しく作る」技術の総称です。文章生成の中心にいるのがLLM(Large Language Model:大規模言語モデル)。ChatGPTのようなサービスは、LLMで次に来そうなトークンを予測し続けることで文章を作っています。仕組みをざっくり掴めば、生成AIは「魔法」から「道具」になります。

ポイントは、「意味を理解している」よりも統計的にもっとも自然に続く文字列を高い精度で当てること。とはいえ規模が大きくなるほど抽象的なパターンも学べるので、結果として“理解しているように見える”振る舞いになります。本稿では、その根っこをトークン・Transformer・生成の流れに分けて、図とともに整理します。

01LLMの基本:学習と推論の2フェーズ

LLMの一生は、大きく学習(Training)推論(Inference)の2つに分かれます。学習で世界中のテキストからパターンを覚え、推論であなたの入力に応じて文章を生成します。

学習(Training)では、インターネット文書・書籍・論文・コードなどの大量データから、文の続きが当たるように内部の重みを調整します。典型的には「次のトークン予測」(次に来るトークンを当てる)を延々と繰り返し、間違いが減るように修正していきます。たとえば「明日の天気は」→ 次は「晴れ」「雨」「曇り」などが来そう、というふうに、文脈や頻度、前後関係から確率を学びます。

推論(Inference)では、ユーザーがプロンプトを入れると、モデルは内部で確率分布を作り、次トークンを選びます。これを繰り返して文章が伸びていきます。ここで効いてくるのが生成パラメータです。

temperature(温度)top-p(nucleus sampling)
低いほど堅め(無難)、高いほど多様(発散しやすい)確率上位の候補のうち、合計確率が p になる範囲から選ぶ
「答えのブレ幅」を決めるツマミ「拾う候補の広さ」を決めるツマミ

02トークン:単語より細かいAIの文字単位

LLMが扱う最小単位は、多くの場合トークンです。トークンは「単語」そのものとは限らず、単語の一部記号、日本語なら文字やサブワードのまとまりになります。LLMは文章をまずトークン列に分解し、その列をもとに予測します。

入力文 トークン化する トーク ン化 する こと 1語が複数トークンに分かれることも、記号が1トークンになることもある

FIG.1 文章はまず「サブワード単位」のトークン列に分解されてから処理される

トークンを意識すべき理由は3つあります。

コスト

API課金はトークン数ベースが多い(入力+出力で計算される)。

長さ制限

一度に扱えるトークン数(コンテキスト長)に上限がある。

プロンプト設計

同じ内容でもトークン効率で結果やコストが変わる。

実務での目安として、英語は「1トークン≒4文字」などと語られます。一方、日本語は分割が細かくなりやすく、同じ情報量でもトークンが増えがちです。長文をそのまま投げるより、要約→整理→投入のほうが安定しやすいのはこのためです。

03Transformer:LLMを支える超重要なエンジン

現在のLLMの多くはTransformer(トランスフォーマー)というニューラルネットの構造をベースにしています。その強みは、文章のどこに注目すべきかを計算するAttention(注意機構)にあります。

人間も文章を読むとき、すべてを同じ熱量では見ません。主語や目的語、直前の条件文など、重要な箇所を強く参照します。Attentionはこれを数式でやっていて、各トークンが他のトークンをどれだけ参照すべきか(重み)を計算します。

太郎は 花子に 本を 渡した 彼は… 強い注意(太線) 弱い注意(点線)

FIG.2 「彼」が誰かを推測するとき、Attention は「太郎」へ強く、「花子」へ弱く注意を向ける

昔はRNN/LSTMのように順番に処理するモデルが主流でしたが、長い文章になると情報が薄れたり、並列計算が難しかったりしました。Transformerの違いは次の通りです。

RNN / LSTM(旧来)Transformer(現在)
単語を順番に処理する文全体を一度に見渡して注意を計算する
長文だと前方の情報が薄れやすい離れた語どうしの関係も直接拾える
並列化が難しいGPUで並列化しやすく大規模学習に向く

この「大規模にできる」ことが、そのまま性能向上に直結しました。

04LLMが文章を作る流れ(超シンプル版)

ここまでの部品を、実際の生成の流れに並べてみます。入力文がトークンになり、ベクトルに変わり、Transformerで文脈を踏まえた表現になり、次トークンの確率が出て、1つ選ばれる――この繰り返しが「文章を書く」の正体です。

トークン化 入力を分割 埋め込み ベクトル化 Transformer Attentionで文脈計算 次トークン 確率分布 サンプリング 1つ選ぶ 選んだトークンを末尾に足して、必要な長さまで繰り返す

FIG.3 トークン化 → 埋め込み → Transformer → 次トークン確率 → サンプリング → 末尾に追加して反復

整理すると次の6ステップです。

  1. 入力文をトークン化する
  2. 各トークンをベクトル(埋め込み:embedding)に変換する
  3. Transformerで文脈を踏まえた表現を計算する(Attentionが活躍)
  4. 次トークンの確率を出す
  5. サンプリング(temperature / top-p 等)で1つ選ぶ
  6. 選んだトークンを末尾に足して、必要な長さまで繰り返す

Context & Hallucination

“作業机”の大きさと、それっぽい嘘

仕組みを「わかった気になる」ための補助知識が、コンテキスト長幻覚(ハルシネーション)です。LLMには一度に参照できるトークン数(コンテキスト長)があり、これを超えると古い情報が入らず、要約して渡す必要が出ます。いわばAIの“作業机”の大きさ。実務では、長文ドキュメントを段落ごとに分割したり、先に要点を抽出してから質問したりするのが定番です。

そしてLLMは基本的に「もっとも自然な続き」を出す仕組みなので、根拠となる情報が入力にない場合でも、文章を“埋めて”しまうことがあります。これが幻覚です。下図のように、机の上(コンテキスト)に根拠があれば事実に基づいて答えられますが、無ければ“それっぽさ”で埋めてしまいます。

根拠が机にある コンテキスト(作業机) 事実で回答 根拠が無い 空っぽの机 = 幻覚(捏造) = 信頼できる

FIG.4 根拠が机(コンテキスト)に在れば事実で答え、無ければ“埋めて”しまう=幻覚

対策としては、根拠を本文から引用させる(引用箇所の提示)、不確実なら不確実と言うルールを指示する、RAG(検索や社内文書を引いてから回答)を使う、検証(一次情報・計算・実機確認)を前提にする、が効果的です。

05実務で効く:プロンプトを効かせる3つのコツ

仕組みがわかると、プロンプトの効かせ方も腑に落ちます。Transformerは文脈のパターンに強いので、書き方ひとつで結果が安定します。

01

役割と目的を最初に置く

「あなたは編集者です」「あなたはSREです」など、役割を置くと回答のスタイルが安定しやすい。

02

制約条件を具体的に

文字数・対象読者・禁止事項・出力形式(箇条書き/表/JSON)を明確にすると、トークンの使い方が整い手戻りが減る。

03

例(few-shot)を1つ入れる

「こういう入力にはこう返してほしい」の例を1つ示すと、モデルはパターンを掴みやすい。Transformerは文脈のパターンに強いので例示は効きやすい。

06これからの動向:賢い文章生成から“実行するAI”へ

最近はLLM単体の文章生成だけでなく、外部ツールを呼び出すツール使用(tool use / function calling)、複数ステップで計画するエージェント、社内データを参照するRAGなど、「生成→行動」へ広がっています。

仕組みの根っこはトークン予測+Transformerのまま。周辺のシステム設計で、実用性が大きく変わるフェーズに入っています。

07まとめ:3つだけ覚えるなら

  • LLMは「次のトークンを当て続ける」ことで文章を作る
  • TransformerはAttentionで文脈の重要部分を参照し、大規模化に向く
  • トークンはコスト・長さ制限・プロンプト設計に直結する“現場の単位”

仕組みがざっくり掴めると、生成AIは一気に「魔法」から「道具」になります。まずはトークンとコンテキスト長の感覚を持って、短い指示 → 改善の反復で使いこなしていくのがおすすめです。