ファインチューニングとRAGの違い、どちらを選ぶ?
画像出典: 写真: BalticServers.com(CC BY-SA 3.0 / Wikimedia Commons)
ファインチューニングはモデル内部のパラメータを追加学習で更新して知識やしゃべり方を統合する手法、RAGはモデルを変えずに外部データベースから関連文書を検索して回答時に参照させる手法です。頻繁に更新される社内情報や出典を示したい用途はRAG、専門用語や独自のトーンを身につけさせたい用途はファインチューニングが向き、両方を組み合わせることもできます。
この2つは、名前が並んで出てくる割に、やっていることがまったく違います。片方はAIそのものを作り替える作業で、もう片方はAIに資料を手渡す仕組みです。
正直なところ、ここを取り違えたまま進めると、かけた時間もお金も的外れなところに落ちます。逆に、仕組みの差さえ腹に落ちれば「うちはどっちか」は、ほとんど自動的に決まります。まずは、同じ絵が浮かぶところから始めましょう。
ファインチューニングとRAGは何が違う?
ひとことで言うと、知識をモデルの内側に入れるか、外側に置いておくかの違いです。
ファインチューニングは、すでに学習が済んだモデルに追加で学習をさせ、モデル内部のパラメータ(重み)を更新して知識を統合する手法です。出力層に近い層を新しいデータで再学習させ、特定の業務領域に合わせて微調整していきます。学習が終われば、その知識はモデル自身の一部になります。
RAG(Retrieval-Augmented Generation/検索して補強しながら生成する仕組み)は、モデルには一切手を触れません。質問が来たときに、外部のデータベースから関連性の高い文書を検索し、その内容を参考にして回答を作らせるやり方です。検索には埋め込み(Embedding/文章の意味を数値の並びに変換し、意味の近さで探せるようにする技術)を使います。
勉強とカンペというたとえは、この2つの距離感をよく表しています。新人研修を何日もかけて受けさせて業界用語や社風を体に入れてもらうのがファインチューニング、手元に最新の業務マニュアルを置いて必要なページを開きながら答えてもらうのがRAGです。
研修を受けた人は、いちいち資料を開かなくても自然に社内の言い回しで話せます。ただし研修内容が古くなれば、また研修をやり直すことになります。マニュアルを見る人は、差し替えれば即座に最新の話ができますが、マニュアルに書いていないことは答えられません。
それぞれの仕組みをもう少し詳しく
ファインチューニング:重みを書き換える
AIモデルの中身は、膨大な数のパラメータ(重み)という数値の集まりです。「次にどの言葉が来やすいか」という判断のクセが、この数値の並びとして保存されています。
ファインチューニングは、自社のデータを使ってこの数値を微調整する作業です。知識やしゃべり方が、モデルの性質そのものとして焼き込まれるのが最大の特徴です。追加した情報を取り出すために外部を検索する必要はなく、モデルは最初からそれを知っている状態になります。
RAG:質問のたびに探して渡す
RAGは、動くタイミングが違います。ユーザーが質問を投げたその瞬間に、社内文書のデータベースから関連しそうな文書を探し出し、質問文と一緒にモデルへ渡します。モデルは渡された文書を読んで答えを組み立てます。
モデルの中身は最初のままです。変わるのは、モデルの目の前に置かれる資料だけ。だから資料を差し替えれば、その瞬間から新しい情報で答えます。
- ファインチューニングは学習が終わるまで新しい知識を使えない/RAGは資料を置いた瞬間から使える
- ファインチューニングは知識の出どころを示せない/RAGは参照した文書を出典として提示できる
- ファインチューニングはモデルの話し方まで変えられる/RAGは話し方そのものは変わらない
コストと手間はどちらが重い?
ここは、はっきり差が出るところです。
| ファインチューニング | RAG | |
|---|---|---|
| 導入の重さ | 学習に時間とコストがかかる。高品質な学習データと高性能なハードウェアが必要で、コストは高くなる傾向 | 比較的低コストかつ迅速に導入できる |
| 情報の鮮度 | 鮮度を保つには定期的な再学習が必要 | 常に最新の情報を参照できる |
| もっともらしい嘘(ハルシネーション) | — | 抑制につながる |
KDDIの公表データをもとに作成
ハルシネーションというのは、AIが事実でないことをもっともらしく答えてしまう現象のことです。RAGがこれを抑えられるのは、答えの材料を手元の文書として与えているからです。記憶を頼りに思い出させるのではなく、目の前の資料を読ませるので、根拠のない作文をする余地が減ります。
逆に言えば、社内文書の整備が甘いままRAGを入れても、探し出せる資料がなければ答えの質は上がりません。RAGの精度は、検索対象になるデータの質と構造にそのまま引きずられます。
結局、うちはどちらを選べばいい?
判断は、扱う情報の性質で切り分けられます。
- その情報は頻繁に更新されるか 価格表・在庫・規程・人事情報のように日々変わるものならRAG。更新のたびに再学習するのは現実的ではありません。
- 回答の根拠を示す必要があるか 「どの資料に基づく答えか」を利用者に見せたいならRAG。出典を明示できるのはRAG側の強みです。
- 覚えさせたいのは知識か、話し方か 企業の専門用語やブランド独自のトーンでのコミュニケーションが必要なら、ファインチューニングが向きます。文体や語彙のクセは、外部文書を渡すだけでは移りません。
実務で最初にぶつかるケースの多くは、1番目と2番目で止まります。社内Q&A、問い合わせ対応、マニュアル検索といった用途は、ほぼRAGの領域です。費用対効果の面でも、ビジネスで問題になりやすい「もっともらしい嘘」と「情報の古さ」の両方に効くRAGが選ばれやすくなっています。
組み合わせる「ハイブリッド活用」も可能です。最新の公開データを活用したファインチューニングが効果的なケースもあり、二択で悩み続けるより、役割を分けて考えたほうが現実に合います。
分け方はシンプルです。変わらないもの(言葉づかい・業界の前提・回答の型)はファインチューニングで、変わるもの(具体的な数字・規程・最新の事実)はRAGで。この線引きにすると、どちらに何を入れるかで迷わなくなります。
ファインチューニングは、学習データの用意がいちばんの壁です。「社内文書をまとめて放り込めば賢くなる」ものではなく、高品質なデータを整える工程が本体だと考えたほうが実態に近くなります。データ整備の人手を確保できないなら、着手しても投資に見合いません。
RAGも万能ではありません。検索で拾えなかった文書の内容は答えに反映されないので、資料がバラバラの形式で散らばっている状態では期待した精度が出ません。まず整理すべきなのは、AIではなく文書のほうというケースは珍しくありません。
着手する前に確認しておきたいこと
- AIに答えさせたい質問を、実例で20個ほど書き出せるか
- その答えの根拠になる文書は、どこにどんな形式で置かれているか
- その文書は誰が、どのくらいの頻度で更新しているか
- 回答に出典の提示が必要か、それとも自然な文章だけでよいか
- 間違った回答が出たとき、誰がどう気づける運用にするか
この5つを埋めていくと、たいていの場合は答えが先に出ます。3番目で「毎週更新している」となればRAG、4番目で「出典は不要、社内らしい言い回しが最優先」となればファインチューニングの検討価値が上がる、という具合です。
技術の選定から入ると議論が長引きますが、扱う情報の性質から入ると短く決まります。急いで導入する必要はありません。仕組みの違いを知ってから決めれば十分です。
よくある質問
ファインチューニングとRAGの一番の違いは何ですか?
ファインチューニングはモデル内部のパラメータ(重み)を追加学習で更新して知識を統合する手法で、RAGはモデルを再学習させずに外部データベースから関連情報を検索し、それを参照して回答を生成する手法です。知識をモデルの内側に入れるか、外側に置いて参照させるかが根本的な違いです。
社内マニュアルをAIに使わせたい場合、どちらが向いていますか?
日々更新される情報を扱う場合や、回答の出典を明示したい場合はRAGが向いています。RAGは常に最新の情報を参照でき、比較的低コストかつ迅速に導入できるためです。マニュアルの更新頻度が高いほどRAGが有利になります。
ファインチューニングが有効なのはどんなときですか?
企業の専門用語やブランド独自のトーンでのコミュニケーションが必要な場合に向いています。話し方や語彙のクセはモデル内部の重みとして焼き込まれるため、外部文書を渡すだけでは実現しにくい部分です。
ファインチューニングとRAGは併用できますか?
併用できます。両技術を組み合わせるハイブリッド活用は可能で、最新の公開データを活用したファインチューニングが効果的なケースもあります。変わらない言葉づかいや回答の型をファインチューニングで、変わる数字や規程をRAGで扱うという役割分担が現実的です。
※記事で使用した内容・数値は変更される場合があります。最新情報は公式サイトをご確認ください。