Hub documentation
Загрузка моделей
Загрузка моделей
Интегрированные библиотеки
Если модель на 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.co | Hub API, метаданные и перенаправления загрузок |
cas-server.xethub.hf.co | API протокола Xet, загрузка и выгрузка (США) |
cas-server.xethub-eu.hf.co | API протокола Xet, загрузка и выгрузка (ЕС) |
transfer.xethub.hf.co | API для загрузки данных из хранилища Xet (США) |
transfer.xethub-eu.hf.co | API для загрузки из хранилища Xet (ЕС) |
us.aws.cdn.hf.co | CDN-узел (США) |
us.gcp.cdn.hf.co | CDN-узел (США) |
cdn-lfs-us-1.hf.co | LFS CDN (США) |
cdn-lfs-eu-1.hf.co | LFS 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Файл изменяется по мере добавления и удаления конечных точек. Загружайте его при построении правил, а не фиксируйте копию.