Blog

Upscaling IA gratuit sur un serveur GPU : Upscayl, Real-ESRGAN et Video2X testés

Nous avons fait tourner le moteur d'Upscayl (Real-ESRGAN) et Video2X sur un serveur cloud avec un Intel UHD 770 partagé, puis sur le CPU seul. Le GPU a été 1,2 à 1,8 fois plus rapide que 4 vCPU et 2,2 fois plus rapide que 2 vCPU, en n'utilisant presque pas de CPU, et Video2X a tourné 4 à 6 fois plus vite que sur le CPU. Des chiffres réels, des comparaisons avant/après et les commandes.

Upscaling IA gratuit sur un serveur GPU : Upscayl, Real-ESRGAN et Video2X testés

L’upscaling par IA transforme une petite image ou une image floue en une image plus grande et plus nette : le modèle n’étire pas seulement les pixels, il redessine les détails fins comme les cheveux, la fourrure ou les contours d’un dessin. Des outils payants comme Topaz le font bien, et les upscalers en ligne le font avec des limites d’envoi, des files d’attente ou des filigranes. Les outils gratuits et open source sont tout aussi faciles à trouver : Upscayl (une application de bureau basée sur Real-ESRGAN), et Video2X pour la vidéo, qui fait aussi de l’interpolation d’images avec RIFE et des filtres Anime4K.

Tous tournent sur Vulkan, donc ils veulent un GPU. Nous nous sommes donc posé une question : sur un serveur cloud avec un GPU Intel partagé, qu’apporte vraiment le GPU par rapport au CPU du même serveur ? Nous avons utilisé les binaires officiels, les mêmes images et la même vidéo, et mesuré le temps, le CPU et la mémoire.

Trois extraits du même œil : une photo de 512 pixels agrandie 4 fois en bicubique, la même photo agrandie par Real-ESRGAN sur le GPU, et la photo originale en haute résolution
Une photo de 512 × 512 agrandie 4 fois. À gauche : agrandissement bicubique classique. Au milieu : Real-ESRGAN (modèle x4plus) sur le GPU Intel, 25 secondes. À droite : la photo originale en haute résolution, pour comparer. Photo : Orren Jack Turner, 1947, domaine public (Wikimedia Commons).

Les résultats en bref

  • Images : le GPU est plus rapide et laisse le CPU libre. Agrandir 4 fois une photo de 512 pixels a pris 24,9 s sur le GPU contre 34,0 s sur 4 vCPU (1,4 fois plus rapide) et 55 s sur 2 vCPU (2,2 fois plus rapide). L’essai sur GPU a utilisé 0,1 vCPU ; l’essai sur CPU a occupé 3,8 vCPU.
  • Les grandes images demandent de la mémoire sur le CPU. Une photo 1080p agrandie en 8K a pris 189 s sur le GPU et 234 s sur le CPU, et l’essai sur CPU est monté à 11,8 Go de RAM (1,2 Go avec le GPU).
  • Video2X n’a pas de mode CPU. Forcé sur le CPU via Vulkan logiciel, il a été 4 à 6 fois plus lent : Anime4K vers 1080p a tourné à 12,2 images par seconde sur le GPU contre 1,9, le doublement d’images RIFE à 7,3 contre 1,1.
  • Real-ESRGAN sur une vidéo est lent, même sur le GPU. Le modèle vidéo rapide a traité 0,65 image par seconde : environ 8 minutes pour un extrait de 10 secondes. Bien pour un court extrait ou un lot la nuit, pas pour un film.
  • Soyons honnêtes sur le matériel. Un GPU intégré est bien plus lent qu’une carte RTX de bureau. L’intérêt, c’est un serveur à 14,99 € qui fait le travail sans occuper son CPU.

Configuration du test

