amBrain
FinTechOct 23, 2026読了10分

ファインチューニングか RAG か:AI モデルを自社のデータで学習させるか、自社の文書を検索させるか

ファインチューニングRAGLLMインテグレーション誰が作るのか
画像を読み込めませんでした
目次

自社の文書をもとに質問に答えるには、AI モデルにはたいてい、質問ごとに事実を調べる RAG が必要だ。ファインチューニングは、形式と口調に向いている。

AI モデルに自社の文書をもとに質問に答えさせたいなら、たいていはその文書でモデルを学習させる必要はない。検索拡張生成(RAG)は、質問が来るたびに自社の文書を検索し、合致する断片(パッセージ)を質問と一緒にモデルに渡す。ファインチューニングとは、自社で用意した例を使って、既存のモデルをさらに学習させることだ。研究論文やベンダーのガイドによれば、ファインチューニングは、新しい事実を教えるよりも、形式や口調を教えるほうに向いている。自社の事業の実際の質問を使ったテストで、どちらが必要か、あるいは両方が必要かがわかる。

短い答え:現在の価格や契約の条件のように、モデルが知りえない事実を必要とするなら RAG を選ぶ。ファインチューニングを検討する価値があるのは、正しい事実を与えられていても、モデルが形式や口調を誤るときだ。決める前に、確認済みの答えを付けた実際の質問を集め、それに照らして検索と回答の両方をテストする。

ファインチューニングと RAG は何が違うのか

大規模言語モデル(LLM)、つまり ChatGPT の裏にあるのと同じ種類の AI は、学習に使われたテキストから知識を得ている。社外に出たことのない文書はそのテキストに含まれていないので、モデルは別の方法でそれを受け取る必要がある。

RAG では、文書はモデルの外にある検索インデックス、つまり自社のファイルから作った断片の目録の中に置かれる。誰かが質問すると、システムは合致する断片を見つけ、それをプロンプト、つまりモデルが受け取るテキストに加える。システムはどの断片を使ったかを把握しているので、回答ごとに、その出典の文書を横に示せる。

ファインチューニングは、質問やタスクと、望む答えとを組にした例を使って、モデルをさらに学習させる。その結果できるのは、モデルの新しいバージョンだ。モデルが学んだことはモデル内部の数値全体に散らばっており、ある事実がどこから来たのかを示すファイルはない。

2026年10月23日に閲覧した OpenAI のガイド「Optimizing LLM Accuracy」は、この違いを試験にたとえて説明している。RAG は、調べものをするために「教科書を手元に」置いておくようなものだ。ファインチューニングは、何か月も授業に出て、「繰り返し出てくる多くの例」から学ぶようなものだ。

ガイドはさらに、二つの手法は「排他的ではなく、足し合わせるもの」だと述べている。また、「OpenAI における最大級の顧客導入の多くは、プロンプトエンジニアリングと RAG だけを使って行われた」とも書いている。プロンプトエンジニアリングとは、モデルへのより良い指示と例を書くことだ。

自社の文書でモデルをファインチューニングして、自社の事業を覚えさせることはできるのか

公開されている研究によれば、自社の文書でモデルを学習させても、自社の事業の事実を確実に教えられるわけではない。2023年12月に最初に公開された研究で、Oded Ovadia と3人の共著者は、RAG と、文書のプレーンテキストでモデルをファインチューニングする方法とを比較した。その要旨によれば、「RAG は一貫してそれを上回り」、モデルはこの方法では「新しい事実情報を学ぶのに苦労する」。要旨はさらに、学習中に「同じ事実のさまざまなバリエーションを数多く」モデルに示すことが助けになりうるとしている。

Zorik Gekhman と6人の共著者による2024年の論文は、質問と答えを組にしたデータでのファインチューニングを検証した。新しい事実を含む例は、モデルがすでに知っていることと一致する例に比べて「著しく遅く学習される」。そして、モデルがそれらをいったん学習すると、事実と異なる答えを返しやすくなった。著者らは、この結果が、モデルは「事実に関する知識の大部分を事前学習を通じて獲得し」、ファインチューニングは「それをより効率的に使うことをモデルに教える」という見方を裏づけると書いている。ここでいう事前学習とは、モデルの開発元が最初に行う学習のことだ。

