Wygenerowana karta główna zatytułowana „Pull Request, a nie wydanie” z podtytułem „modele mowy Ming-3.0 i vLLM-Omni, październik 2026”. Po obu stronach tytułu znajdują się liniowe symbole żądania scalenia i stosu punktów kontrolnych modeli. Logo OrcaRouter jest nałożone w prawym dolnym rogu.
Engineering & Research

„Day-Zero” wsparcie Ming-3.0 dla vLLM-Omni to Pull Request i udostępnia niewłaściwy checkpoint

Autor

Gideon Frost

Data publikacji

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

Wpis opublikowano 19 października 2026 r. i brzmi jak ogłoszenie o premierze: pięć modeli mowy od 0,5B do 126B, „serwujcie je już dziś z vLLM-Omni”. To, co repozytorium pokazuje w chwili pisania, to jeden otwarty pull request, czterdzieści plików, brak merge’a i tytuł, który wymienia Ming-3.0-audio-tiny, podczas gdy każda linia patcha dotyczy Ming-3.0-tts-tiny. Oba są prawdziwymi checkpointami w rodzinie Ming-3.0, którą inclusionAI od 3 września 2026 r. wgrywa na Hugging Face, i wykonują różne zadania: jeden słucha, drugi mówi. Żaden z nich nie jest flagowym modelem 126B, na który wskazuje fraza „126B łącznych parametrów, 6,5B aktywnych” w tym samym wpisie. Uczciwa wersja historii dnia zerowego jest więc węższa i bardziej użyteczna niż nagłówek: Ming-3.0 ma wiarygodną ścieżkę serwowania w trakcie przeglądu, dla jednego z pięciu modeli, a pozostałe cztery nadal wczytują się przez Transformers albo wcale. Udokumentowane awarie AI i incydenty w stosie serwowania stojące za takimi wpisami jak ten są gromadzone w OrcaRouter AI Incident Archive, gdzie każdy wpis zawiera własne źródła, poziom istotności, ocenę pewności i oznaczenie sporności.

To nie jest skarga na tę pracę. Pull request 9119 jest niezwykle dokładny jak na pierwszą integrację, a testy są powodem, by wierzyć, że zostanie scalony. Ale przepaść między „udostępnieniem pięciu modeli na zasadach open source” a „serwowaniem ich już dziś” jest całym tematem tego artykułu, ponieważ to w tej luce zapadają decyzje wdrożeniowe. Wszystko poniżej odczytano z pull requesta, rejestru vLLM-Omni i pięciu repozytoriów Hugging Face. Tam, gdzie liczba pochodzi od samego dostawcy, zdanie, w którym się pojawia, wyraźnie to zaznacza.

Co faktycznie zawiera pull request 9119

Otwarto o 16:32 UTC 19 października 2026 r. przeciwko vllm-project/vllm-omni, nadal otwarte, 40 plików, 4578 dodań i 211 usunięć. Głównym elementem jest nowa klasa modelu Ming3TTSForConditionalGeneration oraz wpis w rejestrze potoków, dwuetapowy plik YAML wdrożenia i adapter zgodny z OpenAI, który udostępnia syntezę pod /v1/audio/speech. Przepis jest napisany dla jednego H100 lub H200, vLLM 0.32.0, Pythona 3.12, CUDA 13.0 i Transformers 5.19, przypięty do commita vLLM-Omni 9eb1adcc0.

Dwie rzeczy sprawiają, że to coś więcej niż demo. Po pierwsze, istnieje 1 271-liniowy test kontraktowy dla nowej klasy, osobny zestaw testów transportu i mały plik „kontraktu wydania”. Zestaw testów tej wielkości pisze ktoś, kto oczekuje, że model przetrwa kolejny refaktor, a nie ktoś, kto publikuje notebook. Po drugie, łatka zawiera także 219 linii testów wspólnego modułu względem starszej implementacji ming_tts, co oznacza, że autor sprawdził, iż nowa ścieżka nie zepsuła po cichu poprzedniej generacji.

To, czego nie zawiera, to jakiekolwiek wsparcie dla modeli rozumienia dźwięku w tej rodzinie. Nie ma enkodera wejścia audio, adaptera transkrypcji ani trasy ASR. Łatka obejmuje syntezę mowy od początku do końca.

• Pull request — 9119, otwarty, utworzony 19 października 2026, 40 plików, +4,578/−211.

• Dodano klasę — Ming3TTSForConditionalGeneration, zarejestrowaną obok starszej MingTTSForConditionalGeneration.

• Endpoint — interfejs /v1/audio/speech w stylu OpenAI przez nowy adapter.

