DEV Community

Juan Torchia
Juan Torchia Subscriber

Posted on • Originally published at juanchi.dev

Qwen3 en local con Ollama: qué cambió en la arquitectura y si vale el cambio

Qwen3 en local con Ollama: qué cambió en la arquitectura y si vale el cambio

En 2005, cuando administraba el cyber a los 16, aprendí algo que todavía aplico: no cambies lo que funciona hasta que puedas demostrar que lo nuevo lo supera en tu escenario. No en el benchmark de otro. No en el anuncio del fabricante. En el tuyo. Cada vez que actualizábamos algo sin criterio, alguien terminaba diagnosticando un corte de conexión a las 11pm con el local lleno de pibes esperando para jugar.

Hoy veo lo mismo cuando sale un modelo nuevo. Sale Qwen3, Twitter explota, y la pregunta que nadie se hace es la única que importa: ¿vale la pena reemplazar el modelo que ya tenés en Ollama, o es más hype que sustancia?

Mi tesis es esta: Qwen3 es genuinamente interesante para inferencia local, pero no por las razones que circulan en los hilos virales. El thinking mode activable por prompt no es "más inteligencia", es un control explícito sobre cuándo pagás el costo de tokens extra a cambio de trazabilidad. Esa es la diferencia real con Llama 3.1/3.2, y es la que determina si migrar tiene sentido para tu pipeline específico, no un promedio de benchmarks que armó el propio equipo de Alibaba.


Qwen3 en Ollama: qué dice la arquitectura (y qué no dice)

Qwen3 está disponible en Ollama (ollama.com/library/qwen3) en múltiples tamaños: 0.6B, 1.7B, 4B, 8B, 14B, 30B-A3B (MoE), 32B y 235B-A22B (MoE). Eso ya es una señal: el equipo de Qwen no apunta solo al extremo de performance, sino al rango de modelos que un desarrollador puede correr en hardware razonable.

Lo que el blog oficial de Qwen y la model card en Hugging Face documentan:

  • Thinking mode activable por prompt: Qwen3 soporta razonamiento explícito (cadena de pensamiento) que se puede activar o desactivar según el caso de uso. Sirve en pipelines donde necesitás trazabilidad del razonamiento, sin mantener dos modelos distintos.
  • Variantes MoE (Mixture of Experts): los modelos 30B-A3B y 235B-A22B activan solo una fracción de parámetros por inferencia. En papel, eso reduce el costo computacional para el tamaño total del modelo.
  • Soporte multilingüe extendido: el equipo declara soporte para 119 idiomas, incluyendo español. Relevante para agentes hispanohablantes.
  • Mejoras en razonamiento y código: las comparativas publicadas por el equipo de Qwen muestran resultados sólidos en benchmarks de código y matemáticas frente a modelos de generaciones anteriores.

Qué no dice esa evidencia: los benchmarks publicados son los que el propio equipo seleccionó. No tengo logs propios de producción con Qwen3, y no los voy a inventar. Lo que sí puedo hacer es darte un criterio técnico reproducible para que decidas con tu propia medición.


Dónde se equivoca la gente al adoptar un modelo nuevo

El error más común no es técnico: es de criterio. El patrón que veo repetirse en foros y en charlas de pasillo:

  1. Sale un modelo nuevo con benchmarks llamativos.
  2. Alguien lo prueba con un prompt suelto y "anda bien".
  3. Lo meten en el pipeline sin baseline claro.
  4. En algún punto algo empieza a fallar en producción de forma rara, y nadie puede afirmar con certeza si fue el cambio de modelo o el contexto que se armó distinto. Es una hipótesis de manual, no un log que tenga yo: si migrás sin comparar antes/después con los mismos prompts, perdés la capacidad de diagnosticarlo cuando pase.

