概要
実際のチャットログは雑然としています。モデルに模倣させたい回答の隣には、エラーメッセージ、セーフティレイヤーによる拒否、チャットインターフェースのみが理解できるマークアップ、ファイルの準備ができたことだけを伝える回答、そして2回保存された同じ会話などが含まれています。クリーニングはデータ準備の最初のステップであり、トレーニングファイルに変換される前に、これらの記録を削除または修復します。
ファインチューニングには「悪い例」という概念がないため、これは重要です。トレーニングファイルに到達したすべてのターゲット回答は正解として扱われ、モデルはその回答を生成する確率を高めるように促されます。1つのエラーメッセージがターゲットとして10回使用されると、モデルはエラーメッセージが通常の回答であると学習します。
仕組み
各ステップは1つの特定のパターンを検索し、それぞれにトレーニングの仕組みに基づいた理由があります。ターゲット回答を削除するステップもあれば(コンテキストとして読み取り可能なままですが、評価はされません)、記録全体を削除したり、その構造を書き換えたりするステップもあります。
| ステップ | 検出対象 | トレーニングに悪影響を及ぼす理由 |
|---|---|---|
| UIマークアップ | チャットインターフェースがボタンや折りたたみ式パネルなどをレンダリングするために使用するタグ | そのインターフェースの外部で使用されるモデルは、回答に生のタグを出力してしまいます |
| エラー回答 | 「クエリの処理中にエラーが発生しました…」などのシステム障害 | モデルが意図的に失敗することを学習してしまいます |
| ガードレールによるブロック | モデルが記述したものではなく、プラットフォームのセーフティレイヤーによって挿入された拒否 | 回答しても問題のない質問に対する拒否を学習してしまいます |
| ファイルの通知 | 実際の出力が生成されたファイルである短い回答(例:「資料の準備ができました」) | ファイルはテキスト内に存在しないため、モデルは実行していない作業を行ったと主張することを学習してしまいます |
| 構造 | アシスタントから始まる会話。同じ役割からの2回連続のメッセージ | トレーニングフォーマットでは、ユーザーから始まり、ユーザーとアシスタントが交互に発言する必要があります |
| 重複 | 2回保存またはインポートされた、同じ回答を含む同じ会話 | 1つの例を2回カウントします:重みが増し、暗記が増えますが、新しい情報はありません |
| 繰り返される回答 | 挨拶や定型的な免責事項など、ターゲットとして何度も使用される同一の回答 | いくつかの定型句が支配的になり、モデルがどこでもそれらを使用するようになります |
重複には特別な注意が必要です。大規模なトレーニングセットに関する研究では、繰り返されるテキストが暗記の主な要因であることが判明しています。Leeら(2021年)は、トレーニングデータの重複を排除することで、モデルが暗記したテキストを出力する頻度が10分の1になることを示しました。また、Carliniら(2022年)は、シーケンスが重複する頻度が、モデルがそれを一言一句繰り返すかどうかを予測する最も強力な指標の1つであることを発見しました。ファインチューニングセットははるかに小さいため、1つの会話が5回繰り返されると、モデルが参照するデータの中で大きな割合を占めることになります。
上限付きの繰り返し回答ステップは、重複排除よりも緩やかな処理です。「お役に立てて嬉しいです — 他に何かありますか?」のような短く同一の回答は完全に適切である可能性があるため、上限までは保持され、超過したコピーのみがターゲットから除外されます。モデルは、すべての質問に対してそのフレーズを返すように学習することなく、そのフレーズ自体を学習します。
- サポートチームが、ターゲットとしてマークされた1,850件のアシスタントの返信を含む1,000件の会話を抽出します。
- 38件のターゲットはサービス停止期間中のエラー返信であり、12件はガードレールによる拒否です。これら50件はすべてターゲットから除外されます。
- 27件のターゲットは「レポートの準備ができました」というメッセージですが、実際の出力はPDFでした。これらは削除されます。テキストだけでは、PDFを生成するようにモデルをトレーニングすることはできません。
- 64件のターゲットは、2回インポートされた会話に含まれています。それぞれ1つずつ保持されます。
- 「他にお手伝いできることはありますか?」という結びの言葉がターゲットとして71回出現します。上限を30件とした場合、41件のコピーがターゲットから除外されます。
- 1,668件のターゲット(約90%)が残ります。トレーニングコストはわずかに下がり、削除された10%はモデルを悪化させる可能性が最も高い返信でした。
重要となるケース
- 本番製品のログでは常に必要です。 停止、セーフティレイヤー、インターフェース機能はすべて、返信のように見える痕跡を残します。
- 小規模なデータセットではさらに重要です。 200件のターゲットの場合、10件の不良データはシグナルの5%を占めますが、20,000件の場合はノイズにすぎません。
- インポートされたチャット。 他のツールからのエクスポートには、重複または部分的に重複する会話が含まれていることがよくあります。
- モデルがチャットインターフェースの外部で実行される場合。 その場合、UIマークアップは削除する必要があります。モデルがそれをレンダリングするのと同じインターフェースで使用される場合にのみ保持してください。
デフォルトではオフです。トレーニングされたモデルが、それらのタグを理解する同じチャットインターフェース内で回答し、ボタンや折りたたみ式セクションを引き続き生成させたい場合にのみオンにしてください。
よくある間違い
- 大規模なデータセットであればクリーニングは不要であるという思い込み:データセットが大きくなるにつれて、重複や定型的な回答も増加します。
- 「ファイルの準備ができました」という回答でトレーニングを行い、モデルが作成したことのないファイルを作成したと主張する理由を不思議に思うこと。
- 別の製品で実行されるモデルのインターフェースマークアップを保持し、タグがそのままテキストとして表示されてしまうこと。
- 根本原因ではなく、準備のたびに表面的な症状を修正すること:多くの回答がエラーや拒否である場合、基盤となるチャットや製品フローに注意を向ける必要があります。
- 会話単位ではなくメッセージ単位で重複排除を行うこと:これにより、回答の理由となる質問が欠落したまま回答が残る可能性があります。
参考文献および関連資料
外部ソースは新しいタブで開きます。
- 01Deduplicating Training Data Makes Language Models BetterLee et al., 2021 · arXiv · arxiv.org実際のデータセットに繰り返されるテキストがどれほど含まれているか、そしてそれを削除することで暗記がどのように減少するかを示しています。
- 02Quantifying Memorization Across Neural Language ModelsCarlini et al., 2022 · arXiv · arxiv.org暗記は、モデルのサイズ、例が重複する頻度、およびプロンプトの長さに比例して増加します。
- 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org強力な結果を得るには、慎重に厳選された1,000個の例で十分でした:量より質です。
- 04Supervised fine-tuningOpenAI API docs · developers.openai.comトレーニングの例に何を含めるべきかに関するプロバイダーの見解。