Hub documentation

Загрузка моделей

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Загрузка моделей

Интегрированные библиотеки

Если модель на Hub привязана к поддерживаемой библиотеке, загрузить её можно всего в несколько строк. Чтобы узнать, как получить доступ к модели, нажмите кнопку «Use in Library» на странице модели — там показано, как это сделать. Например, для distilbert/distilgpt2 ниже приведён пример использования 🤗 Transformers.

Использование клиентской библиотеки Hugging Face

Вы можете использовать библиотеку huggingface_hub для создания, удаления, обновления и получения информации о репозиториях. Например, чтобы скачать модель HuggingFaceH4/zephyr-7b-beta из командной строки, выполните

hf download HuggingFaceH4/zephyr-7b-beta

См. документацию по загрузке через CLI для получения дополнительной информации.

Вы также можете интегрировать это в собственную библиотеку. Например, вы можете быстро загрузить модель Scikit-learn всего несколькими строками кода.

from huggingface_hub import hf_hub_download
import joblib

REPO_ID = "YOUR_REPO_ID"
FILENAME = "sklearn_model.joblib"

model = joblib.load(
    hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
)

Использование Git

Поскольку все модели на Model Hub представляют собой Git-репозитории с поддержкой Xet, вы можете клонировать их локально, установив git-xet и выполнив:

git xet install
git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:bigscience/bloom

Если у вас есть права на запись в конкретном репозитории модели, вы также сможете коммитить и публиковать ревизии модели.

Добавьте ваш публичный SSH-ключ в настройки пользователя, чтобы отправлять изменения и/или получать доступ к закрытым репозиториям.

Более быстрая загрузка

Проверьте скорость загрузки

Вы можете проверить скорость загрузки с CDN Hugging Face на fast.hf.co. Это запускает быстрое тестирование пропускной способности по отношению к ближайшему серверу HF edge, что помогает понять базовую пропускную способность перед настройкой параметров.

Вы также можете измерить скорость загрузки непосредственно из терминала с помощью расширения CLI hf-speedtest:

hf extensions install julien-c/hf-speedtest
hf speedtest

Адаптивная конкурентность с hf_xet

hf_xet — это пакет на Rust, использующий бэкенд хранения Xet для оптимизации передачи файлов с дедупликацией на основе чанков. По умолчанию hf_xet применяет адаптивную конкурентность — он автоматически настраивает количество параллельных потоков передачи в зависимости от текущих сетевых условий, начиная с консервативного значения (1 поток) и увеличивая его до 64 одновременных потоков по мере доступной пропускной способности.

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

HF_XET_HIGH_PERFORMANCE=1 hf download ...

Начиная с версии hf_xet 1.7.0, размеры буферов загрузки определяются на основе доступной памяти для hf_xet, включая ограничения памяти контейнера, независимо от наличия переменной HF_XET_HIGH_PERFORMANCE=1. В более ранних версиях используйте HF_XET_HIGH_PERFORMANCE=1 только на машинах с ОЗУ не менее 64 ГБ. См. раздел Download Buffers для получения информации о используемых значениях.

Использование hf-mount

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

brew install hf-mount
hf-mount start repo openai-community/gpt2 /tmp/gpt2

Репозитории монтируются только для чтения. См. Монтирование как локальную файловую систему для подробностей настройки, вариантов бэкенда и кэширования.

Загрузка через прокси или межсетевой экран

Если ваша сеть ограничивает исходящий трафик с помощью файрвола или прокси, для загрузки моделей и наборов данных недостаточно доступа только к huggingface.co. Содержимое файлов предоставляется с отдельных хостов хранения и CDN, и from_pretrained / hf download завершатся с ошибкой, если эти хосты недоступны, даже если сам huggingface.co добавлен в белый список.

Добавьте следующие имена хостов в список разрешённых (все по HTTPS / порт 443):

Имя хостаНазначение
huggingface.coHub API, метаданные и перенаправления загрузок
cas-server.xethub.hf.coAPI протокола Xet, загрузка и выгрузка (США)
cas-server.xethub-eu.hf.coAPI протокола Xet, загрузка и выгрузка (ЕС)
transfer.xethub.hf.coAPI для загрузки данных из хранилища Xet (США)
transfer.xethub-eu.hf.coAPI для загрузки из хранилища Xet (ЕС)
us.aws.cdn.hf.coCDN-узел (США)
us.gcp.cdn.hf.coCDN-узел (США)
cdn-lfs-us-1.hf.coLFS CDN (США)
cdn-lfs-eu-1.hf.coLFS CDN (ЕС)

Загрузки следуют HTTP-редиректам с huggingface.co на эти имена хостов, поэтому добавления только huggingface.co в белый список недостаточно. Ошибка ReadTimeoutError (а не ошибка подключения) в процессе загрузки обычно означает, что начальное соединение было установлено, но хост хранилища или CDN заблокирован.

Поведение подстановочных символов зависит от того, как ваш прокси сопоставляет домены. Многие корпоративные прокси трактуют запись в списке разрешённых доменов как совпадение по суффиксу, охватывающее поддомены на любой глубине. Если ваш прокси работает так, самый простой вариант — добавить в список разрешённых суффиксы hf.co и huggingface.co — они покрывают все текущие и будущие конечные точки хранения и CDN.

Если ваш прокси поддерживает только одноуровневые маски (где *.hf.co совпадает с cdn-lfs-us-1.hf.co, но не с более глубокими us.aws.cdn.hf.co или cas-server.xethub.hf.co), добавьте в белый список явные имена хостов из таблицы выше. Обратите внимание, что *.xethub.hf.co не покрывает хосты ЕС под xethub-eu.hf.co, а *.cdn.hf.co не покрывает двухуровневые us.aws.cdn.hf.co / us.gcp.cdn.hf.co.

Эти имена хостов могут меняться по мере развития нашей инфраструктуры хранения и CDN. Если ваша политика безопасности позволяет, добавьте в белый список суффиксы hf.co и huggingface.co (все поддомены), чтобы ваши правила не ломались при смене конкретного конечного пункта.

Список в машиночитаемом формате

Перечисленные выше имена хостов также публикуются в формате JSON по адресу https://huggingface.co/.well-known/meta.json, поэтому вы можете сгенерировать правила прокси или файрвола на основе этого файла, а не копировать таблицу вручную.

Файл изменяется по мере добавления и удаления конечных точек. Загружайте его при построении правил, а не фиксируйте копию.

Update on GitHub