hf-mem
hf-mem — CLI-навык Hugging Face для оценки памяти, необходимой модели для inference. Он работает с весами Safetensors и GGUF из Hugging Face Hub и может отдельно оценивать память под веса модели и, в экспериментальном режиме, под KV cache. Ключевая особенность workflow — использование HTTP Range-запросов: оценка выполняется без скачивания и локальной загрузки всех весов. Навык полезен, когда нужно понять, помещается ли конкретная модель на GPU или в память выбранного инстанса. Основной вход — model ID репозитория Hugging Face, переданный через --model-id. Команда uvx hf-mem --model-id <model-id> --json-output запрашивает сведения о доступных весах и отдаёт результат в JSON. Для запуска требуется установленный uv, а токен HF_TOKEN или параметр --hf-token нужен только для gated или private моделей. Перед оценкой для Safetensors CLI проверяет, что репозиторий содержит ожидаемые файлы: model.safetensors, индекс model.safetensors.index.json для sharded-весов или model_index.json для Diffusers. GGUF-веса также поддерживаются. Если в репозитории лежат несколько GGUF-файлов с разными точностями или квантованиями, оценки выдаются отдельно для каждого файла. В этом случае источник рекомендует указать --gguf-file с именем файла или путём к нему, чтобы считать именно тот вариант, который планируется загружать. Экспериментальный флаг --experimental добавляет расчёт памяти KV cache. Источник связывает этот режим с LLM, VLM и GGUF-моделями. Для LLM и VLM учитываются длина контекста, размер batch и тип точности KV cache: длину можно задать через --max-model-len, размер пакета через --batch-size, а тип через --kv-cache-dtype. По умолчанию длина берётся из контекста модели или переопределяется параметром, а точность KV cache по умолчанию соответствует точности модели, если её не задать явно. Для Safetensors инструкция показывает вызов с --experimental и параметрами max-model-len, batch-size и kv-cache-dtype. Для GGUF к нему добавляется --gguf-file, потому что разные файлы могут соответствовать разным квантованиям. В списке допустимых значений приведены варианты bfloat16, fp8 и другие типы для Safetensors, а также F32, F16, Q4_0, Q5_K, Q8_K и другие форматы для GGUF. Эти параметры нужно связывать с реальным файлом и режимом inference, а не подменять одной общей оценкой для всего репозитория. В официальных примерах есть Transformers-модель MiniMaxAI/MiniMax-M2, Diffusers-модель Qwen/Qwen-Image, Sentence Transformers-модель google/embeddinggemma-300m и LLM mistralai/Mistral-7B-v0.1. Для GGUF показан репозиторий unsloth/Qwen3.5-397B-A17B-GGUF с файлом Q4_K_M. Примеры демонстрируют форму model ID и необходимость выбрать файл для GGUF; они не означают, что оценка любого другого репозитория будет такой же. Практический сценарий состоит из трёх шагов: выбрать фактический репозиторий, запустить базовую оценку с JSON-выводом и затем при необходимости повторить её с --experimental, длиной контекста, batch size и типом KV cache. Для GGUF дополнительно фиксируется конкретный файл. Ограничение навыка следует из его назначения: он оценивает требования по данным Hub и заданным параметрам, поэтому результат нужно сопоставлять с реальной конфигурацией inference, выбранной точностью и доступной памятью. Для gated и private репозиториев предварительно требуется корректный HF-токен.
Для чего подходит
- Оценка VRAM для локального inference
- Проверка размера Safetensors-модели
- Расчёт памяти GGUF и KV cache
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/huggingface/skills/tree/main/skills/hf-mem