AI

ファインチューニングとは?LLMの追加学習の仕組み・RAGとの違いと使い分けを解説

ファインチューニングとは、事前学習済みのAIモデルに追加のデータで学習を行い、特定の用途に合わせて振る舞いを調整する手法です。LLM(大規模言語モデル)の文脈では、自社の業務データで応答の形式や口調を作り込む目的で使われます。ただし「社内知識を覚えさせたい」という目的には、多くの場合ファインチューニングよりRAGが適しており、この使い分けを誤ると投資が無駄になります。本記事の内容は、仕組みと転移学習・LoRAとの関係、RAG・プロンプト調整との使い分け基準、データ準備から評価までの実施手順、見送るべき場面の判断までの整理です。

目次

まとめ:ファインチューニングの向き不向きと検討順序の結論

ファインチューニングは、モデルの「知識」ではなく「振る舞い」を変える手法です。出力形式の固定、専門分野特有の言い回しへの適応、分類・抽出タスクの精度向上といった、望む挙動をデータで示せる用途に向きます。逆に、最新情報や社内文書の内容に基づいて答えさせる目的には不向きで、その用途は検索で知識を渡すRAGの領分です。

検討の順序も結論を出せます。まずプロンプトの改善で足りるかを試し、知識が足りないならRAG、それでも出力の形式や挙動が安定しないときに初めてファインチューニングを検討する。この順番が費用対効果の定石です。学習データの整備には相応の工数がかかるため、少量のデータで小さく検証してから本格投資に進む段階的な進め方を推奨します。

ファインチューニングの定義:事前学習済みモデルへの追加学習の仕組み

言葉の指す範囲と、学習工程のどこに位置する処理なのかを最初に確定させます。転移学習やLoRAといった周辺用語もここで整理します。

定義と処理の流れ:重みの更新でモデルの振る舞いを作り替える手法

LLM(大規模言語モデル)は、大量のテキストで言語の一般的なパターンを学ぶ事前学習を経て提供されます。ファインチューニングは、この学習済みモデルに対して、用途に特化したデータ(入力と模範出力のペア)を追加で学習させ、モデル内部のパラメータ(重み)を更新する処理です。プロンプトが「実行時に指示を渡す」のに対し、ファインチューニングは「モデルそのものを作り替える」点が本質的に違います。

重みが更新されるため、効果は恒久的です。学習後は、長い指示を毎回書かなくても目的の形式・口調で応答するようになり、プロンプトを短縮できる分だけ実行コストも下がります。反面、いったん学習した癖はプロンプトでは打ち消しにくく、やり直しには再学習が必要です。この「効きが強く、戻しにくい」性質が、後述する採用判断の慎重さにつながります。

転移学習・事前学習との関係:学習工程のどこに位置するかの整理

用語の関係は工程で捉えると明快です。①事前学習:ゼロから大量データで基礎能力を作る工程で、実施できるのは大規模な計算資源を持つ開発元に限られます。②転移学習:ある領域で学習したモデルの能力を別のタスクに流用する考え方の総称です。③ファインチューニング:転移学習の代表的な実現手段で、学習済みモデルの重みを追加データで微調整します。つまりファインチューニングは転移学習に含まれる具体的手法、という包含関係です。

企業が実施するのは実質③のみです。事前学習済みモデルという巨大な土台を借り、最後の仕上げだけを自社データで行うため、ゼロから開発する場合と比べて必要なデータ量も計算資源も桁違いに小さく済みます。この構造こそが、一般企業でもLLMのカスタマイズに手が届く理由です。

LoRAなどの軽量手法:全パラメータ更新を避けて費用を抑える選択肢

モデル全体の重みを更新するフルファインチューニングは、大型モデルでは膨大なGPUメモリと時間を要します。この負担を下げる代表的な技術がLoRA(Low-Rank Adaptation)です。2021年にMicrosoftの研究チームが発表した手法で、元の重みは固定したまま、小さな追加行列だけを学習します。更新対象のパラメータを大幅に減らせるため、必要なGPUメモリと学習時間を大きく圧縮できます。

LoRAをはじめとする軽量手法(PEFT:パラメータ効率型ファインチューニングと総称されます)は、オープンウェイトモデルを自前で調整する際の事実上の標準になっています。学習結果が小さなファイルとして分離されるため、用途別に複数の調整版を切り替える運用がしやすい点も実務上の利点です。フルファインチューニングが必要になるのは、挙動を根本から変えたい特殊なケースに限られます。

ファインチューニングとRAG・プロンプト調整の違いと使い分けの基準

LLMを自社用途に合わせる手段は、プロンプト調整・RAG・ファインチューニングの3段階があります。どれを選ぶかは「何を変えたいのか」で決まります。

RAGとの違い:知識の追加はRAG・振る舞いの固定はファインチューニング

