ファインチューニングの基本

事前学習モデルを自分のタスクに微調整するファインチューニングの実践方法を学びます。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針

ジャスミンちゃんがファインチューニングを『完全に上書きすること』と誤解するところから始まる回。実は繊細な微調整の技なんです。LLM時代にさらに注目されているテーマです。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

ファインチューニングってあれでしょ? 事前学習モデルを新しいデータで全部学び直すことじゃん!

香月 リサ 先生(笑顔) 香月 リサ 先生

ふふっ、その理解だとちょっと残念なことになっちゃうわよ。
それだと事前学習で得た知識が全部消えちゃうの。

戸倉 ジャスミン(びっくり) 戸倉 ジャスミン

えっ、そうなの? 新しいデータで学び直すんだから、前のは残ってたら邪魔じゃない?

深見 つむぎ(普段) 深見 つむぎ

つまりジャスミンちゃん、それって 壊滅的忘却 と呼ばれる深刻な問題を招くのよ。

雪村 ましろ(びっくり) 雪村 ましろ

『壊滅的忘却』……なんだか名前が怖いですぅ……。

香月 リサ 先生(普段) 香月 リサ 先生

ファインチューニングの本質は、事前学習モデルの知識をなるべく壊さないまま、新しいタスクに適応させることなの。
そのために、いくつか工夫があるのよ。

深見 つむぎ(普段) 深見 つむぎ

1つ目は学習率を小さくすること。
事前学習時の1/10〜1/100程度に設定します。
2つ目は、全層ではなく最終層付近だけを微調整すること。

香月 リサ 先生(普段) 香月 リサ 先生

さらに、浅い層は凍結して最終層だけを更新する方法や、層ごとに異なる学習率を設定する差別化学習率という方法もあるわね。

戸倉 ジャスミン(笑顔) 戸倉 ジャスミン

なるほどね! 全部ガラガラポンじゃなくて、大事な知識は触らずに必要なところだけ上書きするってこと?

深見 つむぎ(笑顔) 深見 つむぎ

そのとおり。
プロの技をベースにして自分流にアレンジするようなイメージね。

雪村 ましろ(笑顔) 雪村 ましろ

だから『ファイン』ってつくんですねぇ! 大雑把じゃなくて、繊細に微調整するってことなんですぅ!

香月 リサ 先生(笑顔) 香月 リサ 先生

ましろさん、いい気づきね。
LLMの世界では、LoRA (Low-Rank Adaptation) という、さらに効率的なファインチューニング手法も広く使われているのよ。

深見 つむぎ(笑顔) 深見 つむぎ

LoRAは元の重みは凍結して、低ランクの小さな追加パラメータだけを学習するので、GPUメモリが少なくても大規模モデルを微調整できるんですよね。
試験では『低ランク行列で軽量化』というポイントを覚えておくと安心です。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

うわぁ……すご〜い、AIの世界って奥が深すぎでしょ! 学習率の設定1つで結果が天国と地獄じゃん。
何度も試しながら覚えてくしかないね!

香月 リサ 先生(普段) 香月 リサ 先生

そうね。
用途に応じて全層ファインチューニング/部分ファインチューニング/LoRA/Adapterなどを使い分けるのが現代の実務よ。
ハイパーパラメータ (学習率、エポック数、層の凍結範囲) の設定は経験と実験の両輪で決めるのが腕の見せ所ね。

雪村 ましろ(普段) 雪村 ましろ

深層学習って、使いこなすための工夫がたくさんありますねぇ……。

確認クイズ

ファインチューニング時に壊滅的忘却を防ぐための方法として適切なものはどれか?

  1. 学習率を大きくする
  2. 学習率を小さくする
  3. データ量を減らす
  4. 層の数を増やす
こたえを見る

正解: 2. 学習率を小さくする

ファインチューニングでは学習率を小さくすることで、事前学習で得た知識を大きく壊さず新しいタスクに適応させます。加えて浅い層の凍結やLoRAなども壊滅的忘却の対策として有効です。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。