ÉlémentValeur
ServeurDebian 13, Linux 7.3, Intel UHD 770 (GPU partagé), 4 vCPU, 12 Go de RAM
Images, GPUupscayl-bin 20251207 (le moteur qu’appelle l’application Upscayl, version officielle) avec les modèles Real-ESRGAN, Vulkan (Mesa 25.0.7), taille de tuile par défaut
Images, CPUle code PyTorch officiel de Real-ESRGAN (inference_realesrgan.py, PyTorch 2.15 CPU, fp32, 4 threads ; 2 threads limités à 2 vCPU pour le résultat « 2 vCPU »)
VidéoVideo2X 6.4.0 (AppImage officielle), sortie H.264 (libx264, CRF 18). CPU : le même Video2X sur le Vulkan logiciel de Mesa (llvmpipe), plus le script vidéo PyTorch officiel pour Real-ESRGAN
Imagestrois photos de 512 × 512, une photo de 1920 × 1080, une image de dessin animé de 854 × 480
Vidéo10 s de Big Buck Bunny en 854 × 480, 30 images par seconde (300 images)
Mesurestemps réel, chargement du modèle et écriture du fichier compris, temps CPU et pic de mémoire via /usr/bin/time

Les chiffres CPU sont en vCPU (1,0 = un cœur entier). Le GPU est partagé avec d’autres serveurs : nous avons vérifié qu’il était inoccupé par ailleurs pendant les essais retenus ici (voir « Limites »).

Médias de test : photos de Wikimedia Commons (Albert Einstein par Orren Jack Turner, domaine public ; Buzz Aldrin par la NASA, domaine public ; un chat par Alvesgaspar, CC BY-SA 3.0) et Big Buck Bunny (© Blender Foundation, CC BY 3.0).

1. Images : Real-ESRGAN avec le moteur d’Upscayl

Graphique en barres : secondes par image pour Real-ESRGAN 4x sur le GPU et sur 4 vCPU, pour une photo de 512 pixels, une image de dessin animé et une image vidéo
Secondes par image, agrandie 4 fois, chargement du modèle compris. Vert : le GPU Intel avec upscayl-bin. Orange : le code PyTorch officiel sur les 4 vCPU du même serveur.
ImageModèleGPUCPU, 4 vCPUCPU, 2 vCPU
Photo 512 × 512 → 2048 × 2048RealESRGAN x4plus24,9 s, 0,1 vCPU, 1,0 Go34,0 s, 3,8 vCPU, 4,1 Go55,0 s
Photo 1920 × 1080 → 7680 × 4320RealESRGAN x4plus189 s, 0,03 vCPU, 1,2 Go234 s, 4,0 vCPU, 11,8 Go—
Image de dessin animé 854 × 480 → 3416 × 1920x4plus-anime12,9 s, 0,1 vCPU, 0,4 Go17,9 s, 3,6 vCPU, 6,0 Go—
Image vidéo 854 × 480 → 3416 × 1920animevideov3 (rapide)2,2 s, 0,6 vCPU4,0 s, 2,4 vCPU, 0,9 Go—

Le temps de la photo est la médiane de trois photos différentes ; elles ont toutes pris entre 24,8 et 25 secondes sur le GPU.

Ce que cela veut dire :

  • Face aux 4 vCPU, le GPU est 1,2 à 1,8 fois plus rapide. C’est un vrai gain, pas un miracle : le modèle photo de Real-ESRGAN est lourd, et quatre cœurs de CPU modernes ne sont pas lents.
  • Face à 2 vCPU, la taille de notre offre Start, le GPU est 2,2 fois plus rapide. Le GPU ne rétrécit pas avec l’offre ; le CPU, si.
  • Le GPU laisse le serveur libre. Pendant un essai sur GPU, le CPU du serveur reste à environ 0,1 vCPU : vous pouvez faire tourner une application web, une galerie ou un deuxième travail en même temps. Sur le CPU, l’agrandissement prend tout.
  • Mémoire. Sans découpage en tuiles, le code PyTorch a eu besoin de 11,8 Go de RAM pour la photo 1080p. Sur un serveur à 8 Go, il faudrait aussi découper l’image en tuiles sur le CPU, ce qui le ralentit encore.
Trois extraits de la tête d'un chat : agrandissement bicubique 4x, Real-ESRGAN 4x sur le GPU, et la photo originale
Le même test sur un chat : bicubique (à gauche), Real-ESRGAN x4plus sur le GPU (au milieu), photo originale (à droite). Real-ESRGAN redonne une fourrure et des moustaches nettes ; il invente aussi des détails, donc comparez avec l'original quand l'exactitude compte. Photo : Alvesgaspar, Wikimedia Commons, CC BY-SA 3.0.
Deux extraits d'un écureuil de dessin animé : agrandissement bicubique 4x à gauche, Real-ESRGAN animevideov3 sur le GPU à droite avec des contours plus nets
Une image de dessin animé en 480p agrandie 4 fois : bicubique (à gauche) et le modèle vidéo rapide de Real-ESRGAN sur le GPU (à droite, 2,2 s). Traits nets, aplats de couleur propres. Big Buck Bunny, © Blender Foundation, CC BY 3.0.