Para un pipeline de agentes con TypeScript y Ollama, el costo oculto de cambiar de modelo es más alto de lo que parece:

  • Cambios en el formato de output: Qwen3 puede generar tokens de <think>...</think> cuando el thinking mode está activo. Si el parser del agente no espera ese bloque, va a romper el JSON o el texto que consume el downstream.
  • Context window diferente: Qwen3-8B declara una context window de 128K tokens según la model card. Si el pipeline asume un límite menor, puede comportarse distinto de formas sutiles.
  • Temperatura y sampling: cada modelo tiene un espacio de sampling diferente. Lo que funcionaba con Llama 3.1 con temperature: 0.7 no se transfiere directamente.
// Un punto de control básico antes de migrar modelos en un pipeline Ollama
// No es una garantía, es un checklist de fricción mínima

const modelConfig = {
  model: "qwen3:8b",
  // Desactivar thinking mode si no necesitás trazabilidad explícita
  options: {
    temperature: 0.6,
    num_ctx: 8192, // Arrancá conservador, no asumas que 128K es gratis en RAM
  },
  // Si el pipeline parsea JSON estructurado, añadí validación de bloques <think>
};

// Antes de deployar: corré el mismo conjunto de prompts con el modelo anterior
// y con Qwen3, y comparás outputs. Sin baseline, no hay decisión.
Enter fullscreen mode Exit fullscreen mode

El thinking mode de Qwen3 es real y útil, pero requiere que el pipeline lo maneje explícitamente. Si no lo hacés, estás pagando el costo de tokens extra sin capturar el beneficio. Eso es lo incómodo que nadie menciona en los hilos de lanzamiento: la ventaja no es gratis, hay que codearla.


Matriz de decisión: cuándo tiene sentido cambiar a Qwen3

Esta es la herramienta que me resulta más útil cuando evalúo un cambio de modelo. No es evidencia de producción propia, es criterio técnico prudente basado en lo que la documentación pública permite afirmar.

Escenario ¿Qwen3 suma? Razón
Agente que necesita razonamiento trazable Sí, probá Thinking mode activable por prompt es una ventaja real
Pipeline de generación de código TypeScript/Python Sí, probá Las mejoras en código están documentadas
Agente que parsea JSON estricto sin capa de validación No todavía Los tokens <think> pueden romper el parser
Pipeline hispanohablante con Llama 3.1 que ya funciona Evaluá primero El salto no es garantizado sin baseline propio
Hardware con menos de 16GB RAM y modelo 8B Con cuidado 128K context window tiene costo de memoria real
Caso de uso con modelo MoE (30B-A3B) en hardware limitado Probá en local antes MoE reduce cómputo activo, pero RAM total sigue alta

La lógica detrás de cada fila: si el thinking mode es relevante para el caso de uso, Qwen3 tiene una ventaja concreta. Si el pipeline ya funciona y no necesitás esa capacidad, el riesgo de migración supera el beneficio esperado sin datos propios.

Esto conecta con algo que ya planteé en el post sobre Node.js y el event loop: los cambios de runtime o modelo se evalúan en contexto, no en abstracto. La abstracción es cómoda para escribir un thread, pero no paga las cuentas cuando el agente falla a las 3am.


Límites honestos: qué no podés concluir con esta evidencia

Antes de cerrar, necesito ser explícito sobre lo que esta evidencia no permite afirmar:

  • No sé si Qwen3 es "mejor" que Llama 3.1/3.2 en tu pipeline: eso depende del caso de uso, los prompts, el hardware y cómo está estructurado el agente. Los benchmarks publicados son orientativos, no decisivos.
  • No sé el consumo de RAM real en tu setup: el modelo 8B con context window grande puede exceder lo que sugiere el spec técnico dependiendo del backend de Ollama y el sistema operativo.
  • No sé si el thinking mode va a ayudar o molestar: en pipelines que esperan outputs cortos y estructurados, los tokens de razonamiento pueden ser ruido costoso. En pipelines donde la calidad del razonamiento importa más que la latencia, pueden valer la pena.
  • Los benchmarks de Alibaba los eligió Alibaba: eso no los invalida, pero es un dato para pesar la evidencia.

Si querés validar, el camino reproducible es: levantás Qwen3 en local con Ollama, corrés el mismo conjunto de prompts de tu pipeline con el modelo anterior y con Qwen3, y comparás. Sin eso, cualquier conclusión es especulación con formato de post técnico.

