Вышел технический отчет FineWeb! Раскрытие самого большого и высококачественного набора предтренировочных данных HuggingFace.
Вышел технический отчет FineWeb! Раскрытие самого большого и высококачественного набора предтренировочных данных HuggingFace.
Шин Сообщил Джиген

Монтажер: Минди

【Шин Джиген Введение】из большого масштабасеть Ползти、Тонкая фильтрация для технологии дедупликации,Узнайте, как создавать высококачественные коллекции данных, с помощью технического отчета FineWeb,Лучшее качество и производительность для предварительной подготовки к большой языковой модели (LLM).

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

Однако наборы данных для предварительного обучения для современных LLM, таких как Llama 3 и Mixtral, недоступны публично; о том, как они создаются, мало что известно;

Недавно команда Hugging Face выпустила набор данных FineWeb, новый крупномасштабный (15 триллионов токенов, 44 ТБ дискового пространства) набор данных для предварительного обучения LLM.

В то же время они также подробно представили процесс принятия решений по обработке этого набора данных в техническом отчете: FineWeb создан на основе 96 снимков CommonCrawl и показывает, как он обеспечивает более высокую производительность, чем другие открытые наборы данных для предварительного обучения, благодаря тщательной дедупликации. и стратегии фильтрации LLM.

Подготовка к созданию набора данных

Первым шагом для создания набора данных является получение крупномасштабных данных.

Common Crawl — это некоммерческая организация, которая сканирует веб-данные с 2007 года и каждые 1–2 месяца выпускает новую версию сканирования, содержащую от 200 до 400 Ти Б текстового контента.

Таким образом, Common Crawl послужил отправной точкой для набора данных FineWeb.

Во-вторых, из-за огромного объема задействованных данных необходима модульная и масштабируемая база кода для быстрого принятия решений по обработке и надлежащего распараллеливания рабочих нагрузок, обеспечивая при этом четкое понимание данных.

С этой целью команда разработала datatrove — библиотеку обработки данных с открытым исходным кодом, способную плавно масштабировать настройки фильтрации и дедупликации на тысячи ядер ЦП.

При создании набора данных главный вопрос, который следует учитывать, заключается в том, что представляют собой данные «высокого качества».

Распространенный подход заключается в обучении небольших моделей на репрезентативном подмножестве набора данных и их оценке с помощью набора оценочных задач.

Исследователи обучили две модели с одинаковой структурой на двух версиях набора данных: одной с дополнительными этапами обработки, а другой — без них, чтобы сравнить влияние этапов обработки данных на производительность модели.

Для оценки модели они выбрали тесты производительности, такие как Commonsense QA, HellaSwag и OpenBook QA, и ограничили размер выборки более длительных тестов производительности, чтобы избежать переобучения и обеспечить надежность и способность к обобщению результатов оценки модели.

Как дедуплицируется и фильтруется набор данных

На следующем рисунке показаны основные этапы создания набора данных FineWeb:

Фильтрация URL-адресов → Извлечение текста → Языковая фильтрация → Фильтрация Gopher → Дедупликация MinHash → Фильтр C4 → Пользовательский фильтр → Удаление PII (личной информации)

В этой статье в основном представлены части дедупликации и фильтрации, поскольку эти два шага имеют решающее значение для повышения производительности модели, а также увеличения разнообразия и чистоты данных для создания высококачественных наборов данных.

Дедупликация данных

В Интернете существует множество агрегаторов, зеркальных сайтов или шаблонных страниц, что может привести к дублированию контента на разных доменных именах и веб-страницах.

Было показано, что удаление этих дубликатов (дедупликация) повышает производительность модели и уменьшает необходимость запоминать данные предварительного обучения, что помогает модели лучше обобщать.

Исследователи использовали MinHash, технологию дедупликации на основе нечеткого хеширования, поскольку ее можно эффективно масштабировать на множество узлов ЦП и регулировать порог сходства (путем контроля количества и размера сегментов) и длину рассматриваемых подпоследовательностей (путем управления n- размер грамма).

Исследователи разделили каждый документ на 5 граммов и использовали 112 хэш-функций для расчета минхэшей.

112 хеш-функций разделены на 14 сегментов, каждый блок имеет 8 хешей, с целью найти документы, которые похожи как минимум на 75%.

