Wygenerowana karta tytułowa z nagłówkiem „MiniCPM-V-4.7-1B-DSpark” i podtytułem „Model roboczy 213M dla modelu wizyjnego klasy telefonu”, trzema polami statystyk o treści „Parametry modelu roboczego: 213 547 777”, „Tokeny na przebieg: 15” i „Licencja: Apache-2.0”, stopką o treści „Wypuszczony po cichu; wartości zgodnie z publikacją na karcie modelu.” oraz prawdziwym logo OrcaRouter na białym pasku w prawym dolnym rogu.
Engineering & Research

MiniCPM-V-4.7-1B-DSpark: model szkicowy o 213 mln parametrów wydany bez żadnej zapowiedzi

Autor

Alistair Wren

Data publikacji

Najnowsze modele · 20Zobacz wszystkie modele →
Benchmarki: Artificial Analysis · aktualizowane codziennie
Powrót do wszystkich wpisów

MiniCPM-V-4.7-1B-DSpark to checkpoint o 213 547 777 parametrach, który nie potrafi odpowiedzieć na pytanie. Nie czyta obrazów, nie prowadzi rozmowy, a uruchomiony samodzielnie nie generuje niczego, co warto czytać. Jego całym zadaniem jest siedzieć przed jednym modelem — MiniCPM-V-4.7-1B — i zgadywać następne piętnaście tokenów, aby mały model wizyjno-językowy klasy telefonu mógł zweryfikować blok tych tokenów w jednym przebiegu w przód, zamiast generować je pojedynczo.

Plik ma 0,85 GB i jest na licencji Apache-2.0. Pojawił się na Hugging Face o 04:26 UTC 8 października 2026 r., w tej samej partii co wersja robocza większego modelu siostrzanego 35B-A3B. Cztery dni później karta nadrzędna nadal traktuje go jako przypis: wersja robocza pojawia się raz, jako wiersz w tabeli wag i za zwiniętym przełącznikiem „Speculative decoding (DSpark)”. Nie ma dla niego postu na blogu OpenBMB, raportu technicznego ani wpisu w dokumentacji samego projektu na GitHubie.

Ta cisza jest interesująca, ponieważ chodzi o to, co umożliwia ten konkretny plik. To pierwszy artefakt w rodzinie MiniCPM-V 4.7, którego centralne twierdzenie — że model wizyjny 1B działa akceptowalnie na telefonie — może zostać sprawdzone przez kogoś spoza OpenBMB. Wszystko poniżej rozdziela dwa stosy: to, co jest plikiem na dysku, który możesz otworzyć, i to, co jest liczbą, którą dostawca wydrukował obok.

Co tak naprawdę znajduje się w repozytorium

Cztery pliki. To wszystko: .gitattributes, README.md, config.json oraz pojedynczy model.safetensors zawierający 854 204 052 bajty wag BF16. W repozytorium nie ma tokenizera, bo nie musi go być — draft zapożycza tokenizer modelu docelowego, a słownik w jego konfiguracji to dokładnie 248 094 tokeny rodzica. Draft, którego tokeny nie odwzorowują się jeden do jednego na tokeny modelu docelowego, nie może zaproponować niczego, co model docelowy by zaakceptował, więc współdzielenie słownika jest wymogiem, a nie udogodnieniem.

Hub API odnotowuje, że repozytorium zostało utworzone 2026-10-08T04:26:19Z i ostatnio zmodyfikowane 2026-10-12T14:29:57Z, oznaczone tagami dla języka angielskiego i chińskiego, na licencji Apache-2.0, z trzema polubieniami i jednym pobraniem w chwili pisania. Ostatnia liczba jest tą, której warto się trzymać. Jedno pobranie, cztery dni po utworzeniu, w pliku wystarczająco małym, by pobrać go przez połączenie telefoniczne.

