Blog

Escalado con IA gratis en un servidor GPU: Upscayl, Real-ESRGAN y Video2X a prueba

Ejecutamos el motor de Upscayl (Real-ESRGAN) y Video2X en un servidor en la nube con una Intel UHD 770 compartida, y luego solo en la CPU. La GPU fue de 1,2 a 1,8 veces más rápida que 4 vCPU y 2,2 veces más rápida que 2 vCPU usando casi nada de CPU, y Video2X fue de 4 a 6 veces más rápido que en la CPU. Cifras reales, recortes de antes y después, y los comandos.

Escalado con IA gratis en un servidor GPU: Upscayl, Real-ESRGAN y Video2X a prueba

El escalado con IA convierte una imagen pequeña o borrosa en una más grande y más nítida: el modelo no se limita a estirar los píxeles, sino que vuelve a dibujar los detalles finos como el pelo, el pelaje o los bordes de un dibujo. Las herramientas de pago como Topaz lo hacen bien, y los escaladores en línea lo hacen con límites de subida, colas o marcas de agua. Las herramientas gratuitas y de código abierto son igual de fáciles de encontrar: Upscayl (una aplicación de escritorio basada en Real-ESRGAN) y Video2X para vídeo, que también hace interpolación de fotogramas con RIFE y filtros Anime4K.

Todas funcionan con Vulkan, así que quieren una GPU. Por eso nos preguntamos: en un servidor en la nube con una GPU Intel compartida, ¿cuánto aporta de verdad la GPU frente a la CPU del mismo servidor? Usamos los binarios oficiales, las mismas imágenes y el mismo vídeo, y medimos el tiempo, la CPU y la memoria.

Tres recortes del mismo ojo: una foto de 512 píxeles ampliada 4 veces con escalado bicúbico, la misma foto ampliada con Real-ESRGAN en la GPU y la foto original en alta resolución
Una foto de 512 × 512 ampliada 4 veces. Izquierda: escalado bicúbico clásico. Centro: Real-ESRGAN (modelo x4plus) en la GPU Intel, 25 segundos. Derecha: la foto original en alta resolución, como referencia. Foto: Orren Jack Turner, 1947, dominio público (Wikimedia Commons).

Resultados de un vistazo

  • Imágenes: la GPU es más rápida y deja libre la CPU. Ampliar 4 veces una foto de 512 píxeles tardó 24,9 s en la GPU frente a 34,0 s en 4 vCPU (1,4 veces más rápido) y 55 s en 2 vCPU (2,2 veces más rápido). La prueba en GPU usó 0,1 vCPU; la prueba en CPU mantuvo ocupadas 3,8 vCPU.
  • Las imágenes grandes necesitan memoria en la CPU. Una foto 1080p ampliada a 8K tardó 189 s en la GPU y 234 s en la CPU, y la prueba en CPU llegó a un pico de 11,8 GB de RAM (1,2 GB con la GPU).
  • Video2X no tiene modo CPU. Forzado a la CPU mediante Vulkan por software, fue de 4 a 6 veces más lento: Anime4K a 1080p funcionó a 12,2 fotogramas por segundo en la GPU frente a 1,9, y la duplicación de fotogramas con RIFE a 7,3 frente a 1,1.
  • Real-ESRGAN en vídeo es lento, incluso en la GPU. El modelo de vídeo rápido procesó 0,65 fotogramas por segundo: unos 8 minutos para un clip de 10 segundos. Bien para un clip corto o un lote por la noche, no para una película.
  • Seamos honestos con el hardware. Una GPU integrada es mucho más lenta que una tarjeta RTX de escritorio. La idea es un servidor de 14,99 € que hace el trabajo sin tener la CPU ocupada.

Configuración de la prueba

ElementoValor
ServidorDebian 13, Linux 7.3, Intel UHD 770 (GPU compartida), 4 vCPU, 12 GB de RAM
Imágenes, GPUupscayl-bin 20251207 (el motor al que llama la aplicación Upscayl, versión oficial) con los modelos de Real-ESRGAN, Vulkan (Mesa 25.0.7), tamaño de tesela por defecto
Imágenes, CPUel código PyTorch oficial de Real-ESRGAN (inference_realesrgan.py, PyTorch 2.15 CPU, fp32, 4 hilos; 2 hilos fijados a 2 vCPU para el resultado «2 vCPU»)
VídeoVideo2X 6.4.0 (AppImage oficial), salida H.264 (libx264, CRF 18). CPU: el mismo Video2X sobre el Vulkan por software de Mesa (llvmpipe), más el script de vídeo PyTorch oficial para Real-ESRGAN
Imágenestres fotos de 512 × 512, una foto de 1920 × 1080, un fotograma de dibujos animados de 854 × 480
Vídeo10 s de Big Buck Bunny a 854 × 480, 30 fotogramas por segundo (300 fotogramas)
Medicionestiempo real incluida la carga del modelo y la escritura del archivo, tiempo de CPU y pico de memoria con /usr/bin/time

