Optimizando la arquitectura dual RTX 3060 y 3090 para MiniMax H3

Introducción

Hemos estado analizando cómo ejecutar generación de video con MiniMax H3 en una configuración dual de tarjetas gráficas: una RTX 3060 de 12 GB y una RTX 3090 de 24 GB. El objetivo era asignar la carga pesada del modelo a la 3090, mientras que la 3060 se encargaba exclusivamente del encoder Qwen.

Estrategia inicial

Al principio, exploramos varias opciones de cuantización para el modelo Qwen3-VL-32B. Consideramos versiones como `UD-IQ3_XXS` y `UD-IQ2_XXS`, intentando encontrar una que cabiera dentro de los 12 GB de VRAM sin saturar la tarjeta gráfica.

Esquema técnico mostrando dos tarjetas gráficas conectadas a un sistema de IA, con la RTX 3060 a la izquierda y la RTX 3090 a la derecha.
La estrategia inicial de distribución del trabajo entre ambas GPUs para manejar el modelo MiniMax H3.

Esta estrategia se basaba en confiar en que el archivo GGUF podría ajustarse a la memoria disponible, separando las cargas de trabajo entre ambas GPUs para mantener un rendimiento óptimo.

Análisis del error

Sin embargo, al ejecutar el workflow en ComfyUI 0.37.0, apareció un error crítico: `Cannot copy out of meta tensor; no data!`. Al investigar la pila de trazas y los logs de memoria, descubrimos que el modelo nativo `MiniMaxH3TEModel_` estaba intentando cargar dinámicamente aproximadamente 11.6 GB directamente en la GPU.

Este comportamiento fue revelador: significaba que ComfyUI no respetaba nuestra intención de mantener el encoder ligero en la RTX 3060, sino que estaba consumiendo todo el VRAM disponible para intentar cargar el modelo completo.

Gráfico detallado mostrando un error de memoria VRAM y el modelo MiniMaxH3TEModel consumiendo espacio innecesariamente.
El log de ComfyUI revelando que el modelo nativo estaba cargando demasiado peso en la tarjeta gráfica.

La limitación no era solo la memoria, sino cómo el software gestionaba los tensores durante la carga dinámica del modelo.

Solución final

Dado que cargar un encoder de 32B resultaba demasiado pesado para nuestra arquitectura dual, decidimos cambiar de estrategia. En lugar de usar una versión cuantizada grande, optamos por implementar el modelo Qwen3-VL-4B junto con una matriz de proyección específica `mmh3-4b-*`.

Esta combinación reduce significativamente el peso del encoder, pasando de los 15 GB a aproximadamente 5 GB, lo que permite alojarlo cómodamente en la RTX 3060 sin provocar errores de VRAM ni bloquear el sistema.

Representación visual de un modelo Qwen3-VL-4B más pequeño conectado a una matriz de proyección mmh3-4b para reducir su peso total.
La solución final: un encoder 4B con una matriz de proyección que reduce el peso del modelo en la RTX 3060.

Este enfoque nos permite mantener la RTX 3090 dedicada exclusivamente al procesamiento pesado de la generación de video, garantizando que ambas tarjetas trabajen en paralelo sin conflictos.

Conclusión

Hemos concluido que la clave para ejecutar MiniMax H3 en esta configuración dual reside en evitar el uso del modelo nativo `MiniMaxH3TEModel_` y adoptar una arquitectura de modelos más pequeños con proyecciones eficientes.

Diagrama limpio mostrando la arquitectura optimizada con la RTX 3060 manejando el encoder ligero y la RTX 3090 dedicándose al sampling.
El flujo de trabajo optimizado y final que permite ejecutar MiniMax H3 sin errores en esta configuración dual.

El resultado es un flujo de trabajo optimizado que aprovecha al máximo el hardware disponible, evitando errores de memoria y permitiendo una generación estable.