生成AI資格対策(生成AIパスポート+G検定)
追加学習の手法
3つの選択肢は、同じ土俵に並んでいない
モデルの出力を望みどおりに近づけたいとき、取れる手は大きく3つあります。名前を並べて覚えるだけでは試験のシナリオ問題に対応できないので、何を変えているのかという観点で整理します。
プロンプトエンジニアリングは、指示の書き方を工夫する手です。役割を与える、出力の形式を指定する、手本を数例見せる、といった工夫がこれにあたります。モデルにもデータにも手を触れず、変えているのは入力の文面だけです。コストは最も低く、試して駄目ならすぐ書き直せます。まず最初に試すべき選択肢です。
RAG は、検索した文書をプロンプトに足す手です。変えているのはモデルに渡す情報であって、モデル自体ではありません。知識を足したいときに効きます。
ファインチューニングは、事前学習済みのモデルに追加のデータを学習させ、パラメータそのものを書き換える手です。振る舞いの型を変えたいときに効きます。学習用データを揃える手間、計算資源、学習後の評価まで含めると、3つの中で最も重い選択になります。
頻繁に変わるものを、変えにくい場所に入れない
| 観点 | プロンプトエンジニアリング | RAG | ファインチューニング |
|---|---|---|---|
| 何を変えるか | 入力の文面 | モデルに渡す情報 | モデルのパラメータ |
| コスト | 最も低い。すぐ試せる | 中程度。検索基盤の構築と運用が要る | 最も高い。データ整備と学習と評価が要る |
| 更新頻度への強さ | その場で書き換えられる | 文書を差し替えれば即反映 | 反映のたびに再学習が要る |
| 得意なこと | 出力形式の指定、手順の指示 | 最新情報や社内知識の反映 | 文体・書式・専門的な言い回しの再現 |
| 苦手なこと | 知らない知識は補えない | 検索が外すと回答も外れる | 知識の鮮度を保つこと |
試験で最も効くのは、更新頻度への強さの行です。頻繁に変わるものを、変えにくい場所に入れてはいけないというのが判断の芯になります。毎月改定される規程をファインチューニングで覚え込ませれば、改定のたびに学習し直す羽目になります。
ファインチューニングの周辺に並ぶ言葉
似た用語がいくつも並ぶので、区別が問われます。
転移学習は、あるタスクで学習した知識を別のタスクへ活かす考え方の総称です。事前学習済みモデルを土台にして特定用途へ仕立てる流れ全体を指す広い言葉で、ファインチューニングはその具体的なやり方の1つと位置づけられます。
蒸留 (knowledge distillation) は、大きく高性能なモデルの出力を教師として、小さなモデルに真似させる手法です。狙いは軽量化で、性能をある程度保ったまま、動作が速く安価なモデルを得ることにあります。
LoRA は、効率的なファインチューニングの代表格です。元のモデルのパラメータを全部書き換えるのではなく、小さな追加部品だけを学習させて元のモデルに重ねる方式を取ります。学習に必要な計算資源とメモリが大幅に減り、用途ごとの追加部品を差し替えて使い分けることもできます。こうした一群は効率的ファインチューニングと総称されます。
これらはいずれもモデル側に手を入れる系統である点が共通します。RAG やプロンプトとは系統が違う、という大分類を先に持っておくと混乱しません。
足りないのは知識か、それとも型か
この単元は、用語の定義よりもシナリオからの選択が主戦場です。出題者は次のような言い換えで攻めてきます。
- 「最新の社内規程を反映して回答させたい」「毎月更新される商品情報を扱いたい」は RAG です。知識が足りないのであって、振る舞いが悪いのではありません
- 「自社の報告書の独特な文体で書かせたい」「決まった書式を必ず守らせたい」はファインチューニングです。知識ではなく型の問題だからです
- 「まず費用をかけずに試したい」「短期間で改善したい」はプロンプトエンジニアリングが答えになります
- 「大きなモデルの性能を保ちつつ軽くしたい」は蒸留、「計算資源を抑えてファインチューニングしたい」は LoRA などの効率的な手法です
- 「ファインチューニングすれば最新情報も反映できる」という選択肢は誤りとして置かれます
迷ったときは、足りないのが知識なのか、それとも振る舞いの型なのかを自問してください。知識なら RAG、型ならファインチューニング、まだ何も試していないならプロンプトです。この一問で大半のシナリオ問題は切り分けられます。
復習ミニクイズ
ある企業が、四半期ごとに改定される社内の経費精算規程について、従業員の質問に正しく答えられるチャットを作ろうとしています。最も適切な手法はどれですか。