AI資格ドリル
資格を選ぶ↓

用語比較

知識蒸留とファインチューニングの違い(小さなモデルを作る方法と、モデルを合わせ込む方法)

知識蒸留は、大きなモデル(または複数モデルのアンサンブル)の出力を教師にして、小さなモデルを学習させる方法です。ファインチューニングは、事前学習済みのモデルを、特定のタスクのデータで追加学習して合わせ込む方法です。

違いは、何を手本に学習するかと、何のために行うかにあります。蒸留の手本は大きなモデルが出すクラス確率で、目的は運用しやすい小さなモデルを得ることです。ファインチューニングの手本は、タスクの正解ラベルです。

G検定の公式シラバス(G2024#6〜 v1.4)は、蒸留を「モデルの軽量化」、ファインチューニングを「転移学習・ファインチューニング」の項目に挙げています。設問では小さなモデルへ知識を移すなら蒸留、既存モデルをタスクに合わせるならファインチューニングと、目的の語から読み分けます。

このページは、どちらも「学習済みモデルを使う」方法と覚えていて、区別があいまいな人向けです。転移学習との違いは別のページで扱い、ここでは蒸留の仕組み(温度とsoft targets)に絞って比べます。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

知識蒸留

大きなモデルが出すクラス確率(soft targets)を手本に、小さなモデルを学習させる。アンサンブル全体を配備する計算コストの重さを避けるための、知識の圧縮。

ファインチューニング

事前学習済みのモデルを、対象タスクのデータで追加学習して合わせ込む。手本はタスクの正解ラベルで、大きなモデルを小さくすることが目的ではない。

違いを表で確認

比較軸知識蒸留ファインチューニング
目的知識蒸留:大きなモデルの知識を、小さく扱いやすいモデルへ移すファインチューニング:事前学習済みモデルを、特定のタスクに合わせる
学習の手本知識蒸留:大きなモデルが出すクラス確率(soft targets)。正解ラベルを補助的に併用できるファインチューニング:タスクの正解ラベル付きデータ
学習されるモデル知識蒸留:多くは別の小さなモデル(生徒)ファインチューニング:事前学習済みのモデルそのもの
データ知識蒸留:ラベルなしデータだけでも、元の訓練データでもよいファインチューニング:目的のタスクのラベル付きデータが基本
特有の仕組み知識蒸留:softmaxの温度Tを上げて柔らかい確率を作る。学習後は温度1で使うファインチューニング:事前学習で得たパラメータを初期値として再学習する
選択肢で探すキーワード知識蒸留:教師モデルと生徒モデル、soft targets、温度、モデルの圧縮ファインチューニング:事前学習済みモデル、タスク固有のデータ、追加学習

どこで迷っているかを切り分ける

01

どちらも「学習済みモデルの再利用」だと一括りにしている人

再利用の仕方が違います。ファインチューニングは、事前学習済みモデルのパラメータを初期値にして、タスクのデータで更新します。蒸留は、大きなモデルの出力を手本にして、別の小さなモデルを学習させます。

02

蒸留の手本は、正解ラベルだと思っている人

Hintonらの原論文は、大きなモデルが出すクラス確率をsoft targetsとして小さなモデルの学習に使うと説明します。正解ラベルとのクロスエントロピーは、重みを小さく加える補助的な項として扱われます。

03

なぜ確率をそのまま使わず、温度を上げるのか分からない人

大きなモデルが非常に高い確信度で答えると、他のクラスの確率はほぼ0になり、「どの2がどの3に似ているか」といった類似の情報が学習にほとんど効きません。温度Tを上げると確率分布が柔らかくなり、この情報が生徒モデルに伝わりやすくなります。

具体例で使い分ける

例 1

複数モデルのアンサンブルを、1つのモデルにまとめて配備したい場合

複数モデルの予測を平均すると精度が上がるが、全部を動かすと計算コストが重く、多数の利用者に配備できない、という設問です。

  • 原論文は、アンサンブル全体で予測するのは扱いにくく、計算コストが高すぎることがあると述べています。
  • アンサンブルの知識を、1つのモデルへ圧縮するのが、蒸留の目的です。
  • 新しいタスクへの適応が目的ではないので、ファインチューニングの説明ではありません。

結論: アンサンブルの知識を1つのモデルへ圧縮する話なので、知識蒸留です。

例 2

事前学習済みの言語モデルを、自社の分類タスクのデータで追加学習する場合

公開されている事前学習済みの言語モデルを、自社が持つラベル付きデータで学習し直し、分類タスクに使う、という設問です。

  • 手本はタスクの正解ラベル付きデータで、大きなモデルの出力ではありません。
  • 目的は、既存モデルを特定のタスクに合わせることで、モデルを小さくすることではありません。
  • BERTの論文も、事前学習済みのモデルに出力層を1つ足して、幅広いタスクに合わせられると説明しています。

結論: 事前学習済みモデルをタスクのデータで追加学習しているので、ファインチューニングです。

例 3

温度を上げた確率分布を手本にして、小さなモデルを学習する場合

大きなモデルのsoftmaxで温度を高くして柔らかい確率を作り、小さなモデルも同じ温度で学習する、という設問です。

  • 温度を上げて柔らかい確率分布(soft targets)を作るのは、蒸留に特有の仕組みです。
  • 学習のときは同じ高い温度を使い、学習が終わったあとは温度1で使います。
  • ファインチューニングには、手本の確率を柔らかくする工程はありません。

結論: 温度つきsoftmaxとsoft targetsが出てくるので、知識蒸留です。

問題文から答えを選ぶ手順

  1. 1

    目的を確認する

    モデルを小さくして配備しやすくするのが目的なら蒸留、既存モデルを特定のタスクに合わせるのが目的ならファインチューニングです。

  2. 2

    学習の手本を確認する

    大きなモデルが出すクラス確率が手本なら蒸留です。タスクの正解ラベル付きデータが手本ならファインチューニングです。

  3. 3

    特有の語を探す

    温度、soft targets、教師モデル・生徒モデル、圧縮が出てくれば蒸留です。事前学習済みモデル、追加学習、タスク固有のデータが出てくればファインチューニングです。

  4. 4

    転移学習との違いを確認する

    出力層だけを学習し直すなら転移学習、モデル全体を学習し直すならファインチューニングです。この軸は蒸留とは別に整理します。

試験での見分け方

  • 1大きなモデルの出力を手本に、小さなモデルを学習するなら、知識蒸留。
  • 2事前学習済みモデルを、タスクのデータで追加学習するなら、ファインチューニング。
  • 3温度を上げた柔らかい確率(soft targets)が出てきたら、知識蒸留。
  • 4蒸留の目的はモデルの圧縮で、新しいタスクへの適応ではない。
  • 5出力層だけを学習し直す話は、転移学習。

誤答しやすい選択肢

蒸留の目的を、新しいタスクへの適応だと考える

修正: 蒸留の目的は、大きなモデルやアンサンブルの知識を、扱いやすい小さなモデルへ移すことです。タスクへの適応はファインチューニングの目的です。

蒸留では正解ラベルを一切使わないと考える

修正: ラベルがあれば、soft targetsとのクロスエントロピーに、正解ラベルとのクロスエントロピーを加えた重み付き平均を目的関数にできます。ただし、後者の重みは小さいほうが良い結果が出やすいと論文は述べています。

温度は、学習後の推論でも高いまま使うと考える

修正: 学習中は高い温度を使い、学習が終わったあとは温度1で使います。

ファインチューニングで必ず小さなモデルになると考える

修正: ファインチューニングは、事前学習済みモデルを追加学習するだけで、モデルの大きさは変わりません。小さくするのは蒸留の役割です。

確認問題

Q1大きなモデルが出すクラス確率を手本にして、小さなモデルを学習する方法は何ですか?

答え: 知識蒸留

大きなモデルの出力(soft targets)を手本にして、小さなモデルを学習する方法が知識蒸留です。

Q2蒸留で、softmaxの温度を上げる理由として最も適切なものはどれですか? 「柔らかい確率分布を作り、クラス間の類似の情報を伝えやすくするため」と「推論を速くするため」

答え: 柔らかい確率分布を作り、クラス間の類似の情報を伝えやすくするため

温度を上げるとsoft targetsのエントロピーが高くなり、確率がほぼ0のクラスに含まれる類似の情報が、学習に効きやすくなります。

Q3事前学習済みモデルを、タスクの正解ラベル付きデータで追加学習する方法は、蒸留とファインチューニングのどちらですか?

答え: ファインチューニング

手本がタスクの正解ラベルで、事前学習済みモデルを合わせ込む方法なので、ファインチューニングです。

到達チェック

  • 蒸留とファインチューニングの目的の違いを、一言で言える
  • 蒸留の手本が、大きなモデルのクラス確率だと説明できる
  • 温度を上げる理由を、soft targetsの言葉で説明できる
  • 学習後は温度1で使うことを覚えている
  • 転移学習との違いを、出力層だけか全体かで説明できる

同じ資格で次に知りたいこと

よくある質問

Q知識蒸留とファインチューニングの最大の違いは何ですか?

A

蒸留は大きなモデルの出力を手本に小さなモデルを学習し、モデルの圧縮が目的です。ファインチューニングは事前学習済みモデルをタスクのデータで追加学習し、特定のタスクに合わせるのが目的です。

Qsoft targetsとは何ですか?

A

大きなモデルが出すクラス確率のことです。原論文は、これを小さなモデルの学習の手本に使うと説明しています。

Q蒸留の温度は、いつ1に戻しますか?

A

学習が終わったあと、推論に使うときに1に戻します。学習中は、大きなモデルと小さなモデルの両方で同じ高い温度を使います。

QG検定のシラバスに蒸留はありますか?

A

あります。JDLAの公式シラバスは、蒸留を「モデルの軽量化」、ファインチューニングを「転移学習・ファインチューニング」の項目に挙げています。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)