Wygenerowana karta tytułowa z napisem Duo-1.0-causal-base, z trzema oznaczeniami dat — artykuł 11 listopada, wagi 12 listopada, wiadomości w repozytorium 13 listopada — obok notatki, że licencja społecznościowa wyklucza UE, Wielką Brytanię, Koreę Południową i Stany Zjednoczone.
Engineering & Research

Duo-1.0-causal-base: 153 GB wag, artykuł naukowy i brak wpisu o premierze

Autor

Rowan Sterling

Data publikacji

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

12 listopada o 06:32 UTC repozytorium Hugging Face o nazwie Duo-1.0-causal-base otrzymało pierwszy commit: 80 plików, 153,46 GB oraz pakiet zawierający backbone wizyjno-językowy, audiowizualny transformer dyfuzyjny, dwa kodeki, recognizer mowy i narzędzie do wymuszonego wyrównania. Towarzysząca mu praca naukowa pojawiła się na arXiv dzień wcześniej. W ciągu dwudziestu czterech godzin pojawiły się trzy siostrzane repozytoria, a jedno z nich wciąż się wgrywało dziś rano. Własny blok aktualności repozytorium, datowany na 13 listopada, nazywa to wszystko wydaniem. Prawie nic innego tego nie robi. Nie mogę znaleźć żadnego wpisu o premierze, hostowanego endpointu, strony z cennikiem ani niezależnego benchmarku dla Duo-1.0-causal-base — a plik licencji znajdujący się w tych 153 GB wyklucza Unię Europejską, Wielką Brytanię, Koreę Południową i Stany Zjednoczone z zakresu udzielonego zezwolenia.

To nie jest więc materiał o premierze, ponieważ nie było premiery. Nie jest to też materiał o przecieku, ponieważ wagi są publiczne, bez ograniczeń dostępu i kompletne. To, co następuje, rozdziela dwie rzeczy, które się zacierają, ilekroć laboratorium badawcze udostępnia repozytorium zamiast produktu: to, co faktycznie ustalają pliki i artykuł, oraz to, czego nikt jeszcze nie potwierdził.

Co wylądowało i w jakiej kolejności

Sekwencję można odczytać z metadanych repozytorium, co ma znaczenie, ponieważ to jedyny zapis pochodzący z pierwszej ręki.

• Artykuł — arXiv 2611.15131, Duo: odwzajemniony model świata do interakcji pełnodupleksowej, dwudziestu autorów od Hengyuana Cao do Zhenzhonga Lana, przesłany 11 listopada 2026 r. Strona artykułu na Hugging Face pokazuje 27 głosów poparcia i żadnego omówienia poza nią.

• Wagi — cztery repozytoria w organizacji inclusionAI, która określa się jako dom inicjatywy AGI Ant Group, a jej strona projektu zawiera informację o prawach autorskich Ant Research z 2026 r. Duo-1.0-causal-base i Duo-1.2-causal-base utworzono o 06:30 i 06:32 UTC 12 listopada; Duo-1.0-distill dwadzieścia pięć sekund wcześniej; Duo-1.0-distill-quant dziś rano o 08:09 UTC.

• Kod — github.com/inclusionAI/Duo, Apache-2.0, utworzony 6 listopada, ale zawierający dokładnie jeden commit, ze znacznikiem czasu 09:13 UTC dzisiaj, z sześcioma gwiazdkami i bez forków w momencie pisania.

• Komunikat — blok aktualności w README, wszystkie trzy wiersze z datą 2026/11/13: artykuł, potoki strumieniowe vLLM-Omni i SGLang-Omni oraz wagi v1 wraz z kodem wnioskowania offline.

Rozmiary pakietów to pierwsza rzecz, na którą czytelnik może zareagować, ponieważ nie są one wymienne.

• Duo-1.0-causal-base — 153,46 GB w 80 plikach. Wagi realizacji 69,07 GB, model Intent 66,73 GB, kodeki wideo i audio 11,02 GB, stos mowy 6,54 GB oraz adapter 84,8 MB.

• Duo-1.2-causal-base — 153,46 GB w 80 plikach, opisany wyłącznie jako „poprawiona jakość generowania”, a jego warianty destylowane i skwantyzowane wymieniono jako wkrótce dostępne.

• Duo-1.0-distill — 2,78 GB, osiem plików. Nakładka, a nie model: pobiera się do tego samego katalogu co pakiet bazowy i zastępuje ustawienia samplera ustawieniami Euler przy czterech krokach i przesunięciu przepływu 5,0, w przeciwieństwie do pięćdziesięciu kroków przy 1,0 w wersji bazowej.