Pole architecture wskazuje Qwen3DSparkModel z model_type równym qwen3, co jest spójne, a nie dziwne: językowy backbone MiniCPM-V 4.7 wywodzi się z linii Qwen3, więc pięciowarstwowy stub wycięty z tej samej rodziny jest tym, czego można się spodziewać. Tym, co nie jest mniejszą kopią rodzica, jest sposób, w jaki stub się z nim komunikuje. Konfiguracja uzbraja dflash_config z projector_type: "dspark", enable_confidence_head: true, confidence_head_alpha: 1.0, confidence_head_with_markov: true, markov_head_type: "vanilla" i markov_rank: 256. Ta głowica pewności to część zaczerpnięta z metody DSpark: to maszyneria służąca do szacowania, jak duża część proponowanego bloku jest warta weryfikacji, co jest całym powodem, dla którego konfiguracja serwowania udostępnia przełącznik do wyłączania adaptacyjnej weryfikacji.

Specyfikacja i dlaczego każda liczba tam jest

Po stronie draftu, na podstawie karty i konfiguracji, które obie są zgodne:

• Parametry wersji roboczej — 213 547 777, wszystkie w BF16, w pojedynczym pliku checkpointu o rozmiarze 0,85 GB

• Głębokość szkicu — 5 warstw, wszystkie z pełną uwagą, rozmiar ukryty 1024, rozmiar pośredni 3584, aktywacja SiLU

• Geometria uwagi — 8 głów zapytań wobec 2 głów kluczy/wartości, wymiar głowy 256, uwaga z grupowaniem zapytań

• Tokeny na przebieg w przód — 15, przechowywane w konfiguracji jako block_size: 15

• Zakres pozycji — RoPE theta 10 000 000 z 256-wymiarowym osadzaniem rotacyjnym oraz max_position_embeddings ustawiony na 262 144, zgodny z oknem 256K modelu nadrzędnego

• Warstwy zaczepowe — [3, 7, 11, 15, 19], spośród 24 warstw w elemencie nadrzędnym (num_target_layers: 24)

• Słownik — 248 094, powiązany z tokenizerem modelu docelowego, z dedykowanym tokenem maski o indeksie 248 076 na potrzeby półautoregresyjnego kroku szkicowania

Dwie z tych linii zasługują na coś więcej niż pobieżne spojrzenie. Pierwsza to warstwy zaczepowe. Draft nie czyta końcowej warstwy rodzica; odczytuje stany ukryte z pięciu warstw rozproszonych w głębi rodzica i rzutuje je przez dspark projektor. Stany ze środka sieci są tańsze w dopasowaniu i wciąż niosą informację, którą ostatnia warstwa zdążyła już zredukować do logitów następnego tokenu. Druga to wymiar głowicy 256 przy rozmiarze ukrytym 1024. To celowo szeroka głowica w wąskim modelu, a konfiguracja przełącza tie_word_embeddings: false — macierz osadzeń jest trzymana osobno, a nie współdzielona z projekcją wyjściową, więc liczba parametrów obejmuje obie.

Podsumowując, jest to model szkicujący o rozmiarze około jednej piątej rozmiaru modelu docelowego, ale o zupełnie innym kształcie. Dla porównania model szkicujący bliźniaka 35B-A3B ma 389 223 169 parametrów i wykorzystuje warstwy [3, 11, 19, 27, 35] z 40. Dwa modele szkicujące, po jednym na model docelowy, ponieważ model szkicujący jest ważny wyłącznie dla słownika i reprezentacji pośredniej, względem których został wytrenowany.

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.

Tabela akceptacji jest kartą modelu, a nie pomiarem.

Oto wszystkie dane liczbowe, które OpenBMB opublikowało na temat tego, jak dobrze radzi sobie ta para, wyrażone jako akceptowane tokeny na krok weryfikacji, mierzone przy naturalnym zakończeniu EOS i max_new_tokens=8192:

• Vision, MMMU — 3,452 zaakceptowanych tokenów na krok

• Wizja, MathVista — 4,333

• Wizja, rozumowanie CharXiv (walidacja) — 4.452

• Wizja, OCRBench — 4.752

• Tekst, matematyka — 5.891

Tekst, kod — 5.347

• Tekst, ogólny — 3.370

Rozrzut rozciąga się od 5,891 do 3,370, co daje współczynnik około 1,75 między najłatwiejszą kategorią a najtrudniejszą. Ta kolejność nie jest zaskakująca w sposób, który mówi coś o tych liczbach: matematyka jest najbardziej regularną powierzchnią, jaką generuje model językowy, tekst ogólny — najmniej, a skuteczność modelu szkicującego śledzi przewidywalność danych wyjściowych modelu docelowego, a nie ich jakość.

