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?

「プロンプトチューニング」と「ファインチューニング」は何が違うのか

0
Last updated at Posted at 2026-06-10

「プロンプトチューニング」と「ファインチューニング」は何が違うのか

この記事でわかること

  • 「プロンプトチューニング」という言葉が、口語と学術で正反対のものを指している、という用語の地雷
  • プロンプトエンジニアリング / RAG / ファインチューニングを、「重みに触るか/触らないか」という一本の軸で並べ直す見取り図
  • それぞれの中身を、要点だけ(速くて安いプロンプト、鮮度に強いRAG、振る舞いを焼き付けるファインチューニング)
  • 課題に対する選び方の定石(①プロンプト → ②RAG → ③ファインチューニング)
  • ファインチューニングが「コード」より**「環境」でつまずく**という、実体験から見えた一点

対象読者

  • 生成AIに入門して、**「プロンプトチューニングとファインチューニングって何が違うの?」**でつまずいた人
  • 用語のバズワードに振り回されて、頭の中でいつまでも線がつながらない人
  • RAG とファインチューニング、結局どちらを選べばいいのか迷っている人

はじめに:同じ言葉が、二つの別物を指していた

生成AIの世界に足を踏み入れて最初にぶつかったのが、この素朴な疑問でした。

「プロンプトチューニング」と「ファインチューニング」って、結局なにが違うんだ?

調べるほど混乱しました。理由はあとで腑に落ちたのですが、そもそも 「プロンプトチューニング」という言葉自体が、場面によって正反対のものを指していた のです。求人票に並ぶ「プロンプトチューニング」と、論文に出てくる "Prompt Tuning" は、モデルの重みを学習するかどうか という肝心な一点が逆。これに気づかないまま情報を集めると、頭の中でいつまでも線がつながりません。

この記事では、バラバラに見える用語を 「モデルの重みに触るか、触らないか」 という一本の軸の上に並べ直します。結論から言うと、覚えるべきはこの軸だけです。新しいバズワードが流れてきても、置き場所に迷わなくなります。


先に結論:違いの軸は「重みに触るか/触らないか」

LLM の正体は、何十億個もの数値(重み)の集まりです。この数値の値こそが、モデルの「賢さ・クセ・知識」の本体。だから手法の違いは、煎じ詰めると その数値をいじるか・いじらないか に集約されます。

重みに触る? 含まれるもの
外から助ける ✕ 触らない プロンプトエンジニアリング(口語の「プロンプトチューニング」)/ RAG
中身を作り変える ⭕ 触る ファインチューニング(フル/LoRA・QLoRA・ソフトプロンプト)

これだけです。あとは枝葉。一枚の図にすると、こうなります。

               LLM = 何十億個の「重み」(数値)
               賢さ・知識の実体はこの数値にある
                               │
              ┌────────────────┴────────────────┐
              ▼                                 ▼
       重みに触らない          重みに触る = ファインチューニング
      (外から助ける)                (中身を作り変える)
              │                                 │
        ┌─────┴─────┐               ┌───────────┴───────────┐
        ▼           ▼               ▼                       ▼
   プロンプト      RAG        フルファイン        PEFT(一部だけ学習)
エンジニアリング              チューニング   LoRA / QLoRA / ソフトプロンプト

たとえ話:優秀な新人をどう活かすか

抽象的なので、優秀な新人社員にたとえます。

  • 指示の出し方を工夫する → プロンプトエンジニアリング
  • 資料を渡してから答えさせる → RAG
  • 研修に送って、本人を成長させる → ファインチューニング

ポイントは、新人の頭の中(=重み)を作り変えるのはファインチューニングだけ だということ。プロンプトもRAGも、本人はそのままに、外から手を貸しているにすぎません。どちらが偉いという話ではなく、目的が違うのです。


用語の地雷:「プロンプトチューニング」の二つの意味

混乱の震源地なので、ここだけは表で固定しておきます。

言い方 やること 重みに触る? 正体
プロンプトチューニング(口語) 指示文・例示・出力の作り込みと改善 プロンプトエンジニアリングと同じ
Prompt Tuning(学術) 入力の先頭に付ける「学習可能なベクトル列」だけを訓練 ⭕(軽量な学習) ファインチューニングの一族(PEFT)

同じ「プロンプトチューニング」でも、現場の口語では“指示文の工夫”論文では“重みを学習する手法”。会話が噛み合わないと感じたとき、原因の多くはこのズレです。気づけば、もう振り回されません。


それぞれの中身(要点だけ)

① プロンプトエンジニアリング(重みは不変)

指示文・Few-shot(例示)を作り込み、出力を検証して直す——その繰り返し。速くて、安くて、捨てやすいのが最大の武器です。反面、毎回プロンプトで説明し続ける必要があり、「いつも同じ振る舞い」を安定して出すのは苦手です。

② RAG(重みは不変)

質問のたびに、外部の文書を検索して文脈として手渡すやり方。強みは知識の鮮度で、最新情報や手元の資料を、学習し直さずに反映できます。ただしモデル自体が賢くなるわけではなく、「何をどう拾うか」という検索の作り込みが品質を決めます。

③ ファインチューニング(重みを学習する)

「入力 → こうあってほしい出力」の例を大量に見せ、重みを少しずつ更新して、振る舞いそのものをモデルに焼き付けます。具体的には「予測(forward)→ どれだけ外したか(損失/loss)→ どの重みをどう動かすか(勾配/backprop)→ 少し更新(update)」をひたすら繰り返す——下の図のループです。

