CoolFace
Modelpublic

BahamutRU/DeepSeek-V4-Flash-Vision-Exp-Q8_0-MXFP4-Q3_K-Q2_K-mixed-GGUF

sourceHugging Facemitupdated 25d agoView on Hugging Face
3likes581downloads
Model Card

Обзор

Этот файл GGUF вдохновлен APEX и базовыми знаниями о MoE.

Основная идея — сохранить максимальную точность на критически важных для MoE-архитектуры компонентах (особенно down_exps) и на граничных слоях, одновременно агрессивно квантуя середину модели, где ошибки меньше влияют на общее качество, при этом используя лишь стандартные Q-кванты для максимальной скорости на процессорах и старых видеокартах.

Схема квантования

Модель условно разделена на три зоны:

ЗонаСлои (blk.)ТензорыТип квантования
Начало0–4Все ffn_*_exps.weightmxfp4
Позднее начало5–9ffn_down_exps.weightmxfp4
Позднее начало5–9ffn_gate_exps, ffn_up_expsq3_K
Середина10–32ffn_down_exps.weightq3_K
Середина10–32ffn_gate_exps, ffn_up_expsq2_K
Ранний конец33–37ffn_gate_exps, ffn_up_expsq3_K
Ранний конец33–37ffn_down_exps.weightmxfp4
Конец38–42Все ffn_*_exps.weightmxfp4

Логика выбора

downexps — это ключевой компонент в MoE: он агрегирует информацию от экспертов. Потеря точности здесь приводит к заметной деградации логики. Поэтому я дал ему приоритет — mxfp4 на краях и q3K в середине (вместо q2K). Первые и последние слои (0–4 и 38–42) обычно критичны для входной/выходной эмбеддинговой обработки и финального представления. Здесь — mxfp4 (полная точность). Середина (10–32) — самая многочисленная часть. Здесь допустимо более сильное квантование q2K для gate/up, так как ошибки усредняются через множество слоёв.

Скрипт квантования

txt
^blk\.[0-4]\.ffn_(gate|up|down)_exps\.weight$=mxfp4
^blk\.[5-9]\.ffn_down_exps\.weight$=mxfp4
^blk\.[5-9]\.ffn_(gate|up)_exps\.weight$=q3_K
^blk\.3[3-7]\.ffn_down_exps\.weight$=mxfp4
^blk\.3[3-7]\.ffn_(gate|up)_exps\.weight$=q3_K
^blk\.(3[89]|4[0-2])\.ffn_(gate|up|down)_exps\.weight$=mxfp4
ffn_down_exps.weight=q3_K
ffn_(gate|up)_exps.weight=q2_K

Послесловие

Обновленная модель получилась больше, потому что за основу взят квант UDQ8KXL от Unsloth, который, по их утверждениям, байт-в-байт повторяет оригинальные веса. Некоторые тензоры (attnkv, attnoutputa/b, attnqa/b, ffndownshexp, ffngateshexp, ffnupshexp) там оказались в FP16, из них только attnoutputa/b и attnqa/b я квантовал в q8_0, остальные оставил в bf16, что добавило два гига. Но все еще -c 262144 -b 2048 -ub 2048 --mmproj … влезает в 16 гигабайт видеопамяти, поэтому в целом я остался доволен. Если вдруг у кого-то что-то куда-то не поместится — пишите, пожмем еще чутка.