Trzy zastrzeżenia powinny się znaleźć w tej tabeli, a karta nie podaje żadnego z nich z własnej woli.

Jest to samodzielnie zgłoszone, a w repozytorium odnotowano dokładnie jedno pobranie. Nikt spoza OpenBMB nie podał wyniku akceptacji dla tego checkpointu, który mógłby zobaczyć ktokolwiek inny. Te liczby pochodzą od dostawcy, zmierzono je w narzędziu testowym dostawcy, na zestawie zadań dostawcy.

Długość akceptacji jest właściwością pary, a nie modelu. Model docelowy, który się powtarza, daje swojemu modelowi szkicującemu łatwe zwycięstwo, więc wyższa liczba w tym miejscu nie jest dowodem na to, że MiniCPM-V 4.7-1B jest w czymkolwiek dobry. Jest dowodem na to, jak przewidywalne są jego wyniki — a to inne pytanie, z inną odpowiedzią.

A to nie jest przyspieszenie. Model proponujący 15 tokenów, z których 3,4 zostaje zweryfikowanych, wciąż przetwarza kilka tokenów na jeden przebieg do przodu modelu docelowego, ale weryfikacja bloku 15 tokenów kosztuje więcej niż wygenerowanie jednego tokena, a za każdą odrzuconą propozycję się płaci i zostaje ona porzucona. Przeliczenie długości akceptacji na wartość czasu rzeczywistego wymaga kosztu weryfikacji, rozmiaru partii i sprzętu, a karta nie podaje żadnego z nich. Jedyny przepis serwowania, jaki faktycznie podaje, ustawia --max-num-seqs 1, co jest konfiguracją dostrojoną do działania, a nie do szybkości.

Czytana na tle bliźniaczego modelu, tabela staje się bardziej przydatna. Wersja robocza 35B-A3B notuje 7,387 w code i 5,098 w MMMU; ta wersja robocza 1B notuje 5,347 i 3,452. Mniejsze modele docelowe z mniejszymi modelami draftującymi akceptują znacznie mniej tokenów na krok, co jest rodzajem szczegółu między rodzinami, którego pojedyncza karta nie pokaże, a dwie karty mogą.

Trening i szczegół, który wyjaśnia cały projekt

Przepis ma cztery linijki: dwa miliony sekwencji treningowych, sześć epok, AdamW oraz połączoną funkcję celu złożoną z entropii krzyżowej, składnika L1 i straty pewności. Najważniejsza jest linijka o tym, skąd pochodziły dane treningowe — odpowiedzi zostały wygenerowane przez sam MiniCPM-V-4.7-1B, z mieszanki promptów wizyjnych i tekstowych.

To samodystylacja, która określa minimalny koszt zbudowania takiego modelu szkicującego. Nie można go wytrenować bez uprzedniego uruchomienia modelu docelowego na dużą skalę w obu modalnościach, co oznacza, że artefakt o rozmiarze 0,85 GB, który można pobrać, jest tanią pozostałością kosztownego procesu. To również wyjaśnia, dlaczego model szkicujący jest dopasowany jeden do jednego, a nie współdzielony: zachowanie, które naśladuje, to zachowanie tego modelu, a dane wyjściowe innego modelu docelowego wytrenowałyby inny model szkicujący.

Artykuł samej metody, arXiv 2607.05147, nie jest pracą OpenBMB. To artykuł 33 autorów przesłany 6 lipca 2026 r., opisujący DSpark jako framework do dekodowania spekulatywnego, który łączy równoległy backbone z lekkim modułem sekwencyjnym i planuje długość weryfikacji na podstawie oszacowanych prawdopodobieństw przeżycia prefiksu. Opisuje wdrożenie w systemie obsługi DeepSeek-V4, przyjmuje produkcyjny baseline o nazwie MTP-1 i twierdzi, że generowanie na użytkownika jest o 60 do 85 procent szybsze przy dopasowanej przepustowości. Te twierdzenia należą do artykułu i do tego wdrożenia. Nic, co zostało opublikowane, nie łączy ich z pięciowarstwowym, 213M draftem na 1B modelu wizyjnym, a powyższa tabela akceptacji to jedyny pomost, jaki ktokolwiek zaproponował.