• Duo-1.0-distill-quant — 47.03 GB. Ta sama czteroetapowa nakładka w ModelOpt FP8 ze skalowaniem na kanał, a karta wyraźnie wskazuje, że środowisko uruchomieniowe musi obsługiwać ten format lub oferować ścieżkę konwersji.

Dwa moduły i zegar 708-milisekundowy

Architektura jest czytelna na podstawie plików konfiguracyjnych, co daje więcej niż większość kart modeli. Duo dzieli zadanie na dwie części.

Moduł Intent jest zadeklarowany jako Qwen3VLForConditionalGeneration — 64 warstwy o wymiarze ukrytym 5120, 64 głowice uwagi z 8 głowicami klucz-wartość, rozmiar pośredni 25600, słownik 151 936 tokenów oraz 27-warstwowa wieża wizyjna z rozmiarem patcha 16. Shardy sumują się do 66,71 GB wag bfloat16. To duży model wizyjno-językowy, a karta nigdy nie podaje liczby parametrów, więc klasa rozmiarowa jest wnioskiem z konfiguracji, a nie wartością podaną przez dostawcę. Na nim opiera się adapter LoRA o randze 8 i alfa 16, obejmujący projekcje query, key, value i output oraz głowicę modelu językowego, a także cztery trenowalne tokeny specjalne: <wait>, <blank>, <chunk_708> i <speak>.

Ten zestaw tokenów to cała idea w miniaturze. W każdym fragmencie moduł Intent emituje albo <speak> z tekstem, albo <wait> bez niczego. Decydowanie, kiedy mówić, to osobne przewidywanie od decydowania, co powiedzieć — co jest różnicą między modelem, który odpowiada, gdy skończysz, a takim, który potrafi się wtrącić, zachować ciszę lub mówić dalej, podczas gdy ty mówisz.

Moduł Realization to MiniMaxH3DiTModel: 50 warstw o 5376 wymiarach ukrytych, 56 głowic o wymiarze 128, szerokość feed-forward wynosząca 14336, patch 1×2×2, 24 kanały latentne dla wideo i 32 dla audio oraz dwuwarstwowy refiner tokenów, który wkomponowuje stany ukryte modułu Intent w warunkowanie. Jest inicjowany na podstawie wag MiniMax H3, a plik NOTICE podaje licencję upstream. Shardy mają łącznie 66.28 GB w 535 tensorach.

Zegar, który je łączy, to liczba warta zapamiętania. Interakcja przebiega w fragmentach po 17 klatek wideo przy 24 klatkach na sekundę — 708 milisekund. Każdy fragment jest kodowany jako pięć latentów wideo z podziałem klatek 1-4-4-4-4 oraz jako 2×29 latentów audio, ponieważ dźwięk działa z szybkością 40 latentów na sekundę na kanał przy 32 kHz, czyli jeden co 25 milisekund. Kodowanie pozycyjne to trójwymiarowe RoPE powiązane z czasem odtwarzania. Maski uwagi są skonstruowane tak, aby żaden fragment nie widział czystych mediów swojej własnej przyszłości, co czyni całość przyczynową i strumieniowalną, a nie modelem dyfuzyjnym, który potrzebuje gotowego klipu, zanim może zacząć.

Twierdzenie o opóźnieniu jest prawdziwe i dotyczy ośmiu GPU.

Sekcja artykułu poświęcona streamingowi to najbardziej konkretna część publikacji, a zarazem najmniej odtwarzalna na sprzęcie, jaki ma większość czytelników.

• Wnioskowanie intencji — od 90 do 160 ms na fragment.

• Wspólna generacja w przestrzeni latentnej przy 768×576 — od 200 do 450 ms.

• Dekodowanie strumieniowe — około 30 ms na grupę czterech klatek.

• Narzut — około 40 ms.

• Łącznie — od 330 do 650 ms, wobec docelowego czasu cyklu wynoszącego 17/24 sekundy, z dodatkowym opóźnieniem próbkowania wynoszącym 708 ms, jeśli wypowiedź kończy się w połowie okna.

