Re Reference AI

技術

ファインチューニング

事前学習済みモデルを追加学習し、特定タスクやドメインへ適応させる手法

学習転移学習

概要

ファインチューニングは、大規模コーパスで事前学習済みのモデルを、より小規模でタスク・ドメイン固有のデータセットを使って追加学習する手法。ゼロからモデルを訓練する場合と比べ、事前学習で獲得した言語理解や一般知識をベースに重みをわずかに調整するだけで済むため、必要な計算資源・データ量・学習時間を大幅に削減できる。全パラメータを更新するフルファインチューニングに加え、LoRAやアダプタのように一部パラメータのみを追加・更新するパラメータ効率的手法(PEFT)が普及しており、個人や小規模チームでも限られたGPU資源で独自モデルを構築できるようになった。カスタマーサポートの文体統一、特定ドメイン(医療・法律など)への特化、指示追従性の向上といった用途で広く使われる。

背景

転移学習を活用する手法。ゼロから学習する代わりに、汎用の事前学習済みモデルをわずかなコストで適応させる。

歴史

2018年: ULMFiTとBERTがNLPにおける事前学習→ファインチューニングの流れを普及。2021-2022年: LoRAやアダプタなどパラメータ効率的手法がコストを削減。2023年以降: 指示チューニングとRLHFがLLMのアライメント手法として標準化。

アーキテクチャ

事前学習時と同一のベースアーキテクチャを使用。学習目的・データセット・場合によっては一部パラメータ(LoRAアダプタ等)のみが変わる。

ワークフロー

ベースモデル選定 → ラベル付き/指示データセット準備 → 学習(フルまたはパラメータ効率的) → 評価 → 特化モデルのデプロイ。

コード例

LoRAファインチューニング設定(概念例)

from peft import LoraConfig, get_peft_model

config = LoraConfig(r=8, lora_alpha=16, target_modules=["q_proj", "v_proj"])
model = get_peft_model(base_model, config)

利点

  • 狭いドメイン固有タスクでの性能を向上させる
  • パラメータ効率的手法により限られた計算資源でも利用しやすい

欠点

  • 汎用能力を失う破滅的忘却のリスクがある
  • タスク固有の厳選された学習データが必要

比較

  • RAGファインチューニングは知識を重みに焼き込む。RAGは推論時に検索する

関連用語

LLMTransformerRAG

よくある質問

RAGではなくファインチューニングを選ぶべき場面は?

モデルの挙動やスタイルを一貫して変えたい場合はファインチューニング。最新または大規模な外部知識が必要な場合はRAGが適する。

参考文献