Dlaczego ten plik ma większe znaczenie, niż sugeruje jego rozmiar

Głównym twierdzeniem w rodzinie MiniCPM-V 4.7 jest działanie na urządzeniu. Karta 1B zawiera wykres wydajności względem czasu wnioskowania, wykres ogólnej wydajności dla wersji 1B instruct, nieedytowane nagranie ekranu zarejestrowane na iPhone 17 Pro Max oraz jakościowe zdanie mówiące, że wariant 1B znacząco przewyższa Qwen3.5 0.8B zarówno pod względem ogólnego wyniku, jak i efektywności wnioskowania. Wymienia także rodzinę kwantyzacji — int4, AWQ, GPTQ, GGUF oraz obsługę FP8 — a także docelowe platformy sprzętowe na dzień premiery obejmujące iOS, Android, HarmonyOS, Rockchip, Houmo, Intel, AMD i Arm.

Każde z nich to twierdzenie producenta, do którego nie dołączono żadnej zewnętrznej liczby, a jedno jest wewnętrznie nieuporządkowane: tekst karty nazywa go modelem 1B, podczas gdy pasek boczny Hub podaje rozmiar modelu wynoszący 2B parametrów. Checkpoint DSpark jest rodzajowo inny od tego wszystkiego. Ma 0,85 GB, licencję Apache-2.0 i jest dostarczany z poleceniem serwowania — co oznacza, że podmiot zewnętrzny dysponujący konsumenckim GPU może uruchomić go w tym tygodniu i uzyskać pierwszą zewnętrznie zmierzoną wartość dla tej rodziny. Nie wynik benchmarku, ale coś niemal równie użytecznego: odtworzona długość akceptacji.

Jeśli komuś uda się osiągnąć 3,45 w MMMU i 3,37 w tekście ogólnym, karta jest wiarygodna, a narracja o działaniu na urządzeniu ma swój pierwszy zewnętrzny punkt danych. Jeśli akceptacja wypadnie znacznie niżej, tabela została zmierzona w warunkach, których opublikowana recepta nie odtwarza, a wykres wydajności w stosunku do czasu wnioskowania dziedziczy tę wątpliwość. Każdy z tych wyników jest wart więcej niż kolejny wykres dostawcy, a to jedyna część rodziny, w której zdobycie takiego punktu danych jest tanie.

Prowadzenie tego i ile kosztuje próba

Karta zawiera jedną receptę i jest to vllm serve wywołanie, a nie machanie ręką. Ładuje docelowy openbmb/MiniCPM-V-4.7-1B, udostępnia go pod nazwą MiniCPM-V-4.7-1B, ustawia --max-model-len 40960 oraz --max-num-batched-tokens 40960, przypina --attention-backend FLASH_ATTN oraz --mm-encoder-attn-backend FLASH_ATTN, przekazuje argument słowa kluczowego procesora multimodalnego o wartości {"downsample_mode": "4x"}, ufa multimodalnym argumentom słów kluczowych przekazywanym w żądaniu i kieruje konfigurację spekulacyjną na checkpoint DSpark z "method": "dspark", "num_speculative_tokens": 15 i wyłączoną weryfikacją adaptacyjną. Domyślne argumenty słów kluczowych szablonu czatu pozostawiają myślenie wyłączone.

Dwa szczegóły w tym wierszu warto przeczytać dwa razy. --max-num-seqs 1 oznacza, że opublikowana konfiguracja obsługuje jedną sekwencję naraz, więc przepis opisuje konfigurację opóźnienia dla pojedynczego strumienia, a nie konfigurację przepustowości. Tryb 4x wizualnego podpróbkowania jest tańszym z dwóch, które reklamuje karta nadrzędna — ta sama karta oferuje mieszany schemat 4x/16x, który wymienia szczegółowość na szybkość, a przepis wybiera tę stronę tego kompromisu, która sprzyja szybkości.

