0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LLMの調整方法を目的別に整理する — RAGから選好最適化・推論強化RLまで

0
Posted at

こんにちは、ダックスフントです。

LoRA によるファインチューニングに取り組む中で、「世の中にはファインチューニング以外にも LLM を調整する手法がいろいろあるけれど、それぞれ何が違うんだろう?」という疑問を持ちました。

RAG やプロンプトエンジニアリングはメジャーな調整手法で、多くの方がご存知だと思います。また、LoRA も最近は検証事例や導入事例をニュースで見かける機会が増えてきました。

一方で、その他の調整手法(継続事前学習、GRPO など)は、用語を耳にしても「ファインチューニングとどう違うのか」「自分のユースケースに合うのかどうか」が分かりにくいのが正直なところです。

そこで本記事では、LLM を調整する主要な手法を目的別に整理し、どのような状況でどれを選ぶべきか、選び方の目安を紹介します。

TL;DR

  • LLM の調整手法は、大きく「学習せずに調整する(推論時の工夫)」と「学習して調整する」に分かれる
  • 学習して調整する手法はさらに、目的によって「ファインチューニング(SFT)」「継続事前学習」「アライメント」「推論力強化」「モデル圧縮」に分類できる
  • どの手法が最適かは目的次第。出力フォーマットの統一・ドメイン知識の注入・価値観への合わせ込み・推論精度の向上など、目的が違えば選ぶべき手法も変わる
  • まずは学習せずに調整する手法(コンテキストエンジニアリングや RAG)から始め、必要に応じてファインチューニング(SFT)をLoRA(ないしはQLoRA)で取り組み、その後に継続事前学習や選好最適化・推論力強化 RL へ進むのがおすすめ

LLM 調整の全体マップ

手法ごとに「何を変えるか」や「コスト感」などを表にまとめました。

手法(カテゴリ) 何を変えるか 調整方法 手法(詳細) コスト感 備考
コンテキストエンジニアリング / RAG モデル本体は変えずに、入力する情報や文脈の与え方を変えて回答品質を上げる。 学習せずに調整 システムプロンプト設計、few-shot、検索拡張生成(RAG) モデルの重みは更新しない
ファインチューニング モデルの重みを更新して、指示への従い方や出力形式・文体を業務要件に合わせる。 学習して調整 フルファインチューニング、PEFT(LoRA / QLoRA、Prompt Tuning、Prefix Tuning、IA3) 低〜高 SFT(教師ありファインチューニング)や指示学習とも呼ばれる
継続事前学習 モデルが内部に持つ知識・語彙・言語感覚そのものを、対象ドメイン向けに拡張・更新する。 学習して調整 フル継続事前学習、PEFT(LoRA / QLoRA など) ドメイン適応(特定業界の用語・文脈にモデルを合わせる適応)や低資源言語適応(学習データが少ない言語でも性能を出せるようにする適応)で有効
アライメント(RL ベース) モデルの振る舞いを、安全性・有用性・価値観の観点で望ましい方向へ最適化する。 学習して調整 RLHF(PPO)、RLAIF、Constitutional AI 報酬モデルやフィードバック設計が必要
アライメント(選好最適化) 良い回答と悪い回答の比較データを使って、人間の好みに沿う応答傾向へ寄せる。 学習して調整 DPO、SimPO、ORPO、KTO 中〜高 ペアデータか二値ラベルが必要
推論力強化(RL) 数学・コード・論理問題のように正誤判定できる課題で、正答率が上がる方策に強化する。 学習して調整 GRPO、DAPO、RLVR 正誤判定可能な報酬設計が前提
モデル圧縮(蒸留) 教師モデルの性能をできるだけ保ちながら小型化し、推論コストと遅延を下げる。 学習して調整 知識蒸留 商用モデル出力を使う場合は規約確認が必要

学習せずに調整:コンテキストエンジニアリング / RAG

モデルのパラメータは一切変えず、推論時に渡す情報やプロンプトの設計だけで出力を改善する手法です。

