Crawl4LLM: веб-краулер, созданный для предобучения LLM 197

小编 ·

Crawl4LLM: веб-краулер, созданный для предобучения LLM

Crawl4LLM — это веб-краулер, совместно разработанный Университетом Цинхуа и Университетом Карнеги-Меллон, специально для предобучения LLM. Он интеллектуально оценивает ценность каждой страницы, отдавая приоритет полезным и пропуская бесполезные, достигая той же производительности, что и при полном сборе, всего на 21% данных — повышая качество данных и скорость краулинга.

Crawl4LLM: веб-краулер, созданный для предобучения LLM

Что такое Crawl4LLM?

Crawl4LLM — это веб-краулер, совместно разработанный Университетом Цинхуа и Университетом Карнеги-Меллона, специально предназначенный для предварительного обучения больших языковых моделей (LLM)инструмент. Он способен интеллектуально оценивать значимость веб-страниц для предварительного обучения LLM, в первую очередь собирая ценные страницы и сокращая сбор бесполезных. При сканировании всего 21% веб-данных он обеспечивает ту же производительность, что и при полном сборе данных, что повышает качество данных и значительно увеличивает скорость сканирования.

Что такое Crawl4LLM.webp

Информация о проекте:

  • Источник: проект с открытым исходным кодом, созданный в сотрудничестве Университета Цинхуа и Университета Карнеги-Меллона.

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

Основные функции Crawl4LLM:

Интеллектуальный выбор веб-страниц

  • Интеллектуальная оценка: автоматически определяет, полезна ли веб-страница для предварительного обучения LLM, и в первую очередь собирает полезные.

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

Различные методы сканирования

  • Интеллектуальный режим: основной режим, автоматически выбирающий и собирающий ценные веб-страницы.

  • Режим случайного сканирования: используется, когда содержимое веб-страниц не требует точного отбора.

  • Режим сканирования по количеству ссылок: применяется, когда необходимо собрать большие объёмы данных.

Управление состоянием и восстановление

  • Регулярное сохранение: периодически сохраняет состояние краулера, поэтому в случае прерывания он может продолжить сбор с предыдущего места без потери данных.

Инструменты визуализации данных

  • Наглядный просмотр: имеются инструменты просмотра данных, позволяющие отслеживать собранные данные и в любой момент контролировать ход работы и результаты.

Совместимость и интеграция

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

Технические особенности Crawl4LLM:

  • Модульная архитектура: включает модули планировщика краулера, парсера веб-страниц, хранилища данных и другие.

  • Обработка ошибок: обладает мощными возможностями исправления ошибок и автоматического повтора, обеспечивая стабильность сбора данных.

  • Управление качеством данных: выполняет дедупликацию и очистку данных, обеспечивая их высокое качество и согласованность.

Сценарии применения Crawl4LLM:

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

  • Создание наборов данных: самостоятельное формирование наборов данных.

  • Поисковая оптимизация: анализ и улучшение SEO-стратегий.

  • Мониторинг и анализ сети: наблюдение за состоянием сети в реальном времени.

  • Мониторинг и анализ сети: проведение анализа тональности и других видов анализа данных.

Как использовать Crawl4LLM:

1. Подготовительные работы:

  • Получите набор данных ClueWeb22.

  • Создайте виртуальную среду Python и установите необходимые библиотеки (numpy, tqdm, fasttext, pyyaml, wandb).

  • Загрузите классификатор DCLM FastText и поместите его в указанный каталог.

2. Создание конфигурационного файла: в каталоге configs/ создайте файл конфигурации YAML, в котором укажите путь к набору данных, список начальных документов, выходной каталог, количество документов, выбираемых на каждой итерации, число рабочих потоков, частоту сохранения состояния краулера, максимальное количество собираемых документов, метод выбора документов, способ сортировки, активировать ли логирование wandb и другие параметры.

3. Запуск краулера: выполните в командной строке python crawl.py crawl --config

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

Репозиторий на GitHub: https://github.com/cxcscmu/crawl4llm

Адрес статьи: https://arxiv.org/pdf/2502.13347