Сгенерированная титульная карточка с заголовком «MiniCPM-V-4.7-1B-DSpark» и подзаголовком «Драфт-модель на 213M для vision-модели телефонного класса», три плашки со статистикой: «Параметры драфта: 213,547,777», «Токенов за проход: 15» и «Лицензия: Apache-2.0», нижний колонтитул с текстом «Выпущено тихо; показатели как опубликованы в карточке модели», и настоящий логотип OrcaRouter на белой полосе в правом нижнем углу.
Engineering & Research

MiniCPM-V-4.7-1B-DSpark: драфтовая модель на 213M, выпущенная без анонса

Автор

Alistair Wren

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

MiniCPM-V-4.7-1B-DSpark — это чекпоинт с 213 547 777 параметрами, который не может ответить на вопрос. Он не читает изображения, он не поддерживает разговор, и при самостоятельном использовании он не производит ничего, стоящего прочтения. Вся его задача — находиться перед одной моделью — MiniCPM-V-4.7-1B — и предсказывать следующие пятнадцать токенов, чтобы небольшая модель зрения и языка телефонного класса могла проверить блок из них за один прямой проход вместо того, чтобы генерировать их по одному.

Файл занимает 0,85 ГБ и распространяется под лицензией Apache-2.0; он появился на Hugging Face в 04:26 UTC 8 октября 2026 года, в том же пакете, что и драфт для более крупного собрата 35B-A3B. Четыре дня спустя родительская карточка всё ещё упоминает его лишь как сноску: драфт появляется один раз — как строка в таблице весов и за свёрнутым переключателем «Спекулятивное декодирование (DSpark)». Для него нет ни поста в блоге OpenBMB, ни технического отчёта, ни записи в собственной документации проекта на GitHub.

Эта тишина и есть самое интересное — из-за того, что делает возможным именно этот файл. Это первый артефакт в семействе MiniCPM-V 4.7, центральное утверждение которого — что 1B-визуальная модель работает приемлемо на телефоне — может проверить кто-то за пределами OpenBMB. Всё нижеследующее не смешивает две стопки: то, что является файлом на диске, который вы можете открыть, и то, что является числом, которое производитель напечатал рядом с ним.

Что на самом деле находится в репозитории

Четыре файла. Вот и всё: .gitattributes, README.md, config.json, и один model.safetensors, содержащий 854 204 052 байта весов BF16. В репозитории нет токенизатора, потому что он там и не нужен — драфт заимствует токенизатор целевой модели, а словарь в его конфиге — это ровно 248 094 токена родительской модели. Драфтер, токены которого не отображаются один к одному на токены целевой модели, не может предложить ничего, что целевая модель приняла бы, поэтому общий словарь — это требование, а не удобство.

Hub API фиксирует, что репозиторий создан 2026-10-08T04:26:19Z и последний раз изменён 2026-10-12T14:29:57Z, помечен тегами для английского и китайского, имеет лицензию Apache-2.0, а также три лайка и одну загрузку на момент написания. За последнее число стоит держаться. Одна загрузка спустя четыре дня — для файла, достаточно маленького, чтобы его можно было скачать через телефонное соединение.

В поле architecture указано Qwen3DSparkModel с model_type со значением qwen3, что логично, а не странно: языковой бэкбон MiniCPM-V 4.7 происходит от линейки Qwen3, поэтому пятислойная заглушка, вырезанная из того же семейства, — это то, что и следовало ожидать. Что не является уменьшенной копией родителя, так это то, как заглушка с ним взаимодействует. В конфигурации включается dflash_config с projector_type: "dspark", enable_confidence_head: true, confidence_head_alpha: 1.0, confidence_head_with_markov: true, markov_head_type: "vanilla" и markov_rank: 256. Эта голова уверенности — та часть, позаимствованная из метода DSpark: это механизм оценки того, какую долю предложенного блока стоит проверять, и именно поэтому в конфигурации обслуживания есть переключатель, отключающий адаптивную верификацию.

Спецификация, и почему там каждое число

Со стороны черновика, из карточки и конфига, которые совпадают:

• Параметры драфта — 213 547 777, все BF16, в однофайловом чекпоинте объёмом 0,85 ГБ

• Глубина черновика — 5 слоёв, все используют полное внимание, размер скрытого слоя 1 024, размер промежуточного слоя 3 584, активация SiLU

• Геометрия внимания — 8 голов запросов против 2 голов ключей/значений, размерность головы 256, групповое внимание запросов

• Токенов за прямой проход — 15, в конфигурации задаётся как block_size: 15

• Диапазон позиций — RoPE theta 10 000 000 с 256-мерным ротационным эмбеддингом, и max_position_embeddings установлен на 262 144, что соответствует 256K-окну родительской модели

• Слои касаний — [3, 7, 11, 15, 19], из 24 слоёв родителя (num_target_layers: 24)