Las cifras de CPU están en vCPU (1,0 = un núcleo completo). La GPU se comparte con otros servidores: comprobamos que no la usaba nadie más durante las pruebas que mostramos aquí (ver «Límites»).

Material de prueba: fotos de Wikimedia Commons (Albert Einstein por Orren Jack Turner, dominio público; Buzz Aldrin por la NASA, dominio público; un gato por Alvesgaspar, CC BY-SA 3.0) y Big Buck Bunny (© Blender Foundation, CC BY 3.0).

1. Imágenes: Real-ESRGAN con el motor de Upscayl

Gráfico de barras: segundos por imagen para Real-ESRGAN 4x en la GPU y en 4 vCPU, para una foto de 512 píxeles, un fotograma de dibujos animados y un fotograma de vídeo
Segundos por imagen, ampliada 4 veces, incluida la carga del modelo. Verde: la GPU Intel con upscayl-bin. Naranja: el código PyTorch oficial en las 4 vCPU del mismo servidor.
ImagenModeloGPUCPU, 4 vCPUCPU, 2 vCPU
Foto 512 × 512 → 2048 × 2048RealESRGAN x4plus24,9 s, 0,1 vCPU, 1,0 GB34,0 s, 3,8 vCPU, 4,1 GB55,0 s
Foto 1920 × 1080 → 7680 × 4320RealESRGAN x4plus189 s, 0,03 vCPU, 1,2 GB234 s, 4,0 vCPU, 11,8 GB—
Fotograma de dibujos animados 854 × 480 → 3416 × 1920x4plus-anime12,9 s, 0,1 vCPU, 0,4 GB17,9 s, 3,6 vCPU, 6,0 GB—
Fotograma de vídeo 854 × 480 → 3416 × 1920animevideov3 (rápido)2,2 s, 0,6 vCPU4,0 s, 2,4 vCPU, 0,9 GB—

El tiempo de la foto es la mediana de tres fotos distintas; todas tardaron entre 24,8 y 25 segundos en la GPU.

Qué significa:

  • Frente a las 4 vCPU, la GPU es de 1,2 a 1,8 veces más rápida. Es una mejora real, no un milagro: el modelo de fotos de Real-ESRGAN es pesado, y cuatro núcleos de CPU modernos no son lentos.
  • Frente a 2 vCPU, el tamaño de nuestro plan Start, la GPU es 2,2 veces más rápida. La GPU no se reduce con el plan; la CPU sí.
  • La GPU deja libre el servidor. Durante una prueba en GPU, la CPU del servidor se queda en unos 0,1 vCPU: puedes ejecutar una aplicación web, una galería o un segundo trabajo al mismo tiempo. En la CPU, el escalado se lo lleva todo.
  • Memoria. Sin dividir en teselas, el código PyTorch necesitó 11,8 GB de RAM para la foto 1080p. En un servidor de 8 GB también tendrías que dividir la imagen en teselas en la CPU, lo que la hace aún más lenta.
Tres recortes de la cara de un gato: ampliación bicúbica 4x, Real-ESRGAN 4x en la GPU y la foto original
La misma prueba con un gato: bicúbico (izquierda), Real-ESRGAN x4plus en la GPU (centro), foto original (derecha). Real-ESRGAN devuelve un pelaje y unos bigotes nítidos; también inventa algo de detalle, así que compara con el original cuando importe la exactitud. Foto: Alvesgaspar, Wikimedia Commons, CC BY-SA 3.0.
Dos recortes de una ardilla de dibujos animados: ampliación bicúbica 4x a la izquierda, Real-ESRGAN animevideov3 en la GPU a la derecha con contornos más nítidos
Un fotograma de dibujos animados en 480p ampliado 4 veces: bicúbico (izquierda) y el modelo de vídeo rápido de Real-ESRGAN en la GPU (derecha, 2,2 s). Líneas limpias, colores planos. Big Buck Bunny, © Blender Foundation, CC BY 3.0.