最も混同されやすいのがRAGとの違いです。RAGは、質問のたびに社内文書などを検索し、見つけた内容を根拠としてLLMに渡して回答させる仕組みで、モデル自体は変更しません。両者の違いは次のとおりです。

観点 ファインチューニング RAG
変えるもの モデルの振る舞い 参照する知識
情報の更新 再学習が必要 文書差し替えで即反映
根拠の提示 不可 出典を示せる
向く用途 形式・口調・分類 社内知識の応答

判断基準は1つに絞れます。「答えの中身(知識)を足したいのか、答え方(挙動)を変えたいのか」。頻繁に更新される情報や根拠提示が要る用途でファインチューニングを選ぶのは典型的な誤りで、学習した知識はすぐ古くなり、更新のたびに再学習費用が発生します。RAGの仕組み自体の詳細はRAGとは?仕組みとLLM・ファインチューニングとの違いの解説を参照してください。

プロンプト調整との違い:指示で足りる範囲と学習が必要になる境界

費用ゼロで今日から試せるプロンプト調整を飛ばして、いきなり学習に進む理由はありません。役割・条件・出力例を明示したプロンプトで要件を満たせるなら、それが最も安く速い解です。実際、出力形式の指定程度なら、例を2〜3件示すFew-shotプロンプティングで十分なケースが多数を占めます。

学習が必要になる境界は、①プロンプトが長大化して毎回のコストと管理負担が無視できない、②例を示しても出力のブレが業務許容範囲に収まらない、③数千件規模の分類・抽出を安定した精度で回したい、のいずれかに達したときです。境界の見極めには「良い出力・悪い出力」の判定基準が要るため、プロンプト調整の段階で評価基準を文書化しておくと、そのままファインチューニングの学習データ設計に流用できます。

併用パターン:RAGで知識・ファインチューニングで形式を担う構成

3つの手段は排他ではありません。実務で成果が出やすいのは役割分担の併用です。代表例は、社内規程への質問応答システムで、規程の中身はRAGが検索して渡し、回答の構成・トーン・引用形式はファインチューニング済みモデルが担う構成です。知識の鮮度と出力の安定性を同時に確保できます。

ただし併用は構築・評価の複雑さも足し算になります。順序としては、まずRAG単体+プロンプト調整で本番投入し、出力形式の安定が課題として残った場合にファインチューニングを追加する2段階が安全です。RAG側の構築工程はRAG構築の手順の解説で詳しく扱っています。

ファインチューニングの実施手順:データ準備から評価までの5工程

実施は、①目的とタスクの定義、②学習データの準備、③学習の実行、④評価、⑤運用と再学習、の5工程で進みます。成否の8割方は②のデータ品質で決まるため、工程別の要点を押さえます。

学習データの準備:質問と模範回答のペアを揃える品質基準と件数目安

学習データは「入力(指示や質問)」と「理想の出力」のペアで用意します。件数は、商用APIのファインチューニング機能では数十件から検証可能とされ、タスクの複雑さに応じて数百〜数千件へ拡張するのが一般的な進め方です。件数より先に効くのは品質と一貫性で、模範回答の書式・判断基準が作成者によってバラつくと、そのブレをモデルが学習してしまいます。

実務での品質基準は3点です。①同じ入力タイプに対して回答の形式が統一されている、②誤答・古い情報が混じっていない(学習前の全件レビュー必須)、③実際の業務入力の分布を反映している(きれいな例だけでなく、崩れた入力や例外ケースも含める)。データ整備は地味な工程ですが、ここを外注や片手間で済ませた案件は精度が出ない、というのが定説になっています。

実行方法の2系統:商用APIの機能利用とオープンウェイトの自前学習

学習の実行には2つの系統があります。第1が商用APIのファインチューニング機能で、OpenAIなどが対象モデルに対して提供している仕組みです。整形済みデータをアップロードすれば学習処理はクラウド側で完結します。GPUの用意が不要で、学習料金と調整済みモデルの利用料金は各社の料金ページで公開されています。手軽さで選ぶならこちらが第一候補です。

第2が、LlamaなどのオープンウェイトモデルをLoRA等で自前学習する系統です。データを外部に出さずに学習でき、モデルの選択と調整の自由度が高い反面、GPU環境と機械学習エンジニアリングの知見が必要になります。機密データでの学習が要件ならこちら一択で、そうでなければ商用APIで小さく試してから移行を検討する順序が無理のない進め方です。

評価と運用:過学習・破滅的忘却を検知するテストと再学習の周期

学習後の評価では、2つの典型的な失敗を検知します。1つ目が過学習で、学習データには完璧に応じる一方、少し違う入力に弱くなる状態です。学習に使っていない評価用データを最初から2〜3割別に取り分けておき、そちらでの精度で合否を判定します。2つ目が破滅的忘却で、特定タスクへの適応と引き換えに、もともとできていた一般的な応答が劣化する現象です。業務外の一般的な質問セットでも学習前後の比較を行います。