2. Vidéo : Video2X avec Real-ESRGAN, Anime4K et RIFE

Video2X lit une vidéo, passe chaque image dans un filtre sur le GPU, et encode le résultat avec FFmpeg. Il propose trois types de travail : Real-ESRGAN (upscaling IA, lent, meilleure qualité), Anime4K (shaders GLSL rapides pour les dessins animés, via libplacebo) et RIFE (interpolation d’images par IA : de 30 à 60 images par seconde).

Graphique en barres : images par seconde de Video2X sur le GPU et sur le CPU pour Real-ESRGAN x4, Anime4K vers 1080p et le doublement d'images RIFE
Images source traitées par seconde par Video2X 6.4. Vert : GPU Intel. Orange : le même Video2X forcé sur le CPU (Vulkan logiciel de Mesa), sur les 4 vCPU.
Travail Video2X (source 854 × 480)GPUCPU (Vulkan logiciel)Extrait de 10 secondes sur le GPU
Real-ESRGAN animevideov3 ×4 → 3416 × 19200,65 i/s, 0,1 vCPU0,15 i/s, 3,8 vCPUenviron 7 min 40 s
Real-ESRGAN animevideov3 ×2 → 1708 × 9600,65 i/s—environ 7 min 40 s
Anime4K → 1920 × 108012,2 i/s, 0,7 vCPU1,9 i/s, 3,1 vCPU25 s
Anime4K → 3840 × 21607,4 i/s, 1,5 vCPU—40 s
RIFE v4.6, 30 → 60 i/s7,3 i/s (14,6 images produites par seconde), 0,2 vCPU1,1 i/s, 3,1 vCPU41 s
Real-ESRGAN x4plus (modèle photo) ×40,02 i/s (48 s par image)—environ 4 heures

Pour comparer Real-ESRGAN avec un outil réellement optimisé pour le CPU, nous avons aussi lancé le script vidéo PyTorch officiel sur les 4 vCPU : 0,60 image par seconde, presque la vitesse du GPU, mais avec tout le serveur occupé (3,8 vCPU). Pour Anime4K et RIFE, il n’existe pas d’outil CPU de ce genre : sans GPU, Video2X se rabat sur le Vulkan logiciel et il est 6 fois plus lent.

Cinq secondes de Big Buck Bunny en 480p, agrandies 2 fois. À gauche : bicubique. À droite : Real-ESRGAN (animevideov3) avec Video2X sur le GPU : herbe et feuilles plus nettes. Big Buck Bunny, © Blender Foundation, CC BY 3.0.

Conseils pratiques tirés de ces chiffres :

  • Pour les dessins animés et les animés, commencez par Anime4K : presque en temps réel en 1080p, et le résultat est propre.
  • Utilisez le modèle animevideov3 de Real-ESRGAN pour la vidéo, jamais le modèle photo (x4plus) : à 48 secondes par image, un extrait de 10 secondes devient un travail de quatre heures.
  • RIFE ne coûte pas cher : 41 secondes pour passer un extrait 480p de 10 secondes de 30 à 60 images par seconde.
  • Les longues vidéos se traitent la nuit. À 0,65 image par seconde, un épisode de 20 minutes à 30 images par seconde prend environ 15 heures avec Real-ESRGAN. Le serveur le fait pendant que vous dormez ; c’est fait pour ça.

