RelayVSR fait tenir l'upscaling vidéo 4x sur une carte de 24 GB : six images clés sur 72

RelayVSR a porté un clip 480p à 3416 x 1920 à 7,3 images/s de temps GPU sur une seule RTX 4090, avec un pic à 20,4 GiB de ses 24 GB.

Six images sur 72. C'est tout ce que le gros modèle de RelayVSR a eu à dessiner pour transformer un extrait de film de 3 secondes en 480p en vidéo 3416 x 1920, sur une seule RTX 4090 de notre cloud. Un petit réseau a rempli les autres images. À eux deux, les modèles ont eu besoin d'environ 10 secondes de temps GPU, soit 7,33 images par seconde, avec un pic à 20,4 GiB sur les 24 GB de la carte. Pour ceux qui déploient des modèles, l'upscaling vidéo 4x passe ainsi d'une carte de datacenter à une carte de jeu de 24 GB. Une RTX 3090, plus ancienne, a fait le même travail à environ la moitié de la vitesse. Ce que vous pouvez en faire aujourd'hui : le faire tourner sur votre propre carte de 24 GB, garder l'espacement par défaut des images clés pour les visages et les mouvements rapides, et envoyer des extraits courts, parce que la partie lente de la requête, c'est le CPU, pas le GPU.

Image 47 sur 72 d'un extrait de Tears of Steel, 854 x 480 en entrée et 3416 x 1920 en sortie sur une RTX 4090, recadrée sur le visage. À gauche, fenêtre 16, une référence toutes les 15 images, 7,3 images par seconde : cadre turquoise sur un visage net, légendé "net : référence 2 images avant". À droite, fenêtre 32, une référence toutes les 31 images, 9,1 images par seconde : cadre rouge sur le même visage, plus flou, légendé "flou : référence la plus proche à 15 images". Extrait : Tears of Steel (CC) Blender Foundation, mango.blender.org, CC BY 3.0

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

Un animateur principal et un intervalliste

RelayVSR reprend la plus vieille astuce du dessin animé. L'animateur principal dessine les poses clés, et les intervallistes dessinent les images qui les relient.

Ici, l'animateur principal est un générateur de références adapté de Wan2.2, un modèle vidéo ouvert de Wan-AI. Il dessine une version détaillée d'une image sur 15 : les images clés. L'intervalliste est un petit réseau conçu par les auteurs eux-mêmes, 32 millions de paramètres contre 5B pour le gros modèle. Il agrandit chaque image en regardant la vidéo basse résolution et les images clés détaillées de part et d'autre. La plupart des images ne passent jamais par le gros modèle, et c'est pour ça qu'une seule carte suffit.

Le travail est signé Xijun Wang, Xin Li, Zirui Lang, Suhang Yao, Haoran Li et Zhibo Chen, de l'Université des sciences et technologies de Chine. Ils ont publié l'article le 29 septembre 2026, avec le code sur GitHub et les poids sur Hugging Face. Wan2.2 et les deux fichiers de poids de RelayVSR sont sous Apache-2.0, une licence ouverte qui autorise l'usage commercial. Le téléchargement fait environ 10,2 GB. Nous l'avons repéré dans la vidéo d'actualités d'AI Search du 8 novembre. Notre part : un backend qui le sert comme une API, les tests de vitesse et le test de la plus petite carte.

Les auteurs annoncent 29,29 images par seconde en 1080p sur une A100, une carte de datacenter, avec 13,82 GB de mémoire. Le concurrent le plus rapide de leur tableau annonce 23,48 avec 31,36 GB. Ce sont leurs chiffres, pas les nôtres.

Ce qu'a fait une seule RTX 4090

Une RTX 4090, extrait de 3 secondesImages par seconde de temps GPUPic de mémoire GPU
480p en entrée, 3416 x 1920 en sortie, une image clé toutes les 15 images7,3320,4 GiB
Pareil, une image clé toutes les 31 images9,1020,4 GiB
270p en entrée, 1920 x 1080 en sortie, une image clé toutes les 15 images23,913,1 GiB

