파운데이션 모델 엔지니어링

17.4 Contamination Issues

Evaluation contamination은 training·tuning data에 test item, solution, rubric, 가까운 paraphrase 또는 이들에서 만든 정보가 포함되는 현상입니다. 전이 가능한 capability를 입증하지 않고 측정 성능을 부풀립니다. Exact matching은 방어의 한 층이지 최종 판정이 아닙니다.


Contamination Lineage

모든 protected case에 stable 평가 ID(evaluation ID), normalized hash, raw-source hash, semantic cluster ID, version, access class를 부여합니다. Protected record에는 prompt, answer, rubric, grader/judge prompt, fixture, unit test, tool environment, public alias가 들어갑니다.

Item뿐 아니라 다음도 격리합니다.

  • answer explanation, benchmark repository, leaderboard, solution discussion
  • translation, format conversion, perturbation, semantic neighbor
  • private release prompt와 과거 production badcase
  • item, answer, 교사 prompt(teacher prompt), rubric 을 context에 넣어 만든 synthetic output

Teacher model revision, prompt, seed, decoding, judge/verifier version, rejection reason으로 parent-child lineage를 추적합니다. 생성된 “새” 질문도 benchmark derivative일 수 있습니다.


여러 Representation에서 탐지하기

Raw, rendered, tokenized form에 cascade를 적용합니다.

  1. 보수적 normalization 후 exact hash
  2. document·substring matching
  3. n-gram, MinHash/LSH, suffix/prefix overlap
  4. code AST, identifier-normalized, test-fixture similarity
  5. embedding retrieval과 semantic neighbor cluster review

Interactive N-Gram Overlap Analysis

Adjust N to see how exact match sensitivity changes.

Jaccard Similarity7.7%
Intersection | Union1 | 13

Text A N-Grams

  • "the quick brown"
  • "quick brown fox"
  • "brown fox jumps"
  • "fox jumps over"
  • "jumps over the"
  • "over the lazy"
  • "the lazy dog"

Text B N-Grams

  • "a quick brown"
  • "quick brown fox"
  • "brown fox leaps"
  • "fox leaps over"
  • "leaps over a"
  • "over a lazy"
  • "a lazy dog"

Overlap score에 보편 cutoff는 없습니다. Language, tokenizer, document length, data type별 known duplicate, paraphrase, legitimate-domain-neighbor pair로 threshold를 보정(calibrate) 합니다. Precision/recall을 보고하고 uncertain band를 review로 보냅니다. 13개 matching token이나 0.8 similarity 같은 고정 수치는 일반 경계가 아닙니다.

Raw document에서 검사하고 filtering, chat templating, packing, synthetic augmentation 뒤의 최종 rendered·tokenized corpus 에서 다시 검사합니다. Post-processing은 raw scan이 놓친 match를 만들거나 드러낼 수 있습니다.


Decontamination Pipeline

Data collection 전에 protected registry를 versioning합니다. Pretraining, continued pretraining, SFT, preference, reward-model, synthetic manifest가 검사한 registry version을 기록합니다.

각 candidate sample에 대해:

  1. source provenance와 stable sample ID를 보존합니다.
  2. exact·approximate index를 조회합니다.
  3. matched evaluation ID, distance, evidence를 첨부합니다.
  4. 선언한 rule에 따라 제거·격리·escalation합니다.
  5. 결정과 모든 descendant를 기록해 deletion이 전파되게 합니다.
  6. 제거 후 mixture weight를 다시 계산합니다.

Train/dev/test 배정 전에 semantic cluster를 분할합니다. 원하는 benchmark score를 보며 threshold를 조정하면 안 됩니다. Audit trail 없이 protected case를 override하지 못하게 합니다.


Dynamic과 Private Evaluation

Fresh private case, timestamped task, perturbation, 동적 user prompt는 일부 direct leakage를 줄입니다. 그러나 contamination-free evaluation을 보장하지 않습니다. Prompt가 나중에 log·공개될 수 있고, teacher가 solution을 transfer할 수 있으며, semantic template이 알려져 있거나 judge가 rubric을 보았을 수 있고, 반복 online evaluation이 training feedback이 될 수 있습니다.

Dynamic benchmark와 arena는 유용한 changing sample이지 완전한 방어책이 아닙니다. Item creation·first-exposure date, system/tool access, judge version, public log 재사용 여부를 기록합니다. Trend를 위한 stable anchor와 protected fresh case, product-specific private suite를 함께 사용합니다.

Hidden text의 정확한 continuation, answer-label 순서에 대한 brittleness, known/public case와 fresh variant의 비정상적 차이, meaning-preserving transformation에서의 급락은 의심 신호입니다. 그 자체로 proof는 아닙니다.


Reporting과 Release Gate

Benchmark report에는 data cutoff claim, protected-registry version, scanned manifest, representation level, threshold와 calibration set, exclusion, residual uncertainty, training provider가 제공한 lineage 범위를 적습니다. “No match found”는 테스트한 detector에서 찾지 못했다는 뜻입니다.

Protected evaluation ID나 semantic neighbor가 training에 들어갔거나, 중요한 synthetic data의 teacher/judge lineage가 없거나, candidate가 exposed case에서만 좋아졌다면 release claim을 차단합니다. 가능하면 clean manifest로 다시 학습하고 untouched sibling에서 평가합니다.


Quizzes

Quiz 1: Prompt를 제거해도 benchmark answer와 rubric을 보호해야 하는 이유는 무엇인가요? Target mapping이나 grading rule을 드러내고 teacher가 close variant를 생성하는 데 쓸 수 있습니다. 이를 학습해도 evaluation 정보가 유출됩니다.

Quiz 2: 최종 tokenized corpus를 검사해야 하는 이유는 무엇인가요? Filtering, templating, packing, synthetic transformation이 matching span을 만들거나 이어 붙이거나 드러낼 수 있습니다. 실제 model input은 raw source가 아니라 최종 corpus입니다.

Quiz 3: 하나의 n-gram threshold가 보편적이지 않은 이유는 무엇인가요? Chance overlap과 duplicate evidence가 language, tokenizer, sequence length, boilerplate, data type에 따라 달라집니다. Calibration된 precision/recall과 review band가 필요합니다.

Quiz 4: Dynamic benchmark가 historical leakage를 제거하지 못하는 이유는 무엇인가요? Template, rubric, judge, 이전 prompt가 이미 노출될 수 있고 log가 미래 training에 들어갈 수 있습니다. Dynamic collection은 한 위험을 줄이지만 clean lineage를 증명하지 않습니다.


References

  1. Golchin, S., & Surdeanu, M. (2023). Data Contamination Quiz: A Tool to Detect and Estimate Contamination in Large Language Models. arXiv:2311.06233.
  2. Sainz, O., et al. (2023). NLP Evaluation in Trouble: On the Need to Measure LLM Data Contamination for Each Benchmark. arXiv:2310.18018.
  3. Lee, K., et al. (2021). Deduplicating Training Data Makes Language Models Better. arXiv:2107.06499.