Многие всё ещё думают, что на Hugging Face Spaces можно бесплатно запустить любую демку с моделью. По официальной документации это уже не так - и разница важна до того, как вы начнёте проект.
Коротко о главном
По официальной документации Hugging Face, Spaces позволяет развернуть ML-демо за несколько минут, выбрав один из трёх SDK при создании: Gradio, Docker или статический HTML. Ключевая деталь, которая изменилась: Static Space (статический HTML) бесплатен для всех без ограничений, а вот Gradio- и Docker-пространства, которые выполняются на вычислительных ресурсах, теперь требуют платного плана - PRO для личных аккаунтов, Team или Enterprise для организаций. Исключение для бесплатных личных аккаунтов в хорошем статусе: можно разместить до двух Gradio-пространств на ZeroGPU. Аппаратно каждое окружение Spaces по умолчанию ограничено 16 ГБ оперативной памяти, 2 vCPU и 50 ГБ непостоянного дискового пространства; базовое CPU-железо (CPU Basic) само по себе бесплатно по часовой ставке, но создание Gradio/Docker пространства на нём всё равно требует платного плана согласно приведённому выше правилу. На бесплатном железе пространство «засыпает» после периода неактивности, если его специально не перевести на платное железо для непрерывной работы; поставить на паузу можно и вручную через вкладку Settings, время на паузе не тарифицируется. Видимость пространства (публичное, защищённое, приватное) настраивается там же; защищённая видимость доступна только на PRO, Team и Enterprise.
Три варианта SDK при создании Space
При создании нового Space на huggingface.co/spaces нужно выбрать один из трёх SDK: Gradio (готовый интерфейс для ML-демо), Docker (полный контроль через контейнер) или статический HTML. Под капотом код Space хранится в git-репозитории - так же, как модели и датасеты на платформе, и та же самая связка git-инструментов подходит для работы с ним.
Что реально бесплатно, а что нет
Это самая важная деталь для новичка. Static Space - статический HTML - бесплатен для всех без исключений. А вот Gradio- и Docker-пространства выполняются на вычислительных ресурсах, и по официальной документации их создание теперь требует платного плана: PRO для личного аккаунта, Team или Enterprise для организации. Единственное исключение: бесплатные личные аккаунты в хорошем статусе всё ещё могут разместить до двух Gradio-пространств на аппаратной конфигурации ZeroGPU.
Аппаратные лимиты по умолчанию
Каждое окружение Spaces по умолчанию ограничено 16 ГБ оперативной памяти, 2 vCPU и 50 ГБ дискового пространства, которое не сохраняется между перезапусками. Базовая конфигурация CPU Basic сама по себе не тарифицируется по часам - бесплатна именно почасовая ставка этого железа, но, как указано выше, создание на нём вычислительного (Gradio или Docker) пространства всё равно упирается в требование платного плана, кроме исключения с ZeroGPU. При необходимости можно запросить апгрейд на более мощное железо, включая различные GPU-конфигурации, через вкладку Settings своего Space.
Что происходит с пространством при бездействии
На бесплатном железе Space «засыпает» и прекращает выполнение после периода неактивности - если нужна непрерывная работа без остановок, официальная документация советует перейти на платное железо. Можно и вручную поставить пространство на паузу через вкладку Settings - в этом случае оно не будет выполняться до ручного перезапуска владельцем, а время на паузе не тарифицируется вовсе.
Секреты, переменные и видимость
Для конфиденциальных значений - токенов доступа, API-ключей - в настройках Space предусмотрен отдельный раздел Secrets, значения которого нельзя прочитать обратно через интерфейс и которые не копируются при дублировании пространства другим пользователем. Для несекретных настроек есть публичные переменные, которые, наоборот, копируются при дублировании. Видимость пространства настраивается там же: публичная, защищённая или приватная - при этом защищённая видимость (когда исходный код скрыт, но само приложение доступно по ссылке) доступна только на платных планах PRO, Team и Enterprise.
Можно ли бесплатно разместить демо с моделью на Hugging Face Spaces?
Статический HTML - да, полностью бесплатно. Gradio и Docker пространства, которые выполняются на вычислениях, теперь требуют платного плана, за исключением до двух Gradio-пространств на ZeroGPU для бесплатных личных аккаунтов.
Какие ресурсы даются по умолчанию для одного Space?
16 ГБ оперативной памяти, 2 vCPU и 50 ГБ непостоянного дискового пространства.
Что происходит с бесплатным пространством, если им никто не пользуется?
Оно автоматически «засыпает» и прекращает выполнение после периода неактивности; для непрерывной работы нужно перейти на платное железо.
Тарифицируется ли пространство, поставленное на паузу вручную?
Нет, время на паузе не тарифицируется.
Как безопасно хранить API-ключ внутри Space?
Через раздел Secrets в настройках, а не напрямую в коде - значение нельзя прочитать обратно через интерфейс, и оно не копируется при дублировании пространства.
Доступна ли защищённая видимость (protected) на бесплатном аккаунте?
Нет, защищённая видимость доступна только на платных планах PRO, Team и Enterprise.
Источники (1)
- Spaces Overview - Hugging Face
← Все статьи блога