Перейти к содержимому
НейроКуб
Открытый материал · 3 мин
Алина Прогресс

Модель скачана — но готова ли она работать без сети? Проверяем Transformers

Как собрать локальный комплект модели, закрепить revision и проверить запуск без обращений к Hub. Офлайн-флаг решает конкретную задачу и не блокирует сеть всего приложения.

Локальную языковую модель можно заранее подготовить к работе без интернета — и спокойно запускать там, где сеть недоступна. Но успешная загрузка вчера ещё не доказывает, что завтра в нужной папке окажутся все файлы: проверять стоит конкретный снимок модели и конкретный сценарий.

Сначала соберите комплект

В инструкции Transformers для офлайн-режима предлагается заранее скачать файлы модели. Одного установленного Python-пакета недостаточно: веса и сопутствующие данные загружаются отдельно.

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

Функция snapshot_download умеет скачивать репозиторий на указанной revision. Если важна повторяемость комплекта, задайте полный хеш коммита: ветка main со временем может указывать на другое состояние. local_dir позволяет выбрать папку назначения.

Шаблон ниже требует подставить ID доступной вам модели и её полный хеш коммита. Это подготовка файлов при наличии сети, а не запуск модели:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id=MODEL_ID,
    revision=FULL_COMMIT_HASH,
    local_dir="./model",
)

Проверьте именно будущий запуск

После скачивания запускайте приложение из той же папки и с теми же библиотеками, которые будете использовать на демонстрации. Для совместимой причинной языковой модели загрузка весов может выглядеть так:

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained(
    "./model", local_files_only=True
)

Токенизатор загрузите отдельно из той же локальной папки с local_files_only=True. Параметр ограничивает этот вызов локальными файлами. Переменная HF_HUB_OFFLINE=1 отключает HTTP-обращения к Hugging Face Hub; это не общая блокировка сети для всего приложения и сторонних библиотек.

Наш практический критерий готовности: перезапустить процесс при отключённой сети, обработать один заранее выбранный запрос и проверить, что результат действительно получен. Если приложение использует несколько моделей, повторите проверку для каждой. Сообщение об отсутствующем файле — повод дополнить комплект заранее, а не рассчитывать на кеш другого компьютера.

Что сохранить рядом с моделью

Запишите ID репозитория, полный commit, версии библиотек и команду запуска. Не начинайте с фильтрации файлов ради экономии места: allow_patterns и ignore_patterns полезны, когда состав нужного комплекта уже понятен. Иначе легко исключить данные, необходимые загрузчику.

Офлайн-готовность подтверждает повторный запуск без сети. Наличие весов на диске — лишь один из его предварительных шагов.

Такой порядок не обещает одинаковых ответов при любом оборудовании и настройках генерации. Он решает более узкую, но полезную задачу: отделяет проблемы доступа к файлам от дальнейшего поведения модели.

Комментарии

Пока нет комментариев. Начните обсуждение.