Stanford CS336: Как превратить сырой интернет в качественные данные для LLM

Stanford Online 21,2 тыс. 1 ч 19 мин 4 мин 16.06.2025
Главное

В современной разработке больших языковых моделей (LLM) данные не возникают из ниоткуда — их необходимо извлекать из живых сервисов, веб-дампов и архивов, подвергая сложной многоступенчатой очистке. В рамках курса Stanford CS336 «Language Modeling from Scratch» эксперты Stanford Online разобрали внутреннюю механику препроцессинга: от классических алгоритмов обработки Big Data до использования современных LLM для фильтрации обучающих выборок.

🧠 Алгоритмы фильтрации: от n-грам до классификаторов 0:55

Основная задача фильтрации — выделить из огромного массива «сырых» данных (например, Common Crawl) качественное подмножество, максимально похожее на целевой эталон (Wikipedia или научные статьи) . Этот процесс должен быть чрезвычайно быстрым: если запуск фильтра будет стоить столько же, сколько обучение модели, в нём теряется смысл .

Для реализации этой задачи выделяют три основных подхода:

📊 Кейсы применения: языки, качество и токсичность 23:44

Фильтрация используется не только для удаления «мусора», но и для решения специфических задач подготовки датасета.

Идентификация языка. Модели часто обучаются на английском языке, но в Common Crawl перемешаны сотни наречий. Использование классификатора Fasttext позволяет оставить только нужные языки . Например, в модели Dolma страницы сохранялись только если вероятность английского языка превышала 0.5 . Однако спикер отмечает, что для коротких предложений или диалектов такие классификаторы могут ошибаться .

Фильтрация по качеству. Современные подходы всё чаще используют мощные модели для оценки данных:

Токсичность и контент NSFW. Для очистки от нежелательного контента часто используются датасеты вроде Jigsaw Toxic Comments . На их основе обучаются быстрые модели Fasttext, которые помечают контент как «токсичный», «оскорбительный» или «непристойный» .

🖇 Дедупликация: борьба с «зеркалами» интернета 36:56

Интернет переполнен дубликатами: лицензии MIT, стандартные условия обслуживания, зеркала сайтов вроде Project Gutenberg копируются тысячи раз . В наборе данных C4 одна и та же фраза о продукте с Amazon встречалась более 61 000 раз .

Дедупликация критически важна по трем причинам:

  1. Эффективность: нет смысла тратить вычислительные ресурсы на обучение на одних и тех же данных .
  2. Защита от запоминания (Memorization): модели склонны дословно заучивать тексты, которые встречаются часто, что ведет к рискам нарушения приватности и авторских прав .
  3. Качество: перекос в сторону часто повторяющихся шаблонов снижает общую обобщающую способность модели.

Для точной дедупликации (Exact Deduplication) на уровне документов или предложений эффективно использовать фильтры Блума (Bloom Filters) . Это компактная битовая структура данных, которая позволяет быстро проверить наличие элемента в наборе. Она может давать ложноположительные срабатывания (сказать, что дубликат есть, хотя его нет), но никогда не ошибается в обратную сторону . Вероятность ошибки можно контролировать, увеличивая количество хэш-функций .

🔍 Поиск неявных дубликатов через MinHash и LSH 58:38

Самая сложная задача — найти «почти дубликаты» (тексты, отличающиеся на запятую или одно слово). Для этого используется мера сходства Жаккара (Jaccard similarity) — отношение пересечения множества слов к их объединению .

Поскольку сравнивать каждый документ с каждым невозможно (это заняло бы квадратичное время), применяется алгоритм MinHash . Его суть в том, что вероятность коллизии хэшей двух документов в точности равна их сходству по Жаккару .

Чтобы сделать процесс ещё более точным, применяется Locality Sensitive Hashing (LSH):

Например, в некоторых исследованиях используются параметры LSH, позволяющие считать дубликатами тексты, где на 100 слов отличается лишь одно . По мнению лектора, это крайне строгая, но необходимая мера для очистки обучающих корпусов .

💬 Цитаты

«Данные не падают просто так с неба. Они существуют в живых сервисах, их нужно явно извлекать и обрабатывать.»

Ведущий курса CS336 0:21

«Дедупликация — это инструмент борьбы с риском того, что модель будет дословно воспроизводить тренировочный сет.»

Ведущий курса CS336 41:25
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Перплексия
Мера того, насколько хорошо вероятностная модель предсказывает выборку; чем она ниже, тем увереннее модель.
Сходство Жаккара
Коэффициент сходства множеств, равный отношению размера пересечения к размеру объединения.
LSH (Locality Sensitive Hashing)
Метод хэширования, при котором похожие элементы с большой вероятностью имеют одинаковые хэш-значения.
📊 Цифры
🗓 Хронология
  1. 2016 Выход статьи о Fasttext, предложившей быструю альтернативу глубоким нейросетям для классификации.
  2. 2022 Обучение мультиязычной модели Bloom.
  3. 2025 Проведение лекции CS336 в Стэнфорде.
⚖️ Другая сторона
Искусственный интеллект Stanford Online MinHash Bloom filter Fasttext KenLM