┌──────────────────────┐                ┌──────────────────┐
│ ①予測(forward)     │   予測 ───►    │ ②損失(loss)    │
│ 今の重みで答えを出す │                │ どれだけ外れたか │
└──────────────────────┘                └──────────────────┘
      ▲                                       │
      │ 更新(update)                        │ 勾配(gradient)
      │                                       ▼
┌──────────────────┐                    ┌──────────────────────────┐
│ ④更新(update)  │    ◄─ 重みを微調整 │ ③誤差逆伝播(backprop)  │
│ 重みを少し動かす │                    │ 各重みの動かし方(勾配) │
└──────────────────┘                    └──────────────────────────┘
     データ全体で繰り返す → 損失が下がる → 振る舞いが学習される
  • フルファインチューニング:全部の重みを更新する。表現力は高いが、とても重く、大きなGPUが要ります。
  • PEFT(軽量派):本体は凍結し、小さな追加部分だけを学習する。費用対効果が高く、いま個人で現実的なのはこちら。
    • LoRA / QLoRA:小さなアダプタ行列を足して学習する(QLoRA は本体を4bitに圧縮してさらに省メモリ)。
    • ソフトプロンプト(=学術の Prompt Tuning)/ Prefix・P-Tuning:入力先頭の学習可能ベクトルだけを訓練する。

強みは、決まった形式・口調・分類を、短い指示で安定して・安く出せること。専用の小型モデルを仕立てられます。代わりに、教師データとGPUが要り、世界が変われば学習し直しになります。


いちばん大事なのは「選び方」

道具の名前を覚えることより、課題に対してどれを選ぶかが実力です。

やりたいこと まず選ぶ なぜ
最新の事実・社内知識を答えさせたい/内容がよく変わる RAG 学習せず即反映。鮮度に強い
とりあえず試したい/要件が固まっていない プロンプトエンジニアリング 速い・安い・捨てやすい
決まった形式・分類・口調を安定して量産したい ファインチューニング(まず LoRA/QLoRA) 振る舞いを重みに焼き付ける
巨大モデルを丸ごと作り替えたい フルファインチューニング ただし大GPU前提。多くは PEFT で足りる

実務の定石は 「①プロンプト → 足りなければ②RAG → それでも足りなければ③ファインチューニング」。いきなり③へ飛ぶのは、たいてい遠回りです。


補足:③は「コード」より「環境」でつまずく

最後に一つだけ、実体験から。③のファインチューニングで難しいのは、アルゴリズムよりも環境構築でした。手順は公式に載っていても、いざ自分のマシンで走らせると、ライブラリの世代の食い違い、文字コード、GPUの世代差といった足元の壁が次々に現れます。コードはコピーできても、「どこで詰まり、なぜそう直したか」という判断はコピーできません。価値は、いつもそこに残ります。

この“やってみた”側——Turing世代のGPU(RTX 2070)1台で、ローカルのままファインチューニングに挑んだ、つまずきの全記録——は、別記事にまとめています。

🔗 実践編: Turing世代のGPU「RTX 2070」1台で、ローカルQLoRAファインチューニングに挑む(進行中)


まとめ(一枚で)

  • 違いの軸はただ一つ。重みに触るか/触らないか
  • 触らない … プロンプトエンジニアリング(口語の「プロンプトチューニング」)/RAG。
  • 触る … ファインチューニング(フル/PEFT:LoRA・QLoRA・ソフトプロンプト)。
  • 「プロンプトチューニング」は 口語と学術で別物。会話が噛み合わない原因の筆頭。
  • そして——名前を覚えることより、「この課題ならどれを選ぶか」を判断できることが、いちばんの実力です。

参考(用語の出どころ)

  • ソフトプロンプト系の Prompt Tuning(Lester et al., 2021)/ Prefix Tuning / P-Tuning
  • QLoRA(4bit量子化 + LoRA, Dettmers et al., 2023)

用語集(この記事で使った言葉)

用語 意味
プロンプトチューニング(口語/学術の2義) 本記事の主題。口語では「プロンプトエンジニアリング」、学術では PEFT の "Prompt Tuning" を指す(中身は別物)
重み (weights) モデル内部の膨大な数値。賢さ・知識の実体
プロンプトエンジニアリング 指示文・Few-shot(例示)を作り込み出力を整える(重みは変えない)
Few-shot(例示) プロンプトに正解例をいくつか入れて出力を誘導する手法
RAG 質問時に関連文書を検索し、文脈として渡す(重みは変えない)
ファインチューニング 例で重みを更新し、振る舞いをモデルに焼き付ける
フルファインチューニング すべての重みを更新する重い方式
PEFT 本体を凍結し、一部だけ学習する軽量手法の総称
LoRA / QLoRA 小さなアダプタ行列を足して学習する(QLoRA は本体を 4bit 量子化して省メモリ)
ソフトプロンプト(学術の Prompt Tuning)/ Prefix・P-Tuning 入力の先頭に付ける学習可能ベクトルだけを訓練する PEFT の一系統
forward(予測)/ loss(損失)/ backprop(誤差逆伝播)/ update(更新) 学習ループの4ステップ
勾配 (gradient) 各重みをどちらへどれだけ動かせば損失が減るか、を表す量

🔗 個人ブログにも同様の記事と関連記事を書いています: 「プロンプトチューニング」と「ファインチューニング」は何が違うのか

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?