運用開始後は、業務ルールの変更や入力傾向の変化で精度が徐々に劣化します。本番の入出力ログから失敗例を収集し、学習データに追加して再学習する改善サイクルを、四半期〜半年程度の周期で回す前提を最初から計画に含めてください。作りっぱなしで劣化に気づかない運用が、導入効果を静かに失わせる主因です。

ファインチューニングを見送るべき場面と費用対効果の判断の進め方

検索上位の解説はメリットの紹介が中心ですが、受託開発の現場で価値があるのは「やらない判断」の基準です。ここを言い切ります。

見送りが正解のケース:知識更新目的・少量データ・要件不明確の3類型

次の3類型では、ファインチューニングは採用しないでください。第1に、目的が知識の追加・更新であるケース。前述のとおりRAGの領分で、学習で知識を持たせる設計は更新のたびに再学習費用が発生し続けます。第2に、質の揃った学習データを数十件も用意できないケース。データが作れないなら学習は成立せず、まず業務の中で模範回答を蓄積する段階から始めるべきです。

第3に、「精度を上げたい」としか要件を言語化できていないケースです。何の入力に対しどんな出力が正解かを定義できなければ、学習データも評価基準も作れません。この状態での着手は、プロンプト調整段階に差し戻すのが正しい判断です。3類型に共通するのは、ファインチューニングという手段が先に決まっていて要件が後付けになっている構図で、提案時にこの順序の逆転を見つけたら止めるのが専門家の仕事だと考えています。

費用と進め方:小さく検証してから本格学習に進む段階投資の手順

費用の内訳は、学習データ整備の人件費、学習実行費(API学習料金またはGPU費用)、評価・再学習の運用費の3つで、多くの案件で最大の費目はデータ整備の人件費です。判断手順としては、①まず数十件の高品質データで小規模学習を実施、②評価用データで効果を数値確認、③効果が確認できた場合のみデータを数百件規模に拡張して本格学習、という段階投資でリスクを抑えます。

タスク定義・データ設計・学習方式の選定には機械学習の実務知見が要るため、社内に担当者がいない場合は設計段階から外部と組む選択肢があります。RAGとの使い分け判断を含むAIシステムの要件定義からファインチューニングの実施・運用設計までを支援するのが、株式会社一創のAI開発サービスです。手段の選定に迷っている段階の相談から対応できます。

よくある質問

ファインチューニングの検討時によく出る質問に答えます。

ChatGPTでもファインチューニングはできますか?

チャット画面のChatGPT自体を学習させることはできませんが、OpenAIがAPI経由で提供するファインチューニング機能を使えば、対象モデルを自社データで調整し、APIから利用できます。対象となるモデルや料金は更新が頻繁なため、OpenAIの公式ドキュメントで最新の対応状況を確認してください。なお、チャット画面で過去のやり取りを踏まえた応答がされるのは記憶機能によるもので、ファインチューニングとは別の仕組みです。

ファインチューニングの料金はどのくらいかかりますか?

商用APIの場合、学習時のトークン量に応じた学習料金と、調整済みモデルの利用料金(通常モデルより単価が高めに設定される傾向)の2段階で発生します。金額は各社の料金ページで公開されており、改定も多いため、見積もり時点の公式情報で必ず確認してください。実務では、API料金よりも学習データを整備する人件費のほうが大きくなるケースが多い点を予算計画に含めることを推奨します。

ファインチューニングに必要なデータ件数はどのくらいですか?

商用APIの機能では数十件からの学習が受け付けられ、形式の固定のような単純なタスクなら少量でも効果が確認できます。分類の精度向上など難度の高いタスクでは数百〜数千件が目安です。ただし件数を増やすより先に、回答の書式と判断基準が全件で一貫していることが効きます。まず50〜100件の高品質データで小さく検証し、効果を見てから増やす進め方が安全です。

ファインチューニングとRAGはどちらを先に検討すべきですか?

ほとんどの場合RAGが先です。企業のニーズの多数派は「自社の情報に基づいて答えてほしい」という知識系の要件で、これはRAGの領分だからです。RAGを入れた後、回答の形式や口調の安定が課題として残ったときに、ファインチューニングを追加する順序が費用対効果に優れます。最初からファインチューニングが正解になるのは、知識ではなく挙動の調整が主目的だと明確な場合に限られます。

ローカルLLMでもファインチューニングできますか?

できます。むしろローカルLLMとしてオープンウェイトモデルを自社環境で運用する場合、LoRAなどの軽量手法で自由に追加学習できることがローカル運用の利点の1つです。機密データを外部に出さずに学習できるため、データの社外送信が禁じられた業務ではローカルでの学習が唯一の選択肢になります。学習にはGPU環境が必要なので、モデル規模と手法に応じた機材の見積もりを先に行ってください。

関連記事

資料請求

RELATED POSTS 関連記事