
Duo-1.0-causal-base : 153 Go de poids, un article et aucune publication de lancement
- GoogleNOUVEAUGoogle: Gemini 4 Carbon2026-11-10$2.00 / $10.00 par million de tokens · 226 tok/s
- AnthropicNOUVEAUAnthropic: Claude Fable 5.22026-11-09$8.00 / $40.00 par million de tokens · 101 tok/s
- orcaNOUVEAUOrca: OrcaC2 1.02026-11-0717 tok/s
- OrcaNOUVEAUOrcaCyber: GLM 5.3 Abliterated / Uncensored2026-11-04$3.00 / $5.00 par million de tokens · 82 tok/s
- OrcaNOUVEAUOrcaCyber: Hy4 Abliterated / Uncensored2026-11-04$0.80 / $1.60 par million de tokens · 182 tok/s
- OrcaNOUVEAUOrcaCyber: Kimi K3.1 Pro Abliterated / Uncensored2026-11-04$4.00 / $20.00 par million de tokens · 46 tok/s
- OrcaOrcaCyber: MiniMax M3.1 Flash Abliterated / Uncensored2026-10-29$0.80 / $1.60 par million de tokens · 139 tok/s
- OrcaOrcaCyber: GLM 5.3 Flash Abliterated / Uncensored2026-10-27$0.80 / $1.60 par million de tokens · 63 tok/s
- OrcaOrcaCyber: Qwen3.8 Flash Next Abliterated / Uncensored2026-10-26$0.80 / $1.60 par million de tokens · 96 tok/s
- OrcaOrcaCyber: MiMo V2.6 Flash Abliterated / Uncensored2026-10-26$0.80 / $1.60 par million de tokens · 43 tok/s
- MoonshotMoonshotAI: Kimi K3.1 Pro2026-10-2447Intelligence
- OrcaOrcaCyber: DeepSeek V4.1 Flash Abliterated / Uncensored2026-10-23$0.80 / $1.60 par million de tokens · 182 tok/s
- minimaxMiniMax: M3.1 Flash2026-10-1929Intelligence
- OrcaOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 par million de tokens · 139 tok/s
- deepseekDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733Intelligence
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-10-1740Intelligence
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 par million de tokens · 108 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955Intelligence
- anthropicAnthropic: Claude Sonnet 5.52026-09-2855Intelligence
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 par million de tokens · 322 tok/s
Le 12 novembre à 06:32 UTC, un dépôt Hugging Face nommé Duo-1.0-causal-base a reçu son commit initial : 80 fichiers, 153,46 Go, et un paquet contenant un backbone vision-langage, un transformer de diffusion audiovisuel, deux codecs, un système de reconnaissance vocale et un aligneur forcé. L'article qui le sous-tend avait été mis en ligne sur arXiv la veille. Trois dépôts frères ont suivi dans les vingt-quatre heures, l'un d'eux étant encore en cours de téléversement ce matin. Le bloc d'actualités du dépôt lui-même, daté du 13 novembre, qualifie tout cela de version publiée. Presque rien d'autre ne le fait. Je ne trouve ni billet d'annonce, ni point de terminaison hébergé, ni page de tarification, ni benchmark indépendant pour Duo-1.0-causal-base — et le fichier de licence qui se trouve dans ces 153 Go exclut de sa concession l'Union européenne, le Royaume-Uni, la Corée du Sud et les États-Unis.
Ce n’est donc pas un article de lancement, car il n’y a pas eu de lancement. Ce n’est pas non plus un article sur une fuite, car les poids sont publics, sans restriction et complets. Ce qui suit distingue les deux choses que l’on confond chaque fois qu’un laboratoire de recherche met en ligne un dépôt plutôt qu’un produit : ce que les fichiers et l’article établissent réellement, et ce que personne n’a encore confirmé.
Qu’est-ce qui est arrivé, et dans quel ordre ?
La séquence se lit à partir des métadonnées du dépôt, ce qui compte car c'est le seul registre de première main.
• L'article — arXiv 2611.15131, Duo: A Reciprocal World Model for Full-Duplex Interaction, vingt auteurs, de Hengyuan Cao à Zhenzhong Lan, soumis le 11 novembre 2026. La page de l'article sur Hugging Face affiche 27 votes positifs et aucune couverture au-delà.
• Les poids — quatre dépôts au sein de l’organisation inclusionAI, qui se décrit comme le foyer de l’initiative AGI d’Ant Group et dont la page du projet porte une mention de copyright Ant Research 2026. Duo-1.0-causal-base et Duo-1.2-causal-base ont été créés à 06:30 et 06:32 UTC le 12 novembre ; Duo-1.0-distill vingt-cinq secondes plus tôt ; Duo-1.0-distill-quant ce matin à 08:09 UTC.
• Le code — github.com/inclusionAI/Duo, Apache-2.0, créé le 6 novembre mais contenant exactement un commit, horodaté à 09:13 UTC aujourd’hui, avec six étoiles et aucun fork au moment de la rédaction.
• La déclaration — le bloc d'actualités du README, ses trois lignes datées du 2026/11/13 : l'article, les pipelines de streaming vLLM-Omni et SGLang-Omni, ainsi que les poids v1 et le code d'inférence hors ligne.
Les tailles de lot sont le premier élément sur lequel un lecteur peut agir, car elles ne sont pas interchangeables.
• Duo-1.0-causal-base — 153,46 Go répartis sur 80 fichiers. Poids de réalisation 69,07 Go, modèle Intent 66,73 Go, codecs vidéo et audio 11,02 Go, pile vocale 6,54 Go, et un adaptateur de 84,8 Mo.
Duo-1.2-causal-base — 153,46 Go répartis sur 80 fichiers, décrit uniquement comme « une meilleure qualité de génération », ses variantes distillées et quantifiées étant annoncées comme disponibles prochainement.
• Duo-1.0-distill — 2,78 Go, huit fichiers. Une surcouche, pas un modèle : elle se télécharge dans le même répertoire que le lot de base et remplace les paramètres de l’échantillonneur par Euler à quatre étapes et un décalage de flux de 5,0, contre cinquante étapes à 1,0 pour la base.
• Duo-1.0-distill-quant — 47,03 GB. Le même overlay en quatre étapes dans ModelOpt FP8 avec mise à l’échelle par canal, et la fiche précise clairement que l’environnement d’exécution doit prendre en charge ce format ou proposer une voie de conversion.
Deux modules et une horloge de 708 millisecondes
L’architecture est lisible à partir des fichiers de configuration, ce qui est plus que ce que la plupart des fiches de modèle vous donnent. Duo répartit le travail en deux.
Le module Intent est déclaré comme Qwen3VLForConditionalGeneration — 64 couches à 5120 dimensions cachées, 64 têtes d’attention avec 8 têtes clé-valeur, une taille intermédiaire de 25600, un vocabulaire de 151 936 tokens et une tour de vision de 27 couches avec une taille de patch de 16. Les shards totalisent 66,71 Go de poids bfloat16. Il s’agit d’un grand modèle vision-langage, et la fiche ne mentionne jamais de nombre de paramètres ; la classe de taille est donc déduite de la configuration plutôt que d’un chiffre fourni par le fournisseur. Par-dessus se trouve un adaptateur LoRA de rang 8 et d’alpha 16, ciblant les projections query, key, value et output ainsi que la tête du modèle de langage, et quatre tokens spéciaux entraînables : <wait>, <blank>, <chunk_708> et <speak>.
Cet ensemble de jetons est toute l’idée en miniature. À chaque fragment, le module Intent émet soit <speak> avec du texte, soit <wait> sans rien. Décider quand parler est une prédiction distincte de décider quoi dire, ce qui fait la différence entre un modèle qui répond quand vous vous arrêtez et un modèle qui peut intervenir, rester silencieux ou continuer à parler pendant que vous parlez.
Le module Realization est un MiniMaxH3DiTModel : 50 couches à 5376 dimensions cachées, 56 têtes de dimension 128, une largeur feed-forward de 14336, un patch 1×2×2, 24 canaux latents pour la vidéo et 32 pour l’audio, ainsi qu’un raffineur de tokens à deux couches qui intègre les états cachés du module Intent dans le conditionnement. Il est initialisé à partir des poids MiniMax H3, et le fichier NOTICE nomme la licence en amont. Les fragments totalisent 66,28 Go sur 535 tenseurs.
L’horloge qui les relie est le nombre à retenir. L’interaction fonctionne par blocs de 17 images vidéo à 24 images par seconde — 708 millisecondes. Chaque bloc est encodé en cinq latents vidéo avec un découpage des images 1-4-4-4-4, et en 2×29 latents audio, car l’audio fonctionne à 40 latents par seconde par canal à 32 kHz, soit un toutes les 25 millisecondes. L’encodage positionnel est un RoPE tridimensionnel indexé sur le temps de lecture. Les masques d’attention sont construits de sorte qu’aucun bloc ne puisse voir les médias propres de son propre futur, ce qui rend l’ensemble causal et adapté au streaming plutôt qu’un modèle de diffusion qui a besoin du clip terminé avant de pouvoir démarrer.
L'affirmation sur la latence est réelle, et elle concerne bien huit GPU.
La section du document consacrée à la diffusion en continu est l'élément le plus concret de la publication, et le moins reproductible sur le matériel dont dispose la plupart des lecteurs.
• Inférence d'intention — 90 à 160 ms par segment.
• Génération latente conjointe en 768×576 — 200 à 450 ms.
• Décodage en flux — environ 30 ms par groupe de quatre images.
• Surcoût — environ 40 ms.
• Total — 330 à 650 ms, contre un objectif de cycle de 17/24 de seconde, avec un délai d’échantillonnage supplémentaire de 708 ms si un énoncé se termine au milieu de la fenêtre.
Ces chiffres proviennent d'une configuration à huit GPU. Le module Intent s'exécute en parallélisme de tenseurs sur quatre rangs sur les GPU 0–3 aux côtés du moteur de reconnaissance vocale ; le transformateur de diffusion se répartit sur les huit, en choisissant, pour chaque bloc, le parallélisme de tenseurs ou de séquences selon ce qui minimise le temps de cycle sous la contrainte mémoire ; le VAE de streaming se répartit spatialement en quatre tuiles sur les GPU 4–7. Les GPU 0–3 exécutent Intent pour le bloc k+1 tandis que les GPU 4–7 décodent le bloc k. La sortie est émise sous la forme d'une ancre d'une trame, plus quatre paquets de quatre trames, et l'intervalle de lecture le plus court, 1/24 de seconde à environ 41,7 ms, est délibérément plus long que les 30 ms de décodage afin que le tampon puisse absorber la gigue.
Lisez maintenant les prérequis du README à la lumière de cela. Le déploiement hors ligne de référence exige deux GPU CUDA — un pour Intent et les codecs, un pour Realization — deux environnements Python, car le paquet qwen-asr épinglé embarque sa propre version de Transformers, et FFmpeg dans le PATH. C'est la configuration que la démo livrée exécute réellement. Le chiffre de 330 à 650 ms suppose huit GPU d'un modèle non précisé. Les deux chiffres sont honnêtes ; ils répondent à des questions différentes, et l'écart entre eux correspond à la distance entre un résultat de publication et une machine que vous pouvez monter cette semaine.

