【ふぁいんちゅーにんぐ】

ファインチューニング とは?

最終更新:
💡 万能選手を「その道のプロ」に仕上げる追加訓練

事前学習済みのモデルを、特定のタスクや分野のデータで追加学習して調整する手法。モデル全体を更新する方法のほか、一部の重みや少数の追加パラメータを学習する方法もある。

📌 このページのポイント
学習済みモデルを目的に合わせて調整 事前学習済み モデル 追加学習 重みなどを調整 調整後の モデル 目的に合う 学習データ 学習に使っていないデータで評価 性能向上を確認し、過学習にも注意
学習済みの特徴を活用する。更新する範囲や必要な資源は方法によって異なり、性能向上は評価で確かめる。
ひよこ ひよこ
ファインチューニングって、最初から学習するのと何が違うの?
ペンギン先生 ペンギン先生
料理で例えると、すでに料理ができる人が専門店のメニューを追加で練習する感じだよ。学習済みのモデルを出発点にして、目的に合ったデータで重みを調整するんだ。使える知識や特徴を活かせるけれど、必要なデータ量や計算量はモデルとタスクで変わるよ。
ひよこ ひよこ
どんなデータが必要なの?
ペンギン先生 ペンギン先生
モデルに何をさせたいかに合ったデータだよ。例えば犬と猫を見分けたいなら、それぞれの画像と正しいラベルを用意するんだ。学習に使うデータと性能を確かめるデータを分けて、学習した例だけでなく新しい例でも役立つか確認するよ。
ひよこ ひよこ
追加学習するとどんな問題が起きることがある?
ペンギン先生 ペンギン先生
学習データにはよく合うのに、新しいデータではうまく働かない過学習があるよ。重みを大きく変更しすぎると、事前学習で得た特徴や能力を損なうこともあるんだ。学習率や更新する範囲などを調整し、目的の性能と維持したい能力を評価する必要があるね。
ひよこ ひよこ
LoRAって聞いたことあるけど、ファインチューニングと関係あるの?
ペンギン先生 ペンギン先生
効率よくモデルを適応させる手法の一つだよ。元の重みを固定し、重みの更新分を小さな低ランク行列の組で表して、そこを学習するんだ。全ての重みを更新する方法より学習対象やメモリを減らせる。ただし通常の微調整にも一部の層だけを更新する方法があり、LoRAを使えばどんな大型モデルでも手元のGPUで学習できる、というわけではないよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ファインチューニング」って出てきたら「学習済みモデルを特定用途向けに追加で鍛えること」と思えばだいたいOK!
📖 おまけ:英語の意味
「Fine-tuning」 = 微調整・精密調整
💬 楽器の弦を「ファインチューン(微調整)」して音を合わせるイメージ。大まかに作ったものを最後に細かく仕上げる、という意味だよ

参考資料

← 用語集にもどる