Обязательно

Data Curation, Deduplication and Filtering

Near-duplicate search, quality scoring, unsafe content filtering, caption quality and why data quality can dominate architecture changes.

Время изучения: 42 мин

Data curation: модель учится на распределении, которое ты собрал

Foundation model обучается не “на интернете”, а на конкретной версии датасета: какие источники попали, какие документы извлеклись нормально, что удалили фильтры, какие дубликаты остались, как смешали домены, какие safety/PII правила применили и чем потом проверили результат. Data curation - это не уборка мусора после crawl, а управление обучающим распределением.

Главная ошибка - думать, что больше filtering всегда лучше. Сильный фильтр может убрать boilerplate и токсичный мусор, но вместе с ним вырезать редкие языки, нестандартные диалекты, code/math, длинные технические документы или данные из нужного домена. Поэтому фильтр считается хорошим не потому, что он “выглядит разумно”, а потому что его ablation улучшил модель или снизил риск без неприемлемой потери diversity.

Pipeline: от сырого web crawl до training mixture

СтадияЧто делаетЧто надо логироватьЧто может сломаться
ExtractionДостает текст/metadata из HTML, PDF, media captions.source URL, crawl date, parser version, extraction errors.Boilerplate, broken encoding, duplicated navigation, missing main content.
Language / format filtersОпределяет язык, длину, повторения, document shape.language score, length, repetition stats, filter decisions.False positives на code, mixed-language docs, low-resource languages.
Quality scoringОценивает, есть ли полезный обучающий сигнал.score, model/rule version, sampled kept/removed examples.Bias toward Wikipedia-like text, loss of domain diversity.
DeduplicationУбирает exact, near-duplicate или substring duplicates.hashes, cluster id, representative doc, overlap thresholds.Aggressive dedup can remove legitimate templates or related docs.
DecontaminationПроверяет пересечение с eval/test benchmarks.benchmark version, matching method, removed spans/docs.Leakage can remain; over-removal can distort domains.
Mixture / packingСмешивает sources and domains, shards data for training.mixture weights, token counts, shard ids, version manifest.Small domains disappear; loader/shuffle issues affect training.

Deduplication: зачем удалять повторы

Дубликаты вредят по нескольким причинам. Они тратят compute на повторение уже виденного сигнала. Они повышают memorization: модель чаще дословно воспроизводит частые фрагменты. Они портят честность evaluation, если train accidentally содержит test или очень похожий пример. Но dedup бывает разным: exact hash ловит полные копии, MinHash похожие документы, substring dedup повторяющиеся куски, semantic dedup похожие смыслы. Чем сильнее метод, тем выше риск удалить полезные варианты.

МетодЧто ловитГде полезенРиск
Exact dedupПолностью одинаковые документы или строки.Быстро убрать очевидные копии.Не ловит near duplicates и boilerplate variants.
MinHash / fuzzy dedupДокументы с большим overlap.Web corpora, mirrored pages, reposts.Может удалить разные документы с общей структурой.
Substring dedupПовторяющиеся куски внутри/между документами.Шаблоны, лицензии, навигация, benchmark leakage.Может вырезать legitimate repeated code/API examples.
Semantic dedupСмыслово похожие примеры.Очень большие corpora with paraphrases.Сильная зависимость от embedding model and domain bias.

FineWeb, Dolma, DCLM: как читать data case studies

FineWeb хорош как учебный кейс, потому что показывает pipeline decisions, filtering, dedup and eval-driven iteration на открытом корпусе. Dolma/OLMo полезны как пример воспроизводимой исследовательской инфраструктуры: corpus, model, training details, evaluation. DCLM/DataComp-LM показывает важную культуру: dataset design проверяется controlled training runs and benchmarks, а не только ручным просмотром документов.

Из этих кейсов надо вынести стиль мышления: curation change должен иметь hypothesis, versioned pipeline, sampled audit of removed/kept documents and downstream eval. Если после фильтра датасет стал меньше и “чище глазами”, это еще не значит, что модель стала лучше.

Quality, safety и decontamination - разные задачи

Quality filter отвечает на вопрос: есть ли в документе полезный обучающий сигнал? Safety filter отвечает: можно ли это использовать с точки зрения вредного контента, PII, policy and risk? Decontamination отвечает: не попал ли в train benchmark/test material? Эти задачи нельзя склеивать в одну “score”. У них разные false positives, разные владельцы и разные последствия.

Главный production risk

Фильтры почти всегда вносят bias. Если quality classifier обучен на узком представлении “хорошего текста”, он может систематически вырезать low-resource languages, informal speech, community-specific vocabulary or technical/code-heavy pages. Поэтому в data curation обязательно нужен audit удаленных примеров и domain-level eval.

Что спрашивают на собеседовании

  • “Почему dedup делает модели лучше?” Объясни compute efficiency, memorization, train/test leakage and diversity trade-off.
  • “Как проверить, что фильтр помог?” Нужны ablations: одна pipeline change, fixed training recipe, downstream eval, removed-sample audit.
  • “Что может пойти не так при aggressive filtering?” Bias, потеря редких доменов, code/math removal, overfitting to polished style, reduced robustness.
  • “Чем quality filtering отличается от safety filtering?” Quality про обучающий сигнал; safety про риск использования; decontamination про benchmark leakage.
  • “Какие metadata сохранять?” source, crawl date, license/terms if available, language score, filters applied, dedup cluster, token count, safety/PII flags, pipeline version.

Иллюстрация для страницы

Filter funnel: raw crawl -> extraction -> language/repetition filters -> quality score -> dedup clusters -> safety/PII -> mixture. У каждого этапа показывать tokens kept, examples removed and risk warnings. Так видно, что curation - это серия решений, а не один cleanup script.