93,3 % correspondent à des auteurs qui corrigent leur propre examen
L’évaluation est inhabituelle d’une manière qui mérite d’être signalée avant que le pourcentage ne soit cité où que ce soit.
Trente cas duplex en temps réel ont été rejoués côte à côte sur une chronologie partagée et évalués à vitesse de lecture normale avec son, selon six critères binaires assortis de conditions d’échec écrites : réactivité du contenu, respect de la langue, intelligibilité de la parole, stabilité de l’identité visuelle, synchronisation audiovisuelle et cohérence émotionnelle audiovisuelle. Sur 180 vérifications, 168 ont réussi — 93,3 %. Quatre-vingt-dix sur quatre-vingt-dix ont réussi pour le respect de la langue, l’intelligibilité de la parole et la stabilité de l’identité visuelle combinés. La cohérence émotionnelle a atteint 96,7 %, l’alignement des lèvres 90,0 %, et la réactivité du contenu 73,3 %, soit 22 sur 30.
Trois choses suivent, et seule la première est flatteuse.
Premièrement, 93,3 % sur 180 contrôles binaires avec des conditions d’échec écrites constitue une affirmation plus falsifiable qu’un classement Elo, et l’analyse des échecs est d’une précision inhabituelle : les blagues et les remarques obliques qui exigent du modèle qu’il lise au-delà des mots littéraux, et une intention qui ne se résout que lorsque parole et vidéo sont lues ensemble — l’exemple de l’article est un utilisateur à l’intérieur qui mentionne un vélo en libre-service alors qu’il commence à pleuvoir, ce que le modèle a traité comme une demande de conseil plutôt que comme un changement de scène.
Deuxièmement, les juges sont les auteurs eux-mêmes. Il n'y a pas d'évaluation par un tiers, pas d'étude comparative en aveugle par paires, pas de comité de relecteurs externes. Une grille d'évaluation binaire assortie de conditions écrites est le bon instrument ; l'appliquer à ses propres productions ne constitue pas une vérification indépendante.
Troisièmement, et c’est le plus révélateur, il n’y a aucune comparaison avec une référence nulle part dans l’article. Le seul contraste quantitatif est une ablation sur la synthèse de données : sur une séquence de soixante secondes composée de dix blocs de six secondes, la référence perd 34,2 niveaux de luminance au neuvième bloc, tandis que la méthode proposée se stabilise autour de 99. Les travaux connexes — Moshi, Qwen-Omni, Wan-Streamer, EMO, OmniHuman, LiveTalk, Self Forcing, CausVid — sont discutés qualitativement, sans chiffres de comparaison directe. L’article n’indique jamais non plus le nombre de paramètres ni les volumes de données d’entraînement. Le résumé honnête est donc que Duo v1 a été évalué selon une grille d’évaluation, et non face à un autre modèle.
La licence est l'élément qui décide de votre semaine.
C’est la section qui modifie les décisions d’approvisionnement, et elle est enfouie dans un fichier LICENSE de 17 Ko plutôt que dans le texte de la fiche modèle.
Les {{1}}poids{{/1}} ne sont pas sous Apache-2.0. Le {{2}}dépôt de code{{/2}} l'est ; les poids ne le sont pas. Chaque checkpoint Duo porte {{3}}minimax-h3-community-license{{/3}}, parce que le {{4}}module Realization{{/4}} a été initialisé à partir de {{5}}MiniMax H3{{/5}} et que la licence accompagne la dérivée. L'accord figurant dans le bundle est daté du {{6}}2 août 2026{{/6}} et définit « {{7}}MiniMax{{/7}} » comme {{8}}Nanonoble Pte. Ltd.{{/8}}
Sa concession est limitée territorialement. Le « Territoire applicable » désigne le monde entier à l'exclusion des Territoires exclus, et les Territoires exclus sont l'Union européenne, le Royaume-Uni, la République de Corée et les États-Unis d'Amérique. Le texte de la licence invite toute personne se trouvant dans ces territoires à contacter MiniMax pour obtenir une licence « fondée sur des contrôles et des garde-fous solides », ce qui constitue une voie d'accès, non une autorisation.
En pratique : un groupe de recherche à Singapour, en Suisse, au Japon, en Inde, au Brésil ou au Canada peut le télécharger et l'exécuter dès aujourd'hui selon les conditions énoncées. Une équipe à San Francisco, Londres, Berlin ou Séoul ne le peut pas, à la lecture littérale du fichier, et ne devrait pas le découvrir au terme de deux semaines d'intégration. Cette asymétrie explique aussi pourquoi c'est la licence — et non le benchmark — qu'il faut vérifier avant de planifier quoi que ce soit.
Ce que vous pouvez réellement exécuter aujourd'hui
Le parcours hors ligne est documenté et court. Clonez le dépôt, créez deux environnements virtuels — un pour Realization, un pour la pile vocale —, téléchargez un bundle de base, copiez configs/inference.example.json vers configs/inference.json, faites-le pointer vers les poids et les deux exécutables Python, puis lancez run_demo.py --config configs/inference.json --port 4173. L’interface est une page navigateur à l’adresse /video/index.html.
Pour le streaming, le README renvoie à deux branches : vLLM-Omni, marquée comme recommandée, et SGLang-Omni. C'est le chemin que décrivent les chiffres de latence, et celui qui nécessite la configuration à huit GPU.
Deux mises en garde concernant ce que vous verrez. Les démos de la page du projet sont tirées de données d’entraînement et d’inférence hors ligne — c’est indiqué, et il est précisé que les résultats en temps réel en duplex intégral « seront ajoutés bientôt ». Et la publication est explicitement une préversion : « Duo v1 est une version préliminaire destinée aux chercheurs », prenant en charge une « conversation audiovisuelle de base », avec une v2 annoncée comme devant conditionner directement Realization à l’audio et à la vidéo de l’utilisateur pour l’interaction visuelle. Si ce qui vous intéresse est un modèle qui vous observe et réagit aux objets, cette capacité n’est pas incluse dans cette livraison.