事業にとって、価格や規程の文言のように変わる事実は、システムが検索する文書の側に置くべきだ。ファインチューニングしたモデルは、学習した日に覚えたことを持ち続け、それを変えるにはもう一度学習を実行する必要がある。

ファインチューニングをする価値があるのはどんなときか

OpenAI のガイドによれば、モデルが「誤った形式で一貫しない結果を出している」ときや、口調や話し方のスタイルが「正しくない」ときは、与える情報ではなく、モデルの振る舞いのほうに手を入れる。まずはプロンプトの中の指示と例を改善し、ファインチューニングはその次の段階だ。ガイドは、ファインチューニングする理由として効率も挙げている。つまり、より小さなモデルで、あるいはより少ないトークンで、同じ精度を出すことだ。トークンとは単語の一部分のことで、モデルのプロバイダーはトークン単位で料金を取る。

たとえば、請求書を読むモデルは、そのデータを、会計システムが受け付けるとおりのレイアウトで返さなければならない。顧客向けに下書きする返信は、自社のサポートチームらしい口調である必要があるかもしれない。また、必要な精度に届くなら、ファインチューニングした小さめのモデルのほうが、大きな汎用モデルより安く運用できることもある。

学習用の例は、実際の仕事とまったく同じ形をしていなければならない。ガイドは、まず「50以上の例」から始めてテストし、残った誤りがモデルの振る舞いに関するものである場合にだけ例を増やすよう勧めている。その例を書くか確認するのは、その仕事を毎日している人でなければならない。だから、エンジニアリングの時間とあわせて、その人の作業時間も予算に入れておく。

自社の文書は少ない。そもそも RAG は必要なのか

文書が少なければ、そもそも RAG は要らないかもしれない。Claude のモデルを手がける会社である Anthropic は、2024年9月19日付の投稿でこう書いている:「ナレッジベースが200,000トークン(資料にして約500ページ)より小さいなら、RAG やそれに類する手法を使わずに、ナレッジベース全体をモデルに渡すプロンプトにそのまま入れればよい。」

どのモデルにも、一度に読めるトークン数の上限がある。プロンプトキャッシングを使うと、アプリケーションは、同じ文書一式のように、以前のリクエストで送ったテキストを再利用できる。ガイドと同じ日に閲覧したその投稿によれば、Claude ではプロンプトキャッシングによってコストが「最大90%」下がる。OpenAI のガイドは、モデルが「非常に大きなプロンプト全体にわたって注意を保つのに苦労することがある」と警告しているので、実際に使う予定のサイズでテストする。

それでも、質問のたびにすべての文書を送るほうが、いくつかの断片を送るより費用がかかり、その費用はページを足すごとに増えていく。パイロットは、一つの製品ラインのマニュアルのような小さな文書一式から始め、文書がプロンプトに収まらなくなった時点で RAG に移ることができる。

RAG では、どんな失敗が起こりうるのか

RAG のシステムは、モデルが一語も書かないうちに失敗することがある。検索が間違った断片を返したときや、断片を返しすぎたときだ。OpenAI のガイドは、その両方のケースを説明している。システムが「誤ったコンテキストを渡してしまい、モデルにはとうてい答えられない」ことがある。もう一つのリスクは無関係なテキストが多すぎることで、それは「本当の情報をかき消し、ハルシネーションを引き起こす」。ハルシネーションとは、もっともらしく聞こえるが誤っている答えのことだ。

多くの RAG システムは、語句の完全一致ではなく意味で検索するので、正確なコードを取りこぼすことがある。Anthropic の投稿は、エラーコード TS-999 についてのサポートの質問を例に挙げている。そうした検索では、エラーコード全般についてのページは見つかっても、TS-999 のページを取りこぼすかもしれない。投稿は、正確なテキストを探すキーワード検索と組み合わせることを提案している。

だから、検索はそれ単体でテストする。テスト用の質問ごとに、答えを評価する前に、正しい断片が返ってきたかどうかを確かめる。返ってきていなければ、OpenAI のガイドは、直すべきは検索だとしている。

データを自社の管理下に置けるのは、RAG とファインチューニングのどちらか

どちらも自社のサーバーで動かせる。RAG では、文書は自社が管理するインデックスの中に置かれ、モデルが目にするのは、質問ごとに選ばれた断片だけだ。ファインチューニングでは、学習用の例がモデルのファイルに組み込まれ、モデルがそこから学んだことが回答の中に再び現れることがある。

