RelayVSR mete el escalado de vídeo 4x en una tarjeta de 24 GB: seis fotogramas clave de 72

RelayVSR llevó un clip de 480p a 3416 x 1920 a 7,3 fotogramas/s de tiempo de GPU en una RTX 4090, con un pico de 20,4 GiB de sus 24 GB.

Seis fotogramas de 72. Es todo lo que tuvo que dibujar el modelo grande de RelayVSR para convertir un clip de película de 3 segundos en 480p en vídeo de 3416 x 1920 en una sola RTX 4090 de nuestra nube. Una red pequeña rellenó el resto. Entre los dos modelos necesitaron unos 10 segundos de tiempo de GPU, 7,33 fotogramas por segundo, con un pico de 20,4 GiB de los 24 GB de la tarjeta. Para quien despliega modelos, esto lleva el escalado de vídeo 4x de una tarjeta de centro de datos a una tarjeta gaming de 24 GB. Una RTX 3090, más antigua, hizo el mismo trabajo a más o menos la mitad de velocidad. Lo que puedes hacer hoy con él: ejecutarlo en una tarjeta de 24 GB propia, dejar la separación de fotogramas clave por defecto para caras y movimiento rápido, y mandar clips cortos, porque la parte lenta de la petición es la CPU, no la GPU.

Fotograma 47 de 72 de un clip de Tears of Steel, 854 x 480 de entrada y 3416 x 1920 de salida en una RTX 4090, recorte de la cara. A la izquierda, ventana 16, una referencia cada 15 fotogramas, 7,3 fotogramas por segundo: recuadro verde azulado sobre una cara nítida, con la etiqueta "sharp: reference 2 frames back". A la derecha, ventana 32, una referencia cada 31 fotogramas, 9,1 fotogramas por segundo: recuadro rojo sobre la misma cara, más blanda, con la etiqueta "soft: nearest reference 15 frames away". Clip: Tears of Steel (CC) Blender Foundation, mango.blender.org, CC BY 3.0

Clip: Tears of Steel (CC) Blender Foundation, mango.blender.org, CC BY 3.0.

Un animador principal y un intercalador

RelayVSR toma prestado el truco más viejo de la animación dibujada a mano. Un animador principal dibuja las poses clave, y los intercaladores dibujan los fotogramas que las unen.

Aquí el animador principal es un generador de referencias adaptado de Wan2.2, un modelo de vídeo abierto de Wan-AI. Dibuja una versión detallada de un fotograma de cada 15, los fotogramas clave. El intercalador es una red pequeña diseñada por los propios autores, de 32 millones de parámetros frente a los 5B del modelo grande. Escala todos los fotogramas, mirando el vídeo de baja resolución y los fotogramas clave detallados que tiene a cada lado. La mayoría de los fotogramas no pasan nunca por el modelo grande, y por eso basta con una tarjeta.

El trabajo es de Xijun Wang, Xin Li, Zirui Lang, Suhang Yao, Haoran Li y Zhibo Chen, de la Universidad de Ciencia y Tecnología de China. Publicaron el paper el 29 de septiembre de 2026, con el código en GitHub y los pesos en Hugging Face. Wan2.2 y los dos ficheros de pesos de RelayVSR son Apache-2.0, una licencia abierta que permite uso comercial. La descarga ocupa unos 10,2 GB. Lo vimos en el vídeo de noticias de AI Search del 8 de noviembre. Nuestra parte: un backend que lo sirve como API, las pruebas de velocidad y la prueba de la tarjeta más pequeña.

Los autores dan 29,29 fotogramas por segundo a 1080p en una A100, una tarjeta de centro de datos, con 13,82 GB de memoria. El rival más rápido de su tabla da 23,48 con 31,36 GB. Son sus cifras, no las nuestras.

Lo que hizo una RTX 4090