Qui devrait s’en soucier cette semaine, et qui devrait attendre
• Recherche sur l’interaction en duplex intégral — il s’agit de la sortie ouverte la plus concrète de la catégorie : un article avec un budget de latence, une horloge de chunks, une recette de distillation et des poids qui se téléchargent réellement. La distillation à double rollout — dérouler le module Intent gelé, puis générer des médias à partir des sorties du modèle lui-même, plutôt qu’à partir d’un historique enregistré — est l’idée transférable, même si vous n’exécutez jamais Duo.
• Équipes qui conçoivent un avatar ou un produit compagnon — à lire ne serait-ce que pour le cadrage des 708 ms. C’est le chiffre qui détermine si une interjection donne l’impression d’une personne ou d’une latence, et c’est une contrainte de conception que vous pouvez adopter sans adopter le modèle.
• Les équipes dans les territoires exclus — attendez, et considérez la discussion sur les licences comme le chemin critique plutôt que le budget GPU.
• Tous ceux qui veulent une API — ce n'est pas cela. La fiche du modèle indique clairement qu'aucun fournisseur d'inférence ne le sert, et il n'existe aucun point de terminaison fournisseur.
Ce dernier point est celui où un routeur a honnêtement sa place, et celui où il ne l’a pas. OrcaRouter n’héberge pas Duo-1.0-causal-base et ne peut pas le router : une pile de diffusion à deux modules de 153 Go avec une horloge de chunks fixe de 708 ms n’est pas une cible de chat-completions, et aucun routage n’y changera rien. Ce qui est routable, c’est la solution de repli par tours que la plupart des équipes déploient pendant qu’une expérience duplex tourne derrière un flag — parole en entrée, un modèle de langage, parole en sortie. Le segment de sortie vocale peut être un modèle de synthèse vocale hébergé plutôt qu’un autre processus sur les mêmes deux GPU, et le faire via une seule API pour plus de 200 modèles, avec le prix catalogue du fournisseur répercuté à 0 % de marge, garde l’arithmétique des coûts inchangée quand un fournisseur modifie un prix. Le basculement automatique a sa place sur ces segments hébergés, pas sur celui auto-hébergé : il maintient une démo en vie lorsqu’un fournisseur vacille, et il n’apporte rien à une pile que vous exécutez sur votre propre matériel.
L'autre utilisation honnête est la discipline d'évaluation. Gardez le chemin de production sur des modèles que vous pouvez appeler, et traitez Duo-1.0-causal-base comme une expérience de banc d'essai avec une grille d'évaluation écrite — ce qui, étant donné que la seule grille existante a été appliquée par ses auteurs, est exactement ce qu'elle est.
Qu’est-ce qui changerait le verdict
Trois choses, par ordre croissant de l’importance qu’elles auraient.
Un tiers évaluant les six critères sur des prompts que l’équipe Duo n’a pas choisis. La grille d’évaluation est déjà publiée, ce qui rend cela peu coûteux à réaliser pour quelqu’un et coûteux pour le modèle si la réactivité au contenu est réellement de 73,3 % sur des cas inédits.
Un point de terminaison hébergé ou une recette de service qui ne présuppose pas huit GPU. La démo hors ligne sur deux GPU et l’affirmation de latence sur huit GPU sont toutes deux vraies, et c’est dans l’écart entre les deux que la plupart des lecteurs se situeront réellement.
Conditions de licence qui incluent les territoires exclus. Rien dans l’architecture ne change ce calcul, et aucune amélioration des benchmarks, quelle qu’en soit l’ampleur, ne le fait non plus.
D'ici là, la description exacte de Duo-1.0-causal-base est la suivante : un ensemble de recherche complet, sans restriction d'accès, de 153 Go, doté d'un véritable budget de latence et d'une évaluation auto-notée, publié sous la forme d'un article et d'un dépôt, avec une ligne d'actualité datée et aucun produit derrière. C'est plus qu'un preprint — les poids sont là et la démo tourne — et bien moins qu'un modèle sur lequel on peut planifier un trimestre. La question ouverte n'est pas de savoir si Duo peut tenir une conversation par tranches de 708 millisecondes. C'est de savoir si quelqu'un en dehors de l'équipe sera autorisé à vérifier.

