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
Что спрашивают на собеседовании
- “Почему 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.
Иллюстрация для страницы
Материалы
Официальные docs
Production cases
Papers / reports
Grounding paper for deduplication, memorization and evaluation contamination.
Paper version of the FineWeb pipeline and evaluation story.
Benchmark framing for controlled data curation and filtering experiments.