
ZwZ2-9B se lanzó sin hacer ruido: lo que 9.400 millones de pesos te dicen cuando el laboratorio no dice nada
- OrcaNUEVOOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 por 1M de tokens · 72 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952Inteligencia
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856Inteligencia
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 por 1M de tokens · 732 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Inteligencia
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Inteligencia
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Inteligencia
- xAIGrok 4.72026-09-2146Inteligencia
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 por 1M de tokens · 35 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 por 1M de tokens · 821 tok/s
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-09-1040Inteligencia
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Inteligencia77Código
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Inteligencia76Código
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Inteligencia76Código
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Inteligencia82Código
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 por 1M de tokens · 52 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 por 1M de tokens · 108 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Inteligencia72Código
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 por 1M de tokens · 185 tok/s
- z-aiZ.ai: GLM 5.32026-08-1845Inteligencia75Código
A las 03:42 UTC del 16 de octubre de 2026, apareció un repositorio de Hugging Face con el nombre inclusionAI/ZwZ2-9B. Cuatro minutos después recibió su único commit —«Añadir pesos del modelo ZwZ2-9B»— y luego nada. No hay README, ni campo de licencia, ni enlace a artículo, ni tabla de benchmarks, ni entrada en ninguna de las diez colecciones públicas que mantiene la organización inclusionAI. Los pesos en sí son 9.409.813.744 parámetros en bfloat16, y describen un modelo de visión-lenguaje con atención híbrida cuya configuración es, línea por línea, la de Qwen3.5-9B con una cabeza de predicción eliminada. Eso es todo lo que está confirmado. Todo lo demás en este artículo está etiquetado como inferencia, porque un repositorio sin tarjeta de modelo no da derecho a nadie a más.
Esto es normal, por cierto, y vale la pena decirlo antes de que se acumulen las advertencias. inclusionAI es el laboratorio de pesos abiertos detrás de las familias Ling, Ring, LLaDA y Ming, y tiene la costumbre de publicar checkpoints días o semanas antes de que aparezca cualquier texto. El 13 de octubre —tres días antes de esto— publicó Ling-3.1-flash con una tarjeta breve y sin ningún anuncio tampoco. Un repositorio silencioso no es una señal de alarma. Es una razón para leer los archivos en lugar del marketing.
¿Qué hay realmente en el repositorio?
Ocho archivos, y la lista es la historia. Hay un .gitattributes, un chat_template.jinja, un config.json, un generation_config.json, un único archivo de 18.8 GB model.safetensors, un processor_config.json, un tokenizer.json y un tokenizer_config.json. No hay README.md. No hay LICENSE. El repositorio tiene exactamente tres etiquetas — safetensors, qwen3_5 y region:us — lo que significa que el Hub no tiene ninguna etiqueta de pipeline para él: no está clasificado como image-text-to-text, text-generation ni nada más. En el momento de escribir esto, muestra cero descargas y dos me gusta.
• Parámetros totales — 9.409.813.744 en 760 tensores, bfloat16.
• Arquitectura — Qwen3_5ForConditionalGeneration, tipo de modelo qwen3_5.
• Pila de texto — 32 capas, tamaño oculto 4.096, 16 cabezas de consulta frente a 4 cabezas KV, dimensión de cabeza 256, tamaño intermedio 12.288, vocabulario 248.320.
• Patrón de atención — tres capas de atención lineal y luego una capa de atención completa, repitiéndose: 24 capas lineales y 8 capas de atención completa.
• Contexto — 262.144 posiciones, base rotatoria 10.000.000, M-RoPE intercalado con sección [11, 11, 10].
• Torre de visión — profundidad 27, tamaño oculto 1.152, tamaño de parche 16, fusión espacial 2, parche temporal 2, proyectando a 4.096.
• Licencia — ninguna declarada. No es apache-2.0, ni una licencia personalizada, nada.
La configuración es una configuración Qwen3.5-9B
Compara los dos config.json archivos y casi todos los valores arquitectónicos coinciden. Tamaño oculto, número de capas, número de cabezas, dimensión de cabeza, tamaño intermedio, vocabulario, la programación de atención lineal a completa 3:1, la sección M-RoPE, la base rotatoria, el techo de 262.144 posiciones, y toda la torre de visión hasta sus 2.304 embeddings de posición son idénticos a Qwen3.5-9B. La diferencia sustancial es una línea: mtp_num_hidden_layers es 1 en Qwen3.5-9B y 0 aquí, así que ZwZ2-9B no lleva ninguna cabeza de predicción multi-token. El resto de la diferencia es serialización — una versión más reciente de transformers que escribe campos que el archivo anterior dejaba implícitos, y el tipo de modelo de la configuración de visión renombrado de qwen3_5 a qwen3_5_vision.
Lo que eso te dice es limitado pero real: esta no es una arquitectura nueva. Es un checkpoint sobre el stack Qwen3.5-9B, postentrenado por alguien, con la cabeza de decodificación especulativa eliminada. Lo que no te dice es en qué consistió ese postentrenamiento. Los parámetros se movieron; la forma no.