• Cel przepisu — jeden H100 lub H200, vLLM 0.32.0, vLLM-Omni commit 9eb1adcc0.

• Checkpoint udostępniony — inclusionAI/Ming-3.0-tts-tiny, łącznie 7,9 mld, około 1,3 mld aktywnych.

A screenshot of GitHub pull request 9119 in vllm-project/vllm-omni, titled '[New Model] Ming-3-TTS (inclusionAI/Ming-3.0-audio-tiny) Support'. It shows 'yuanheng-zhao wants to merge 24 commits into vllm-project:main from yuanheng-zhao:model/ming3-tts-vllm2', 40 files changed, +4,578 and -211, and the contributor-intent block whose first answer reads 'Support deploying inclusionAI/Ming-3.0-tts-tiny with vLLM 0.32.0'. The purpose note names Ming-3.0-TTS Tiny and the test plan names vLLM 0.32.0.

Pięć punktów kontrolnych i co oznacza „obsługiwane” w przypadku każdego z nich

Rodzina naprawdę obejmuje zakres od 0.5B do 126B, a ta rozpiętość nie jest drabiną rozmiarów. To trzy zadania ubrane w jeden schemat nazewnictwa, wgrane w ciągu sześciu tygodni bez zapowiedzi.

• Ming-3.0-tts-0.5B — gęsty syntezator na szkielecie Qwen2.5-0.5B z głowicą DiT, wyjście 44,1 kHz, siedem języków plus syczuański i kantoński, ponad 100 wbudowanych głosów chińskich. Repozytorium utworzono 22 września 2026 o 12:46 UTC. MIT. Sześć pobrań.

• Ming-3.0-tts-tiny — 7.9B łącznie, około 1.3B aktywnych, model Ling V3 typu mixture of experts z klonowaniem głosu zero-shot, projektowaniem głosu, 14 wbudowanymi tagami paralingwistycznymi i generowaniem podcastów z wieloma mówcami. Ta sama minuta 22 września co w przypadku 0.5B. MIT. Dwadzieścia pobrań. To jest checkpoint, który udostępnia ten pull request.

• Ming-3.0-audio-tiny — łącznie 9,3 mld, 2,7 mld aktywnych, audio i tekst na wejściu, tekst na wyjściu z opcjonalną mową przez Talker. Utworzono 3 września 2026 o 11:45 UTC. MIT. Trzy pobrania. To jest checkpoint, którego nazwę podaje tytuł pull requesta.

• Ming-3.0-audio-flash — 126B łącznie, 6,5B aktywnych, flagowy czytnik: akcenty, dialekty, długie audio, muzyka i sceny akustyczne na wejściu, tekst lub zsyntetyzowana mowa na wyjściu. Utworzono 3 września o 11:49 UTC. MIT. Dwadzieścia dwa pobrania.

• Ming-3.0-asr-tiny — 9B, enkoder audio oparty na szkielecie Ling-tiny-v3, transkrypcja języka chińskiego i angielskiego z hotwordami oraz 15 zestawami testowymi dialektów regionalnych. Najnowszy z pięciu: repozytorium utworzone 14 października 2026 o 09:27 UTC. MIT. Trzydzieści pięć pobrań.

Zatem zakres podany w poście jest dokładny. Twierdzenie o wsparciu to miejsce, w którym się to zawęża: jedna z tych pięciu ma ścieżkę serwowania oczekującą na scalenie, a dwie, które większość ludzi ma na myśli, mówiąc „Ming-3.0” — audio-flash i audio-tiny — w ogóle nie mają integracji w drzewie.

Co właściwie znajduje się dziś w gałęzi main vLLM-Omni?

Rejestr na gałęzi main jest mały i łatwy do sprawdzenia. Zawiera MingTTSForConditionalGeneration dla inclusionAI/Ming-omni-tts-0.5B oraz dwa wpisy MingFlashOmni dla Ming-flash-omni-2.0. Żaden z nich nie jest checkpointem Ming-3.0. Są to modele poprzedniej generacji i oba mają w dokumentacji znacznik obsługiwanego modelu.

To właśnie na tym rozróżnieniu może się wywrócić plan wdrożenia. „vLLM-Omni obsługuje Ming” jest prawdą w przypadku Ming-flash-omni-2.0 i Ming-omni-tts-0.5B, jest prawdą od kilku wydań, a przepisy znajdują się w recipes/inclusionAI/. Nie jest to jeszcze prawdą w przypadku niczego o nazwie Ming-3.0. Zespół, który przeczyta wpis, wybierze model audio 126B i postawi węzeł, oczekując punktu końcowego zgodnego z OpenAI, natrafi na checkpoint, konfigurację i flagę trust_remote_code.

