ИИтак

← Назад

Transformers от Hugging Face запускает модели GGUF на Mac почти так же быстро, как llama.cpp

Hugging Face встроила в библиотеку Transformers вычислительные ядра llama.cpp. Сжатые модели в формате GGUF работают на Mac без распаковки и по скорости близки к llama.cpp. Пока поддержана только архитектура Qwen3.5.

Библиотека Transformers научилась запускать модели в формате GGUF, не распаковывая сжатые веса. Transformers — главный инструмент Hugging Face для работы с моделями на Python. GGUF — формат движка llama.cpp, на котором построены программы для локального запуска вроде Ollama, LM Studio и Jan. Открывать такие файлы Transformers умела и раньше, но разжимала модель до полной точности, и та занимала больше памяти.

Смысл формата — в квантизации: веса хранятся с меньшей точностью, и модель помещается в память ноутбука. Например, вариант Q4_K_M держит большую часть весов в 4 битах, а самые чувствительные части — точнее. Готовые файлы с разной степенью сжатия выкладывают Unsloth, сообщество LM Studio и сама команда llama.cpp, их скачали миллионы раз. Hugging Face советует начинать с Q4_K_M, а если памяти хватает, пробовать Q5_K_M или Q6_K.

Скорость взяли у самой llama.cpp. Её вычислительные ядра — небольшие программы, которые выполняют отдельные операции на видеочипе и читают сжатые веса напрямую, — раздаются через Hub и вызываются из Transformers. Разработчики llama.cpp и библиотеки с этими ядрами уже работают в Hugging Face. Ещё две правки сократили время, которое процессор проводит в ожидании видеочипа. Одна убирает лишнюю служебную маску в начале генерации. Другая позволяет не ждать ответа на вопрос, пора ли останавливаться. Эти правки ускоряют все модели в Transformers, не только GGUF.

На MacBook Pro с чипом M2 Max и 32 ГБ памяти скорость Transformers, по замерам Hugging Face, оказалась близка к llama.cpp. Проверяли три модели: маленькую, покрупнее и модель со смесью экспертов. Условия замеров не совпадают: в цифры Transformers входит обработка запроса, а llama.cpp считает только генерацию.

Сама Hugging Face пишет, что «llama.cpp остаётся рекомендуемым движком, когда главное — эффективный локальный запуск». Transformers нужна для другого: в ней модель разбирают на Python. Можно заглянуть в промежуточные слои, измерить, сколько качества потеряно при сжатии, проверить, что при конвертации веса не испортились, или распаковать веса и дообучить модель. Ещё Transformers умеет работать сервером и открывать к модели доступ через API в стиле OpenAI, так что к ней можно подключить чат Jan или агента для программирования Pi.

Дальняя цель — ускорять ядрами llama.cpp модели, которых в самой llama.cpp нет: новые архитектуры, исследовательские модели, а со временем, возможно, модели для изображений и звука. Пока же быстрый путь работает только на Mac с чипами Apple и только с архитектурой Qwen3.5 — обычной и со смесью экспертов, включая совместимые версии Qwen3.8. Несколько запросов разной длины, обработанные одним пакетом, пока идут медленнее, а другие архитектуры обещают добавлять постепенно.

← Все новости