RAG なら、アクセス権を徹底させやすい。質問している人が見ることを許されていない文書を、検索の段階で除外できるからだ。Microsoft は、自社の Azure AI Search サービスでそれを実現する方法の一つを説明している。同じ日に閲覧したセキュリティフィルターのパターンについてのページは、「グループまたはユーザーの ID を含む文字列に基づいて検索結果を絞り込む」フィルターを説明している。このページは、サービスに組み込まれたアクセス制御リストを使えないシステム向けに、このフィルターを紹介している。

同じページによれば、そのフィルター自体には「認証も認可もない」。そのため、アプリケーションが検索のたびに正しいユーザーやグループを渡さなければならない。ファインチューニングしたモデルには、これに相当する仕組みがない。ある部署の例からモデルが学んだことは、そのモデルを使うどのユーザーへの回答にも現れうる。

各国のデータ保護当局と欧州データ保護監察機関(European Data Protection Supervisor)の代表で構成される欧州データ保護会議(EDPB)は、2024年12月17日に意見 28/2024(Opinion 28/2024)を採択した。意見は、個人データが「モデルのパラメータの中に『吸収』されたまま残っている可能性がある」ため、「個人データで学習した AI モデルは、どんな場合でも匿名とみなせるわけではない」としている。パラメータとは、モデルが学んだことを蓄えている内部の数値のことだ。意見はさらに、あるモデルが匿名かどうかはケースごとに評価しなければならないと付け加えている。

サポートチケットや顧客のファイルでファインチューニングするなら、モデルそのものが個人データを含んでいるかもしれないと考えておく。特定の一人の記録を削除してほしいという要請にどう対応するのかを尋ねる。RAG なら、文書を削除してインデックスを更新すれば、新しい質問に対してその文書が見つかることはなくなる。ログ、キャッシュ、保存されたチャット履歴に残ったコピーは、それぞれ別に消去する必要がある。ルールは国によって異なり、この記事は法的助言ではないので、自社のケースは弁護士に確認する。

ファインチューニングしたモデルは、いつまで使い続けられるのか

ファインチューニングしたモデルは、ベースモデル、つまり出発点にした汎用のモデルの上に作られる。クラウドサービスを通じてファインチューニングする場合、そのベースモデルと、それをもとにした自社のバージョンをいつまで使えるかは、プロバイダーが決める。同じ日に閲覧した OpenAI の API 料金ページには、「OpenAI はファインチューニングのプラットフォームを段階的に終了しつつある。」とある。ページはさらに、ファインチューニングしたモデルは、そのベースモデルが deprecated になるまで使い続けられるとも述べている。deprecated とは、提供を終える予定のモデルを指す OpenAI の用語である。

日付は、OpenAI の廃止(deprecations)のページに載っている。2026年5月7日からは、一度もファインチューニングを実行したことのない組織は、新たに始められなくなった。2026年7月2日からは、直近60日間にファインチューニングしたモデルを使っていなかった組織にも、同じことが適用された。そして2027年1月6日には、「アクティブな既存の顧客も、新しいファインチューニングのジョブを作成できなくなる。」

同じページは、モデルそのものの終了日も定めている。gpt-4.1-nano とほか五つのモデルについては、ファインチューニング版の提供終了日を2026年10月23日としている。GPT-4o、GPT-4o mini、GPT-4.1、GPT-4.1 mini は2027年1月14日にそれに続き、「これらのモデルのファインチューニング版は、元になっているベースモデルと同じ提供終了スケジュールに従う。」

オープンウェイトモデル、つまり開発元がモデルのファイルを公開し、誰でもライセンスのもとで動かせるモデルなら、引き続き自社のハードウェアでファインチューニングできる。OpenAI の gpt-oss-120b がその一つで、同じ日に閲覧した Hugging Face のモデルサイトにあるそのページには、Apache 2.0 ライセンスが記されている。ページによれば、このモデルは「単一の H100 ノードでファインチューニングできる」。つまり、Nvidia H100 GPU を積んだサーバー一台のことで、H100 は、このページがモデルを動かすためのチップとして挙げている種類である。