Wymagania sprzętowe są przeciwieństwem marketingu tej rodziny. Model docelowy 1B zajmuje około 2 GB w BF16 plus pamięć podręczną KV, a model szkicujący dokłada do tego 0,85 GB, więc to zadanie na jednym GPU — karta konsumencka albo stacja robocza z wystarczającą ilością pamięci zunifikowanej — a nie zadanie na telefon. Ścieżka na urządzeniu w dokumentacji modelu nadrzędnego przechodzi przez skwantyzowane kompilacje i frameworki, których nie ma w tym przepisie, a opublikowany checkpoint DSpark jest artefaktem BF16 po stronie serwera.

To pozostawia lukę, na którą natrafi większość zespołów: ciekawa wersja MiniCPM-V 4.7-1B to ta działająca na urządzeniu, a wersja, którą można uruchomić dziś bez posiadania toolchainu telefonu, to wersja serwerowa. Jeśli tak naprawdę potrzebujesz teraz małego wnioskowania multimodalnego, najbliższym hostowanym odpowiednikiem jest inny model — Qwen3 VL 8B Instruct jest dostępny w OrcaRouter za 0,18 USD za milion tokenów wejściowych i 0,70 USD za milion tokenów wyjściowych, z oknem kontekstu 128K oraz wejściem tekstowym, obrazowym i wideo, bez lokalnych wag i bez przepisu na serwowanie, który trzeba by utrzymywać w działaniu. MiniCPM-V 4.7 nie jest hostowanym modelem w OrcaRouter i ten tekst nie będzie udawał, że jest inaczej; uczciwe ujęcie jest takie, że to dwa sposoby na wykonanie jednej roboty, a tylko jeden z nich da się zmierzyć na podstawie katalogu jeszcze dziś po południu.

Miejscem, w którym coś takiego jak DSpark się opłaca, jest przypadek nieudowodnionego modelu, a to kwestia routingu, a nie modelu. Model szkicujący, którego nikt nie odtworzył, to dokładnie ten rodzaj komponentu, który chcesz mieć za endpointem, z którego możesz awaryjnie przełączyć. Uruchamianie ponad 200 modeli za jednym kluczem, ceny listowe dostawców przekazywane z narzutem 0%, z automatycznym przełączaniem awaryjnym, gdy trasa ulegnie degradacji, oznacza, że eksperyment serwowania, który pójdzie źle, kosztuje cię ponowną próbę, a nie awarię — a ponieważ nic nie jest objęte narzutem, zmiana ceny dostawcy dowolnego modelu w katalogu obowiązuje tego samego dnia, a nie dopiero w następnym cyklu rozliczeniowym.

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.

Co uczyniłoby to sprawdzalnym?

Brakuje trzech rzeczy, a tylko jedna z nich wymaga OpenBMB.

Dostawca nic nie ogłosił. Repozytorium zawiera kartę modelu, licencję i przepis treningowy, ale nie ma wpisu na blogu, raportu technicznego ani jednej linijki w dokumentacji projektu na GitHubie — która jeszcze w pierwszym tygodniu istnienia rodziny wciąż opisywała poprzednią generację jako obecną. Cztery dni po tym, jak checkpoint się pojawił, karta nadrzędnego modelu 1B linkuje do niego jako wiersz tabeli i nic więcej.

Nikt nie powtórzył wyników dotyczących akceptacji, a liczba pobrań wynosi jeden. To najtańsza luka do zamknięcia i jednocześnie ta, która ma największe znaczenie, ponieważ jest to jedyne miejsce, w którym zewnętrzny pomiar w istotny sposób zmieniłby historię rodziny.

A kwestia jakości pozostaje całkowicie nietknięta. W wydaniu nie ma nigdzie wyniku MMMU, rezultatu OCRBench, liczby dotyczącej rozumienia dokumentów ani wskaźnika grounding dla MiniCPM-V 4.7-1B — tabela akceptacji to tabela o dekodowaniu, a odczytywanie wysokiej długości akceptacji jako sygnału jakości jest dokładnie tym błędem, do którego te liczby zachęcają.

A więc: prawdziwy artefakt, permisywna licencja, działające polecenie serwowania i jeden naprawdę nowy dowód dotyczący modelu, który nie miał żadnego. Następnym plikiem, który warto odświeżyć, pozostaje karta modelu nadrzędnego.

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.