2. Vídeo: Video2X con Real-ESRGAN, Anime4K y RIFE

Video2X lee un vídeo, pasa cada fotograma por un filtro en la GPU y codifica el resultado con FFmpeg. Ofrece tres tipos de trabajo: Real-ESRGAN (escalado con IA, lento, la mejor calidad), Anime4K (shaders GLSL rápidos para dibujos animados, mediante libplacebo) y RIFE (interpolación de fotogramas con IA: de 30 a 60 fotogramas por segundo).

Gráfico de barras: fotogramas por segundo de Video2X en la GPU y en la CPU para Real-ESRGAN x4, Anime4K a 1080p y la duplicación de fotogramas con RIFE
Fotogramas de origen procesados por segundo por Video2X 6.4. Verde: GPU Intel. Naranja: el mismo Video2X forzado a la CPU (Vulkan por software de Mesa), usando las 4 vCPU.
Trabajo de Video2X (origen 854 × 480)GPUCPU (Vulkan por software)Clip de 10 segundos en la GPU
Real-ESRGAN animevideov3 ×4 → 3416 × 19200,65 fps, 0,1 vCPU0,15 fps, 3,8 vCPUunos 7 min 40 s
Real-ESRGAN animevideov3 ×2 → 1708 × 9600,65 fps—unos 7 min 40 s
Anime4K → 1920 × 108012,2 fps, 0,7 vCPU1,9 fps, 3,1 vCPU25 s
Anime4K → 3840 × 21607,4 fps, 1,5 vCPU—40 s
RIFE v4.6, 30 → 60 fps7,3 fps (14,6 fotogramas de salida por segundo), 0,2 vCPU1,1 fps, 3,1 vCPU41 s
Real-ESRGAN x4plus (modelo de fotos) ×40,02 fps (48 s por fotograma)—unas 4 horas

Para comparar Real-ESRGAN con una herramienta de CPU que sí está optimizada para la CPU, también ejecutamos el script de vídeo PyTorch oficial en las 4 vCPU: 0,60 fotogramas por segundo, casi la velocidad de la GPU, pero con todo el servidor ocupado (3,8 vCPU). Para Anime4K y RIFE no existe una herramienta de CPU así: sin GPU, Video2X recurre a Vulkan por software y es 6 veces más lento.

Cinco segundos de Big Buck Bunny en 480p, ampliados 2 veces. Izquierda: bicúbico. Derecha: Real-ESRGAN (animevideov3) con Video2X en la GPU: hierba y hojas más nítidas. Big Buck Bunny, © Blender Foundation, CC BY 3.0.

Consejos prácticos a partir de estas cifras:

  • Para dibujos animados y anime, empieza con Anime4K: casi en tiempo real en 1080p, y el resultado es limpio.
  • Usa el modelo animevideov3 de Real-ESRGAN para vídeo, nunca el modelo de fotos (x4plus): a 48 segundos por fotograma, un clip de 10 segundos se convierte en un trabajo de cuatro horas.
  • RIFE es barato: 41 segundos para pasar un clip 480p de 10 segundos de 30 a 60 fotogramas por segundo.
  • Los vídeos largos son un trabajo para la noche. A 0,65 fotogramas por segundo, un episodio de 20 minutos a 30 fotogramas por segundo tarda unas 15 horas con Real-ESRGAN. El servidor lo hace mientras duermes; para eso está.

3. Límites

  • GPU compartida. La GPU se comparte con otros servidores. Cuando otro servidor la usa, tus trabajos reciben una parte justa pero van más lentos: durante nuestra sesión, la misma foto 1080p tardó 189 s cuando nadie más usaba la GPU y de 226 a 268 s mientras otro servidor la tenía ocupada. Las cifras de arriba son con la GPU sin otro uso.
  • Mantén el tamaño de tesela por defecto. Con -t 512, cada trabajo de GPU tardó más de lo que permite el controlador y se detuvo: las imágenes de salida salieron negras. El valor por defecto (automático) o -t 256 funcionan y son igual de rápidos.
  • No hay milagros. Una tarjeta RTX de escritorio ejecuta Real-ESRGAN muchas veces más rápido. Si escalas miles de imágenes 4K cada día, alquila una GPU dedicada. Si escalas una fototeca, escaneos antiguos o clips cortos, esto basta.
  • La IA inventa detalles. Real-ESRGAN hace que las imágenes parezcan nítidas, pero el nuevo detalle es una suposición. Para documentos, caras que haya que identificar o pruebas, conserva el original.
  • La aplicación Upscayl en sí es un programa de escritorio. En un servidor, usa su motor upscayl-bin desde la línea de comandos (abajo), como hace Upscayl detrás de sus botones.