モデルがプロバイダーのクラウドで動くにせよ自社のハードウェアで動くにせよ、ベースモデルが新しくなれば、ファインチューニングとテストをもう一巡やり直すことになる。RAG のシステムも、回答を書くモデルが変われば再テストが必要だが、インデックスと自社の文書はそのまま残る。

RAG とファインチューニングの構築と運用には、いくらかかるのか

ここでは数字を示さない。量と構成によって決まるからだ。ただし、費用の内訳は両者で異なる。

RAG の場合、構築の作業は、文書をうまく検索できるように準備すること、インデックスを作ること、そして検索をテストすることだ。運用費には、検索サービスと、長くなるプロンプトの分が含まれる。質問のたびに、その質問のために見つかった断片が一緒に送られるからだ。再インデックスは、ファイルが追加または変更されたときに自動で実行できる。

ファインチューニングでは、費用の多くがスタッフの時間になりうる。その仕事を知っている人が学習用の例を書き、確認するからだ。そのうえに、学習の実行と、新しいモデルをホストするサーバーやサービスの費用がかかる。ベースモデルが新しくなったり、新しいタスクが加わったりすれば、その作業にもう一度お金を払うことになる。

両方が必要なシステムもある。初期のテストで、形式だけでなく事実にも問題があるとわかった場合について、OpenAI のガイドは「最終的にファインチューニング + RAG になる可能性が高い」と述べている。その場合は、それぞれに費用がかかる。

RAG とファインチューニングのどちらを選ぶべきか。構築を申し出る会社に何を尋ねるべきか

まず、実際の業務から集めた質問や文書で、一つひとつに人が確認した答えを付けたテストセットを作る。OpenAI のガイドによれば、「20以上の質問と回答」のセットは、失敗がなぜ起きるのかを確かめたうえで、より高度な手法のための「適切なベースライン」になる。テストセットの作り方は、停滞した AI パイロットについての記事が説明している。

次に、よく書かれたプロンプトと RAG を試し、失敗を原因ごとに分類する。断片が欠けているなら、検索に手を入れる必要がある。正しい断片が返ってきたのに、モデルがそれを読み違えたり、誤った形式で答えたりすることもある。その場合について、ガイドは、まず指示を改善し、プロンプトに入れた少数の解答例で答えが良くなるならファインチューニングに進むよう勧めている。

設計を提案してくるすべての会社に、同じ質問をする:

  • 当社のテストセットでのどの結果から、ファインチューニングを提案することにしたのか
  • 開くことを許されていない文書を、システムはどうやってスタッフに見せないようにするのか
  • ファインチューニングするなら、学習用の例は誰が書き、ベースモデルの提供が終了したらどうなるのか
  • ローンチ後に、文書一件や特定の一人のデータを、当社はどうやって削除するのか

amBrain はどこに位置づけられるか

amBrain が公に説明している言語モデルのプロジェクトは、次の一件だ:「私たちは、顧客の FinTech 環境の境界内で LLM の統合を本番稼働させた:ブローカーや取引施設から届く非構造化の通知 ― コーポレートアクション、銘柄や証拠金の変更 ― を抽出・正規化し、トレーディングシステムが取り込む構造化された記録にするものだ。」

この記事は事例紹介ではなく、顧客のための仕事についても述べていない。引用した一文は、そのシステムが RAG を使っているのか、ファインチューニングを使っているのか、どちらも使っていないのかも、どのモデルを使っているのかも、そのモデルがどこで動いているのかも述べていない。この記事の例は一般的なものであり、そのプロジェクトや amBrain のほかの仕事から取ったものではない。

ここで名前を挙げた企業、公的機関、モデル、研究論文は、公開されているページから引用したものであり、この記事は、amBrain とそれらのいずれかとのあいだに何らかの関係があるとは主張しない。amBrain の価格、期間、条件も示さない。

amBrain は2019年からソフトウェアを作っている。働き方には三つの形態がある:フルデリバリー、専任チーム、あるいはあなたのチームに入るエンジニア。所有権についての一文はこうだ:「顧客は、プロダクトとコードの完全な所有権を保持する。ただし、私たちの再利用可能なコンポーネントは除く。」amBrain が候補リストに入っているなら、ほかのどの会社とも同じ質問を渡すこと。

手元に似た設計はありますか?

現在のアーキテクチャと気になっている障害シナリオをお持ちください。30 分で一緒に確認します。

打ち合わせを予約