Una RTX 4090, clip de 3 segundosFotogramas por segundo de tiempo de GPUPico de memoria de GPU
Entrada 480p, salida 3416 x 1920, fotograma clave cada 157,3320,4 GiB
Igual, fotograma clave cada 319,1020,4 GiB
Entrada 270p, salida 1920 x 1080, fotograma clave cada 1523,913,1 GiB

El clip eran 72 fotogramas de Tears of Steel, el cortometraje abierto de la Blender Foundation, reducido a 480p. La salida casi 4K fue unas tres veces más lenta que la reproducción de la película. A 1080p la 4090 llegó a cerca del 80% de la cifra de los autores en la A100.

La salida es claramente más nítida que un escalado bicúbico normal, el filtro estándar para cambiar el tamaño. Caras, pelo, barba y la tela de una chaqueta ganan un detalle convincente. Ese detalle es generado, verosímil pero no recuperado, así que revísalo antes de usarlo donde importe la fidelidad.

Separar el doble los fotogramas clave es un ajuste por petición. Dio cerca de un cuarto más de velocidad, 9,10 fotogramas por segundo en vez de 7,33. La imagen de arriba muestra el precio. En el fotograma 47 el fotograma clave más cercano estaba a 15 fotogramas, en mitad de un giro de cabeza, y la cara se volvió blanda. Con la separación por defecto, el último fotograma clave estaba 2 fotogramas atrás y la cara se mantuvo nítida.

Qué tarjeta, y en qué se va de verdad el tiempo

La tarjeta real más pequeña que funcionó fue una de 24 GB. Intentamos alquilar una tarjeta real de 16 GB en nuestra nube, y todas las opciones que probamos estaban agotadas. Así que limitamos cuánta memoria de la 4090 podía usar el modelo. Con un presupuesto de 16 GB, solo entró la combinación de 270p de entrada y 1080p de salida, con una salida idéntica a la de la ejecución sin límite. Con 12 GB no entró nada: el modelo grande solo ya ocupa 9,6 GiB.

En InferenceKey el modelo estaba sirviendo 71,2 segundos después de pedirlo, con los pesos ya en el disco local de la máquina. No hay nada integrado que sirva un escalador de vídeo, así que escribimos un backend propio: un pequeño fichero Python que le dice a la plataforma cómo cargar el modelo y responder a las peticiones. Ejecuta una versión fijada del código de los autores con sus ajustes. Esto corrió en una copia local de nuestro stack, no en el servicio alojado.

Un clip de 72 fotogramas a 1920p tardó de 26 a 41 segundos desde la petición hasta la respuesta, para 8 a 10 segundos de trabajo de GPU. El resto fue el procesador comprimiendo 72 fotogramas grandes en un MP4, dos veces, para que la respuesta quepa en un solo mensaje de 8 MB. A 1080p el viaje completo tardó de 6,4 a 7,2 segundos. Estado: pendiente. Devolver un enlace de descarga quitaría la segunda pasada, y el README del ejemplo dice que los vídeos largos se manden en trozos de 2 a 3 segundos.

A quién le importa

  • Equipos que escalan de 480p a casi 4K en su propio hardware: una tarjeta de 24 GB, una 4090 o, a la mitad de velocidad, una 3090.
  • Salida a 1080p desde clips de baja resolución: un presupuesto de 16 GB bastó en nuestra prueba emulada.
  • Caras y movimiento rápido: mantén un fotograma clave cada 15.
  • Escenas lentas, donde lo que más importa es la velocidad: uno cada 31 es cerca de un cuarto más rápido.
  • Audio: no se copia, así que vuelve a ponerlo tú.

El límite honesto: comparamos fotogramas fijos de un solo clip limpio, y solo contra el bicúbico, así que es una comprobación visual, no un benchmark de calidad, y el material antiguo o dañado está sin probar.

Consulta las tablas de velocidad, la escalera de memoria y la comparación fotograma a fotograma en la prueba completa de RelayVSR.