生成AI技術
このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。
シラバス案 Ver.0.1 の小分類 4-18-3「生成AI技術」(大分類 4:デジタル技術/中分類 18:AI技術)。
2026-09-26 にシラバス本文と突合済み。
0. 何を押さえるか
このノートは生成 AI の仕組みの側を扱います。業務でどう使うか・何に気をつけて使うかは、
大分類 2 の AI 利活用のノートで扱います。
文章を生成する AI の中核は大規模言語モデル(LLM)で、やっていることは 1 つです。
それまでの文章(トークンの並び)を見て、次に来るトークンを確率で予測し、1 つ足す——を繰り返す。
ここから 4 つの用語がつながります。
| 用語 | 何か | 押さえどころ |
|---|---|---|
| 大規模言語モデル(LLM) | 膨大な文章で学習した、次のトークンを予測する巨大なモデル | 「知っている」のは学習した時点までの文章 |
| トークン | LLM が文章を扱う最小の単位 | 文字数とも単語数とも一致しない |
| コンテキスト内学習(In-Context Learning) | プロンプトに書いた指示や例から、その場で振る舞いを合わせる | モデルの中身(重み)は変わらない |
| 検索拡張生成(RAG) | 質問に関係する文書を検索し、プロンプトに添えて答えさせる | 再学習せずに最新・社内の情報を使える |
取り違えやすいのは、モデルを作り変える方法と入力を工夫するだけの方法の区別です。
| モデルの重み | 効果が続く範囲 | |
|---|---|---|
| 事前学習・ファインチューニング | 更新する(追加で学習させる) | 以後ずっと |
| コンテキスト内学習・RAG | 更新しない(入力に情報を足すだけ) | その入力(やり取り)の中だけ |
1. 大規模言語モデル
根拠: シラバス 4-18-3
大規模言語モデル(LLM)とは? 文章をどうやって作っているか?
LLM(Large Language Model)= 膨大な量の文章で学習した、言語を扱う大規模なニューラルネットワークのモデル
文章の作り方は、
それまでの文章を見て、次に来るトークンの確率を予測し、1 つ選んで足す——を繰り返すこと。
「大規模」なのは、学習に使う文章の量と、モデルの重み(パラメータ)の数の両方。
土台の仕組みは Transformer(文中の語どうしの関係を一度に捉える仕組み)。
LLM はどんな段階を経て作られるか?
| 段階 | 何をするか | 身につくもの |
|---|---|---|
| 事前学習 | 膨大な文章で次のトークンを予測する練習をひたすら繰り返す | 言葉の使い方・幅広い知識 |
| 追加の学習(ファインチューニングなど) | 指示と望ましい応答の例や、人の評価をもとに調整する | 指示に従い、対話する振る舞い |
事前学習だけのモデルは「続きの文章を書く」だけで、質問に答える形にはならない。
追加の学習でアシスタントとして振る舞うようになる。
LLM が事実と異なる内容をもっともらしく出力することがあるのはなぜか?
LLM は「正しいか」ではなく「文脈上ありそうか」で次のトークンを選んでいるから。
- 正しい事実を調べて答えているのではない
- 学習データに無い・少ないことでも、それらしい文章は作れてしまう
- 学習した時点より後の出来事は知らない
この現象をハルシネーションという。
RAG などで根拠となる文書を与えると減らせるが、ゼロにはならないので出力の確認は欠かせない。
同じ質問をしても、生成 AI の答えが毎回少しずつ違うのはなぜか?
次のトークンを、確率の高いものから「くじ引き」のように選んでいるから。
最も確率が高いものだけを選ぶのではなく、ある程度ばらつかせて選ぶので、
同じ入力でも出力が変わる。
| ばらつき | 向く用途 |
|---|---|
| 大きくする | アイデア出し、文章の言い換え |
| 小さくする | 事実の抽出、決まった形式の出力 |
出力が確率的であることが、便利さ(多様さ)と危うさ(再現しない)の両方の理由。
2. トークン
根拠: シラバス 4-18-3
トークンとは? 文字や単語とどう違うか?
LLM が文章を処理するときの最小の単位。文章をトークンの並びに区切って扱う。
| 1 トークンの大きさ | |
|---|---|
| 英語 | よく使う単語なら1 語で 1 トークン、長い語や珍しい語は分割される |
| 日本語 | 1 文字が 1 トークン前後のことが多いが、2 文字以上で 1 つ、1 文字が複数になることもある |
文字数とも単語数とも一致しない。 区切り方はモデルごとに異なる。
同じ内容でも、言語やモデルによってトークン数が変わる。
LLM を使うとき、トークン数が問題になるのはどんな場面か?
| 場面 | 何が決まるか |
|---|---|
| 一度に扱える量 | 入力と出力を合わせて扱えるトークン数に上限がある(コンテキストウィンドウ) |
| 利用料金 | API の料金は入力・出力のトークン数で数えることが多い |
| 応答の速さ | 出力はトークン 1 つずつ作るので、長いほど時間がかかる |
上限を超えた分は読み込めない・忘れられるため、
長い文書は要約する・必要な部分だけ渡すなどの工夫が要る(RAG もその 1 つ)。
3. コンテキスト内学習
根拠: シラバス 4-18-3
コンテキスト内学習(In-Context Learning)とは?
プロンプト(入力)の中に書かれた指示や例を手がかりに、LLM がその場で振る舞いを合わせること
「次の口コミを『好評』『不評』に分けて。例:『また来たい』→好評」と書けば、
追加の学習なしに、例にならって分類する。
モデルの重みは一切更新されない。
入力の中(コンテキスト)にある情報を使っているだけなので、
そのやり取りが終われば効果は残らない。
ゼロショット・ワンショット・フューショットの違いは?
プロンプトに添える「解き方の例」の数の違い。
| 添える例 | |
|---|---|
| ゼロショット | なし(指示だけ) |
| ワンショット | 1 つ |
| フューショット | いくつか(数個程度) |
例を添えるほど、出力の形式や判断の基準を狙いどおりに合わせやすい。
どれもコンテキスト内学習の使い方で、モデル自体は変わらない。
コンテキスト内学習とファインチューニングの違いは?
| コンテキスト内学習 | ファインチューニング | |
|---|---|---|
| 何を変えるか | 入力(プロンプト)だけ | モデルの重み(追加で学習させる) |
| 準備 | 例を数個書くだけ | 学習用データと計算資源が要る |
| 効果が続く範囲 | そのやり取りの中だけ | 以後そのモデルでずっと |
「学習」と名が付くが、コンテキスト内学習はモデルを学習させていない——ここが引っかけどころ。
4. 検索拡張生成(RAG)
根拠: シラバス 4-18-3
検索拡張生成(RAG)とは? どんな手順で答えるか?
RAG(Retrieval-Augmented Generation)= 質問に関係する情報を外部から検索し、それをプロンプトに添えて LLM に答えを生成させる仕組み
- 検索:質問に関係する文書を、社内文書や Web などから探す
- 拡張:見つけた文書を、質問と一緒にプロンプトへ入れる
- 生成:LLM が、渡された文書を根拠に答えを書く
LLM が覚えていない情報を「その場で読ませる」方法。
RAG を使うと何がよいか? 何は解決しないか?
| よくなること | 理由 |
|---|---|
| 最新の情報・社内の情報で答えられる | 学習し直さず、検索先の文書を更新するだけで済む |
| ハルシネーションを減らせる | 根拠となる文書を見ながら答える |
| 出典を示せる | どの文書を使ったか分かる |
| 解決しないこと |
|---|
| 検索で的外れな文書を拾えば、答えも外れる |
| 渡した文書を誤読・無視することはありうる(ゼロにはならない) |
答えの質は、検索の質と検索先の文書の質に左右される。
RAG とファインチューニングは、どう使い分けるか?
| RAG | ファインチューニング | |
|---|---|---|
| モデルの重み | 変えない | 変える |
| 向いていること | 頻繁に変わる知識、社内規程・マニュアルの参照、出典付きの回答 | 口調・形式・専門分野の言い回しなどの振る舞いを変える |
| 情報の更新 | 文書を差し替えるだけ | 学習をやり直す |
知識を足すなら RAG、振る舞いを変えるならファインチューニングが基本の考え方。