Esto también aplica a decisiones de infraestructura más amplias, como cuando discutí qué exponer y qué ocultar en Spring Boot Actuator: el principio es el mismo, no cambies lo que no mediste.


FAQ: Qwen3, Ollama e inferencia local

¿Cómo instalo Qwen3 en Ollama?
Con un comando: ollama pull qwen3:8b. Reemplazá 8b con el tamaño que corresponda a tu hardware. Los tamaños disponibles están en ollama.com/library/qwen3. Para el 8B necesitás al menos 8-10GB de RAM libre dependiendo del sistema.

¿Qué es el thinking mode de Qwen3 y cómo lo activo?
Es la capacidad del modelo de generar una cadena de razonamiento explícita antes de dar la respuesta final. Se activa incluyendo /think en el prompt o mediante parámetros del sistema según la documentación oficial. Los tokens de razonamiento aparecen en bloques <think>...</think> y el pipeline los tiene que manejar si los espera.

¿Qwen3 es mejor que Llama 3.1 para agentes en TypeScript?
Depende del caso de uso. Para razonamiento complejo y código, las comparativas publicadas son favorables. Para pipelines que ya funcionan con outputs estructurados y no necesitan trazabilidad de razonamiento, el salto no es automáticamente positivo. Evaluá con baseline propio antes de migrar.

¿Los modelos MoE de Qwen3 son viables en hardware de consumo?
El 30B-A3B activa aproximadamente 3B parámetros por inferencia, lo que reduce el cómputo activo, pero la RAM necesaria para cargar el modelo completo sigue siendo significativa. No es un modelo de 3B en consumo de memoria. Revisá los requerimientos antes de asumirlo como opción liviana.

¿Qwen3 soporta español bien?
El equipo de Qwen declara soporte para 119 idiomas incluyendo español en el blog oficial. En la práctica, el soporte multilingüe en modelos abiertos varía según el dominio y el tipo de tarea. Para pipelines hispanohablantes, el baseline propio sigue siendo necesario.

¿Conviene esperar a que la comunidad pruebe Qwen3 o lo instalo ya?
Si tenés un caso de uso específico donde el thinking mode o la calidad en código son relevantes, instalarlo y probarlo localmente tiene costo casi nulo. Si el pipeline ya funciona y el driver del cambio es "el modelo nuevo salió", esperá a tener un criterio más concreto.


Cierre: la decisión que importa

Qwen3 es un modelo genuinamente interesante. El thinking mode activable, las variantes MoE y el soporte multilingüe documentado son mejoras reales, no marketing vacío. Si tenés un pipeline donde el razonamiento trazable importa, vale la pena probarlo.

Pero "vale la pena probarlo" no es lo mismo que "cambiá el setup de golpe". La pregunta que me hago cada vez que sale un modelo nuevo es la misma que aprendí a hacerme diagnosticando cortes de conexión en el cyber: ¿qué problema concreto resuelve esto mejor que lo que tengo hoy? Si la respuesta es específica, el cambio tiene sentido. Si la respuesta es "los benchmarks son mejores", eso no alcanza, y lo digo habiendo migrado sistemas por peores razones que esa.

Para los pipelines de agentes hispanohablantes con Llama 3.1 o 3.2 que ya funcionan: levantá Qwen3 en paralelo, corré el mismo conjunto de prompts, comparás. Sin eso, cualquier decisión es ruido. Y el ruido cuesta tiempo que podrías estar invirtiendo en otra cosa. La pregunta incómoda que dejo sobre la mesa: ¿estás migrando porque el modelo resuelve algo que el actual no resuelve, o porque te da vergüenza seguir usando "el viejo"?

Si querés seguir explorando pipelines de IA desde criterio técnico y no desde hype, el post sobre cómo visualizar modelos ML con Netron es un buen complemento: misma filosofía, otro ángulo.


Fuentes originales:


Este artículo fue publicado originalmente en juanchi.dev

Top comments (0)