• Словарь — 248 094, привязан к токенизатору целевой модели, с выделенным токеном маски под номером 248 076 для этапа полуавторегрессивного драфтинга

Две из этих строк заслуживают больше, чем беглого взгляда. Первая — это слои-отводы. Черновик не читает финальный слой родителя; он читает скрытые состояния с пяти слоёв, разбросанных по глубине родителя, и проецирует их через dspark проектор. Состояния из середины сети дешевле выравнивать, и они всё ещё несут информацию, которую последний слой уже схлопнул в логиты следующего токена. Второе — это размерность головы 256 против скрытого размера 1 024. Это намеренно широкая голова на узкой модели, а конфиг переключает tie_word_embeddings: false — матрица эмбеддингов хранится отдельно, а не разделяется с выходной проекцией, поэтому число параметров включает обе.

В сухом остатке — драфтер размером примерно в пятую часть целевой модели и при этом совершенно другой формы. Для сравнения: драфт родственной модели 35B-A3B — это 389 223 169 параметров, задействующих слои [3, 11, 19, 27, 35] из 40. Два драфта, по одному на каждую целевую модель, потому что драфт валиден только для того словаря и промежуточного представления, на которых он обучался.

A generated single-column scoreboard titled 'MiniCPM-V-4.7-1B-DSpark — the scoreboard'. Six rows read: 'Draft parameters: 213,547,777'; 'Tokens per forward pass: 15'; 'Paired target: MiniCPM-V-4.7-1B'; 'Acceptance, code: 5.347'; 'Acceptance, MMMU: 3.452'; 'Acceptance, general text: 3.370'. A footer reads 'Acceptance lengths as published by OpenBMB on the DSpark model card; not independently reproduced.' The real OrcaRouter logo sits on a white strip at the bottom right.

Таблица приёмки — это карточка модели, а не измерение

Вот все числовые данные, опубликованные OpenBMB о том, насколько хорошо работает эта пара, выраженные в принятых токенах на шаг верификации, измеренные при естественном завершении по EOS и max_new_tokens=8192:

• Vision, MMMU — 3.452 принятых токенов на шаг

• Зрение, MathVista — 4,333

• Зрение, рассуждения CharXiv (валидация) — 4,452

• Vision, OCRBench — 4,752

• Текст, математика — 5.891

• Текст, код — 5.347

• Текст, общий — 3.370

Разброс составляет от 5,891 до 3,370 — примерно в 1,75 раза между самой лёгкой категорией и самой сложной. Такой порядок неудивителен в том смысле, который кое-что говорит о самих числах: математика — самая регулярная поверхность, которую порождает языковая модель, обычный текст — наименее регулярная, а успешность драфтера зависит от предсказуемости выхода целевой модели, а не от его качества.

Эти три оговорки должны быть в той таблице, но карта сама не раскрывает ни одну из них.

Это заявлено самими разработчиками, и у репозитория ровно одна загрузка. Никто за пределами OpenBMB не получил для этого чекпоинта показатель приёмки, который мог бы посмотреть кто-то ещё. Цифры принадлежат поставщику, измерены в его испытательном стенде, на его наборе задач.

Длина принятия — это свойство пары, а не модели. Целевая модель, которая повторяется, дарит своему драфтеру лёгкую победу, так что более высокое число здесь не является доказательством того, что MiniCPM-V 4.7-1B хорошо справляется с чем-либо. Это свидетельство того, насколько предсказуем её вывод, что является другим вопросом с другим ответом.

И это не ускорение. Драфтер, предлагающий 15 токенов и получающий 3,4 из них подтверждёнными, всё равно продвигает несколько токенов за один прямой проход целевой модели, но проверка блока из 15 токенов стоит дороже, чем генерация одного токена, а каждое отклонённое предложение оплачивается и отбрасывается. Чтобы перевести длину принятия в реальное время, нужны стоимость проверки, размер батча и аппаратное обеспечение — и ничего из этого карточка не предоставляет. Единственный рецепт обслуживания, который она всё же приводит, задаёт --max-num-seqs 1, представляющую собой конфигурацию, настроенную на работоспособность, а не на быстродействие.

В сравнении с родственной моделью таблица становится полезнее. Драфт-модель 35B-A3B набирает 7,387 на коде и 5,098 на MMMU; эта драфт-модель 1B — 5,347 и 3,452. Меньшие целевые модели с меньшими драфтерами принимают заметно меньше токенов на шаг — это именно та межсемейная деталь, которую одна карточка показать не может, а две могут.

Обучение и деталь, которая объясняет весь дизайн

Рецепт состоит из четырёх строк: два миллиона обучающих последовательностей, шесть эпох, AdamW и комбинированная целевая функция из кросс-энтропии, L1-слагаемого и потери уверенности. Но главная строка — та, где говорится, откуда взялись обучающие данные: ответы были сгенерированы самой MiniCPM-V-4.7-1B на смеси визуальных и текстовых промптов.

