Transformers научился запускать GGUF с ядрами llama.cpp на Apple Silicon

22 сентября 2026 года Hugging Face представила эффективный запуск GGUF-моделей в Transformers с использованием вычислительных ядер ggml. Первый фокус интеграции: локальная генерация на Apple Silicon, начиная с архитектур семейства Qwen3.5.

Для разработчика это возможность использовать квантованные модели через привычные Python-интерфейсы Transformers. Но поддержка формата GGUF и быстрый запуск без деквантования весов доступны не в одинаковом объёме на любом устройстве.

Зачем сохранять веса в квантованном виде

GGUF содержит веса и метаданные модели, включая сведения о токенизаторе и возможный шаблон чата. Квантование уменьшает объём памяти за счёт более компактного представления весов, иногда с разной точностью для разных частей модели.

В примере Hugging Face файл Qwen3.5-4B в BF16 занимает 8,42 ГБ, а Q4_K_M: 2,74 ГБ. Это размеры файлов конкретной модели, а не обещание общего расхода оперативной памяти при запуске. Контекст, кэш и рабочие буферы тоже требуют места.

Авторы предлагают начинать с Q4_K_M и при наличии памяти пробовать Q5_K_M или Q6_K. Потеря качества зависит от модели и задачи, поэтому выбирать вариант лучше по собственным проверкам, а не только по размеру файла.

Как устроена интеграция

Модель загружается через from_pretrained с указанием файла в параметре gguf_file. Затем используются обычные средства Transformers, включая generate. Совместимые ядра поставляются через библиотеку kernels.

На старте нужны Apple Silicon, поддерживаемая сборками ядер версия PyTorch, совместимая версия kernels и актуальная ветка Transformers. Условия загрузки описаны в документации GGUF; перед установкой стоит сверить их с выбранной версией библиотек.

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

Ограничения первого запуска

Быстрый путь с упакованными весами пока ориентирован на MPS и Apple Silicon. Покрытие архитектур ограничено: в статье указаны dense- и MoE-варианты Qwen3.5 и совместимые Qwen3.8. Это не универсальное обещание для всех GGUF с Hub.

Начальная цель: один интерактивный разговор. Padding и пакетная обработка ещё требуют доработки. Возможность импортировать GGUF через деквантование остаётся отдельным сценарием и не означает наличие быстрых ядер для любой видеокарты.

В опубликованном сравнении Transformers близок к llama.cpp на выбранных моделях, но методики колонок различаются: замер Transformers включает обработку входа, а llama-bench измеряет скорость выдачи без неё. Переносить эти цифры на своё устройство без повторного измерения не стоит.

Когда выбрать Transformers

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

При этом Hugging Face продолжает рекомендовать llama.cpp, когда главная цель: эффективный локальный запуск с широким аппаратным покрытием. Новая интеграция расширяет выбор разработчика, а не делает существующие локальные движки ненужными.

О том, зачем выбирать инструмент по задаче: разбор GitHub о Skills, MCP и RAG.

Источники и ссылки


Комментарии загружаются…