長い質問に答えるには、文章の後半を作るときも前半に書かれた条件を参照する必要があります。「太郎は花子に本を渡した。彼女は礼を言った」なら、「彼女」と「花子」の関係を計算して次の言葉を選びます。この計算の中心にあるのがTransformerです。
Transformerへの入力は、質問と会話履歴を小さな単位へ分けたトークンの並びです。各トークンを数値の並びに変え、語順の手掛かりを加えます。Self-Attention(同じ文章の中から参照先を探して情報を集める処理)と後続の層で数値を変換した後、次に続くトークンの点数を出します。PDFの文字抽出、光学式文字認識(OCR:画像内の文字を文章へ変える処理)、Web検索、コード実行は、この計算の前後に対話AIサービスが加える処理です。
Transformerとは
Transformerとは、文章などの並びを数値で表し、Attention(情報の参照先に重みを付ける処理)で並びの中の関係を計算するニューラルネットワーク(学習によって内部の数値を調整する計算モデル)の設計です。
入力は、質問や会話履歴を分割したトークンの並びです。Transformer内部では、各トークンが周囲からどの情報を受け取るかを層ごとに計算します。文章を作るDecoder(デコーダー)型の場合、最後に得られるのは「次にどのトークンが続くか」の点数です。
Transformerは2017年、機械翻訳のモデルとして発表されました。原型は入力文を読むEncoder(エンコーダー)と翻訳文を作るDecoderを組み合わせた構造です。従来の再帰型ニューラルネットワーク(RNN)が前の位置の情報を次へ順番に渡していたのに対し、TransformerはAttentionを中心にしたことで学習時の並列計算をしやすくしました。現在の対話型AIには、大量の文章から言葉のつながりを学んだ大規模言語モデルが使われ、その多くはDecoder型を基礎にしています。
Transformerが文章を受け取って次のトークンを出すまで
チャットAIのDecoder型Transformerは、おおむね次の順で文章を処理します。
- 質問と会話履歴をトークンに分ける
- 各トークンを数値の並びに変え、位置の情報を加える
- Self-Attention(同じ文章の中の関係を計算する処理)で、各位置が他のどの位置から情報を受け取るかを計算する
- Attentionの結果をフィードフォワードネットワーク(各位置の数値を個別に変換する層)で変換し、同じ種類のブロックを多層に重ねる
- 最後のベクトル(数値の並び)から、次に続く各トークンの点数を出す
- 設定された選択方法でトークンを1つ選び、入力の末尾へ追加する
追加されたトークンを含めて再び計算すると、その次のトークンが決まります。回答が左から右へ少しずつ表示されるのは、この繰り返しがあるためです。
トークン・埋め込み・位置情報が文章を数値に変える
トークンは、モデルが文章を扱う単位です。1つのトークンに単語全体、単語の一部、1文字、記号のいずれかが対応する場合があります。分け方は、文章をトークンに分けて識別番号へ変換するトークナイザーによって異なります。
| 処理 | 作られるもの | 必要な理由 |
|---|---|---|
| トークン化 | 文章を分けた識別番号の並び | 文字列をモデルが扱う単位へそろえる |
| トークン埋め込み | 各トークンに対応するベクトル(数値の並び) | 行列計算で扱える形にする |
| 位置情報 | 何番目にあり、他のトークンとどれだけ離れているかという手掛かり | Self-Attentionだけでは語順を区別できない |
埋め込み直後の「渡る」は、まだ「橋を渡る」と「危ない橋を渡る」の文脈を十分に反映していません。後続のAttentionで周囲の情報が取り込まれると、同じトークンのベクトルが文脈に応じて変わります。
原型のTransformerは正弦波と余弦波で位置を表しました。現在の言語モデルでは、Attentionの中に相対的な距離を反映させる回転位置埋め込み(Rotary Position Embedding、RoPE)なども使われています。
Attentionとは、参照先に重みを付けて情報を集める処理
Attentionは、処理中の位置が参照できる候補を照合し、関連度に応じた重み付き合計を作る処理です。候補ごとに重みが変わり、現在の位置に関係が強い情報ほど多く反映されます。
原型Transformerの翻訳Decoderでは、入力文を読んだEncoderの出力を参照するAttentionがあります。参照する側と参照される側が異なるこの処理は、Cross-Attention(クロスアテンション)と呼ばれます。次に扱うSelf-Attentionとの違いは、情報の参照先です。
Self-Attentionとは、同じ文章の中で言葉の関係を計算する処理
Self-Attentionの「Self」は、参照する側と参照される側が同じ並びであることを表します。文章の各トークンは、自分を含むほかの位置との関連度を計算し、その結果を取り込みます。
「太郎は花子に本を渡した。彼女は礼を言った」の「彼女」を処理するときは、「太郎」「花子」「本」などが参照候補になります。学習で調整された重みによって「花子」の情報が強く取り込まれれば、「彼女」のベクトルはこの文に合った表現に変わります。
標準的な全Self-Attentionは、入力がnトークンならn行×n列の照合を行います。照合数はおおむねn²で増えるため、会話履歴や資料が長くなるほど計算量とメモリ使用量が増えやすくなります。
Query・Key・Valueが参照先と受け取る情報を決める
Attentionは、各トークンのベクトルからQuery、Key、Valueという3種類のベクトルを作ります。同じ元のベクトルに、学習で調整された別々の行列(数値を縦横に並べたもの)を掛けて作ります。
| ベクトル | 計算上の役割 | 「彼女」の位置での見方 |
|---|---|---|
| Query(クエリ) | 現在の位置が参照先を探すためのベクトル | どの人物と関係が強いかを照合する側 |
| Key(キー) | 各候補が照合を受けるためのベクトル | 「太郎」や「花子」の位置が持つ照合用の情報 |
| Value(バリュー) | 関連度に応じて実際に取り込まれるベクトル | 選ばれた位置から「彼女」側へ渡る情報 |
「彼女」のQueryと文中の各Keyについて、対応する数値を掛けて足す内積を計算すると照合点が得られます。点数を重みに変え、その重みで各Valueを混ぜたものがAttentionの出力です。
数式で見るAttention
式は `Attention(Q,K,V) = softmax(QKᵀ / √d) V` です。QとKの内積で照合点を作り、Keyベクトルの要素数dの平方根で割って数値が極端に大きくなるのを抑えます。Softmaxは照合点を合計1の重みに変換する処理です。最後に、その重みでVを合計します。
Multi-Head Attentionは複数の照合を並行する
1組のQuery・Key・Valueで行うAttentionを1つのヘッドと呼びます。Multi-Head Attentionは、異なる行列で作った複数のヘッドを並行に計算します。1つの層で複数の照合結果を作れるため、指示語、語順、離れた位置の関係などを異なる数値変換を通して扱えます。
| Transformerブロックの処理 | 役割 |
|---|---|
| Multi-Head Attention | ほかの位置から必要な情報を集める |
| フィードフォワードネットワーク | 各位置で、集めた情報を個別に変換する |
| 残差接続 | ブロックの入力を出力へ加え、元の情報と修正分の両方を次の層へ渡す |
| 正規化 | 数値の分布を整え、深い層の計算を安定させる |
複数ヘッドの出力は1つにまとめられ、フィードフォワードネットワークを通って次の層へ進みます。各ヘッドに「文法担当」という固定役があるわけではありません。最終的な出力は、多数のヘッドと後続層の計算が重なって作られます。
因果マスクは未来のトークンを隠す
文章生成に使われるDecoder型モデルは、文章の続きを予測するように学習します。「日本の首都は東京です」なら、「日本の首都は」までを見た時点で「東京」を予測します。学習中に後ろの正解が見えると、実際の生成では使えない情報に頼ってしまいます。
因果マスクは、ある位置から後ろのトークンを参照できなくする仕切りです。5番目の位置は1〜5番目だけを参照し、6番目以降は見ません。この制限により、学習時は文中の複数位置をまとめて計算しながら、各位置が過去だけを見る条件を保てます。
| 段階 | モデル内部で起きること |
|---|---|
| 学習 | 予測と正解のずれを損失という数値にし、誤差逆伝播(ずれをもとに内部の数値の直し方を計算する方法)でパラメータ(学習で調整される数値)を更新する |
| 生成 | 学習済みのパラメータを原則固定し、次のトークンを選んで末尾へ追加する |
事前学習の後には、指示と回答の組を使う調整や、人間または別のAIによる評価を使う調整が加わる場合があります。質問へ答える、指示に沿う、一部の依頼を断るといった振る舞いは、Transformerの構造だけでなく、この追加調整とサービス側の指示にも左右されます。
KVキャッシュは過去のKeyとValueを保存する
回答を始める前に、モデルは質問と会話履歴をまとめて処理します。この最初の処理がPrefill(プリフィル)です。その後のDecode(デコード)では、新しいトークンを1つずつ作ります。
回答が伸びるたびに、過去の全トークンからKeyとValueを作り直す必要はありません。Key・Valueキャッシュ(KVキャッシュ)は、各層で計算済みのKeyとValueを保存し、新しいトークンのQueryから再利用します。これによって生成時の重複計算を減らせます。
KVキャッシュ自体は、GPU(AIの行列計算を並列に実行するプロセッサ)のメモリを使います。入力と回答が長くなるほど保存するKeyとValueが増えるため、長い会話は速度と同時実行数、推論費用に影響します。
Transformerの計算量とメモリを減らす技術
長文の処理と高速な生成を両立させるため、負荷の大きい部分に改良が加えられています。
| 改良 | 変える場所 | 主に減らすもの |
|---|---|---|
| Grouped-Query Attention(GQA)・Multi-Query Attention(MQA) | Key・Valueのヘッド数 | KVキャッシュの容量とDecode時のメモリ読み出し |
| FlashAttention | GPU上でAttentionを計算する順序 | GPUのメモリ間のデータ読み書き |
| Mixture of Experts(MoE:複数の専門ネットワークから一部を選ぶ方式) | 主にフィードフォワード層 | 各1トークンで実際に動かすパラメータ数 |
| 局所・疎なAttention(参照先を一部に絞る方式) | 参照するトークンの組 | 長文で作る照合の数 |
| 状態空間モデルとのハイブリッド | 一部の系列処理 | 長い入力の計算量とメモリ |
GQAは複数のQueryヘッドで少数のKey・Valueヘッドを共有し、MQAはKey・Valueを1組に減らします。保存するKey・Valueと生成中に読み出すデータが減るため、KVキャッシュが推論速度を制約する場面で効果があります。FlashAttentionは正確なAttentionの結果を維持しながら、GPU内のデータ移動を減らす実装方法です。MoEは複数の専門ネットワークを用意し、トークンごとに選ばれた一部だけを計算します。
状態空間モデルは、すべてのトークン対の照合表を作らず、途中状態を更新しながら並びを処理する方式です。現在は、RoPE、GQA、MoE、疎なAttention、状態空間モデルを組み合わせた構造も発表されています。内部構造が非公開の商用モデルについては、公開資料の範囲を超えて採用方式を断定できません。
同じTransformer系でも対話AIサービスの答えが変わる理由
Transformerは、入力されたトークンを計算するモデルの構造です。チャットの画面、Web検索、ファイルの抽出、コード実行は、それぞれのサービスがモデルの前後に加えている機能です。
| 層 | 例 | 回答に影響するもの |
|---|---|---|
| モデルの構造 | Transformer、MoE、ハイブリッド構造 | トークンをどう計算するか |
| 基礎モデル | GPT、Claude、Gemini、Grokなど | 学習データ、パラメータ、追加調整、扱える入力・会話の長さ(文脈長) |
| サービス機能 | 検索、ファイル解析、コード実行、メモリ | モデルへ渡す情報と、モデル外で実行する処理 |
| 契約 | 個人、Team、Enterprise、API(外部アプリからAIを呼び出す窓口) | 料金、利用上限、入力の学習利用、管理機能、出力条件 |
同じPDFを渡しても、文章、表、画像をどの形で抽出するかはサービスごとに異なります。スキャンPDFに光学式文字認識(OCR:画像内の文字を文章へ変える処理)を使うなら、その認識結果がTransformerへ入る前の段階で差を生みます。
Web検索では、検索システムが探した文章をモデルの入力へ追加します。コード実行では、モデルが外部の実行環境へ処理を依頼し、結果を再び入力として受け取ります。モデルが同じTransformer系でも、前処理、外部ツール、システム指示が変われば、画面から得られる答えも変わります。
契約時に選ぶのは、モデルと検索・ファイル・実行機能、データ取り扱いを組み合わせたサービスです。
チャット画面で「前の条件を忘れた」「PDFの表を読めなかった」と感じたときは、長文を保持する計算、PDFの前処理、検索結果、システム指示、利用上限のどこで差が生じたかを切り分けます。Transformerはモデル内部の計算構造です。モデル更新で変わる問題と、検索・ファイル機能・契約を変える問題は同じではありません。
仕事用対話AIの契約プランTier表
日本で1人で働くフリーランスが、公開情報のWeb調査、PDF・Office文書の読解、表やデータの計算、長文原稿の管理、コード作業を、ブラウザ版AIの月払い1契約で進める場合を比べます。顧客の機密情報は入力しない前提です。
比較対象は、1人で月払いでき、業務利用を一律に禁じていない有料プランです。Perplexity Proは月20米ドルですが、個人向け規約が利用を個人的・非商用に限定しています。Enterpriseは席契約になるため、この表には含めません。無料枠、Team、Enterprise、APIも別の契約単位です。
順位は下の順で決めます。まず全プランを1で比べ、同じ順位になったプラン同士だけを2で比べます。以降も同じ方法で進み、4まで差がなければ同順位です。
| 比較順 | 判定する内容 |
|---|---|
| 1 | Web調査、PDF・Office文書、表・データ計算、長文原稿の管理、コード作業の対応数。多いプランを上位にする |
| 2 | 商用成果物に明記された負担。帰属表示が必要、または入出力へ取消不能・永久・再許諾可能なライセンスを与えるプランは、その負担がないプランより下位にする |
| 3 | 入力データと業務契約の確認点。①モデル改善を止めるのに設定変更が必要、②停止すると契約内の機能を失う、③同じ個人プランの公開規約で業務利用時の成果物権利を確認できない、の3点を数え、少ないプランを上位にする。2は明記された負担、3③は権利を確認できない状態を扱う |
| 4 | 1人分の月払い価格。同じ通貨なら安いプランを上位にし、通貨が異なる場合は同じとして扱う |
公開利用枠は、メッセージ数、ファイル容量、5時間枠など各社の単位がそろわないため順位には使いません。契約後に足りるかを判断できるよう、各プランの行へ確認できた上限を記載します。
| 順位 | Tier | 契約プラン | 1人分の月払い | 5業務への対応 | 入力・成果物の条件 | 公開利用枠 | この順位になった理由 |
|---|---|---|---|---|---|---|---|
| 1 | S | Claude Pro | 20米ドル/月 | 調査○(Web検索・Research)/PDF・Office○/表・計算○(コード実行)/原稿管理○(Projects・Cowork)/コード○(Claude Code) | モデル改善への利用は利用者が選択。許可しない場合は通常30日保持。出力に関するAnthropicの権利は利用者へ譲渡 | Freeの少なくとも5倍/5時間。週次上限があり、チャット、Research、Claude Codeで共有 | 5業務すべてに対応。帰属表示・広範ライセンスはなく、入力データと業務契約の3つの確認点にも該当しない |
| 2 | A | ChatGPT Plus | 20米ドル/月 | 調査○(検索・Deep Research)/PDF・Office○/表・計算○(データ分析)/原稿管理○(Projects・Tasks)/コード○(Codex) | 個人版は学習利用が既定で有効だが設定で停止可能。適用法の範囲で出力は利用者が所有 | 1ファイル512MB、文書200万トークン、1プロジェクト20ファイル。通常メッセージ上限は変動 | 5業務すべてに対応し、帰属表示・広範ライセンスもない。モデル改善への利用を止めるには設定変更が必要 |
| 3 | B | Mistral Pro | 14.99米ドル+購入時に表示される税/月 | 調査○(Web検索・Deep Research)/PDF・Office○/表・計算○/原稿管理○(Canvas・Projects)/コード○(Vibe for code) | 学習利用は既定で有効だが設定で停止可能。Commercial Termsでは業務利用時の出力を顧客が所有 | メッセージはFreeの最大6倍、検索は最大5倍、文書15GB、Flash回答150回/日。Fair Useあり | 5業務すべてに対応し、帰属表示・広範ライセンスもない。設定変更が必要で、個人Proの購入画面からCommercial Termsへ同意する経路を公開資料で確認できない |
| 4 | C | Google AI Pro | 2,900円/月 | 調査○(検索・Deep Research)/PDF・Office○/表・計算○/原稿管理○(Gemini Notebook・Workspace)/コード○(Antigravity) | アクティビティの保存をオフにすると新規会話は学習に使われないが、ブラウザでは接続済みアプリを利用できない。Googleは生成したオリジナル内容の所有権を主張しない | Freeの4倍、100万トークン、5TB。利用枠は5時間ごとに回復し、週次上限もある | 5業務すべてに対応し、帰属表示・広範ライセンスもない。設定変更と接続済みアプリの停止が必要で、個人プランの公開規約には商用成果物の権利が明記されていない |
| 5 | D | SuperGrok | 30米ドル/月 | 調査○(Web・X検索)/PDF・Office○/表・計算○/原稿管理○(Connectors・文書生成)/コード○(解析・生成) | 学習利用は設定で停止可能。商用利用は可能だが帰属表示が必要で、入力・出力へ非常に広い利用ライセンスを付与 | Chat、Imagine、Voice、Buildが1つの週次枠を共有。具体量は非公開で、追加クレジットは別料金 | 5業務すべてに対応するが、成果物の帰属表示と、入出力への取消不能・永久・再許諾可能なライセンスがあるため5位 |
この条件で選ぶ契約
1位はClaude Pro(月20米ドル)です。Web調査からコードまで5業務を扱え、入力がモデル改善に使われるのは利用者が許可した場合に限られます。適用法で認められる範囲で、Anthropicが出力に持つ権利も利用者へ譲渡されます。公開利用枠はFreeの少なくとも5倍/5時間で、チャット、Research、Claude Codeに共通の週次上限があります。