Это самодистилляция, и она задаёт нижнюю границу стоимости создания такого драфтера. Нельзя обучить его, сначала не прогнав целевую модель в большом объёме — по обеим модальностям, — а значит, артефакт размером 0,85 ГБ, который можно скачать, — это дешёвый остаток дорогостоящего процесса. Это также объясняет, почему драфтер идёт в паре один к одному, а не является общим: поведение, которое он имитирует, — это поведение данной модели, а выходные данные другой целевой модели обучили бы другой драфтер.

Собственная статья этого метода, arXiv 2607.05147, не принадлежит OpenBMB. Это статья с 33 авторами, поданная 6 июля 2026 года, в которой DSpark описывается как фреймворк спекулятивного декодирования, объединяющий параллельный backbone с легковесным последовательным модулем и планирующий длину верификации на основе оценённых вероятностей выживания префикса. В ней сообщается о развёртывании внутри serving-системы DeepSeek-V4, за производственный baseline берётся MTP-1, и утверждается, что генерация на одного пользователя проходит на 60–85% быстрее при сопоставимой пропускной способности. Эти утверждения относятся к статье и к тому развёртыванию. Ничто опубликованное не связывает их с пятислойной 213M draft-моделью для 1B vision-модели, и приведённая выше таблица принятия — единственный мост, который кто-либо предложил.

Почему этот файл важнее, чем можно предположить по его размеру

Ключевое заявление семейства MiniCPM-V 4.7 касается работы на устройстве. Карточка 1B содержит график зависимости производительности от времени инференса, график общей производительности для сборки 1B instruct, неотредактированную запись экрана, сделанную на iPhone 17 Pro Max, и качественное утверждение о том, что вариант 1B значительно превосходит Qwen3.5 0.8B как по общей оценке, так и по эффективности инференса. В ней также перечислено семейство методов квантования — int4, AWQ, GPTQ, GGUF, а также поддержка FP8 — и целевые аппаратные платформы с первого дня, охватывающие iOS, Android, HarmonyOS, Rockchip, Houmo, Intel, AMD и Arm.

Каждое из этих утверждений — заявление вендора, к которому не привязано никакое внешнее число, а одно из них ещё и внутренне неаккуратно: текст карточки называет его моделью на 1B, тогда как в боковой панели Hub указан размер модели в 2B параметров. Чекпоинт DSpark принципиально иного рода, чем всё это. Он занимает 0,85 ГБ, распространяется под Apache-2.0 и поставляется с командой для запуска обслуживания — а значит, сторонний участник с потребительским GPU сможет запустить его уже на этой неделе и получить первую внешне измеренную цифру для этого семейства. Не результат бенчмарка, но нечто почти столь же полезное: воспроизведённую длину принятия.

Если кто-то повторит 3,45 на MMMU и 3,37 на общем тексте, карточка заслуживает доверия, и история про работу на устройстве получает первую внешнюю точку данных. Если принятие окажется существенно ниже, таблица была измерена в условиях, которые опубликованный рецепт не воспроизводит, и график зависимости производительности от времени инференса унаследует это сомнение. Любой из этих результатов ценнее очередного графика от вендора, и это единственная часть семейства, где получить такой результат дёшево.

Запуск этого — и сколько стоит попробовать

Карточка поставляется с одним рецептом, и это vllm serve — вызов, а не пустые слова. Он загружает целевую модель openbmb/MiniCPM-V-4.7-1B, обслуживает её под именем MiniCPM-V-4.7-1B, задаёт --max-model-len 40960 и --max-num-batched-tokens 40960, фиксирует --attention-backend FLASH_ATTN и --mm-encoder-attn-backend FLASH_ATTN, передаёт kwarg мультимодального процессора {"downsample_mode": "4x"}, доверяет мультимодальным kwargs для каждого запроса и направляет спекулятивную конфигурацию на чекпоинт DSpark с "method": "dspark", "num_speculative_tokens": 15 и отключённой адаптивной проверкой. Стандартные kwargs шаблона чата оставляют режим размышления отключённым.

В этой строке есть две детали, которые стоит перечитать. --max-num-seqs 1 означает, что опубликованная конфигурация обслуживает по одной последовательности за раз, поэтому рецепт описывает однопоточную конфигурацию с низкой задержкой, а не конфигурацию пропускной способности. А режим 4x визуального даунсэмплинга — более дешёвый из двух, которые рекламирует родительская карточка; та же карточка предлагает смешанную схему 4x/16x, которая обменивает детализацию на скорость, и рецепт выбирает ту сторону этого компромисса, которая отдаёт предпочтение скорости.