Te liczby pochodzą z układu ośmiu GPU. Moduł Intent działa równolegle tensorowo na czterech rangach na GPU 0–3 obok rozpoznawacza mowy; transformer dyfuzyjny rozkłada się na wszystkie osiem, wybierając dla każdego fragmentu równoległość tensorową lub sekwencyjną — tę, która minimalizuje czas cyklu w granicach ograniczeń pamięci; strumieniowy VAE dzieli przestrzennie na cztery części na GPU 4–7. GPU 0–3 wykonują Intent dla fragmentu k+1, podczas gdy GPU 4–7 dekodują fragment k. Dane wyjściowe są udostępniane jako jedna klatka zakotwiczenia plus cztery pakiety po cztery klatki, a najkrótszy interwał odtwarzania — 1/24 sekundy, czyli około 41,7 ms — jest celowo dłuższy niż 30 ms dekodowania, aby bufor mógł pochłonąć jitter.

Teraz zestaw wymagania README z tym, co powyżej. Referencyjne wdrożenie offline wymaga dwóch GPU CUDA — jednego dla Intent i kodeków, jednego dla Realization — dwóch środowisk Python, ponieważ przypięty pakiet qwen-asr ciągnie za sobą własną wersję Transformers, oraz FFmpeg w ścieżce. To jest konfiguracja, na której faktycznie działa dostarczane demo. Wartość 330–650 ms zakłada osiem GPU nieokreślonego modelu. Obie liczby są uczciwe; odpowiadają na różne pytania, a różnica między nimi to odległość między wynikiem z artykułu a maszyną, którą można zbudować w tym tygodniu.

A generated scoreboard for Duo-1.0-causal-base listing six dimensions: bundle size 153.46 GB, two modules Intent and Realization, a 708 ms chunk clock at 24 frames per second, a latency claim of 330 to 650 ms on eight GPUs, a self-scored evaluation of 93.3 percent of 180 checks, and a license excluding the US, UK, EU and South Korea, with a footer noting that no independent benchmark exists.

93,3% to autorzy oceniający własny egzamin

Ocena jest nietypowa w sposób, który zasługuje na przedstawienie, zanim gdziekolwiek poda się procent.

Trzydzieści przypadków dwukierunkowych w czasie rzeczywistym odtworzono obok siebie na wspólnej osi czasu i oceniano przy normalnej prędkości odtwarzania z dźwiękiem, według sześciu binarnych kryteriów z opisanymi warunkami niepowodzenia: responsywność treści, zgodność językowa, zrozumiałość mowy, stabilność tożsamości wizualnej, synchronizacja audiowizualna i spójność emocjonalna audiowizualna. Ze 180 kontroli 168 zakończyło się pomyślnie — 93,3%. Dziewięćdziesiąt z dziewięćdziesięciu kontroli zakończyło się pomyślnie łącznie w zakresie zgodności językowej, zrozumiałości mowy i stabilności tożsamości wizualnej. Spójność emocjonalna wyniosła 96,7%, dopasowanie ruchu warg 90,0%, a responsywność treści 73,3%, czyli 22 z 30.

Następują trzy rzeczy, z których tylko pierwsza jest pochlebna.

Po pierwsze, 93,3% w 180 kontrolach binarnych z zapisanymi warunkami niepowodzenia to twierdzenie bardziej falsyfikowalne niż Elo z tabeli liderów, a analiza niepowodzeń jest wyjątkowo konkretna: żarty i zawoalowane uwagi, które wymagają od modelu czytania poza dosłownym znaczeniem słów, oraz intencja, która staje się jasna dopiero wtedy, gdy mowę i wideo odczytuje się razem — przykładem z artykułu jest użytkownik w pomieszczeniu wspominający o rowerze współdzielonym, gdy zaczyna padać deszcz, co model potraktował jako prośbę o poradę, a nie zmianę scenerii.

Po drugie, sędziami są autorzy. Nie ma przeprowadzenia przez stronę trzecią, zaślepionego badania porównawczego parami ani panelu zewnętrznych recenzentów. Dwustanowa rubryka ze spisanymi warunkami jest właściwym narzędziem; stosowanie jej do własnych wyników nie stanowi niezależnej weryfikacji.

Po trzecie, i to najbardziej wymowne, w całej pracy nie ma nigdzie porównania z metodą odniesienia. Jedynym ilościowym zestawieniem jest ablacja dotycząca syntezy danych: na sześćdziesięciosekundowej sekwencji dziesięciu sześciosekundowych bloków metoda bazowa traci 34,2 poziomu luminancji do dziewiątego bloku, podczas gdy proponowana metoda stabilizuje się na poziomie około 99. Prace powiązane — Moshi, Qwen-Omni, Wan-Streamer, EMO, OmniHuman, LiveTalk, Self Forcing, CausVid — omówiono jakościowo, bez bezpośrednich porównań liczbowych. W pracy nigdy nie podano też liczby parametrów ani rozmiarów danych treningowych. Uczciwe podsumowanie jest więc takie, że Duo v1 zmierzono według kryteriów oceny, a nie względem innego modelu.

