LLMの学習データからベンチマークや評価データと重複するテキストを検出・除去する前処理工程。N-gramマッチングやハッシュベースの類似度判定を用いて、学習データの汚染を事前に防止する。
Decontaminationフィルタリングは、LLMの学習データパイプラインにおいて、ベンチマークや評価データセットとの重複を検出・除去する前処理工程である。「除染」を意味するDecontaminationの名の通り、学習データから評価データの「汚染」を取り除く操作を行う。
この工程は、学習済みモデルのベンチマーク結果の信頼性を担保するために不可欠である。GPT-3以降の主要なLLMの技術レポートでは、decontamination手順とその結果が記載されるのが標準的になっている。
Decontaminationには複数のアプローチがあり、それぞれ精度と計算コストのトレードオフがある。
| 手法 | 原理 | 精度 | 計算コスト | 代表的な使用例 |
|---|---|---|---|---|
| N-gramマッチ | 連続N単語の完全一致で検出 | 高 | 中 | GPT-3/GPT-4 (13-gram) |
| MinHash + LSH | 文書のハッシュ署名による近似重複検出 | 中 | 低 | RedPajama, Dolma |
| Suffix Array | 最長共通部分文字列の効率的検出 | 最高 | 高 | C4 データセット |
| 埋め込みベース | 意味的類似度による検出 | 中〜高 | 最高 | 研究用途 |
| Bloom Filter | 確率的データ構造による高速メンバーシップ判定 | 中(偽陽性あり) | 最低 | 大規模前処理のプレフィルタ |
最も広く使われている手法がN-gramマッチである。GPT-3のレポートで採用され、以降の多くのモデルで標準的に使われている。
手順:
Nの選択: Nが小さいと偽陽性(無関係なテキストの誤除去)が増え、Nが大きいと偽陰性(パラフレーズされた汚染の見逃し)が増える。実務上は8〜13が使われることが多い。
N=8: 偽陽性↑ 偽陰性↓ → 保守的(安全側)
N=13: 偽陽性↓ 偽陰性↑ → 緩い(見逃しのリスク)
GPT-4の技術レポートでは13-gramが使用され、各ベンチマークに対する汚染率と、汚染除去前後のスコア差が報告されている。
実際のLLM学習パイプラインでは、decontaminationは以下の位置に組み込まれる。
Webクロール → 言語フィルタ → 品質フィルタ → 重複除去(dedup)
→ ★Decontamination★ → トークン化 → 学習
重複除去(deduplication)は学習データ内部の重複を除去する工程であり、decontaminationは学習データとベンチマークデータ間の重複を除去する工程である。両者は目的が異なるが、同じツール(MinHash等)を共有できる場合が多い。
Decontaminationフィルタリングにはいくつかの根本的な限界がある。
パラフレーズへの脆弱性: 問題文が言い換えられた場合、N-gramマッチでは検出できない。例えば「What is the capital of France?」が「France's capital city is...」に変形されると、13-gram一致は発生しない。
間接汚染の検出困難性: ベンチマーク問題の解説記事や、問題を引用した論文は、問題そのものとはN-gram重複が低いため除去されにくい。しかし、モデルは解説から正答を学習できる。
ベンチマークの網羅性: 新しいベンチマークが次々と作成されるため、全てのベンチマークに対してdecontaminationを実行するのは非現実的。主要なベンチマーク(MMLU・HumanEval・GSM8K等)に限定するのが一般的。
過剰除去のリスク: 厳しい閾値を設定すると、ベンチマークと偶然類似しているだけの有用な学習データまで除去してしまう。特にN=8のような短いN-gramでは、一般的な表現が一致しやすい。
| モデル | Decontamination手法 | N-gram長 | 対象ベンチマーク |
|---|---|---|---|
| GPT-3 | N-gramマッチ | 13 | 主要ベンチマーク全般 |
| GPT-4 | N-gramマッチ | 13 | MMLU, HellaSwag, WinoGrande等 |
| LLaMA 2 | N-gramマッチ + MinHash | 10 | 主要ベンチマーク全般 |
| Mistral | 非公開 | - | 非公開 |
| Gemini | 非公開(レポートに記載あり) | - | 主要ベンチマーク |
完全な解決にはならない。N-gramマッチは直接的な重複のみを検出し、パラフレーズや間接的な汚染は見逃す。Decontaminationはリスク軽減策であり、動的ベンチマークの採用や独自評価セットの準備と組み合わせることが推奨される。
モデルとベンチマークによるが、GPT-4のレポートではMMLUで汚染除去後も大きなスコア低下は見られなかったと報告されている。一方、小規模モデルでは5〜10ポイントの低下が見られるケースもある。汚染の影響が大きいほどスコア低下も大きい。
オープンソースのツールとしてBigScienceのdecontamination scripts、EleutherAIのlm-eval-harness内の汚染分析機能、datasketchのMinHash実装などが利用できる。学習データ規模に応じてMinHash(大規模向け)かN-gramマッチ(中規模向け)を選択する。