Перейти к содержимому
Экосистема AI Vibe

Новости

Transformers научился крутить GGUF: from_pretrained вместо отдельного рантайма

Редакция 22 сентября 2026 г.

Mac на Apple Silicon запускает квантованную модель GGUF из Python через Transformers и Metal-ядра ggml.

Файлы GGUF с Hugging Face Hub теперь открываются в Transformers как обычный чекпоинт: from_pretrained плюс параметр gguf_file с именем файла в репозитории. Под капотом , ggml-ядра из пакета kernels , чтобы по скорости не отставать от llama.cpp; первый релизный акцент , локальный инференс на Apple Silicon, архитектура Qwen3.5. Пока ставят с main: pip install -U "git+https://github.com/huggingface/transformers.git" kernels . Нужен Mac на Apple Silicon и свежий PyTorch под сборки ядер квантизации. Если совместимого ядра нет, загрузчик разворачивает веса в память , footprint растёт; когда ядро есть, подключаются слои ggml/Metal и внимание ggml-org/ggml-attn , иначе предупреждение и откат на sdpa (можно задать attn_implementation="sdpa" явно). Размеры квантов на примере Qwen3.5-4B У Unsloth для той же модели в таблице из блога: BF16 , 8,42 ГБ, Q6_K , 3,53 ГБ, Q5_K_M , 3,14 ГБ, Q4_K_M , 2,74 ГБ. Авторы советуют стартовать с Q4_K_M на ноутбуке и поднять уровень квантизации, если RAM позволяет. Загрузка и раздача по API Минимальный сценарий: model_id = "unsloth/Qwen3.5-4B-GGUF" , filename = "Qwen3.5-4B-Q4_K_M.gguf" , токенизатор и модель с одним gguf_file , затем стандартный apply_chat_template и generate . Для OpenAI-совместимого сервера: transformers serve "unsloth/Qwen3.5-4B-GGUF:Qwen3.5-4B-Q4_K_M.gguf" ; Jan или Pi цепляются к http://localhost:8000/v1 с тем же идентификатором модели. Замеры против llama.cpp На MacBook Pro M2 Max, 32 ГБ unified memory, throughput Transformers в трёх GGUF-чекпоинтах (мелкая dense, крупная dense и MoE) близок к колонке llama-bench: там tg128 только на decode, у Transformers в замер входит и prefill с 12-токенным промптом на 128 токенов вывода. Для максимально экономного локального инференса команда по-прежнему рекомендует llama.cpp. Интеграция заточена под Python-стек, а не замену Ollama «в один клик»: эксперименты в PyTorch , хуки, правка forward, свои слои; оценка квантов через привычные eval-пайплайны Transformers; сверка GGUF-конвертации с оригинальным чекпоинтом; свои logits processors и критерии остановки в generate ; дообучение после GgufConfig(dequantize=True) и dtype=torch.bfloat16 . Дальше план , разнести ggml-ядра на архитектуры, для которых в llama.cpp ещё нет полной реализации, не таща каждую модель в отдельный рантайм. Источник: Transformers now runs llama.cpp quants .