学習コストが不要で導入のハードルが比較的低い点が最大の利点です。加えて、検索品質やプロンプト設計を改善した効果をオンライン評価や A/B テストで短期間に検証しやすく、精度向上の有無を比較的確実に判断しやすい点も実務上の強みです。一方で、モデル自体の能力の上限を超えることはできません。「まず試せる最初の一手」として位置付けられることが多く、多くの場合はここから始めて、ファインチューニング等の必要性を改めて判断するのが現実的な進め方です。

  • コンテキストエンジニアリング:few-shot・Chain-of-Thought・システムプロンプトなどの設計でモデルの出力を誘導する。モデルが元々持っている能力の引き出し方を工夫する手法であり、モデル自体の能力の上限は超えられない。
  • RAG(Retrieval-Augmented Generation):外部データベースから関連文書を検索し、コンテキストとしてモデルに渡す手法。最新情報の参照や大量ドキュメントを対象とした検索に向く。追加学習を行わないため、情報の追加・更新が容易。

どちらもすでにご存知の方が多いと思うので、ここでは概要のみにとどめます。


学習して調整 ①:ファインチューニング(SFT)

「入力」と「期待する出力」のペア形式で用意した教師ありデータセットを使ってモデルを学習させる手法です。教師ありファインチューニング(SFT: Supervised Fine-Tuning)とも呼ばれ、文脈によっては「指示学習(Instruction Tuning)」という言葉で説明されることもあります。

ファインチューニングが最も得意とするのは出力フォーマット・スタイルの調整です。JSON 形式での安定出力・社内固有の口調・特定タスク(分類・要約など)への特化といった用途に向いています。一方で、モデルが持つ知識そのものを増やしたり、推論能力を底上げしたりするには不向きであることを押さえておく必要があります。

この ファインチューニング を実施する方法は大きく、全てのパラメータ(重み)を更新するフルファインチューニングと、追加パラメータのみを学習する PEFT (Parameter-Efficient Fine-Tuning:パラメータ効率の良いファインチューニング)に分かれます。

実装方式 概要 コスト感
フルファインチューニング モデルの全パラメータを更新する。表現力は最大だが、VRAM・計算コストが高い
PEFT(LoRA / QLoRA / Prompt Tuning など) モデル本体の重みは凍結し、追加した小さなパラメータだけを学習する。省メモリで実施しやすい 低〜中

PEFT

PEFT (Parameter-Efficient Fine-Tuning:パラメータ効率の良いファインチューニング)は、モデルの全重みを更新せず、少数の追加パラメータだけを学習する方法です。
また、PEFT にもいくつか実現方法があります。

1 つ目は、重みに差分を加えるアダプタ系(LoRA / QLoRA / IA3)。現在の LLM 実務では LoRA / QLoRA が最も普及しています。
2 つ目は、入力や特定の層に学習可能なベクトルを挿入するソフトプロンプト系(Prompt Tuning / Prefix Tuning)です。

いずれもベースモデルの重みはそのままに軽量な差分だけ追加される一方で、タスクとベースモデルの能力差が大きい場合は効果が頭打ちになることがあります。

タイプ 代表手法 概要
アダプタ系 LoRA / QLoRA、IA3 追加モジュールや低ランク行列・スケーリング係数を学習して適応する
ソフトプロンプト系 Prompt Tuning、Prefix Tuning 学習可能な連続ベクトル(仮想トークン)を入力や各層に付加して適応する

学習して調整 ②:継続事前学習

特定のドメインや言語の大量コーパスを使って、ベースモデルの事前学習をさらに追加する手法です。

ファインチューニングが「どう答えるか」のスタイルを調整するのに対し、継続事前学習は「何を知っているか」という知識・語彙・言語能力そのものを変えます。これが本質的な違いです。

そのため、ファインチューニング だけでは対応しきれない学習データが少ない言語への適応や、法律・医療・製造など専門用語を取り扱うドメインへの知識注入に用いられます。実際には継続事前学習でドメイン知識を底上げしたうえで、その後 ファインチューニング を重ねるという 2 段階の使い方が一般的です。

ただし大量のコーパスと計算リソースが必要で、他のカテゴリと比べて導入ハードルが高い特徴があります。

手法 概要
フル継続事前学習 全パラメータを更新する。知識注入の効果は最大だが、大量のデータと計算リソースが必要
PEFT(LoRA / QLoRA など) LoRA / QLoRA を使って省リソース継続事前学習を行う。ファインチューニングに比べると、埋め込み層や出力層も対象にモデルの重み調整を実施する。

