FinePDFs датасет: создание 3T токенов для LLM от HuggingFace | AiManual
AiManual Logo Ai / Manual.
07 Янв 2026 Гайд

FinePDFs: Как HuggingFace собрала 3 триллиона токенов из «мёртвого» интернета

Инсайдерская история создания FinePDFs — датасета из 3 триллионов токенов PDF. OCR выбор, обработка «мёртвого» интернета, технические решения для ML.

3 триллиона токенов. Откуда?

Триллион — это не просто красивое число. Это 1 000 000 000 000. А три триллиона — достаточно, чтобы заставить любой кластер GPU плакать от счастья и одновременно от ужаса. HuggingFace решили проблему нехватки качественных текстовых данных самым радикальным способом: они пошли туда, где никто не ищет — в «мёртвый» интернет.

«Мёртвый» интернет — это миллионы PDF, которые Google не индексирует, которые лежат в корпоративных интранетах, на заброшенных серверах университетов, в архивах организаций. Это технические отчёты, диссертации, внутренняя документация, которые никто не читает уже десять лет. Идеальный источник для обучения ИИ.

Первый шаг: найти, где не ищут

Когда Common Crawl и Wikipedia уже выжаты досуха, остаётся два варианта: синтетические данные или архивные хранилища. HuggingFace выбрали второе — и не ошиблись.

1 Сканирование глубинного интернета

Команда начала с составления списка источников:

  • Архивы университетов (MIT, Stanford, Cambridge)
  • Технические репозитории NASA, CERN, arXiv
  • Корпоративные базы знаний (заброшенные Confluence)
  • Правительственные отчёты (ЕС, США, ООН)
  • Медицинские журналы и исследования

Важно: не все PDF одинаково полезны. Юридические документы с шаблонным текстом, финансовые отчёты с таблицами, сканированные книги с низким качеством — каждый тип требует своей обработки.

OCR-война: Tesseract против коммерческих решений

Здесь начинается самая интересная часть технической истории. PDF бывают двух типов: текстовые (где текст можно выделить) и сканированные (где текст — это картинка). Для вторых нужен OCR.

💡
OCR (Optical Character Recognition) — технология распознавания текста на изображениях. Качество напрямую влияет на качество обучающих данных.

Команда тестировала четыре подхода:

OCR система Точность Скорость Проблемы
Tesseract 5.0 85-90% на чистых сканах Быстрая Плохо с таблицами, формулами
Google Cloud Vision 95%+ Медленная, дорогая Цена при 3 триллионах токенов
Amazon Textract Отличная с таблицами Очень дорогая Только для структурированных данных
RolmOCR (кастомное решение) 92-94% Оптимизированная Требовала разработки

Выбор пал на RolmOCR — кастомный пайплайн, который объединил Tesseract для основного текста и специальные модели для таблиц и формул. Почему? Потому что при масштабе в триллионы токенов даже 1% ошибок — это 30 миллиардов неправильных токенов. И эти ошибки модель выучит навсегда.

Пайплайн обработки: от сырого PDF до чистого текста

Здесь нет места для импровизации. Каждый этап должен быть воспроизводимым и масштабируемым.

2 Этап 1: Классификация PDF

Не все PDF нужно распознавать через OCR. Некоторые уже содержат текстовый слой. Простой эвристический алгоритм:

  1. Извлечь метаданные (есть ли текст)
  2. Проверить количество «текстовых» объектов
  3. Если текст > 90% страниц — это текстовый PDF
  4. Иначе — сканированный, нужен OCR

3 Этап 2: Предобработка изображений

Сканированные PDF часто имеют артефакты: наклон, шум, тень от переплета. RolmOCR применяет:

  • Выравнивание страниц (deskew)
  • Удаление шума (denoising)
  • Повышение контраста
  • Сегментация на колонки

4 Этап 3: Мультимодальное распознавание

Здесь RolmOCR показывает свою силу. Вместо одного OCR-движка используется каскад моделей:

Тип контента Модель Пример
Основной текст Tesseract с кастомным словарём Абзацы, заголовки
Таблицы Table Transformer Финансовые отчёты
Математические формулы MathPix API (ограниченно) Научные статьи
Диаграммы Извлекается как изображение Графики, схемы

