Hugging Face
Генерация кодаHugging FaceTransformersllama.cppGGUFквантизация

Transformers от Hugging Face добавил начальную поддержку загрузки GGUF-моделей

Сергей Сергеев, редактор gen-hub.ru
Сергей Сергеев
Редактор gen-hub.ru
·4 мин чтения
Transformers от Hugging Face добавил начальную поддержку загрузки GGUF-моделей

Два мира начали сближаться

Hugging Face добавила в Transformers поддержку загрузки моделей в формате GGUF - квантованных весов из экосистемы llama.cpp. Это первоначальная реализация с существенными ограничениями, но сам факт появления такой возможности закрывает разрыв, который существовал несколько лет.

Раньше схема выглядела так: хочешь работать с квантованными моделями - иди в llama.cpp, llama-cpp-python или Ollama. Хочешь гибкий Python-пайплайн с трансформерами - используй Transformers, но тогда забудь про GGUF. Теперь эти пути начали пересекаться - хотя пока не для всех платформ и архитектур.

Что такое GGUF и почему это важно

GGUF - формат хранения весов, который llama.cpp использует для квантизации моделей. Квантизация позволяет уменьшить модель в памяти за счет снижения точности весов с float32 или float16 до 4-битных или 8-битных значений. Например, Qwen3.5-4B в формате BF16 занимает 8,42 ГБ, а в Q4_K_M - 2,74 ГБ. Варианты вроде Q5_K_M дают промежуточный результат: 3,14 ГБ при чуть большей точности.

GGUF-модели сегодня - де-факто стандарт для локального запуска LLM. На Hugging Face Hub лежат десятки тысяч GGUF-файлов. Издатели вроде Unsloth, LM Studio Community и bartowski регулярно выкладывают готовые квантованные версии под разное железо. GGUF победил как формат для edge-инференса во многом благодаря кроссплатформенности llama.cpp и простоте установки.

Как это работает на практике

Чтобы загрузить GGUF-модель, нужно передать параметр `gguf_file` в `from_pretrained` с указанием Hub-идентификатора модели и имени файла. Никакой дополнительной конфигурации не требуется.

Но есть условия. Для эффективного запуска с сохранением весов в упакованном виде нужны: Mac на Apple Silicon, совместимая версия PyTorch (обычно одна из двух последних), актуальная версия Transformers из ветки main и совместимая версия библиотеки kernels. Когда веса остаются упакованными на Metal, Transformers автоматически подгружает ggml/Metal-ядра и использует ggml-org/ggml-attn как реализацию внимания. Если нужное ядро недоступно, модель переключается на sdpa с предупреждением.

На других устройствах или при неподдерживаемых типах квантования веса при загрузке деквантизуются - то есть предполагаемая экономия памяти в таких случаях не гарантируется. Единственная поддерживаемая архитектура на данный момент - Qwen3.5.

Что это значит для разных категорий пользователей

Для исследователей и ML-инженеров, работающих на Apple Silicon с моделями Qwen3.5, это упрощает эксперименты. Раньше сравнение полноточной модели с ее квантованной версией требовало либо двух разных фреймворков, либо дополнительной обертки.

Для энтузиастов с потребительским железом на Windows или Linux - пока мало что меняется. Те, кто уже работает с Ollama или LM Studio, скорее всего, останутся там. Если вам нужен Python-доступ с возможностью кастомизации на Apple Silicon и вы работаете с Qwen3.5, Transformers теперь дает такую возможность без смены инструментария.

Контекст: конкуренция форматов и экосистем

ExLlamaV2 и его формат EXL2 тоже решают задачу квантования, часто с лучшим соотношением скорость/качество на GPU. GPTQ-квантование существует уже несколько лет и поддерживается в Transformers через AutoGPTQ. Но GGUF выиграл массовую аудиторию именно благодаря llama.cpp: кроссплатформенность, CPU-инференс, простота установки.

Hugging Face здесь делает прагматичный ход. Вместо того чтобы продвигать собственный формат или игнорировать сложившуюся экосистему, они добавляют совместимость. Сравните с тем, как Microsoft интегрировала ONNX в свои инструменты или как PyTorch поглотил Caffe2 - крупные игроки давно поняли, что совместимость важнее чистоты архитектуры.

Работает ли это в России

Transformers - открытая Python-библиотека, она устанавливается через pip без геоограничений. Hugging Face Hub, откуда скачиваются модели, периодически испытывает проблемы с доступом из РФ без VPN - это зависит от провайдера и конкретного момента. Если Hub недоступен, GGUF-файлы можно скачать заранее или использовать зеркала. Сам инференс после загрузки весов работает полностью локально.

Что дальше

Поддержка GGUF в Transformers пока сфокусирована на Apple Silicon и архитектуре Qwen3.5 - это явно первый шаг, а не финальная реализация. llama.cpp в плане оптимизаций ушел далеко вперед: там есть поддержка AVX2, разных GPU-бэкендов, многолетняя работа над скоростью на конкретном железе.

Детали реализации и актуальный список поддерживаемых архитектур стоит смотреть в документации к конкретной версии библиотеки. Но направление выбрано понятное: сделать так, чтобы пользователям не приходилось выбирать между удобством Python-экосистемы Transformers и форматом, который уже стал стандартом для локального инференса.

Источники

Все эти инструменты - уже на Genova-ai

Картинки, видео, музыка, голос и ИИ-чат в одном месте. Без VPN и зарубежных карт.

Картинки
Видео
Музыка
Голос
ИИ-чат
Попробовать бесплатно

Похожие новости