Licencja to element, który decyduje o Twoim tygodniu.

To jest sekcja, która zmienia decyzje zakupowe, a która jest ukryta w 17-kilobajtowym pliku LICENSE, a nie w opisie karty modelu.

Wagi nie są objęte licencją Apache-2.0. Repozytorium kodu jest; wagi nie. Każdy checkpoint Duo jest objęty licencją minimax-h3-community-license, ponieważ moduł Realization został zainicjalizowany z MiniMax H3, a licencja przechodzi wraz z utworem zależnym. Umowa znajdująca się w pakiecie jest datowana na 2 sierpnia 2026 r. i definiuje „MiniMax” jako Nanonoble Pte. Ltd.

Zakres udzielonej licencji jest ograniczony terytorialnie. „Obowiązujące terytorium” oznacza cały świat z wyłączeniem terytoriów wyłączonych, a terytoria wyłączone to Unia Europejska, Zjednoczone Królestwo, Republika Korei i Stany Zjednoczone Ameryki. Tekst licencji zachęca każdego na tych terytoriach do skontaktowania się z M​iniMax w sprawie uzyskania licencji „opartej na solidnych mechanizmach kontroli i zabezpieczeniach”, co jest drogą, a nie pozwoleniem.

W praktyce: grupa badawcza w Singapurze, Szwajcarii, Japonii, Indiach, Brazylii lub Kanadzie może pobrać i uruchomić to już dziś na podanych warunkach. Zespół w San Francisco, Londynie, Berlinie lub Seulu nie może — przy dosłownym odczytaniu pliku — i nie powinien odkrywać tego dopiero na końcu dwutygodniowej integracji. Ta asymetria jest też powodem, dla którego to licencja — a nie benchmark — jest tym, co należy sprawdzić, zanim cokolwiek zaplanujesz.

Co faktycznie możesz uruchomić już dziś

Ścieżka offline jest udokumentowana i krótka. Sklonuj repozytorium, zbuduj dwa środowiska wirtualne — jedno dla Realization, drugie dla stosu mowy — pobierz bazowy pakiet, skopiuj configs/inference.example.json do configs/inference.json, wskaż w nim wagi oraz dwa pliki wykonywalne Pythona i uruchom run_demo.py --config configs/inference.json --port 4173. Interfejs to strona w przeglądarce pod /video/index.html.

W przypadku streamingu README wskazuje dwie gałęzie: vLLM-Omni, oznaczoną jako zalecana, oraz SGLang-Omni. To jest ścieżka, którą opisują dane dotyczące opóźnień, i ta, która wymaga układu z ośmioma GPU.

Dwa zastrzeżenia co do tego, co zobaczysz. Dema na stronie projektu pochodzą z danych treningowych i wnioskowania offline — strona tak mówi i dodaje, że wyniki czasu rzeczywistego w trybie pełnego dupleksu „zostaną dodane wkrótce”. A wydanie jest wyraźnie wersją podglądową: „Duo v1 to wersja podglądowa dla badaczy”, obsługująca „podstawową rozmowę audiowizualną”, przy czym v2 ma obiecywać warunkowanie Realization bezpośrednio na audio i wideo użytkownika na potrzeby interakcji wizualnej. Jeśli interesuje cię model, który cię obserwuje i reaguje na obiekty, ta możliwość nie znajduje się w tym wydaniu.

Screenshot of the Duo-1.0-causal-base model card on Hugging Face, headed A Reciprocal World Model for Full-Duplex Interaction, showing the version table with Duo 1.0, causal base variant, complete model bundle and PyTorch Distributed Checkpoint format, the package contents listing Realization weights and backbone, Intent model and adapter, video and audio codecs, speech recognizer and forced aligner, the download command, and a license section naming the MiniMax H3 community license.

Kto powinien się tym zainteresować w tym tygodniu, a kto powinien poczekać

• Badania nad interakcją pełnodupleksową — to najbardziej konkretne otwarte udostępnienie w tej kategorii: artykuł z budżetem opóźnień, zegarem chunków, przepisem na destylację i wagami, które faktycznie można pobrać. Destylacja z podwójnym rolloutem — przeprowadzanie rolloutów zamrożonego modułu Intent, a następnie generowanie mediów na podstawie własnych wyników modelu, a nie zapisanej historii — to idea, którą można przenieść, nawet jeśli nigdy nie uruchomisz Duo.

