Data cleaning — процесс удаления шумов, артефактов, повреждённых фрагментов и нежелательного контента для формирования чистого обучающего корпуса.
Определение
Data cleaning — это этап подготовки данных, направленный на устранение мусора, ошибок форматирования, HTML-артефактов, невалидных символов, некорректной разметки, автогенерированного спама и других проблем, ухудшающих качество обучения моделей. Для LLM это один из ключевых процессов: грязные данные увеличивают число токенов без пользы, вводят шум в распределения и приводят к деградации генерации.
Как работает
Очистка данных включает набор последовательных процедур, каждая из которых корректирует определённый класс ошибок. Типичный pipeline включает:
- Удаление HTML и тегов — извлечение только полезного текстового содержимого, исключая скрипты, стили, служебные структуры.
- Удаление мусорных символов — повреждённые юникод-символы, артефакты кодировок, повторяющиеся пробелы, невидимые символы.
- Фильтрация автогенерированного контента — SEO-спам, машинные статьи, низкокачественные агрегаторы, неинформативные тексты.
- Удаление явных ошибок — дубли блоков, сломанные структуры таблиц, неправильная сегментация.
- Нормализация — унификация пунктуации, пробелов, переводов строк, юникод-нормализация (NFC/NFKC), очистка от эмодзи, если они нецелевые.
- Фильтрация нежелательных доменов — low-quality источники, сайты с шаблонным контентом, дорвеи.
- Удаление пустых и слишком коротких записей — минимальная длина предотвращает включение нерелевантных фрагментов.
В больших корпусах cleaning автоматизируется с помощью регулярных выражений, ML-классификаторов качества текста и эвристик. Несколько уровней фильтрации обычно применяются каскадно, чтобы минимизировать ложные удаления.
Где применяется
- Создание корпусов для LLM от нескольких миллиардов до триллионов токенов.
- Подготовка данных для embedding-моделей.
- RAG-пайплайны — очистка документов перед векторизацией.
- Компьютерное зрение — очистка метаданных и структурированных полей.
- Корпоративные системы документооборота.
Практические примеры использования
В подготовке данных для LLaMA, Mistral и Qwen применяется многоступенчатый cleaning: удаление HTML, агрессивная фильтрация спама, ML-фильтры качества и юникод-нормализация. Некоторые компании используют отдельные модели для классификации «high-quality text» и отклоняют десятки процентов сырого веб-контента. В корпоративных LLM cleaning включает анонимизацию персональных данных и удаление служебных шаблонов.
В RAG cleaning улучшает точность retrieval: нормализованный текст легче разбить на абзацы и индексировать, что уменьшает шум в векторной базе.
Ключевые свойства
- Снижение уровня шума и мусора в корпусе.
- Контроль качества источников и структур.
- Уменьшение токенов без семантической ценности.
- Поддержка корректной токенизации.
- Основа для дедупликации и дальнейшей фильтрации.
Проблемы и ограничения
- Избыточная очистка может удалить полезные редкие примеры.
- Автоматические фильтры ошибаются на пограничных случаях.
- Высокая вычислительная стоимость при триллионных корпусах.
- Сложность балансировки уровень шума / сохранение разнообразия.
- Ручная разметка для ML-фильтров увеличивает стоимость пайплайна.
Преимущества и ограничения
- Плюс: значительное улучшение качества моделей за счет чистого корпуса.
- Минус: требует сложной и дорогой инфраструктуры.
Связанные термины
- Data preprocessing
- Data deduplication
- Dataset curation
- Tokenization
- Quality filtering