Сразу к делу: чтобы скачать модель с Hugging Face, платить не нужно. Публичные модели лежат в открытом доступе, качаются без подписки и почти всегда без регистрации — достаточно знать имя репозитория и выбрать один из четырёх способов. Самый ходовой из них — библиотека huggingface_hub, буквально пара строк на Python. Ниже разберу все четыре и скажу, какой под какую задачу.
Деньги на площадке берут не за скачивание, а за другое: подписку PRO с её ZeroGPU, приватным хранилищем и повышенными лимитами, и за облачный инференс. Вот там долларовый чекаут российскую карту не принимает — и если до этого дойдёт, оплату PRO спокойно проводят через SUB.SUP: пишешь в Telegram или ВКонтакте, там подскажут по конкретному тарифу. Но ещё раз: чтобы просто скачать модель с Hugging Face, ничего этого не надо.
Теперь по порядку — что ты вообще качаешь и чем.
Модель на Hugging Face — это папка файлов, а не один файл
Первое, обо что спотыкаются новички: модель — это не один файл, который сохраняют кнопкой. Это репозиторий, то есть папка с набором файлов, и каждый нужен для своего.
Веса — самое тяжёлое, гигабайты чисел, из которых модель и состоит. Рядом лежит config.json с описанием архитектуры, файлы токенайзера, которые превращают текст в числа и обратно, иногда generation_config и карточка модели с описанием. Библиотека вроде transformers ждёт их все вместе, в одной папке, с правильными именами — выдерни один, и загрузка упадёт с ошибкой про недостающий файл.
У крупных моделей веса ещё и разбиты на куски: увидишь имена вроде `model-00001-of-00003.safetensors` и индексный файл, который говорит, что где лежит. Это нормально, так и задумано — просто качать надо все куски разом, а не первый попавшийся.
Поэтому «скачать модель» на практике почти всегда значит «забрать весь репозиторий целиком», а не выдернуть один файл. Исключение — квантованные сборки в формате GGUF, где вся модель и правда упакована в один файл, но о форматах поговорим ниже отдельно.
Держи это в голове: когда дальше я говорю «скачать модель», речь про папку, а не про единичный документ.
Способ для большинства: библиотека huggingface_hub
Если ты пишешь на Python — а модель ты, скорее всего, качаешь именно для кода — это твой основной инструмент. Ставится одной командой: `pip install huggingface_hub`. Библиотека, кстати, часто уже стоит как зависимость transformers, так что отдельно её ставить и не придётся.
Дальше две функции на выбор. `snapshot_download(repo_id="openai-community/gpt2")` тянет весь репозиторий разом, параллельно и с докачкой. `hf_hub_download(repo_id="openai-community/gpt2", filename="config.json")` забирает один конкретный файл, если весь репозиторий тебе не нужен. Для датасета добавляешь `repo_type="dataset"`, для конкретной версии — `revision="v1.0"` или полный хеш коммита. Обе функции возвращают путь к скачанному файлу на диске — этот путь ты потом и передаёшь в свой код.
Отдельно полезен фильтр. Не хочешь тащить дубли весов в разных форматах — пишешь `allow_patterns="*.safetensors"`, и скачаются только безопасные веса, без тяжёлых `.bin`. На больших моделях это экономит десятки гигабайт трафика.
Пример из жизни. Нужны только веса в safetensors и конфиг, без лишних примеров: `snapshot_download("BAAI/bge-m3", allow_patterns=["*.safetensors", "config.json"])` — и на диск ляжет ровно это, а не весь репозиторий на пару лишних гигабайт. Можно наоборот, через `ignore_patterns`, отсечь форматы, которые тебе не сдались.
И ещё удобство: повторный вызов ничего не качает заново. Если модель уже в кэше, `snapshot_download` вернёт путь к ней за секунду, заново дотянутся только изменившиеся файлы. Поэтому эту функцию спокойно зовут при каждом запуске скрипта — лишнего трафика не будет.
Возвращаемый путь удобно пускать в дело сразу: `path = hf_hub_download("openai-community/gpt2", "config.json")`, а дальше открываешь `path` как обычный файл, не думая, где он лежит физически. Для кода это нередко удобнее, чем тянуть всю папку и потом искать в ней нужное.
Мелочь, которая экономит нервы: докачка включена по умолчанию. Оборвалась связь на середине — просто перезапускаешь вызов, и загрузка продолжится с места обрыва, а не с нуля.
Приватную или gated-модель эта же библиотека качает, если передать токен: либо один раз выполнить `hf auth login` в терминале, либо подставить `token="hf_..."` в вызов. Токен бесплатный, заводится в настройках профиля — но это тема отдельной статьи, здесь важно, что механика та же.
И совсем частый случай: модель можно вообще не качать руками. Тот же `AutoModel.from_pretrained("имя/модели")` из transformers сам дёргает huggingface_hub под капотом и кладёт файлы куда надо. Ты просто называешь модель — остальное происходит само.
Скачать из терминала командой hf download
Не хочешь писать код ради одной загрузки — есть CLI. Тут важное обновление, которое путает половину туториалов: в июле 2025-го, начиная с версии huggingface_hub 0.34, утилиту переименовали из `huggingface-cli` в короткое `hf`. Старое имя ещё работает, но ругается предупреждением и просит перейти на новое. Так что если в гайде видишь `huggingface-cli download` — это то же самое, просто написано по-старому.
Команда простая. `hf download openai-community/gpt2` скачивает весь репозиторий. `hf download openai-community/gpt2 config.json` — только названный файл. Флаг `--include "*.json"` заберёт по маске, `--local-dir ./models` положит результат в твою папку, а `--dry-run` покажет, что и сколько скачается, не качая ни байта, — удобно прикинуть объём заранее. Перед загрузкой приватного репозитория один раз делаешь `hf auth login`, дальше токен подхватывается автоматически.
Логика та же, что у библиотеки, просто из терминала и без строчки кода. Если тебе нужно быстро стянуть модель на удалённый сервер по SSH — обычно берут именно `hf download`.
Кнопка на сайте: когда её хватает, а когда нет
На странице модели есть вкладка «Files and versions», а рядом с каждым файлом — иконка скачивания. Ткнул — файл упал в браузер. Ни Python, ни терминала.
Работает это ровно для одного случая: нужен один-два файла — скачать GGUF для локального запуска, глянуть config.json. Собирать так модель из десятка шардов — мучение: качать по одному и раскладывать по папкам руками ты замучаешься. Для целой модели бери библиотеку или CLI.
git clone: модель как обычный git-репозиторий
Под капотом каждый репозиторий на Hugging Face — это git, просто с поддержкой больших файлов. Значит, модель можно клонировать как любой другой проект.
Тонкость в том, что веса весят слишком много для обычного git, поэтому нужен git-lfs (а в новых репозиториях — git-xet). Один раз ставишь расширение командой `git lfs install`, потом `git clone https://huggingface.co/openai-community/gpt2` — и папка с моделью у тебя. Есть приятная хитрость: `GIT_LFS_SKIP_SMUDGE=1` перед клонированием скачает только текстовые файлы и ссылки-заглушки, без тяжёлых весов, — удобно, когда хочешь сперва посмотреть структуру, а веса дотянуть потом.
У способа есть цена: git тянет вообще все файлы репозитория, включая веса во всех форматах сразу, — фильтра «только safetensars» тут из коробки нет, и папка выходит тяжелее, чем через библиотеку. Для приватных репозиториев понадобится добавить SSH-ключ в настройках или клонировать по HTTPS с токеном вместо пароля.
Кому это надо. git clone любят те, кто и так живёт в гите: удобно версионировать, удобно потом что-то пушить обратно. Если же тебе просто нужны файлы модели без гит-обвязки — huggingface_hub проще, легче и быстрее.
Куда сохраняются файлы и как забрать их в свою папку
Типичная паника новичка: «скачал, а где оно?». Отвечаю. И библиотека, и CLI по умолчанию кладут файлы не рядом со скриптом, а в общий кэш — папку `~/.cache/huggingface/hub` в твоём домашнем каталоге.
Сделано это с умом: кэш общий на все проекты и виртуальные окружения, и если две программы просят одну модель, второй раз она не скачается. Файл в кэше лежит по хитрому пути со снапшотами и хешами — руками его трогать и переименовывать не надо, иначе собьёшь докачку и проверку целостности.
Не нравится дефолт — есть рычаги. Переменная окружения `HF_HOME` переносит весь кэш в другое место, например на большой диск, если системный забился. Параметр `local_dir="./my_model"` у `snapshot_download` и `hf_hub_download` складывает файлы прямо в указанную папку рядом с проектом, по-человечески. А команда `hf cache` показывает, что уже лежит в кэше и сколько занимает, и помогает вычистить старое — модели быстро съедают сотню гигабайт, если не следить.
Ещё нюанс про офлайн. Один раз скачав модель, ты можешь выставить `HF_HUB_OFFLINE=1`, и код возьмёт файлы из кэша, не дёргая сеть вообще, — полезно на машине без стабильного интернета или когда не хочешь, чтобы библиотека каждый раз проверяла обновления.
safetensors, GGUF или bin — что из этого качать
В карточке одной модели нередко лежат веса сразу в нескольких форматах, и качать всё подряд — значит гонять лишние гигабайты. Разберёмся, что есть что.
`safetensors` — формат по умолчанию и правильный выбор в большинстве случаев. Он безопасный: при загрузке не исполняет чужой код, в отличие от старых `.bin`, куда теоретически можно зашить вредонос. Видишь safetensors — бери его. Формат `.bin` — это старый pytorch-пиклинг, встречается у моделей постарше; работать будет, но, когда есть выбор, предпочитай safetensors.
`GGUF` — отдельная история. Это квантованные, ужатые веса для локального запуска на процессоре или слабой видеокарте через llama.cpp, LM Studio или Ollama. Вся модель тут упакована в один файл, и качать её через `git clone` бессмысленно — проще скачать нужный GGUF кнопкой с сайта. Файлов GGUF в карточке обычно несколько с пометками вроде Q4 или Q8: чем меньше число, тем сильнее сжатие, меньше вес и ниже качество — для слабого железа берут вариант поменьше, для точности покрупнее. Есть ещё `ONNX` — под соответствующие рантаймы, но новичку он попадётся редко.
Короткий вывод по способам, раз уж мы собрали все четыре. Пишешь на Python и нужна вся модель — `snapshot_download`. Нужен один файл — кнопка на сайте или `hf_hub_download`. Тянешь на сервер без кода — `hf download`. Живёшь в гите и хочешь версионировать — `git clone`. Всё остальное — вариации этих четырёх, и выбирать стоит от задачи, а не от того, что первым попалось в туториале.
Частые вопросы про скачивание моделей
### Можно ли скачать модель без регистрации и аккаунта?
Публичную — да, аккаунт для этого не нужен, файлы отдаются открыто. Регистрация и токен понадобятся в двух случаях: приватный репозиторий (твой или твоей команды) и gated-модель, где автор просит принять условия. Тогда заводишь бесплатный аккаунт, создаёшь токен доступа и передаёшь его при скачивании.
### Как скачать gated-модель вроде Llama или Gemma?
Такие модели закрыты «воротами»: сначала открываешь карточку модели на сайте, жмёшь «Request access» и принимаешь лицензию — иногда доступ дают сразу, иногда автор проверяет заявку вручную. После одобрения качаешь как обычно, но обязательно с токеном: `hf auth login` в терминале или `token="hf_..."` в коде. Без токена даже принятые условия не помогут — сервер тебя не узнает.
### Как скачать большую модель на десятки гигабайт и не словить обрыв?
Бери `snapshot_download` или `hf download` — они качают параллельно и умеют докачивать после разрыва связи. С huggingface_hub свежих версий по умолчанию подключается ускоритель hf_xet, который бьёт файлы на куски и не начинает всё заново, если соединение моргнуло. Кнопкой на сайте огромную модель качать не стоит именно поэтому.
### Нужен ли PRO, чтобы скачивать модели?
Нет. Скачивание публичных моделей — бесплатное, подписка на это никак не влияет. PRO за девять долларов в месяц берут ради другого: приоритетного ZeroGPU, приватного хранилища на терабайт и более высоких лимитов на запросы. Если решишь оформить PRO и упрёшься в то, что российская карта на чекауте не проходит, — это как раз закрывают через SUB.SUP: детали подскажут в Telegram или ВКонтакте. Но для самих загрузок это не требуется.
По умолчанию — в кэше `~/.cache/huggingface/hub`. Хочешь в конкретную папку — качай с параметром `local_dir`, и файлы окажутся ровно там, где ты укажешь.
Комментарии
Войдите, чтобы написать комментарий