Модель скачана — но готова ли она работать без сети? Проверяем 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 полезны, когда состав нужного комплекта уже понятен. Иначе легко исключить данные, необходимые загрузчику.
Офлайн-готовность подтверждает повторный запуск без сети. Наличие весов на диске — лишь один из его предварительных шагов.
Такой порядок не обещает одинаковых ответов при любом оборудовании и настройках генерации. Он решает более узкую, но полезную задачу: отделяет проблемы доступа к файлам от дальнейшего поведения модели.
Комментарии
Войдите, чтобы оставить комментарий
Пока нет комментариев. Начните обсуждение.