4. ¿Qué plan elegir?

  • iGPU Start (2 vCPU, 8 GB de RAM, Perf 1, 14,99 € al mes sin IVA): escalado de fotos con el motor de Upscayl, lotes de imágenes, Anime4K y RIFE en vídeos cortos. Aquí la GPU es 2,2 veces más rápida que las 2 vCPU del plan, y las deja libres.
  • iGPU Power (4 vCPU, 14 GB de RAM, Perf 2 = el doble de GPU que Start, 29,99 €): trabajos de Video2X que duran horas, imágenes grandes (de 1080p a 8K) o escalado junto a otros servicios. La mayor parte de GPU importa cuando otros servidores usan la GPU al mismo tiempo.
  • iGPU Pro (6 vCPU, 14 GB, Perf 3, 44,99 €): varios trabajos de vídeo largos seguidos, o escalado junto con otros trabajos de GPU (transcodificación, inferencia de IA) en el mismo servidor.

5. Ponerlo en marcha en un servidor Linux GPU

¿Lo quieres listo para usar? Pídelo por correo al hacer el pedido (contact@linuxgpu.eu): podemos entregarte el servidor con upscayl-bin, los modelos de Real-ESRGAN y Video2X ya instalados y probados en la GPU.

Nuestros servidores vienen con el controlador Vulkan de Intel instalado; vulkaninfo --summary debería mostrar la Intel UHD Graphics 770. Después, para imágenes:

# El motor de Upscayl y los modelos de Real-ESRGAN (versiones oficiales)
wget https://github.com/upscayl/upscayl-ncnn/releases/download/20251207-174704/upscayl-bin-20251207-174704-linux.zip
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesrgan-ncnn-vulkan-20220424-ubuntu.zip
unzip upscayl-bin-*-linux.zip && unzip -d realesrgan realesrgan-ncnn-vulkan-*-ubuntu.zip
U=./upscayl-bin-20251207-174704-linux/upscayl-bin

# una foto, 4 veces más grande, en la GPU (-g 0)
$U -i photo.jpg -o photo-x4.png -m realesrgan/models -n realesrgan-x4plus -g 0
# una carpeta entera, modelo de dibujos animados, salida JPEG
$U -i scans/ -o scans-x4/ -m realesrgan/models -n realesrgan-x4plus-anime -g 0 -f jpg

Para vídeo, Video2X 6.4 se distribuye como AppImage. Los servidores no suelen tener FUSE, así que extráelo una vez:

wget https://github.com/k4yt3x/video2x/releases/download/6.4.0/Video2X-x86_64.AppImage
chmod +x Video2X-x86_64.AppImage && ./Video2X-x86_64.AppImage --appimage-extract
cd squashfs-root/usr/share/video2x       # Video2X busca sus modelos desde aquí
V=../../../AppRun
$V -l                                     # el dispositivo 0 debería ser la Intel UHD 770

# Real-ESRGAN, 2 veces más grande
$V -i ~/clip.mp4 -o ~/clip-x2.mp4 -p realesrgan --realesrgan-model realesr-animevideov3 -s 2 -c libx264 -e crf=18
# Anime4K a 1080p
$V -i ~/clip.mp4 -o ~/clip-1080p.mp4 -p libplacebo --libplacebo-shader anime4k-v4-a -w 1920 -h 1080
# RIFE: de 30 a 60 fotogramas por segundo
$V -i ~/clip.mp4 -o ~/clip-60fps.mp4 -p rife --rife-model rife-v4.6 -m 2

Lanza los trabajos largos dentro de tmux o con nohup para que sigan funcionando cuando cierres la sesión.

Sobre el motor de vídeo de la misma GPU (decodificación y codificación con VA-API), lee Transcodificación de vídeo acelerada: no necesitas una GPU de 500 €/mes y Intel Quick Sync (VAAPI) en un VPS Linux: comandos ffmpeg que funcionan. Para otros modelos de IA en la misma GPU, consulta Inferencia de IA económica: OpenVINO en GPU integrada, sin una GPU de 500 €/mes.

Pruébalo

Ver los planes: iGPU Start cuesta 14,99 € e iGPU Power 29,99 € al mes sin IVA.