To nazewnictwo sprawia, że łatwo to przeoczyć nawet osobie czytającej diff. Nowy klucz rejestru Ming3TTSForConditionalGeneration znajduje się kilka linii od starego MingTTSForConditionalGeneration, a Ming-3.0-audio-tiny z tytułu PR jest o jedno słowo od Ming-3.0-tts-tiny w treści. Przy pobieżnym czytaniu oba wyglądają jak ten sam model.

A screenshot of vLLM-Omni's supported-models document rendered on GitHub, showing the table columns Architecture, Models, Example HF Models and NVIDIA GPU. Visible rows include Qwen3-Omni, Qwen2.5-Omni, MingFlashOmniForConditionalGeneration plus MingImagePipeline for 'Ming-flash-omni-2.0 (omni-speech + imagegen)', BAGEL, InternVLA-A1, GROOT N1.7 and HunyuanImage-3.0. There is no Ming-3.0 row anywhere in the visible table.

Dlaczego szczegół dotyczący niewłaściwego punktu kontrolnego nie jest pedanterią

Te dwa malutkie modele nie są wymienne. Ming-3.0-audio-tiny to model audio-językowy: przyjmuje dźwięk na wejściu i generuje tekst, opcjonalnie wraz z mową. Ming-3.0-tts-tiny to syntezator: przyjmuje tekst i klip referencyjny, a generuje dźwięk. Integracja serwująca napisana dla jednego z nich nie mówi nic o układzie pamięci drugiego, jego zachowaniu podczas batchowania ani o kształcie jego punktu końcowego.

Dla czytelnika planującego pracę zmienia to, na które z dwóch pytań może odpowiedzieć w tym tygodniu.

• Jeśli chcesz generować mowę — klonowanie głosu, TTS dialektowy, montaż podcastu ze skryptu — ten pull request jest skierowany do Ciebie, a jego przepis to pojedynczy H100 lub H200.

• Jeśli chcesz transkrybować dźwięk lub rozumować na jego podstawie — spotkania, rozmowy, wywiady z silnym dialektem — nic z tego patcha nie ma zastosowania, a właściwą ścieżką jest Transformers z niestandardowymi plikami modelowania albo adapter SGLang opisany w karcie ASR.

Flagowy model 126B należy do trzeciej kategorii: wymaga ośmiu kart H800 o pojemności 80 GB w trybie równoległości tensorowej dla profilu 128K dostawcy albo czterech GPU dla zweryfikowanego profilu SGLang wyłącznie tekstowego, a także około 259 GB wag przed uwzględnieniem jakiegokolwiek KV cache. Przepis na jednym GPU by mu nie pomógł, więc jego brak w tej poprawce nie jest przeoczeniem.

Co post zrobił dobrze

Dwa twierdzenia przechodzą weryfikację i to właśnie one mają znaczenie dla wiarygodności rodziny modeli. Liczba pięciu modeli jest poprawna, podobnie jak zakres od 0,5B do 126B, w tym podane w nawiasie 6,5B aktywnych — to liczba aktywacji modelu flash i jest wydrukowana na jego karcie.

Trzecie twierdzenie — „serwuj je już dziś” — to właśnie to, które trzeba czytać uważnie. Jest ono prawdziwe w przypadku ścieżki T​TS-tiny dopiero po scaleniu, i nawet wtedy jako przepis, a nie artefakt wydania. Różnica między otwartym pull requestem a wydaniem oznaczonym tagiem to dokładnie ta różnica, której potrzebuje zespół produkcyjny, a wpis jej nie czyni.

Jest też data warta uwagi. Patch do vLLM-Omni został otwarty dwanaście minut po ostatnim pushu inclusionAI do repozytorium audio-flash na GitHubie, które samo powstało 15 października — sześć tygodni po tym, jak wagi pojawiły się na Hugging Face. Ta integracja się nie spóźnia. Nadchodzi w tym samym tempie co wszystko inne w tej rodzinie, czyli bez harmonogramu, który ktokolwiek opublikował.

Uruchamiam Ming-3.0 w tym tygodniu, nie czekając na merge

Każdy checkpoint z tej rodziny ładuje się dziś przez Transformers, a karty to dokumentują. Wzorzec dla karty flash to AutoProcessor z use_fast=False, AutoModelForCausalLM w bfloat16 z device_map="auto" oraz trust_remote_code=True — sama karta mówi, aby przed włączeniem przeczytać kod modelowania. Repozytorium zawiera niestandardowe pliki, procesor, Talker, VAE oraz dwa głosy referencyjne z transkrypcjami.

