Что произошло: PR #1225 и ревизия DeepSeek V4.1 Flash 1017
PR #1225 в репозитории antirez/ds4 добавляет поддержку чекпоинта DeepSeek V4.1 Flash 1017. Внутри три вещи: новые таблицы engrams, обновлённый vision tower и проверка того, что файлы vision и language взяты из одной ревизии. Ядро движка не менялось, архитектура модели осталась прежней.
Практический итог для локального запуска: после принятия PR чекпоинт встаёт в существующие кернелы без правок ядра, а файлы, квантованные набором ds4, загружаются без дополнительных модификаций. Регрессий для предыдущего чекпоинта автор PR не заявляет (текст PR и обсуждение в r/LocalLLaMA). Смешивать файлы разных ревизий нельзя: на паре vision+language из разных версий загрузка завершается ошибкой.
Ревизия крупная: около 40% routed expert-тензоров изменено, 30% в engrams и примерно 50% expert-тензоров vision tower. Отсюда главное ограничение: старые engram-шарды к 1017 не подходят, таблицы берут из базового репозитория 1017. И ещё один момент, который легко упустить: до влития PR чекпоинт к существующим кернелам не подключается вообще.
Инфраструктурный характер изменений: что именно добавили
Слово «поддержка» здесь описывает работу с файлами, а не с математикой модели. По пунктам:
- Совместимость с новыми ревизиями файлов. Раскладка шардов 1017 отличается от предыдущего чекпоинта, и движок теперь разбирает её корректно.
- Проверка соответствия vision+language. PR сверяет комбинацию файлов и поднимает ошибку, если vision tower и language-часть относятся к разным ревизиям.
- Ноль правок ядра. Архитектура та же, поэтому чекпоинт занимает место в уже существующих кернелах.
Новых кернелов, нового формата весов и нового движка в PR нет. Кто ждал от 1017 прироста скорости за счёт переписанных вычислений, может выдохнуть и не ждать: считать будет тот же код, что и на предыдущем чекпоинте.
Масштаб ревизии в цифрах: 40% / 30% / 50%
| Компонент | Доля изменённых тензоров | Что это значит на практике |
|---|---|---|
| Routed expert-тензоры | около 40% | основная масса весов MoE-экспертов пересчитана, старые кванты неприменимы |
| Engrams | 30% | две таблицы Engram изменены, шарды берут из базового репозитория 1017 |
| Expert-тензоры vision tower | около 50% | визуальная часть обновлена наполовину, пара с language должна быть из той же ревизии |
Цифры объясняют, почему нельзя собрать frankenstein-сборку из файлов разных версий. Проверка vision+language поймает несовпадение ревизий vision и language, а вот за тем, что engrams взяты из 1017, следить приходится самому: такую проверку PR не описывает.
Совместимость с квантами ds4 и отсутствие регрессий
Файлы, квантованные набором ds4, грузятся без специальных изменений. Это ключевая практическая ценность для тех, у кого движок уже развёрнут: не нужно заново прогонять квантование и заново калибровать веса. PR не вносит регрессий для предыдущего чекпоинта, то есть старая сборка продолжает работать как работала.
Совместимость не означает «любые файлы от любых ревизий». Речь о файлах, собранных набором ds4 под конкретный чекпоинт; сторонние форматы и чужие пайплайны PR не покрывает. Если сборка делалась другим инструментом, совместимость придётся проверять самостоятельно, а не рассчитывать на неё по умолчанию. О том, как устроены кастомные кванты под ds4 и какие подводные камни там встречаются, подробно разобрано в материале про DS4 DwarfStar и кастомные квантизации Q2-Q4.
Почему engrams нужно брать из базового репозитория 1017
В релизе 1017 две таблицы Engram изменились. Их место - базовый репозиторий 1017, а шарды из более старого релиза переиспользовать нельзя (карточка сборки 1017 на Hugging Face с указанием на базовый репозиторий). Правило короткое: engrams и vision tower - из 1017, квантованные веса - из набора ds4.
Отдельная ловушка при апгрейде уже существующей установки V4.1: старые шарды 47/48 Engram могут остаться на диске, если не указать новый каталог и не сверить sha256. Загрузчик возьмёт то, что лежит рядом, и вы получите смесь ревизий без единого сообщения об ошибке.
Проверка vision+language: как работает защита от смешанных пар
PR сверяет комбинацию vision+language и намеренно падает при смешанной паре. Это защита от несовместимых файлов, а не баг и не поломка установки. Логика простая: обновлённый vision tower из 1017 и language-часть из предыдущего релиза дают на выходе мусор, поэтому дешевле остановиться на старте.
Практический порядок действий при такой ошибке: проверить, из одной ли ревизии взяты vision tower и language-часть, сверить путь к каталогу с чекпоинтом и только потом смотреть в сторону кернелов. В большинстве случаев проблема в каталоге, который остался от прошлой установки.
Что это значит для локального запуска на практике
Автор PR анонсировал смешанный квант Q2-Q8 для 128 ГБ с небольшим SSD-оффлоадом: 152 ГБ wired, 366 ГБ всего с engrams, ожидаемое декодирование около 20 tps на M5 Max. Всё это заявление о будущей загрузке, а не подтверждённый замер: на момент публикации PR сборка не выложена.
Требования к памяти и диску: 152 ГБ wired и 366 ГБ всего
Разбираем цифры. 152 ГБ wired - та часть, которая должна постоянно жить в оперативной памяти и не выгружается в swap. 366 ГБ - общий объём файлов с учётом engrams. Если вычесть из 366 ГБ 152 ГБ, остаётся около 214 ГБ под engrams и то, что читается с SSD; небольшой оффлоад как раз про это.
Цифры стоит свести самому: квант анонсирован «для 128 ГБ», при этом wired-часть указана как 152 ГБ. Автор не пояснял, как одно сочетается с другим, поэтому ориентируйтесь на фактическое потребление своей системы, а не на круглое «128». И держите в голове, что 128 ГБ - конфигурация, под которую квант анонсирован, а не универсальный минимум для 1017.
Ожидаемые ~20 tps на M5 Max: как трактовать цифру
Около 20 tps на M5 Max - ожидание автора PR, а не независимый замер. Декодирование при SSD-оффлоаде плавает: скорость зависит от того, сколько весов реально читается с диска на каждом токене, от пропускной способности SSD и от длины контекста. Для сравнения масштаба полезны сторонние замеры того же семейства моделей на другом железе, например 40,3-40,7 tok/s в Q2_K на восьми A40 у TensorSharp. Но это другая конфигурация, другой движок и другая сборка, поэтому напрямую переносить цифры на M5 Max нельзя.
Какие квантованные сборки уже есть: Q2-Q8 и EXL3 2.9 bpw
На выбор два разных пути, и путать их не стоит. Первый - анонсированный смешанный квант Q2-Q8 под 128 ГБ и macOS-сетап с SSD-оффлоадом. Второй - уже существующая EXL3-сборка под GPU-кит.
EXL3 2.9 bpw: размер, шарды и целевой сетап
Сборка LibertAIDAI/DeepSeek-V4.1-Flash-1017-EXL3-2.9bpw занимает 210.7 ГБ (196.3 GiB) и разложена на 43 safetensors-шарда. Vision tower и aligner в ней скопированы из базового чекпоинта без изменений.
- Целевой сетап: vLLM-based kit, 2x DGX Spark, TP=2. Раскладка чекпоинта следует именно этому набору.
- Ограничение тулинга: в upstream exllamav3 пока нет класса модели DeepseekV41, поэтому загрузить чекпоинт напрямую не получится. Это ограничение инструмента, а не ошибка в вашей конфигурации.
- Практика запуска vLLM: многое решают настройки экспертного параллелизма и режим attention, о чём предметно писали в разборе запуска DeepSeek-V4-Flash на одном B300.
Насколько проседает качество при квантовании
Для EXL3 2.9 bpw есть конкретная метрика: на отложенном тексте perplexity выше неквантованной модели на 1.8% для кода и на 0.4% для прозы. Для кода деградация заметнее, и это ожидаемо: код чувствительнее к мелким искажениям весов.
Важная оговорка: perplexity - метрика предсказания следующего токена, а не результат задач. Она не говорит, насколько чаще модель ошибается в агентном цикле или в вызове инструментов. И переносить эти проценты на анонсированный Q2-Q8 нельзя: для него замеров нет вообще, а 2-битные уровни обычно стоят дороже по качеству, чем 2.9 bpw.
Кому стоит обновляться, а кому подождать
Обновляться имеет смысл тем, кто уже работает на ds4 и хочет именно новую ревизию: PR не ломает прошлый чекпоинт, кванты ds4 грузятся без правок, а ядро трогать не нужно. Переход сводится к замене файлов и проверке каталогов.
Подождать стоит в трёх случаях. Если ваш пайплайн завязан на upstream exllamav3: класса DeepseekV41 там нет, прямой загрузки чекпоинта не будет. Если памяти меньше 128 ГБ и нет запаса SSD под 366 ГБ с engrams: анонсированный квант рассчитан на другую конфигурацию, а требований под меньшие объёмы автор не приводил. Если нужны подтверждённые цифры скорости: ~20 tps на M5 Max остаются ожиданием, независимых замеров нет.
Чек-лист перед обновлением
- Взять engrams и vision tower из базового репозитория 1017. Шарды из более старого релиза не переиспользовать, старые 47/48 удалить или убрать из пути.
- Сверить sha256 скачанных шардов: при апгрейде существующей установки файлы от прошлой ревизии часто остаются на месте.
- Убедиться, что vision и language из одной ревизии. Иначе загрузка упадёт с ошибкой, и это штатное поведение.
- Проверить свободное место: около 366 ГБ с engrams плюс запас под SSD-оффлоад.
- Для EXL3-сборки: наличие vLLM-based kit (2x DGX Spark, TP=2) и понимание, что upstream exllamav3 чекпоинт напрямую не грузит.
- Не планировать рост скорости: кернелы те же, прирост может дать только новая ревизия весов, а не движок.
Начните с одного теста: скачайте engram-шарды из 1017, сверьте хеши и попробуйте загрузить текущий квант ds4 на новом каталоге. Если загрузка прошла без ошибки vision+language, можно переносить остальные файлы и только после этого думать про анонсированный Q2-Q8.