概要
通常、実行は選択した事前学習済みモデルであるベースモデルから開始されます。一方、継続した(continued)実行は、以前の実行で生成された重みから開始され、その実行で学習した内容の上に新しいデータが学習されます。これはウォームスタート、継続的ファインチューニング、または連続的ファインチューニングとも呼ばれます。基盤となるベースモデルは変わらないため、コンテキストウィンドウ、トークン単価、およびプロバイダーは同じままです。
実行をチェーンさせる理由
手法が異なれば学習内容も異なります。通常、最も強力な結果は、それぞれが前の結果から開始されるように、複数の手法を順番に適用することで得られます。
| チェーン | 各ステップで追加されるもの | この順序の理由 |
|---|---|---|
| 教師あり → 選好(DPO) | タスク、次に好ましいスタイル | DPOはモデルがすでに提供できる回答をランク付けします。プレーンなベースモデルでは、どちらの回答も情報不足であることが多いためです。 |
| 教師あり → 強化学習(RFT) | タスク、次に高いヒット率 | 強化学習(RL)は、モデルが時折正解する回答のみを強化します。 |
| 蒸留 → 教師あり | 教師モデルの知識、次にお客様のチームのスタイル | 蒸留は教師モデルの癖を学習させるものであり、お客様の回答をターゲットとするものではありません。 |
| 教師あり → 教師あり | さらなる知識:新しい製品領域、より多くのチャット | すべてをゼロから再トレーニングすることを回避します。 |
| 教師あり → DPO → 教師あり → DPO | 洗練されたモデルに新しい知識を追加し、再度洗練させます。 | 大規模な教師あり学習は、選好による洗練を打ち消してしまう可能性があります。 |
| 継続的な事前学習 → 教師あり | お客様のドキュメントからの知識、次にそれを用いた回答方法 | 生のテキストでのトレーニングは事実を教えるものであり、振る舞いを教えるものではありません。その後、チャットや生成されたQ&Aによって回答方法を学習させます。 |
内部の仕組み
継続元の実行と同じプロバイダ、同じベースモデル、場合によっては同じ学習ティア。
ホスト型モデル。 プロバイダーは、IDで指定された以前のファインチューニング済みモデルから新しいジョブを継続するか、保存されたアダプターからウォームスタートします。ルールはプロバイダーに依存します。同じベースモデルを使用すること、また一部のプロバイダーでは、以前の実行と同じトレーニング階層を使用することが求められます。
LoRAでトレーニングされたオープンモデル。 LoRAの実行ではベースの重みWは変更されず、積B·Aが加算される小さなアダプターをトレーニングします。継続するには、まず以前のアダプターをベースにマージし、W₁ = W + B₁A₁(アダプターのα/r係数でスケーリング)とすることで、1つの通常のモデルを生成します。新しい実行ではW₁上で新しいアダプターをトレーニングし、最後にそのアダプターもマージされ、結果が完全なモデルとして保存されます。
run 1 (LoRA): W stays frozen, adapter B₁A₁ is trained
merge: W₁ = W + (α / r) · B₁A₁ # one ordinary model again
run 2 (LoRA): W₁ stays frozen, adapter B₂A₂ is trained
merge + save: W₂ = W₁ + (α / r) · B₂A₂ # saved as a complete modelアダプターは、それが乗っている重みに対する補正を学習するため、最初にマージすることが重要です。W₁の上でトレーニングされることで、新しいアダプターは最初の実行の動作と競合するのではなく、それを基盤として構築されます。
忘却:新しいトレーニングによって失われる可能性のあるもの
新しいデータでのトレーニングは、ネットワークが以前に学習した内容を上書きする可能性があり、この現象は破滅的忘却(catastrophic forgetting)として知られています。Luoら(2023)は、継続的なインストラクションチューニング中に、1Bから7Bパラメータの言語モデルでこれを観察しました。これはユーザー自身の実行間でも発生します。嗜好チューニング済みのモデルに対して大量の新しい教師あり学習を行うと、モデルが回答例をコピーする方向に引き戻され、嗜好の調整が部分的に失われる可能性があります。
- 各ステップの焦点を絞る。 新しい教師あり学習の後に短い選好パスを実行する方が、1回の大規模な統合実行よりも低コストで洗練さを回復できます。
- LoRAの有用性。 Bidermanら(2024年)は、新しいドメインにおいて、LoRAはフルファインチューニングよりも学習量が少ないものの、古い知識の忘却も少ないことを発見しました。これは、置き換えではなく追加を目的とする場合に有用なトレードオフです。
- 新しい知識を追加する際は、古い振る舞いの実践が維持されるように、以前のデータを混在させます。
- すべてのリンクを再評価する。 新しいモデルをその親モデルと比較することで、退行(リグレッション)が明らかになります。
各リンクの測定
継続した実行は、プレーンなベースモデルではなく、開始元のモデルに対して評価されます。ベースモデルに対する勝利は主に以前のステップを反映したものであり、親モデルに対する勝利こそがこのステップで追加された成果です。チェーンは1リンクずつ判定されます。親を上回らないリンクは失敗した仮説とみなし、親を保持してその試行をアーカイブしてください。
- 実行A:ベースモデルから、400件のサポートチャットで教師あり学習。ベースモデルと比較評価:明らかに優位。
- 実行B:実行Aから継続し、120ペアでDPO。実行Aと比較評価:11勝6敗3引き分け。実行Bを採用。
- 実行C:実行Bから継続し、新機能に関する150件の新しいチャットで教師あり学習。実行Bと比較評価:新機能については改善されたが、審査員は回答から実行Bの簡潔さがいくらか失われたと指摘。
- 実行D:実行Cから継続し、短いDPOパスを実行。実行Cと比較評価:簡潔さが回復。実行Dを使用モデルとし、A、B、Cは記録またはアーカイブに保存。
利用可能な開始ポイント
| 新しい実行 | 開始可能なモデル | 理由 |
|---|---|---|
| 教師あり学習 | ベースモデル、または任意のトレーニング済み実行 | 既存のモデルに新しい知識を追加します |
| 嗜好チューニング(DPO) | ベースモデル、または教師あり学習の実行のみ | タスクを学習したモデルを調整します。同じペアを使用したDPOに対するDPOは過剰適合を招くだけです |
| 強化学習(RFT) | ベースモデル、または教師あり学習の実行 | 強化学習(RL)には、すでにいくつかの回答を正しく導き出せるモデルが必要です |
最初のラウンドのモデルから収集した新しいペアに対する2回目のDPO(反復的DPOとして知られています)は有効な手法ですが、ラウンド間に新しいペア収集ステップが必要となるため、現時点では提供されていません。
よくある間違い
- 継続した実行をプレーンなベースモデルと比較して評価すること。これでは、以前のステップの成果まで今回のステップの功績として評価してしまいます。
- DPOモデルに対して、同じペアデータで再度DPOを実行すること。これは同じデータでエポック数を増やすだけであり、過剰適合を招く傾向があります。
- 調整済みのモデルに大規模な教師あり学習を重ね、その後再調整を行わないこと。
- チェーンの途中でベースモデルを変更できると想定すること。継続した実行では、親のベースモデルとプロバイダーが維持されます。
- 優れた教師あり学習の実行がすでに存在しているにもかかわらず、プレーンなベースモデルから強化学習(RL)やDPOを開始すること。
参考文献および関連資料
外部ソースは新しいタブで開きます。
- 01LoRA: Low-Rank Adaptation of Large Language ModelsHu et al., 2021 · arXiv · arxiv.org推論時に追加コストなしでLoRAアダプターをベースの重みにマージできる理由。
- 02LoRA Learns Less and Forgets LessBiderman et al., 2024 · arXiv · arxiv.org新しいドメインで得られるものと他の領域で失われるものに関する、LoRAとフルファインチューニングの比較。
- 03An Empirical Study of Catastrophic Forgetting in Large Language Models During Continual Fine-tuningLuo et al., 2023 · arXiv · arxiv.org次々とタスクをトレーニングした1B–7Bモデルにおける忘却の測定。
- 04Catastrophic interferenceWikipedia · en.wikipedia.org新しいデータでトレーニングした際にニューラルネットワークが忘却を起こす理由の背景。
- 05LoRAHugging Face PEFT docs · huggingface.co実際にアダプターをベースモデルにマージする方法(merge_and_unload)。