モデルのしくみ 上級
破滅的忘却
Catastrophic Forgetting
新しい内容を追加で学習させると、以前に身につけていた能力や知識が大きく失われてしまう現象です。ファインチューニングのときに特に注意が必要です。LoRA や元データの混合で軽減できます。
別の呼び方壊滅的忘却、破滅的干渉、継続学習での忘却
例特定業務向けに追加学習したところ、一般的な質問への回答力が落ちたため、LoRA での調整に切り替えた。
詳しく
破滅的忘却とは、ニューラルネットワークに新しいことを追加で学習させたとき、以前に学んだ内容を急激に、大きく失ってしまう現象です。人間なら、新しい言語を学んでも母語は忘れませんが、ニューラルネットワークでは、条件次第でそれに近いことが起こります。
なぜ起きるのか
ニューラルネットワークの知識は、パラメータ(重み)全体に分散して保存されています。特定の記憶が決まった場所にあるわけではありません。新しい課題に合わせて重みを更新すると、その更新が、以前の課題に必要だった重みの配置も一緒に書き換えてしまいます。
古いデータに触れないまま、新しいデータだけで学習を進めると、モデルは新しいデータに都合のよい状態へ偏っていきます。結果として、元の能力が薄れます。
具体例
- 大規模言語モデルを、社内の専門文書だけでファインチューニングしたら、その分野には強くなったが、一般的な常識的質問や他の言語の対応力、指示に従う力が落ちた
- 安全性のための調整をして、あとから別の目的で追加学習したところ、安全に関する振る舞いが弱まった
- 日本語データを追加したら、英語の性能が下がった
対策
- 元のデータを混ぜる:新しいデータだけでなく、元の性質を保つデータも一緒に学習する(リハーサル)
- 学習率を小さく、学習量を控えめにする:重みの変化を小さく抑える
- 一部だけ更新する:LoRA のように、元の重みを固定して、少数の追加パラメータだけを学習する方法は、元の能力が保たれやすい
- 重要な重みを守る:以前の課題に重要なパラメータの変化にペナルティを加える手法も研究されている
- 評価で見張る:追加学習の前後で、元の能力を測る評価(eval)を比べる
使うときの注意・よくある誤解
LoRA などを使えば完全に防げるわけではなく、程度が軽くなる傾向があるという理解が適切です。また、モデルに知識を足したいだけなら、重みを書き換えず RAG で資料を渡す方法のほうが、忘却の心配がなく、更新も簡単です。
「ChatGPT のようなサービスが会話中に忘れる」のは、別の話です。それは文脈長の制限による現象で、重みが書き換わっているわけではありません。
関連する考え方
人間のように学び続けるAIを目指す「継続学習」の研究では、この忘却をどう防ぐかが中心課題の1つです。
あわせて知りたい言葉
- ファインチューニング学習済みのモデルに、特定の用途向けのデータを追加で学習させて調整することです。出力の形式や口調、特定分野の判断のしかたをモデルに覚えさせるのに使い、プロンプトだけでは安定しない場面で検討します。
- LoRAモデル本体はそのまま固定し、小さな追加部品だけを学習して、モデルの振る舞いを調整する軽量なファインチューニング手法です。少ない計算資源で追加学習ができ、用途別に差し替えて使えます。
- ニューラルネットワーク人間の脳の神経細胞のつながりをヒントにした、数値の計算を何層にも重ねて入力から出力を導くしくみです。現在の生成 AI を含む、ほとんどの AI モデルの土台になっています。
- 過学習学習に使ったデータには非常によく合う一方で、初めて見るデータには通用しなくなる状態です。問題を丸暗記してしまい、本質的なパターンを学べていないときに起こります。
- 事前学習大量の文章や画像などから、言語や世界についての一般的な知識を身につけさせる、モデル作りの最初の学習段階です。これに続く調整の土台になる、最も計算費用がかかる工程です。