Фильтрация: как отсеять мусор

3 триллиона токенов — это не только полезные данные. Это также:

  • Повторяющиеся шаблоны (юридические оговорки)
  • Некорректно распознанный текст
  • Низкокачественный контент
  • Дубликаты

Фильтрация работала по трём уровням:

Уровень 1: Быстрая эвристика

Отсеивает очевидный мусор:

  • Слишком короткие документы (< 100 слов)
  • Высокий процент неалфавитных символов
  • Повторяющиеся строки (шапки, колонтитулы)

Уровень 2: Качественные метрики

Использует языковые модели для оценки:

  • Perplexity (насколько текст «естественный»)
  • Смысловая связность
  • Тематическая релевантность

Уровень 3: Дубликаты и near-duplicates

Самый ресурсоёмкий этап. Использовались MinHash и SimHash для поиска похожих документов. Удалялись не точные копии, а документы с совпадением > 80%.

Важный нюанс: не все дубликаты — плохо. Некоторые документы (научные статьи в разных архивах) должны остаться. Фильтр учитывал контекст.

Инфраструктура: когда считаешь триллионы

Обработка 3 триллионов токенов требует не просто серверов, а продуманной архитектуры.

  • Хранилище: 2+ петабайта raw PDF, 500+ терабайт обработанного текста
  • Вычисления: Кластер из 100+ GPU (A100/H100) для inference моделей
  • Оркестрация: Apache Airflow для управления пайплайнами
  • Мониторинг: Prometheus + Grafana для отслеживания прогресса

Самая большая проблема оказалась не в вычислениях, а в I/O. Чтение миллионов маленьких PDF с объектного хранилища создавало bottleneck.

💡
Решение: батчинг PDF в группы по 1000 файлов, создание локального кэша на быстрых NVMe дисках перед обработкой.

Чему это научит модели?

FinePDFs — не просто ещё один текстовый датасет. Его уникальность в разнообразии:

  1. Технический язык: Научные статьи, инженерная документация
  2. Структурированные данные: Таблицы, формулы, диаграммы
  3. Мультиязычность: Хотя преобладает английский, есть немецкие, французские, китайские документы
  4. Временной разброс: Документы с 1980-х по 2020-е годы

Такое разнообразие учит модели не просто языку, а структуре знаний. Модель, обученная на FinePDFs, лучше понимает контекст технических терминов, может работать с табличными данными, разбирается в математических обозначениях.

Если вы работаете с локальным ИИ и PDF, понимание того, как создаются такие датасеты, поможет вам оценить качество распознавания. А если вы собираетесь обучать свою модель с нуля, структура пайплайна FinePDFs станет отличной основой.

Ошибки, которые почти совершили

В процессе создания датасета команда столкнулась с несколькими критическими проблемами:

Ошибка Последствия Решение
Использовать только Tesseract Потеря 40% таблиц и формул Каскад моделей RolmOCR
Не фильтровать дубликаты Переобучение на повторяющихся данных Трёхуровневая дедупликация
Обрабатывать PDF по одному Время обработки: 2+ года Бачинговый пайплайн
Игнорировать метаданные Потеря контекста документов Сохранение структуры (заголовки, авторы)

Что дальше? FinePDFs 2.0

Сейчас команда работает над улучшением датасета:

  • Добавление мультимодальных данных (изображения из PDF)
  • Улучшение распознавания рукописных заметок
  • Автоматическая аннотация (ключевые слова, темы)
  • Версионирование датасета с отслеживанием изменений

Самая интересная возможность — использовать сам ИИ для улучшения датасета. Модель, обученная на первой версии FinePDFs, может помочь в фильтрации и аннотировании следующих версий.

Если вы ищете данные для обучения, подход HuggingFace показывает: иногда лучшие данные лежат не на поверхности, а в архивах, которые все забыли. И для их извлечения нужен не просто скрипт, а целая экосистема инструментов.

Последний совет от инсайдеров: когда создаёте свой датасет, думайте не о количестве, а о разнообразии. 100 миллионов уникальных, качественных токенов лучше, чем 3 триллиона повторяющегося мусора. FinePDFs доказал, что можно иметь и то, и другое — если не бояться технической сложности.

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