学習して調整 ③:アライメント(RL ベース)

モデルの出力を人間の価値観・安全基準・有用性に合わせる(アライメント)ことを目的とする手法です。

ファインチューニング で指示に従えるようになったモデルでも、「有害な回答をしない」「倫理的に問題ある要求を断る」といった振る舞いは別途学習が必要です。そのために登場したのがこの手法です。

代表的な RLHF(Reinforcement Learning from Human Feedback) は、「ファインチューニング → 人間フィードバックで報酬モデルを学習 → PPO で強化学習」という 3 段階のパイプラインを踏みます。3 つのモデルを並行して扱う必要があり、VRAM・計算コスト・アノテーションコストのいずれも高く、主に大規模 AI 開発組織が採用する重量級の手法です。ChatGPT・初期の Claude はこの手法でアライメントされたことで知られています。

このコストを下げるために生まれたのが RLAIF(人間の代わりに AI がフィードバック)や Constitutional AI(原則リストで代替)です。

手法 概要
RLHF(PPO) 人間のフィードバックで報酬モデルを学習し、PPO で最適化する 3 段階パイプライン。ChatGPT・初期 Claude が採用したアライメントの原点
RLAIF RLHF の人間フィードバック部分を強力な LLM に代替させ、アノテーションコストを下げた手法
Constitutional AI(CAI) 人間が書いた「原則リスト(Constitution)」と AI フィードバックで報酬モデルを置き換える、Anthropic が開発した手法。Claude モデルが採用

学習して調整 ④:アライメント(選好最適化)

RLHF の「報酬モデルの学習 + 強化学習」という複雑で高コストなパイプラインを省略し、「良い回答 / 悪い回答」の選好データを直接使ってアライメントする手法です。

RLHF と同様に人間の好みに近づけることが目的ですが、報酬モデルも RL ループも不要なため実装がシンプルで、一般企業でも実施しやすい手法群です。2023 年に DPO が登場して以降、実務での採用が急増しています。

手元に用意できる選好データの形式(ペアか二値か)とメモリ・パイプラインのコストによって、使い分けることになります。

