Компьютерное зрениеhiga2515
Qwen3.8-27B QSA
разреженное внимание поверх 27B мультимодальной модели
2 мин чтения
Исследовательская BF16-версия Qwen3.8-27B от higa2515: к 16 слоям full-attention добавлены обученные индексоры Qwen Sparse Attention (QSA), а остальные 48 слоёв декодера сохранили исходную архитектуру Gated DeltaNet. Backbone, vision encoder, projector и MTP-веса оставлены без изменений — оригинальные шарды побайтово совпадают с апстримом.
🔍 Ключевые особенности
- 🧩 QSA использует сжатый обученный индексор, который выбирает контекст блоками по 4 токена: фиксированный K=2 048 плюс текущий блок.
- ➕ Добавлено 52 434 944 FP32-параметра индексоров; индексоры обучены 300 шагов при длине 16 384 с 50% мультимодальной смеси.
- 🔒 Все исходные KV-записи сохраняются — это не сжатие KV-cache, а 12,5% описывают K на 16k, а не постоянное соотношение.
- 💻 Два пути исполнения: Transformers-обёртка как референс корректности и GGUF + форк llama.cpp с нативной поддержкой текста, изображений и видео, M-RoPE и MTP.
- ⚠️ Stock llama.cpp файлы QSA не поддерживает — нужен отдельный движок и runtime guide.
- 🔄 Скрипт
restore_original.pyсобирает обратно исходный dense-снапшот с проверкой LFS-хэшей.
💻 Пример
from transformers import AutoModelForImageTextToText, AutoProcessor
path = "higa2515/Qwen3.8-27B-QSA-BF16"
processor = AutoProcessor.from_pretrained(path, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
path, trust_remote_code=True, dtype="auto", device_map="auto",
attn_implementation="sdpa",
)Подробнее
Text PPL на 32 766 токенах: 7,071384 у QSA против 7,072960 у dense (отношение 0,99978).Сконструированный DocVQA-пробник на 50 вопросов: 50/50 у обеих версий.
На 261 120 входных токенах QSA быстрее в 2,921x по cold prefill и в 1,793x по decode (GGUF Q8_0, FP16 KV, MTP draft2, две sm70 32GB).
Мультимодальное качество на 128k/262k не проверено; пробы прошли лишь до 64k.








Комментарии
Без регистрации: достаточно имени.