こう 聞かれます
- 「LLM の
機能を 作る とき、 RAG と ファインチューニングを どう 使い 分けますか」 - 「社内の
文書に ついて 答える AI を 作るなら、 どちらを 使いますか」 - 「まず
何から 試しますか」
面接官が 見ている点
- 2 つが
「知識を足す」のか 「振る舞いを変える」のか、 違いを言えるか - 手軽な
手から 順に 試す、という 順番の 感覚があるか - 費用、
更新の 手間、 出典を 示せるかで 比べられるか
短い答え
- RAG は、
質問に 関係する 文書を 探して LLM に 一緒に 渡す方法で、 社内の 文書のように 変わる 知識を 答えさせたい ときに 使います。 出典を 示せて、 文書を 差し替えるだけで 更新できます。 - ファインチューニングは、
例を 使って モデルを 追加で 学習させる 方法で、 口調や 出力の 形のような 振る 舞いを 変えたい ときに 使います。 - まずは
プロンプトの 工夫と RAG で 始め、 それでも 足りない 所だけファインチューニングを 考えるのが 現実的です。
少し 詳しい答え
2 つの違い
LLM (大規模言語モデル) は、
- RAG (検索で
補う 生成) は、 質問が 来たら、 手元の 文書から 関係する 部分を 探し、 その 文書を 質問と 一緒に LLM に 渡して 答えさせます。 モデル その ものは 変えません。 本で 言えば、 試験に 資料を 持ち込む形です - ファインチューニングは、
たくさんの 「入力と望む出力」の 例で モデルを 追加で 学習させ、 モデル その ものを 変えます。 本で 言えば、 書き方の 癖を 練習で 身に 付ける形です
比べる軸
| 軸 | RAG | ファインチューニング |
|---|---|---|
| 得意なこと | 変わる | 口調、 |
| 更新 | 文書を | 学習し直す |
| 出典 | 示せる | 示しにくい |
| 始める手間 | 小さめ | 例の |
始める順番
- プロンプトで
指示と 例を 工夫します - 知識が
足りなければ RAG で 文書を渡します - それでも
形や 口調が そろわない、 毎回の 長い 指示を 短くしたい、 などの ときに ファインチューニングを考えます
2 つは
トレードオフ
RAG は、
よく ある間違い
- 知識を
足すために ファインチューニングを選ぶ 変わる 知識は、 学習し直すたびに 古くなります。 RAG の ほうが 向いています - いきなりファインチューニングから始める
プロンプトと RAG で 足りる ことが 多く、 手間と 費用の 大きい手は 後に回します - RAG なら
間違えないと言う 探した 文書が 外れていれば、 答えも外れます
深掘りの問い
- 「RAG の
精度が 低い とき、 どこを 疑いますか」 検索の 側と 生成の 側を 分けて 調べる、と答えます - 「ファインチューニング用の
例は、 何件くらい 要りますか」 モデルや 作業で 変わるので、 少なく 始めて 評価しながら 増やす、と答えます - 「出典を
示すと 何が うれしいですか」 利用者が 根拠を 確かめられ、 間違いにも 気づきやすくなる、と答えます