L'extrait faisait 72 images de Tears of Steel, le court métrage ouvert de la Blender Foundation, réduit en 480p. La sortie proche de la 4K a tourné environ trois fois moins vite que la lecture du film. En 1080p, la 4090 a atteint environ 80 % du chiffre des auteurs sur A100.

La sortie est nettement plus précise qu'un simple agrandissement bicubique, le filtre de redimensionnement standard. Les visages, les cheveux, la barbe et le tissu d'une veste gagnent des détails convaincants. Ces détails sont générés, plausibles plutôt que récupérés, donc vérifiez-les avant de vous en servir là où la fidélité compte.

Espacer les images clés deux fois plus, c'est un seul réglage par requête. Ça a rapporté environ un quart de vitesse en plus, 9,10 images par seconde au lieu de 7,33. L'image ci-dessus montre le prix. À l'image 47, l'image clé la plus proche était à 15 images, en plein milieu d'un mouvement de tête, et le visage est devenu flou. Avec l'espacement par défaut, la dernière image clé était 2 images avant et le visage est resté net.

Quelle carte, et où part vraiment le temps

La plus petite vraie carte qui a fonctionné est une 24 GB. Nous avons essayé de louer une vraie carte de 16 GB sur notre cloud, et toutes les options essayées étaient en rupture de stock. Nous avons donc plafonné la part de la mémoire de la 4090 que le modèle pouvait utiliser. Avec un budget de 16 GB, seul le 270p en entrée et 1080p en sortie a tenu, avec une sortie identique à celle de l'essai sans plafond. Avec un budget de 12 GB, rien n'a tenu : le gros modèle prend à lui seul 9,6 GiB.

Sur InferenceKey, le modèle servait des requêtes 71,2 secondes après que nous l'avons demandé, avec les poids déjà sur le disque local de la machine. Rien d'intégré ne sert un upscaler vidéo, donc nous avons écrit un backend sur mesure : un petit fichier Python qui dit à la plateforme comment charger le modèle et répondre aux requêtes. Il fait tourner une version figée du code des auteurs avec leurs réglages. Tout ça a tourné sur une copie locale de notre stack, pas sur le service hébergé.

Un extrait de 72 images en 1920p a pris de 26 à 41 secondes entre la requête et la réponse, pour 8 à 10 secondes de travail GPU. Le reste, c'est le processeur qui compresse 72 grandes images en MP4, deux fois, pour que la réponse tienne dans un seul message de 8 MB. En 1080p, l'aller-retour complet a pris de 6,4 à 7,2 secondes. Statut : ouvert. Renvoyer plutôt un lien de téléchargement supprimerait la deuxième passe, et le README de l'exemple dit d'envoyer les vidéos longues en morceaux de 2 à 3 secondes.

Qui devrait s'y intéresser

  • Les équipes qui agrandissent du 480p en quasi-4K sur leur propre matériel : une carte de 24 GB, une 4090 ou, à moitié vitesse, une 3090.
  • Une sortie 1080p à partir d'extraits basse résolution : un budget de 16 GB a suffi dans notre test émulé.
  • Les visages et les mouvements rapides : gardez une image clé toutes les 15 images.
  • Les scènes lentes, où la vitesse compte le plus : une toutes les 31 images va environ un quart plus vite.
  • L'audio : il n'est pas copié, remettez-le vous-même.

La limite, honnêtement : nous avons comparé des images fixes d'un seul extrait propre, uniquement face au bicubique, donc c'est une vérification visuelle, pas un benchmark de qualité, et les vidéos anciennes ou abîmées n'ont pas été testées.

Les tableaux de vitesse, l'échelle de mémoire et la comparaison image par image se trouvent dans le test complet de RelayVSR.