El único lugar donde el modelo sí dice algo sobre sí mismo
La plantilla de chat es el único archivo aquí con un punto de vista, y difiere de Qwen3.5-9B en tres aspectos que un lector puede comprobar en aproximadamente un minuto.
El primero es un prompt de sistema predeterminado. Cuando llega una solicitud sin mensaje de sistema, la plantilla de ZwZ2-9B inyecta uno: «Una conversación entre Usuario y Asistente. El usuario hace una pregunta y el Asistente la resuelve… La respuesta se incluye entre las etiquetas <answer> </answer>». La plantilla de Qwen3.5-9B no tiene esa rama: simplemente no emite nada. Un prompt de sistema integrado que nombra un formato de salida es la firma de una ejecución de entrenamiento específica, no de un modelo base.
The second is the thinking default, and it is inverted. In Qwen3.5-9B the template emits an empty <think></think> block only when the caller explicitly passes enable_thinking: false, which means reasoning is on unless you turn it off. In ZwZ2-9B the condition is not defined or false — the empty block appears by default and the open <think> tag only when a caller explicitly asks for thinking. Same tags, opposite default. Qwen3.8-27B, for the record, kept the Qwen3.5 behaviour, so this is not simply inherited from a newer generation.
El tercero es llevar la cuenta para el razonamiento multiturno: la plantilla entiende un preserve_thinking indicador, y sabe cómo eliminar un <think> bloque de un turno del asistente que ya contiene uno. Ninguno de los dos existe en la plantilla Qwen3.5-9B. El tokenizador, por cierto, todavía reserva los tokens especiales de audio — <|audio_start|>, <|audio_end|>, <|audio_pad|> — pero no hay ninguna torre de audio en ningún lugar de la configuración, así que considéralo vocabulario compartido del tokenizador en lugar de una capacidad.
Lo que el nombre implica, y lo que no
"ZwZ2" se lee como una segunda generación de algo, y hay una primera generación a la que señalar. ZwZ-2B, publicado el 4 de marzo de 2026, es un fine-tune de Qwen3-VL-2B-Instruct entrenado con Region-to-Image Distillation más aprendizaje por refuerzo, publicado junto con el artículo Zooming without Zooming (arXiv 2602.11858) y el conjunto de evaluación ZoomBench. Es Apache-2.0, tiene una ficha de modelo completa y tiene 159 descargas en siete meses.
La pista de linaje, sin embargo, es más tenue de lo que sugiere el nombre. ZwZ-2B está construido sobre la qwen3_vl arquitectura. ZwZ2-9B está construido sobre qwen3_5. La única etiqueta que inclusionAI aplicó es qwen3_5, y el modelo no está en la colección ZwZ ni en ninguna otra. Si la receta de región a imagen se conservó es exactamente el tipo de pregunta que respondería una ficha de modelo y este repositorio no lo hace.
Una trampa que vale la pena señalar, porque los motores de búsqueda llevarán a la gente hacia ella: existe una familia más antigua y no relacionada, ZwZ_32B, de conversiones GGUF fechada en marzo de 2025, de un tercero. Comparte tres letras y nada más. No la interpretes como un ZwZ2-9B anterior.
Cómo tratar un checkpoint no documentado
La postura práctica es la misma que adoptarías con cualquier conjunto de pesos que llegue sin una tarjeta. Extrae primero la configuración y el encabezado de safetensors: eso es barato y es verificable. Confirma que el número de parámetros y los nombres de los tensores coincidan con lo que promete la configuración. Luego sírvelo en un framework que soporte la arquitectura y ejecuta las evaluaciones que ya ejecutas sobre tu propio tráfico, en lugar de tomar prestados números que no existen.
La licencia es la parte que importa para todo lo que vaya más allá de un fin de semana. Un checkpoint sin campo de licencia no es lo mismo que uno abierto; en ausencia de una declaración, lo predeterminado es que el publicador se ha reservado los derechos, y esa es una conversación que hay que tener antes de que esto se acerque a producción, no después. Ten en cuenta también que lo vas a ejecutar tú mismo: el Hub informa que ningún proveedor sirve el modelo, y el vendedor no ha publicado ningún endpoint.
Esa es precisamente la situación para la que existe la conmutación automática por error. Si quieres medir un checkpoint no probado frente al que ya está en uso sin apostar por él una ruta de producción, coloca al candidato detrás de la misma interfaz que los modelos en los que ya confías y deja que el tráfico vuelva cuando el nuevo se comporte mal: una sola clave de API y un único endpoint compatible con OpenAI, en lugar de una segunda integración que tengas que deshacer. OrcaRouter enruta más de 200 modelos de esa manera, traslada los precios de lista de los proveedores sin margen de beneficio (0 %), y no aloja ZwZ2-9B: no vamos a pretender que exista una entrada de catálogo para él. Lo que podemos ofrecer hoy es la familia sobre la que se construyó y la familia a la que reemplaza: la línea Qwen3.5 es enrutable aquí, incluidos qwen/qwen3.5-35b-a3b y qwen/qwen3.5-flash, y qwen/qwen3-vl-8b-instruct cubre el hueco de visión de 8B con un modelo alojado y documentado a $0,18 por millón de tokens de entrada y $0,70 por millón de salida.

¿Qué haría falta para convertir esto en un lanzamiento?
Tres cosas, y cualquiera de ellas justificaría una reescritura de esta pieza. Un campo de licencia que aparezca en el repositorio, lo que lo convierte de una curiosidad en algo que una empresa puede usar. Una ficha de modelo con números de evaluación, lo que lo convierte de una arquitectura en una afirmación. O un artículo —siendo la forma más probable el trabajo de región a imagen que hizo interesante al primer ZwZ, aplicado a una torre de visión tres veces más grande.
Hasta que uno de esos se materialice, trata a ZwZ2-9B como lo que el listado de archivos dice que es: un derivado de Qwen3.5-9B de 9,4 mil millones de parámetros con una plantilla de chat personalizada, publicado por un laboratorio que aún no le ha dicho a nadie por qué. Los pesos son reales. La historia aún no está escrita, y la postura honesta es que nadie fuera de inclusionAI puede escribirla.
Nada de eso es hipotético: los fallos documentados de IA y los incidentes de agentes detrás de lanzamientos como este se recopilan en el OrcaRouter AI Incident Archive, donde cada entrada incluye sus propias fuentes, severidad, grado de confianza e indicador de disputa.