Документы с одинаковыми 8 минхешами в любом сегменте считаются дубликатами друг друга.

Следует отметить, что исследователи обнаружили странный феномен: хотя после дедупликации объем данных значительно меньше (например, самый старый пакет данных после дедупликации имеет только 10% исходного содержимого), но после дедупликации при использовании данных для обучения модели производительность модели не улучшилась и даже хуже, чем у предыдущей модели, обученной на данных без дедупликации.

Дедупликация всех пакетов не улучшила производительность.

Это показывает, что иногда дедупликация бывает слишком жесткой, и часть полезного контента может быть удалена, а оставшийся контент может быть не высокого качества.

Это также напоминает нам о том, что нам необходимо найти точку баланса, которая заключается в удалении повторяющихся и некачественных данных, сохраняя при этом достаточную и ценную информацию.

Чтобы улучшить метод дедупликации, исследователи попробовали новую стратегию: использовать технологию MinHash для каждого отдельного пакета данных для выполнения независимой дедупликации вместо объединения всех пакетов данных вместе для дедупликации.

Таким образом, разница в распределении между каждым кластером с большим количеством повторений и кластером с меньшим количеством повторений сбалансирована, что делает дедупликацию более «щадящей».

Фильтрация данных

Во-первых, давайте представим набор данных C4, который часто используется для обучения модели большого языка (LLM). Он очень хорошо работает в тесте Hellaswag.

Исследователи FineWeb сначала обратились к стратегии фильтрации C4, сначала догоняя ее производительность, а затем превосходя ее.

Применив все правила фильтрации (удалив строки, не заканчивающиеся знаками препинания, упоминания JavaScript и уведомления о файлах cookie, а также удалив документы, длина которых не превышает порогового значения, содержащие «lorem ipsum» или фигурные скобки {}), они смогли сравнить производительность Hellaswag с C4. .

Затем, посредством многочисленных исследований абляции, исследователи определили три специальных фильтра, которые показали наиболее значительные улучшения в общих показателях:

  • Удалить документы с соотношением строк, оканчивающихся знаками препинания ≤ 0,12 (удалено 10,14% токенов)
  • Удалить документы с соотношением символов в повторяющихся строках ≥ 0,1 (удалено 12,47% токенов)
  • Удалить документы с соотношением строк короче 30 символов ≥ 0,67 (удалено 3,73% токенов)

Когда эти три фильтра применялись вместе, было удалено примерно 22% маркеров.

Эти фильтры позволяют им еще больше повысить производительность и значительно превзойти производительность набора данных C4, обеспечивая при этом больший набор данных.

Производительность набора данных FineWeb

Сравнение абляции с другими общедоступными наборами данных веб-масштаба, которые обычно считаются наиболее качественными, включая RefinedWeb (500 миллиардов токенов), C4 (172 миллиарда токенов), Dolma v1.6 (3 триллиона токенов)) и т. д., FineWeb ( 15 триллионов токенов) обеспечивает самую высокую производительность модели на данный момент, позволяя при этом обучать триллионам токенов.

В дополнение к этому команда также выпустила FineWeb-Edu, который был разработан с использованием нового подхода, использующего синтетические данные для разработки классификаторов для идентификации образовательного контента.

Для сферы образования, добавив аннотации к рейтингам качества образования и добавив отдельную систему оценки, исследователи создали эффективный классификатор, который может идентифицировать и фильтровать контент, имеющий образовательную ценность, в крупномасштабных наборах данных.

FineWeb-Edu достигает значительных улучшений в образовательных тестах, таких как MMLU, ARC и OpenBookQA, превосходя FineWeb и все другие открытые наборы веб-данных.

В то же время создание FineWeb-Edu также доказывает эффективность классификатора, обученного с использованием аннотаций LLM, в крупномасштабной Фильтрации данных.

В конце технического отчета исследователи выразили надежду и дальше раскрывать «черный ящик» высокопроизводительного обучения моделям большого языка и дать возможность каждому тренеру моделей создавать самые передовые LLM.

Они также надеются применить опыт FineWeb и изучить другие неанглийские языки, чтобы можно было легче получать высококачественные многоязычные сетевые данные.

Ссылки:

https://huggingface.co/spaces/HuggingFaceFW/blogpost-fineweb-v1

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода