100回学んでも忘却を大きく抑える方法:継続学習メカニズムの組み合わせ

言語モデルが100個のタスクを順番に学習する際の破滅的忘却を、3種類のアンカーとマージLoRAの組み合わせで最終記憶率を1.2%から34.9%へと28倍に高めた研究を解説します。
← 목록으로
온
온틀 리서치
2026년 10월 02일 更新 2026.10.16 読了 12分 閲覧 2

一つの言語モデルが、時間をおいて届く情報を100回にわたって順番に学習していくと、後の学習が前の学習を上書きして消してしまう「破滅的忘却」が起こります。この論文はこの問題に正面から取り組むため、「長期記憶(long-horizon memorization)」という設定を新たに定義し、異なる原因をそれぞれ捉える複数の継続学習手法を「組み合わせる」と、各手法を単独で使うよりもはるかによく記憶できることを、体系的な実験で示しました。中心となる組み合わせは、最終的な平均記憶率を単純な逐次ファインチューニングの1.2%から34.9%へと、約28倍に引き上げました。

この論文が解く問題

言語モデルは、一度学習して終わりというわけではなく、新しい情報が次々と入ってくる状況に置かれることが少なくありません。昨日学んだ事実の上に今日の新しい事実を重ね、明日もまた重ねる、という具合です。問題は、この過程を繰り返すとモデルが以前に学んだことを忘れてしまう点にあります。これを「破滅的忘却(catastrophic forgetting)」と呼びます。

たとえて言えばこうです。一枚のホワイトボードに毎日新しいメモを上書きしていくのに、以前書いたものを別に保存しておかないとしましょう。最初の数日は問題ありませんが、100回ほど上書きした頃には、一番最初に書いた内容はほとんど残っていません。モデルの重み(weight、モデルが学習した内容を保持する数値)も同じです。新しいタスクを学ぶために値を調整し続けていると、以前のタスクのために合わせておいた値が押し出されてしまいます。

この論文は、この問題を非常に過酷な条件で検証します。著者らが定義した「長期記憶」設定では、モデルが100個のクエリ-アンサー(query-answer)タスクを、逐次的な教師ありファインチューニング(continual supervised fine-tuning)で学習します。このとき、二つの制約が課されます。第一に、先に学んだ元の学習サンプルを別に保存しておいて、後で取り出して再利用することはしません(過去データの原本の保存・再利用の禁止)。第二に、推論(inference)の時点で「これは何番目のタスクか」というような識別子(task identifier)を与えません。つまりモデルは、ヒントなしで100個のタスクを自力で区別し、記憶しなければなりません。

著者らが既存の継続学習手法をひとつずつ試した結果、これほど長い地平(horizon)で強い記憶力を維持できる単一の手法はありませんでした。そこで彼らは発想を変えます。「一つではだめなら、異なる原因を捉える手法どうしを合わせたらどうか?」

核心となるアイデア

論文の仮説はこうです。忘却には異なる源泉(sources of forgetting)があり、それぞれ異なる源泉を狙う手法は「相互補完的」なので、組み合わせたときにより効果的になるはずだ、というものです。著者らはこの組み合わせを、二つの設計軸(design dimension)に整理します。

一つ目の軸は「何を守るか」です。毎回新しい学習をするとき、以前の情報をどう捉えておくかを決める「アンカー(anchor、錨)」です。3種類あります。

  • データアンカー(data anchor):過去の情報を含んだデータを作り直して、新しい学習に一緒に混ぜます。元のサンプルを保存しておくのではなく、直前のモデルで過去の内容を含んだ仮想のシーケンス(論文では300個)を生成し、新しいタスクと並べて学習する「生成リプレイ(generative replay)」方式です。以前のノートをそのまま取り出す代わりに、記憶をたどって要約版を新たに書き、その横に広げて新しい勉強をするのに近いやり方です。
  • 関数アンカー(function anchor):モデルの「出力の振る舞い」そのものを基準にして捉えます。以前のモデルがある入力にどう答えたか、その反応の仕方を維持するようにつなぎ留めます。
  • 重みアンカー(weight anchor):モデル内部の値そのものが、以前の状態から離れすぎないように捉えます。ホワイトボードで特に重要な文字は消せないようにテープで固定しておくことにたとえられます。

二つ目の軸は「どこに保存するか」です。著者らは低ランク割り当てルール(low-rank allocation rule)を使います。ここで登場するのがLoRA(Low-Rank Adaptation)です。LoRAは、モデル全体を作り直すのではなく、小さな「付け足しモジュール」だけを学習して変化を保存する方法です。大きな絵に直接塗り重ねる代わりに、透明な薄いフィルムを一枚ずつ重ねて修正するのに似ています。元の絵は傷つきにくく、修正内容はフィルムに残ります。

「低ランク割り当てルール」は、これらのフィルムをどう配置し管理するかを決めます。新しいタスクごとにどこに変化を収めるか、複数タスクのフィルムをどう重ねるか、という問題です。論文で最高性能だった組み合わせは、ここで「マージLoRA(merged LoRA)」を使います。複数のタスクで学習したLoRAモジュールを一つにまとめて管理する方式です。

整理すると、アンカーは「何を保存するか」を、低ランク割り当ては「どこに残すか」を担います。この二つを掛け合わせると、かなり多くの組み合わせが生まれます。問題は、組み合わせの数が爆発的に多いことです。

この膨大な設計空間を探るために、著者らは二つの実験手法を使います。

  • タスク単位の逐次半減(task-level successive halving):候補となる組み合わせを複数用意し、性能の低いものを段階的に半分ずつ脱落させて、有望な組み合わせに資源を集中させる探索方式です。予選で成績の悪いチームをラウンドごとにふるい落とし、決勝進出者を絞り込むトーナメントにたとえられます。
  • 要因実験(factorial experiment):各手法をオン・オフにする組み合わせを体系的に配置し、個々の効果だけでなく、手法どうしの相互作用効果(interaction effect)まで測定します。「A単独の効果、B単独の効果、そしてAとBを一緒に使ったときの追加の効果」を切り分けて見るのです。

さらにこの仮説をきちんと検証するために、著者らは互いにはっきり異なる100タスクの記憶データセットを3つ自前で構成しました。あるデータセットだけでうまくいく偶然を排除するための設計です。

結果とその意味

アブストラクトが示す核心的な結果は明確です。

項目 アブストラクトに明記された値
単純な逐次ファインチューニングの最終平均記憶率 1.2%
最良の組み合わせの最終平均記憶率 34.9%
向上倍率 約28倍
最良の組み合わせの順位 3つのデータセットすべてで上位3位以内

最高性能の手法は、3種類のアンカー(データ・関数・重み)をすべて使い、そこにマージLoRAを組み合わせたものです。この組み合わせは3つのデータセットすべてで上位3位以内に入り、特定のデータだけに効く偶然ではないことを示しました。

とりわけ興味深いのは「どの手法が最も大きく寄与したか」です。アブストラクトによれば、データアンカーとマージLoRAが平均的に最も大きな利得をもたらし、この二つは3つのデータセットすべてで「超加法的(super-additive)」に相互作用しました。超加法的とは、二つの手法を別々に使った効果を単純に足したものよりも、一緒に使ったときの効果の方が大きい、という意味です。1足す1が2より大きくなるわけです。これこそが、この論文の中心的な主張(相互補完的な手法を組み合わせると相乗効果が生まれる)を裏づける実証的な証拠です。

意味をまとめると、長期記憶の問題では、「たった一つの魔法のような手法」を探すアプローチよりも、異なる忘却の原因をそれぞれ狙う手法を慎重に組み合わせるアプローチの方が、はるかに遠くまで到達できるということです。

限界と残された問い

正直に指摘しておくべき点があります。

第一に、34.9%という数字は確かに単純な方式(1.2%)に比べれば劇的な向上ですが、絶対的に見れば、依然として100タスクのうち相当数を忘れているという意味でもあります。実際、論文(§5.2)は、これらの手法が忘却を遅らせはするものの、古い記憶が失われること自体を防ぐわけではないと述べています。長期記憶は大きく改善されただけで、「解決」されたわけではありません。

第二に、この設定は100個のクエリ-アンサータスクという特定の形態の記憶を扱っています。アブストラクトだけでは、各タスクの具体的な性質、データセットの規模、タスク間の類似性といった細部はわかりません。実際の製品で遭遇する、はるかに多様で入り混じった情報の流れにそのまま移せるかは、別途の検証が必要です。