• Zespoły budujące produkt z awatarem lub towarzyszem — warto przeczytać choćby dla samego ujęcia w 708 ms. To liczba, która decyduje, czy wtrącenie brzmi jak osoba, czy jak opóźnienie, i stanowi ograniczenie projektowe, które możesz przyjąć, nie przyjmując samego modelu.

• Zespoły w wyłączonych terytoriach — poczekajcie i potraktujcie rozmowy o licencji jako ścieżkę krytyczną, a nie budżet GPU.

• Każdy, kto chce API — to nie to. Karta modelu wprost stwierdza, że żaden dostawca wnioskowania go nie obsługuje i nie ma punktu końcowego dostawcy.

Ten ostatni punkt to miejsce, w którym router uczciwie pasuje, i miejsce, w którym nie pasuje. OrcaRouter nie hostuje Duo-1.0-causal-base i nie może go routować: 153 GB dwumodułowy stos dyfuzyjny ze stałym taktowaniem fragmentów co 708 ms nie jest celem dla chat-completions i żadna ilość routingu tego nie zmieni. Routowalny jest turowy fallback, który większość zespołów wdraża, gdy eksperyment dupleksowy działa za flagą — mowa na wejściu, model językowy, mowa na wyjściu. Element wyjścia mowy może być hostowanym modelem text-to-speech, a nie kolejnym procesem na tych samych dwóch GPU, a realizowanie go przez jedno API dla ponad 200 modeli z ceną katalogową dostawcy przekazywaną przy 0% marży sprawia, że kalkulacja kosztów pozostaje bez zmian, gdy dostawca zmienia cenę. Automatyczny failover należy do tych hostowanych elementów, a nie do elementu self-hosted: utrzymuje demo przy życiu, gdy dostawca ma przejściowe problemy, i nic nie robi dla stosu uruchamianego na własnym sprzęcie.

Innym uczciwym zastosowaniem jest dyscyplina ewaluacji. Utrzymuj ścieżkę produkcyjną na modelach, które możesz wywołać, a Duo-1.0-causal-base traktuj jako eksperyment benchmarkowy ze spisaną rubryką — co, biorąc pod uwagę, że jedyną istniejącą rubrykę zastosowali jego autorzy, jest dokładnie tym, czym jest.

Co zmieniłoby werdykt?

Trzy rzeczy, w kolejności rosnącej według tego, jak bardzo miałyby znaczenie.

Strona trzecia oceniająca sześć kryteriów na promptach, których zespół Duo nie wybrał. Rubryka jest już opublikowana, co sprawia, że komuś tanio będzie to zrobić, a dla modelu jest to kosztowne, jeśli responsywność treści naprawdę wynosi 73,3% w niewidzianych przypadkach.

Hostowany endpoint albo przepis na serwowanie, który nie zakłada ośmiu GPU. Demo offline na dwóch GPU i twierdzenie o opóźnieniach na ośmiu GPU są prawdziwe, a luka między nimi to miejsce, w którym faktycznie żyje większość czytelników.

Warunki licencji obejmujące wyłączone terytoria. Nic w architekturze nie zmienia tej arytmetyki, podobnie jak żadna poprawa wyników benchmarków.

Do tego czasu trafny opis Duo-1.0-causal-base jest następujący: kompletny, dostępny bez ograniczeń pakiet badawczy o rozmiarze 153 GB z realnym budżetem opóźnień i samooceną ewaluacją, wydany jako artykuł i repozytorium z datowanym wpisem informacyjnym i bez produktu za nim. To więcej niż preprint — wagi są dostępne, a demo działa — i znacznie mniej niż model, wokół którego można zaplanować kwartał. Otwarte pytanie nie brzmi, czy Duo potrafi prowadzić rozmowę w 708-milisekundowych fragmentach. Brzmi ono, czy ktokolwiek spoza zespołu będzie mógł to sprawdzić.

Screenshot of the inclusionAI Duo GitHub README showing the news entries dated 2026/11/13 for the arXiv paper, the vLLM-Omni and SGLang-Omni streaming pipelines and the Duo v1 weights, followed by the model releases table listing v1.0 causal base, distilled and quantized checkpoints, v1.2 with quality improvements, and v2.0 visual interaction marked coming soon, and the requirements section asking for Linux, Python 3.10, FFmpeg and two CUDA GPUs.