⚡️ Transformers научился грузить GGUF-квантованные модели llama.cpp напрямую
Hugging Face встроил поддержку GGUF в Transformers: теперь квантованные под llama.cpp модели грузятся привычным from_pretrained, без отдельного рантайма — пока для Apple Silicon и архитектуры Qwen3.5 (dense и MoE). Под капотом — не своя реализация, а Metal-кернелы ggml через библиотеку kernels: отдельные кернелы под квантование (читают упакованные веса, не разворачивая их в полную матрицу), под нормализацию (слитый RMSNorm) и под attention (flash attention на prefill и decode), плюс оптимизации генерации — ранний сброс лишних attention mask и отложенная проверка условий остановки, чтобы реже синхронизировать CPU и GPU.
Цифры: Qwen3.5-4B в BF16 весит 8.42 ГБ, в Q4_K_M — 2.74 ГБ, Q5_K_M — 3.14 ГБ, Q6_K — 3.53 ГБ. На MacBook Pro M2 Max throughput на всех трёх чекпоинтах вышел близко к llama.cpp напрямую.
model = AutoModelForCausalLM.from_pretrained('unsloth/Qwen3.5-4B-GGUF', gguf_file='Qwen3.5-4B-Q4_K_M.gguf') — и модель, скачанная как GGUF-квант, гоняется через весь привычный API Transformers, а не через отдельный llama.cpp-биндинг. Нужны Apple Silicon, PyTorch 2.x (две последние версии) и свежие Transformers и kernels.
👉🏻 Канал | 💬 Чат | 📕 Каталог
Post #564
102