3. Limites

  • GPU partagé. Le GPU est partagé avec d’autres serveurs. Quand un autre serveur l’utilise, vos travaux reçoivent une part équitable mais tournent plus lentement : pendant notre session, la même photo 1080p a pris 189 s quand le GPU était inoccupé par ailleurs, et 226 à 268 s quand un autre serveur l’utilisait. Les chiffres ci-dessus sont mesurés avec un GPU inoccupé par ailleurs.
  • Gardez la taille de tuile par défaut. Avec -t 512, chaque travail GPU a duré plus longtemps que ce que le pilote autorise et a été arrêté : les images produites étaient noires. La valeur par défaut (automatique) ou -t 256 fonctionnent et sont aussi rapides.
  • Pas de miracle. Une carte RTX de bureau fait tourner Real-ESRGAN bien plus vite. Si vous agrandissez des milliers d’images 4K chaque jour, louez un GPU dédié. Si vous agrandissez une photothèque, de vieux scans ou des extraits courts, cela suffit.
  • L’IA invente des détails. Real-ESRGAN rend les images nettes, mais les nouveaux détails sont une supposition. Pour des documents, des visages à identifier ou des preuves, gardez l’original.
  • L’application Upscayl elle-même est un programme de bureau. Sur un serveur, utilisez son moteur upscayl-bin en ligne de commande (ci-dessous), comme le fait Upscayl derrière ses boutons.

4. Quelle offre ?

  • iGPU Start (2 vCPU, 8 Go de RAM, Perf 1, 14,99 € HT par mois) : agrandissement de photos avec le moteur d’Upscayl, lots d’images, Anime4K et RIFE sur des vidéos courtes. Ici, le GPU est 2,2 fois plus rapide que les 2 vCPU de l’offre, et les laisse libres.
  • iGPU Power (4 vCPU, 14 Go de RAM, Perf 2 = deux fois la part GPU de Start, 29,99 €) : travaux Video2X qui durent des heures, grandes images (de 1080p à 8K), ou upscaling à côté d’autres services. La part GPU plus grande compte quand d’autres serveurs utilisent le GPU en même temps.
  • iGPU Pro (6 vCPU, 14 Go, Perf 3, 44,99 €) : plusieurs longs travaux vidéo à la suite, ou upscaling plus d’autres travaux GPU (transcodage, inférence IA) sur le même serveur.

5. L’installer sur un serveur Linux GPU

Envie d’un serveur prêt à l’emploi ? Demandez-le par e-mail à la commande (contact@linuxgpu.eu) : nous pouvons vous livrer le serveur avec upscayl-bin, les modèles Real-ESRGAN et Video2X déjà installés et testés sur le GPU.

Nos serveurs sont livrés avec le pilote Vulkan Intel installé ; vulkaninfo --summary doit afficher l’Intel UHD Graphics 770. Ensuite, pour les images :

# Le moteur d'Upscayl et les modèles Real-ESRGAN (versions officielles)
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

# une photo, 4 fois plus grande, sur le GPU (-g 0)
$U -i photo.jpg -o photo-x4.png -m realesrgan/models -n realesrgan-x4plus -g 0
# un dossier entier, modèle dessin animé, sortie JPEG
$U -i scans/ -o scans-x4/ -m realesrgan/models -n realesrgan-x4plus-anime -g 0 -f jpg

Pour la vidéo, Video2X 6.4 est fourni en AppImage. Les serveurs n’ont en général pas FUSE, donc extrayez-la une fois :

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 cherche ses modèles à partir d'ici
V=../../../AppRun
$V -l                                     # le périphérique 0 doit être l'Intel UHD 770

# Real-ESRGAN, 2 fois plus grand
$V -i ~/clip.mp4 -o ~/clip-x2.mp4 -p realesrgan --realesrgan-model realesr-animevideov3 -s 2 -c libx264 -e crf=18
# Anime4K vers 1080p
$V -i ~/clip.mp4 -o ~/clip-1080p.mp4 -p libplacebo --libplacebo-shader anime4k-v4-a -w 1920 -h 1080
# RIFE : de 30 à 60 images par seconde
$V -i ~/clip.mp4 -o ~/clip-60fps.mp4 -p rife --rife-model rife-v4.6 -m 2

Lancez les longs travaux dans tmux ou avec nohup pour qu’ils continuent après votre déconnexion.

Pour le moteur vidéo du même GPU (décodage et encodage avec VA-API), lisez Transcodage vidéo accéléré : pas besoin d’un GPU à 500 €/mois et Intel Quick Sync (VAAPI) sur un VPS Linux : les commandes ffmpeg qui marchent. Pour d’autres modèles d’IA sur le même GPU, voir Inférence IA économique : OpenVINO sur GPU intégré, sans GPU à 500 €/mois.

Essayer

Voir les offres : iGPU Start coûte 14,99 € et iGPU Power 29,99 € HT par mois.