Искусство подготовки данных: как фильтрация и дедупликация определяют успех языковых моделей 0:04
Подготовка качественных наборов данных — это не просто «сбор» информации, а сложный технологический процесс, который выходит далеко за рамки простого парсинга веб-страниц. На лекции курса Stanford CS336 ведущий детально разобрал механизмы фильтрации и дедупликации, превращающие «сырой» шум интернета в высокоэффективное «топливо» для обучения нейросетей.
🤖 Алгоритмы фильтрации данных 1:22
Основная задача фильтрации — отобрать из огромного массива «сырых» данных (например, Common Crawl) подмножество, максимально близкое к эталонному качественному набору. Основной принцип заключается в создании скоринговой функции, которая оценивает, насколько каждый документ соответствует целевым параметрам.
N-gram модели и Kneser-Ney 2:44
Хотя сейчас эра нейросетей, классические N-gram модели остаются мощным инструментом благодаря своей скорости.
- Принцип работы: Вычисление вероятности последовательности слов на основе частоты появления N-грамм.
- Инструмент: Широко используется open-source библиотека KenLM, изначально созданная для задач машинного перевода.
- Ограничение: N-gram модели очень просты, «сыры» и ограничены локальным контекстом, из-за чего их легко обмануть, но они отлично подходят для быстрой очистки данных от явного мусора.
FastText и линейная классификация 8:34
Разработка Facebook (ныне Meta), ставшая стандартом индустрии для быстрой текстовой классификации.
- Суть: Замена сложных нейронных сетей на линейные классификаторы с использованием понижения размерности (hidden dimension).
- Масштабируемость: Для обработки N-грамм используется хеширование, что позволяет избежать проблем с неограниченным ростом словаря.
- Сравнение: По мнению лектора, это более производительное решение по сравнению с «тяжелыми» моделями типа BERT, если цель — обработать терабайты данных.
Importance Sampling (Важностное сэмплирование) 13:32
Метод основан на статистических методах Монте-Карло. Вместо того чтобы просто классифицировать «хорошо/плохо», мы пытаемся уравновесить распределение данных, компенсируя нехватку высококачественных примеров. Этот подход считается более принципиальным для обеспечения разнообразия в обучающей выборке.
🎯 Прикладные кейсы: от математики до токсичности 23:44
Машинное обучение на «всём подряд» часто неэффективно. Иногда важно ограничить модель конкретной предметной областью.
- Языковая идентификация: Использование FastText позволяет отсеивать «нецелевые» языки, что критично при ограниченных вычислительных мощностях, чтобы не «размывать» способности модели в основном языке.
- Математический контент (Open Web Math): Авторы проекта использовали комбинированный подход: простые правила фильтрации + KenLM (обученный на доказательствах) + FastText для предсказания «математичности» текста. Результат: 15 млрд токенов, которые показали лучшие результаты, чем модели на выборках в 20 раз большего объема.
- Фильтрация качества (Phi-1): Здесь применили синтетический подход — использование GPT-4 для классификации 100 000 учебных документов, на которых затем обучили Random Forest классификатор для фильтрации всего объема данных.
- Токсичность: Для создания безопасной среды обучения используются датасеты вроде Jigsaw Toxic Comments, на основе которых обучаются классификаторы для выявления оскорблений и «небезопасного для работы» (NSFW) контента.
🧹 Дедупликация: как не учить модель на «мусоре» 36:56
Повторяющийся контент — бич веб-данных. Например, в наборе C4 одна и та же фраза с карточки товара Amazon обнаруживалась 61 000 раз. Дедупликация нужна не только для экономии вычислений, но и для предотвращения «зазубривания» (memorization), что важно для приватности и соблюдения авторских прав.
Точная дедупликация и фильтры Блума 46:47
Если нужно найти полные дубликаты, эффективно использовать хеширование (например, MurmurHash). Фильтры Блума позволяют проверять принадлежность элемента к множеству с невероятной эффективностью по памяти.
- Плюсы: Легко параллелится (MapReduce), высокая точность.
- Минусы: Не видит «почти дубликаты», где изменена пара слов.
Приблизительная дедупликация (MinHash LSH) 58:53
Когда документы отличаются лишь парой знаков препинания или слов, используется Jaccard similarity.
- MinHash: Алгоритм, который сводит сложную задачу попарного сравнения к вычислению хеша для одного документа. Вероятность коллизии хешей здесь в точности равна сходству по Жаккару.
- Locality Sensitive Hashing (LSH): Техника «шарпирования» вероятностей. С помощью комбинации нескольких хеш-функций (bands и rows) можно добиться резкого порога: документы либо «схлопываются» в один, либо считаются разными.
В завершение лекции было отмечено: несмотря на наличие алгоритмических инструментов, «чувство данных» приходит только через глубокое погружение, ручной просмотр примеров и постоянные эксперименты с фильтрацией.