手法 概要 必要なデータ
DPO chosen / rejected の選好ペアを直接使い、報酬モデルなしで最適化する。シンプルで安定しており最も普及している ペアデータ
SimPO 参照モデルを完全に不要にした DPO の改良版。AlpacaEval 2 で DPO より +6.4pt 上回る結果が報告されている(論文 ペアデータ
ORPO SFT と選好最適化を 1 段階で同時に行う。参照モデルも別途 SFT も不要でパイプラインが最もシンプル ペアデータ
KTO ペアデータを使わず「良い / 悪い」の二値フィードバックだけで最適化する。アノテーションコストが最も低い 二値ラベル

使い分けの軸:手元にある選好データの形式(ペアか二値か)と、メモリ・パイプラインのコストで選ぶ。ペアアノテーションが取れるなら DPO / SimPO / ORPO、難しければ KTO が現実的な選択肢になる。


学習して調整 ⑤:推論力強化(RL)

報酬シグナルを使ってモデルが自律的に良い出力を探索する手法です。

「学習して調整 ③:アライメント(RL ベース)」と同じく強化学習を使いますが、目的が根本的に異なります。アライメントが「有害な出力を減らす・人間の好みに合わせる」ことを目指すのに対し、こちらは数学・コード・論理推論といった正誤が明確に判定できるタスクでの精度向上が主目的です。

2025 年に DeepSeek R1 が GRPO を使って高い推論能力を示したことで一気に注目が集まり、同年以降は「SFT + 選好最適化 + 推論力強化 RL」という 3 段階スタックが業界のデファクトになりつつあります。

報酬として使えるのは「正解か否かをルールで自動判定できるもの」に限られます。自然言語の「良さ」を測りたい場合は、選好最適化の方が向いています。

手法 概要
GRPO 同一プロンプトから複数の出力を生成してグループ内の相対スコアで最適化する。DeepSeek R1 が採用し、PPO より VRAM 効率が高い
DAPO GRPO を 4 つの観点で改良した ByteDance / Qwen チームの手法。Qwen2.5-32B で AIME 2024 スコア 50 点を達成(論文
RLVR テスト・ルール・シミュレーションなど自動検証可能な報酬だけで強化学習を行う。人間フィードバック不要でスケールしやすい

2025 年以降のトレンド:業界の動向は「SFT で指示追従 → DPO / KTO でアライメント → GRPO / RLVR で推論強化」という段階的スタック構成に移行しつつある。


学習して調整 ⑥:モデル圧縮(蒸留)

大きなモデル(教師モデル)の出力や内部表現を手がかりに、小さなモデル(生徒モデル)を学習させる手法です。

これまで紹介した手法がモデルの能力を引き出したり変えたりすることを目的とするのに対し、蒸留は「いかにモデルを小さくしながら精度を保つか」というデプロイ最適化の文脈で使われることが多いです。エッジデバイスやオンプレミス環境への展開、推論速度の改善、ライセンスコストの削減などが主な動機です。

一点注意が必要なのは、GPT-4 や Claude などの商用モデルの出力を蒸留目的で使用する場合、各モデルの利用規約を事前に確認する必要がある点です。多くの商用モデルは出力を他のモデルの学習に使うことを規約で制限しています。


どの手法を選ぶべきか — 判断フロー

やりたいことに応じて、どの手法を適用すべきか判断できるよう表にまとめました。

やりたいこと 推奨手法 補足
最新情報を参照させたい RAG 追加学習不要、即日導入可
出力フォーマットや口調を統一したい SFT(実装はまず PEFT: LoRA / QLoRA) 少量データでも効果が出やすい。知識注入より「どう答えるか」の調整に向く
同じベースモデルで複数タスクに低コスト対応したい PEFT(LoRA / QLoRA、IA3、Prompt / Prefix) PEFT は SFT や継続事前学習の実装方式。差分管理・切り替えがしやすい
専門用語・ドメイン知識を覚えさせたい 継続事前学習(実装はまず PEFT)→ SFT まず「何を知っているか」を更新し、その後に出力形式を整える。データと計算コストは高め
回答の品質・丁寧さを人間の好みに合わせたい DPO / SimPO chosen / rejected ペアが必要
アノテーションが二値(いいね / 悪い)しか取れない KTO ペアデータ不要
SFT と選好最適化を一度に済ませたい ORPO パイプラインが最もシンプル
大規模に安全性・倫理基準を組み込みたい RLHF / RLAIF / CAI 高コスト・大組織向け
数学・コード推論の精度を上げたい GRPO / RLVR 報酬設計または検証可能なタスクが必要
モデルを軽量化・デプロイ最適化したい 蒸留 商用モデル利用時は規約確認必須

まとめ

  • 学習せずに調整する手法(RAG・コンテキストエンジニアリング)は導入コストが最も低いだけでなく、改善効果を短サイクルで検証しやすいため、精度向上の有無を比較的確実に見極めやすい
  • ファインチューニング(SFT) は出力フォーマット・スタイルの統一が得意。知識の注入や推論力の向上には向かない
  • PEFT(LoRA / QLoRA・Prompt / Prefix Tuning・IA3 など)は、SFT や継続事前学習を省リソースで実装する主要手段。ベースモデルを固定したまま複数タスクへ軽量対応できる
  • 継続事前学習はドメイン適応(特定業界の用語・文脈にモデルを合わせる適応)や低資源言語への適応(学習データが少ない言語でも性能を出せるようにすること)が目的。導入ハードルは高い。SFT との 2 段階使いが一般的。
  • アライメント(RL ベース)(RLHF 系)は安全性・倫理基準の組み込みに有効だが、コストが高く大組織向け
  • 選好最適化(DPO・ORPO・KTO など)は RLHF のコストを下げたアライメント手法群で、一般企業でも実施しやすい
  • 推論力強化 RL(GRPO・RLVR など)は数学・コード・論理推論のような正誤判定が明確なタスクの精度向上に向く
  • 蒸留はモデルの軽量化が主目的。商用モデルの出力を使う際は利用規約の確認が必須

よくある進め方としては、まずコンテキストエンジニアリングや RAG から始め、次に ファインチューニング へ進み、必要に応じて継続事前学習・選好最適化・推論力強化 RL を組み合わせるという段階的なアプローチが現実的です。あわせて各段階で PEFT などの省リソース手法を活用すると、コストを抑えながら改善を進めやすくなります。


参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?