Hub: модели, датасеты и Spaces

Разбираемся в устройстве Hub — центрального хранилища экосистемы.

Hub — это веб-платформа на основе git, где каждая модель, датасет и приложение хранятся в отдельном репозитории с историей версий.

Репозитории на основе git

Каждая модель на Hub — это git-репозиторий. В нём лежат веса, конфигурация, токенизатор и файл README.md, который называют карточкой модели (model card). Поскольку это git, у модели есть история коммитов, ветки и версии. Скачать модель можно по её идентификатору вида автор/имя-модели, например bert-base-uncased или google/flan-t5-base.

Карточка модели

Карточка — это документация: для чего модель, на каких данных обучена, какие у неё ограничения и какая лицензия. Хорошая карточка экономит часы работы. На неё стоит смотреть всегда перед использованием модели в проекте.

repo: distilbert-base-uncased-finetuned-sst-2-english
├── README.md          (карточка модели)
├── config.json        (архитектура и гиперпараметры)
├── tokenizer.json     (правила токенизации)
├── tokenizer_config.json
└── model.safetensors  (веса)

Фильтры по задачам

На Hub десятки тысяч моделей, и найти нужную помогают фильтры. Модели сгруппированы по задачам (tasks): классификация текста, распознавание именованных сущностей, генерация текста, перевод, ответы на вопросы, генерация изображений и так далее. Можно фильтровать по языку, библиотеке, лицензии и размеру.

Датасеты

Рядом с моделями живут датасеты — наборы данных для обучения и оценки. У них тоже есть карточки и встроенный просмотрщик, где можно полистать примеры прямо в браузере. Датасет загружается одной строкой через библиотеку datasets (об этом будет отдельный раздел).

Spaces — демо-приложения

Spaces — это хостинг небольших веб-приложений, обычно на Gradio или Streamlit. Любой может опубликовать интерактивное демо своей модели: пользователь вводит текст или загружает картинку и сразу видит результат. Это удобный способ показать модель без написания фронтенда.

Как работает под капотом

Когда библиотека скачивает модель по идентификатору, она обращается к Hub API, читает список файлов репозитория и загружает только нужные. Поскольку всё хранится в git-подобной системе, можно зафиксировать конкретную версию модели через параметр revision (имя ветки, тега или хеш коммита) — это важно для воспроизводимости в продакшене.

Частые ошибки

  • Брать модель без чтения карточки. Модель может быть обучена только на английском или иметь несовместимую лицензию.
  • Не фиксировать версию. Автор может обновить модель, и поведение в продакшене изменится. Используйте revision.
  • Путать датасет и модель. Это разные типы репозиториев, хоть и лежат на одном Hub.

Итог

  • Каждая модель и датасет на Hub — это git-репозиторий с версиями.
  • Карточка модели (README) описывает назначение, данные, ограничения и лицензию.
  • Фильтры по задачам помогают найти нужную модель.
  • Spaces позволяют опубликовать интерактивное демо без своего сервера.
Проверьте себя
1. На какой технологии основано хранилище репозиториев на Hub?
ASQL-база данных
Bgit
CFTP
DБлокчейн
2. Что такое карточка модели (model card)?
AФайл с весами модели
BДокументация: назначение, данные обучения, ограничения и лицензия
CИзображение для предпросмотра
DПлатёжная информация
3. Зачем нужны Spaces?
AДля хранения весов моделей
BДля хостинга интерактивных демо-приложений модели
CДля оплаты подписки
DДля компиляции кода