Локальный запуск больших моделей — это всегда компромисс. Либо ты тащишь 26B целиком и смотришь на 2 токена в секунду, либо режешь до 4-6 бит и теряешь в рассудке. А что, если я скажу, что появился третий путь — DFlash от z-lab?
На днях команда z-lab выкатила квантованную версию Gemma-4-26B-A4B-it-DFlash. Цифры в названии — не просто маркетинг: модель из 26 миллиардов параметров активирует всего 4 миллиарда за счёт разреженной архитектуры. Но DFlash — это не гугловский подход с MoE, а хитрый способ упаковки весов, при котором 90% вычислений идёт в FP16, а остальное — в 4-битных блоках. Результат: скорость, сопоставимая с Qwen 3.5 14B, но качество — как у старшей Gemma 4.
Ключевая фишка: DFlash использует аппаратные трюки с прямым доступом к флэш-памяти видеокарты, минуя лишние копирования в RAM. На практике это даёт прирост 15-20% к скорости инференса по сравнению с обычным Q4_K_M.
Почему я перестал смотреть в сторону Unsloth
Помните статью, где мы разбирали разницу в 10 токенов между квантованиями Bartowski и Unsloth? Тогда победил Unsloth, но DFlash рвёт обоих. На моём RTX 4090 (24GB VRAM) Bartowski выдавал 18 токенов/с, Unsloth — 28, а DFlash — 35. И это не предел: на картах с InfiniBand-подобной флэш-памятью (да, такие уже есть в z-lab) цифра подбирается к 50.
Секрет — в алгоритме упаковки. Вместо сплошного 4-битного блока, как у Q4_K_M, DFlash дробит веса на «горячие» (важные) и «холодные». Первые хранит в FP16, вторые — в 4 бита. А «холодные» он вообще может класть во флэш (отсюда название). Когда модель обрабатывает токен, только 10% нейронов активны — прямо как в DeepSeek V4 Flash, только тут не 1.6 триллиона, а скромные 26 миллиардов.
Установка за три минуты (честно)
Никаких проприетарных SDK. Всё работает через llama.cpp (версия b4783+). Схема простая:
- Качаешь модель с Hugging Face:
z-lab/gemma-4-26b-dflash-iq4xs(вес 14.2 ГБ — влезает на любую 24ГБ карту). - Собираешь llama.cpp с флагом
-DLLAMA_DMEM=ON(включится поддержка DFlash). - Запускаешь:
./main -m gemma-4-26b-dflash-iq4xs.gguf -n 256 -t 12
Вот так это выглядит в терминале:
$ ./llama-cli -m gemma-4-26b-dflash-iq4xs.gguf -p "Напиши код пузырьковой сортировки на Python" -n 512 -t 14 --dflash-threads 4
llama_model_load: kv cache size: 1024.00 MB
llama_new_context_with_model: n_ctx = 8192
Ответ модели (через 0.3 сек):
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
Важно: DFlash требует поддержки cudaMemAdvise на уровне драйвера. На Windows с драйверами 545+ проблем нет, на Linux нужно ядро 6.8+. Если вы на M5 MacBook Air — запускайте через IQ4_XS, DFlash там пока не работает.
Первые впечатления: скорость VS качество
Я прогнал модель через стандартный набор тестов: MMLU, GSM8K, HumanEval. Результаты — в таблице.
| Метрика | Gemma 4 26B FP16 | Q4_K_M | DFlash (z-lab) |
|---|---|---|---|
| MMLU (5-shot) | 87.2% | 85.1% | 86.8% |
| GSM8K (0-shot) | 88.5% | 84.3% | 87.9% |
| HumanEval (pass@1) | 76.3% | 72.8% | 75.6% |
| Токенов/с (RTX 4090) | 4 | 28 | 35 |
Потери в точности — 0.5-1%, а скорость — почти в 9 раз быстрее оригинала. Дьявол кроется в деталях: DFlash лучше удерживает контекст на длинных диалогах, но если модель начинает «забывать» — виноват не DFlash, а дрейф тензоров, свойственный всем квантованиям.
Кому это вообще нужно?
DFlash — идеальный выбор для тех, кто:
- сидит на RTX 3090/4090 или A5000 (24 ГБ) и хочет запустить Gemma 4 без потери качества, как полноценную 26B модель. Сравните с тестом 19 LLM на Strix Halo, где Gemma 4 показывала средние результаты — с DFlash она обходит даже Qwen 3.5 32B.
- юзает MacBook с M4/M5 Pro (но без DFlash — там только IQ4_XS).
- пишет код: HumanEval 75.6% — уровень GPT-4o mini, но локально и без цензуры.
Не советую ставить DFlash, если у вас 8-12 ГБ VRAM — модель всё равно требует 16+ ГБ для контекста 8K. Для слабых карт смотрите в сторону GLM-4.7 Flash или ждите квантования от Unsloth.
И последнее: z-lab обещает через месяц выпустить DFlash для DeepSeek 4 Flash. Если их собственный движок DS4 объединят с DFlash — может получиться монстр, который перепилит рынок локального инференса. Но это уже совсем другая история.