第三に、最良の組み合わせは3つのアンカーとマージLoRAをすべて使うため、構成要素が多くなります。それだけ実装・チューニングのコストや計算の負担がどの程度なのか、そしてタスク数が100を超えて増え続けても、この利点が維持されるのかは、今後の問いとして残ります。(こうした細かい数値はアブストラクトにないため、ここでは断定しません。)

ONTLEの視点

ONTLEは、AIプロジェクトマネージャーを派遣するサービスです。AI PMは本質的に「時間をかけて新しいことを学び続けなければならない」存在です。昨日の会議での決定、先週の顧客の要望、一か月前のプロジェクトの文脈を忘れずに積み上げてこそ、まともなマネージャーとして機能します。この論文が扱う「長期記憶」は、まさにその能力の核心的な難題です。

この研究が実務の製品に与える示唆を、いくつかに整理します。

  • 記憶は一つの手法では成り立たない。AIエージェントに長期記憶を持たせるとき、RAG(検索拡張、外部のストアから関連情報を取り出す方式)一つ、あるいはファインチューニング一つだけに頼りがちです。この論文は「異なる原因を狙う手法を組み合わせよ」という方向を支持します。外部知識の保存(データを捉える軸)とモデル内部の保存(振る舞い・重みを捉える軸)を一緒に設計する方がよい、ということです。
  • 原本を溜め込まずに持ちこたえる設計が重要だ。論文の設定は、過去の原本データを保存・再利用せず、推論時にタスク識別子も与えません。代わりに最良の組み合わせは、モデルが直前の状態で過去の情報を含んだ仮想データを自ら作って学習し直す生成リプレイで、この制約を回避します。現実のエージェントも、過去の対話の原本をすべて保管・再学習することはできませんし、ユーザーが毎回「これは3番のプロジェクトの話だよ」と教えてくれるわけでもありません。原本なしでも過去の文脈を自ら再生成し、ヒントなしで文脈を区別・維持できる能力こそ、実戦の条件に近いのです。
  • 組み合わせには相乗効果の起こる地点がある。データアンカーとマージLoRAが超加法的に相互作用したという発見は、記憶の設計で「何を捉えるか」と「どこに残すか」を一緒に最適化するとき、予想以上の利得が生まれうることを示唆します。ONTLEのような多プロジェクトのエージェントでは、プロジェクトごとの知識保存とモデル適応モジュールを、別々ではなく一つのセットとして設計する方が有利になりうるのです。

ただし34.9%という結果が教えてくれるように、完全な記憶はまだ遠い目標です。実務では、モデルの内部記憶だけに頼るよりも、検証可能な外部の記録(文書・DB)と組み合わせ、「忘れてもまた探し出せる」安全網を一緒に用意するのが現実的なアプローチです。

破滅的忘却とは具体的に何ですか?

言語モデルが新しいタスクを学ぶために内部の値(重み)を調整する過程で、以前のタスクのために合わせておいた値が押し出され、前に学んだことを忘れてしまう現象です。ホワイトボードに上書きし続けると最初のメモが消えていくのに似ています。

この論文の28倍の向上は何を意味しますか?

アブストラクトによれば、単純な逐次ファインチューニングの最終平均記憶率が1.2%であるのに対し、3つのアンカーとマージLoRAを組み合わせた最良の組み合わせは34.9%を記録し、約28倍改善されました。ただし絶対値の34.9%は依然として相当数を忘れているという意味なので、問題が完全に解決されたわけではありません。

「アンカー」と「LoRA」はどう役割が違うのですか?

アンカー(データ・関数・重み)は「何を保存するか」を決めます。ここでデータアンカーは、原本を保存しておくのではなく、直前のモデルで過去の情報を含んだ仮想データを作り、新しい学習に混ぜる生成リプレイ(generative replay)です。低ランク割り当てルールとマージLoRAは「変化をどこに残すか」を決めます。論文は、この二つの軸を組み合わせるとき、とりわけデータアンカーとマージLoRAが互いを超加法的に強め合うことを示しました。

この研究をすぐに製品に使えますか?

研究の設定は100個のクエリ-アンサータスクという特定の形態の記憶を扱うため、実際の製品の多様な情報の流れにそのまま適用するには追加の検証が必要です。ただし「相互補完的な記憶手法を組み合わせよ」という原則と、「原本を溜め込まず、過去の情報を自ら再生成し(生成リプレイ)、識別子なしで持ちこたえる設計」という方向性は、実務のエージェント設計に役立つ指針になります。

参考資料