Аппаратные требования здесь прямо противоположны маркетингу семейства. Целевая модель на 1B занимает примерно 2 ГБ в BF16 плюс KV-кэш, а черновик добавляет сверху ещё 0,85 ГБ, так что это задача для одной GPU — потребительской карты или рабочей станции с достаточным объёмом унифицированной памяти — а не для телефона. Путь на устройстве в документации родительского проекта проходит через квантованные сборки и фреймворки, которых нет в этом рецепте, а опубликованный чекпойнт DSpark — это серверный артефакт в BF16.

Это оставляет разрыв, с которым столкнётся большинство команд: интересная версия MiniCPM-V 4.7-1B — это версия на устройстве, а версия, которую можно запустить сегодня, не имея телефонного инструментария, — серверная. Если вам сейчас нужен именно небольшой мультимодальный инференс, ближайший хостинговый эквивалент — другая модель — Qwen3 VL 8B Instruct доступна на OrcaRouter по цене $0.18 за миллион входных токенов и $0.70 за миллион выходных токенов, с окном контекста 128K и вводом текста, изображений и видео, без локальных весов и без рецепта обслуживания, который нужно поддерживать в рабочем состоянии. MiniCPM-V 4.7 не является хостинговой моделью на OrcaRouter, и эта статья не будет делать вид, что это не так; честная формулировка такова: это два способа выполнить одну задачу, и только один из них можно измерить по каталогу сегодня днём.

Там, где что-то вроде DSpark оправдывает себя, — это случай непроверенной модели, а это вопрос маршрутизации, а не вопрос модели. Драфтер, который никто не воспроизвёл, — именно тот компонент, который вы хотите держать за конечной точкой, с которой можно откатиться. Запуск 200+ моделей за одним ключом, списочные цены провайдеров, транслируемые с наценкой 0%, с автоматическим переключением при деградации маршрута, означает, что неудачный эксперимент по сервингу обходится вам повторной попыткой, а не простоем — и поскольку наценки нет, изменение цены поставщика на любую модель в каталоге вступает в силу в тот же день, а не в следующем цикле выставления счетов.

A headless capture of the OrcaRouter model page for qwen/qwen3-vl-8b-instruct, taken October 13, 2026. The breadcrumb reads Home / Models / Qwen / Qwen3 VL 8B Instruct above the heading 'Qwen3 VL 8B Instruct', with the description 'Qwen3-VL 8B Instruct — open-weight small vision-language model, 8B params, 128k context, no thinking mode.' Spec lines read $0.18 per million input tokens, $0.70 per million output tokens, a 128k context window, input of text, image and video, and text output.

Что сделало бы это проверяемым?

Не хватает трёх вещей, и только одна из них требует OpenBMB.

Вендор ничего не объявил. В репозитории есть карточка модели, лицензия и рецепт обучения, но нет ни поста в блоге, ни технического отчёта, ни строки в документации проекта на GitHub — которая на первой неделе существования семейства всё ещё описывала предыдущее поколение как текущее. Через четыре дня после появления чекпойнта карточка родительской модели 1B ссылается на него лишь как на строку таблицы — и не более того.

Никто не воспроизвёл показатели приёмки, а число загрузок равно единице. Это пробел, который дешевле всего закрыть, и при этом самый важный, потому что это единственное место, где внешнее измерение могло бы существенно изменить историю семьи.

А вопрос качества вообще не затронут. Нигде в релизе нет ни оценки MMMU, ни результата OCRBench, ни числа по пониманию документов и ни показателя по grounding для MiniCPM-V 4.7-1B — таблица принятия — это таблица о декодировании, и трактовать большую длину принятия как сигнал качества — это ровно та ошибка, к которой эти числа подталкивают.

Итак: реальный артефакт, либеральная лицензия, работающая команда для обслуживания и одно по-настоящему новое свидетельство о модели, у которой их не было. Следующий файл, который стоит обновить, — это по-прежнему карточка родительской модели.

A headless capture of the Hugging Face repository page for openbmb/MiniCPM-V-4.7-1B-DSpark, taken October 13, 2026. The header shows the model name under the openbmb organisation, the text-generation pipeline tag, and chips for Transformers, Safetensors, arxiv:2607.05147 and License: apache-2.0, with Model card / Files x4 / Community tabs. The README heading reads 'MiniCPM-V-4.7-1B-DSpark' above a DSpark specification table whose rows read Target model: MiniCPM-V-4.7-1B; Draft layers: 5; Draft parameters: 213,547,777; Draft tokens per forward pass: 15; Target hidden-state layers: [3, 7, 11, 15, 19]; Checkpoint precision: BF16.
© 2026 OrcaRouter

Провайдерам

Управляете инференс-платформой? Разместите свои модели на OrcaRouter.

providers@orcarouter.ai

Присоединяйтесь к сообществу

Discordsupport@orcarouter.aiXGitHubYouTube