Do syntezy checkpointy T​TS mają własne punkty wejściowe inferencji oraz skrypt preflight, który weryfikuje checkpoint przed jego załadowaniem. W przypadku transkrypcji karta ASR dokumentuje endpoint /v1/audio/transcriptions w stylu O​penAI przez adapter SGLang i ostrzega, że zweryfikowany prompt oczekuje tabulatora między etykietą języka a transkrypcją — ten tabulator jest twoim parserem, a ogólny prompt „transcribe this” nie jest konfiguracją, którą zmierzył dostawca.

Czego nie otrzymujesz na tej ścieżce, to warstwa pośrednia: ciągłe grupowanie wsadowe, kontrola przyjęć, stabilny punkt końcowy, proces, który przetrwa błędne żądanie. Ta warstwa to właśnie pull request, dla jednego checkpointu. Dlatego status scalenia jest tym, na co należy patrzeć, a nie karta modelu.

Gdzie pasuje router — i jedno zdanie, którego nie może wypowiedzieć

OrcaRouter nie obsługuje Ming-3.0. Żaden z pięciu checkpointów nie znajduje się w naszym katalogu i żadne wywołanie naszego API nie dotrze do żadnego z nich. Model 126B uruchamiany na własnych ośmiu GPU to infrastruktura, a routing nie zamienia infrastruktury w hostowany endpoint.

To, co router faktycznie obejmuje, to tekstowa połowa produktu mowy, która jest większa, niż się wydaje: prompt, który decyduje, o co zapytać audio, oczyszczanie, które zamienia transkrypcję z diaryzacją w ustrukturyzowane notatki, mechanizm zabezpieczający, który sprawdza skrypt, zanim syntezator go wypowie, oraz klasyfikator, który wysyła plik do węzła ASR albo węzła TTS. To zwykłe wywołania tekstowe, a umieszczenie ich za jednym API dla ponad 200 modeli z 0% marży — cena katalogowa dostawcy przekazywana bez zmian, więc obniżka cen od dostawcy obowiązuje u nas tego samego dnia — usuwa z projektu, którego trudną częścią jest już węzeł GPU, trzy umowy z dostawcami. Automatyczne przełączanie awaryjne to drugi element wart nazwania: to w ten sposób można umieścić niezmergowany checkpoint za częścią ruchu, bez uzależniania od niego ścieżki produkcyjnej.

Co sprawiłoby, że ten post byłby prawdziwy?

Trzy sprawdzalne zdarzenia, w kolejności według tego, jak dużą zmianę by wywołały.

• Scalanie. Jeśli 9119 trafi do oznaczonego tagiem wydania vLLM-Omni z dołączonym przepisem i testami, jeden punkt kontrolny Ming-3.0 ma realną historię serwowania, a „day zero” staje się możliwe do obrony dla T​TS-tiny.

• Druga poprawka. Ścieżka rozumienia dźwięku wymaga własnej integracji. Dopóki modele flash i audio-tiny nie mają adapterów, zdanie „vLLM-Omni obsługuje Ming-3.0” oznacza tylko syntezę.

• Jedna niezależna liczba. Każda liczba na kartach pochodzi z własnego przebiegu inclusionAI i żadna strona trzecia nie opublikowała wyniku dla żadnego z pięciu. Średnia dla chińskiego ASR wynosząca 3,45 i średnia dla dialektów wynosząca 9,40 to publiczny opis samego dostawcy, co ma pewną wartość, ale nie jest tym samym co reprodukcja.

Do tego czasu dokładny opis to ten, który potwierdza repozytorium: pięciomodelowa rodzina mowy wgrana po cichu w ciągu sześciu tygodni, udokumentowana w ciągu jednego dnia w październiku, z dobrze przetestowaną poprawką serwującą w trakcie przeglądu dla jej syntezatora 7.9B i czterech checkpointów, które ładujesz samodzielnie. Pull request to dobra robota. To nie jest wydanie, a dostawca nie powiedział, że nim jest.

A generated single-column scoreboard titled 'Ming-3.0 — the scoreboard' with five rows: audio-flash 126B total, 6.5B active; audio-tiny 9.3B total, 2.7B active; tts-tiny 7.9B total, 1.3B active; tts-0.5B 0.5B dense; asr-tiny 9B encoder. A sixth row reads 'vLLM-Omni support: one open PR, no merge'. The footer reads 'Vendor-reported specs from the model cards; no independent benchmark exists.' The OrcaRouter logo is composited in the bottom-right corner.