mardi, 23 avril 2024

Que signifie l’intelligence artificielle d’Intel pour l’industrie du jeu?

Intel vient de dévoiler un système d’apprentissage en profondeur qui transforme les graphiques rendus en 3D en images photoréalistes. Évalué sur Grand Theft Car 5, le réseau neuronal a révélé des résultats exceptionnels. Les développeurs du jeu ont actuellement fait un travail formidable en recréant Los Angeles et le sud de la Californie en informations. Mais avec le nouveau système d’apprentissage des fabricants d’Intel, les graphiques passent de la 3D synthétique de haute qualité à des représentations réelles (avec des problèmes vraiment mineurs).

Et ce qui est beaucoup plus remarquable, c’est que l’IA d’Intel le fait à une fréquence d’images assez élevée plutôt que des moteurs de rendu photoréalistes qui peuvent prendre des minutes ou des heures pour une seule image. Et ce ne sont que les premiers résultats. Les scientifiques affirment qu’ils peuvent améliorer les conceptions en profondeur pour qu’elles fonctionnent beaucoup plus rapidement.

Cela indique-t-il que des moteurs de jeux vidéo photoréalistes en temps réel sont à l’horizon, comme l’ont recommandé certains analystes? Je ne miserais pas encore là-dessus, car plusieurs problèmes essentiels restent non résolus.

  • Connaissance approfondie de l’amélioration de l’image
  • Coûts d’inférence pour amélioration de l’image
  • Retards causés par un traitement non linéaire
  • Développement et formation de réseaux de neurones

Apprentissage en profondeur pour l’amélioration de l’image

Avant de pouvoir examiner la faisabilité de l’exécution d’une amélioration d’image en temps réel, examinons de haut niveau le système d’apprentissage en profondeur qu’Intel a réellement utilisé.

Les scientifiques d’Intel n’ont en fait pas fourni de détails complets sur l’exécution du système de connaissance approfondie qu’ils ont mis en place. Ils ont en fait publié un article sur arXiv et posté une vidéo sur YouTube qui fournit des conseils utiles sur le type de puissance de calcul dont vous auriez besoin pour exécuter ce modèle.

Le système complet, affiché ci-dessous, est composé de nombreux réseaux de neurones interconnectés.

L’encodeur G-buffer change différentes cartes de rendu (G-buffers) en un ensemble de fonctionnalités mathématiques. Les tampons G sont des cartes pour les détails réguliers de la surface, la profondeur, l’albédo, la brillance, l’environnement et la division des objets. Le réseau neuronal utilise des couches de convolution pour traiter ces détails et émettre un vecteur de 128 fonctions qui améliorent l’efficacité du réseau d’amélioration d’image et empêchent les artefacts produits par d’autres méthodes similaires. Les G-buffers sont acquis directement à partir du moteur de jeu.

Le réseau d’amélioration d’image prend en entrée le cadre rendu du jeu vidéo et les fonctionnalités de l’encodeur G-buffer et crée le variation photoréaliste de l’image.

Les composants restants, le discriminateur et la fonction de perte LPIPS, sont utilisés tout au long de la formation. Ils évaluent la sortie du réseau d’amélioration en examinant sa cohérence avec le cadre de rendu original du jeu et en comparant sa qualité photoréaliste avec des images authentiques.

Raisonnement des coûts pour l’amélioration de l’image

Au départ, voyons que, si l’innovation devient disponible, si les joueurs auront la possibilité de l’exécuter sur leurs systèmes informatiques. Pour cela, nous devons déterminer les coûts d’inférence, ou la quantité de mémoire et de puissance de calcul dont vous avez besoin pour exécuter la conception qualifiée. Pour l’inférence, vous n’aurez besoin que de l’encodeur G-buffer et du réseau d’amélioration d’image, et nous pouvons couper le réseau discriminateur.

Le réseau d’amélioration représente l’essentiel du travail. Selon l’article d’Intel, ce réseau neuronal est basé sur HRNetV2, une architecture d’apprentissage en profondeur destinée au traitement d’images haute résolution. Les réseaux de neurones haute résolution produisent moins d’artefacts visuels que les conceptions qui sous-échantillonnent les images.

Selon l’article d’Intel, «Le HRNet traite une image via plusieurs branches qui fonctionnent à différentes résolutions. Il est important de noter qu’un flux de fonctionnalités est maintenu à une résolution raisonnablement élevée (1/4 de la résolution d’entrée) pour conserver une excellente structure d’image. « 

Cela signifie que, si vous exécutez le jeu vidéo en Full HD (1920 × 1080), alors les couches de la rangée supérieure traiteront les entrées à 480 × 270 pixels. La résolution est divisée par deux sur chacune des lignes inférieures. Les chercheurs ont en fait modifié la structure de chaque bloc du réseau neuronal pour calculer également les entrées de l’encodeur G-buffer (les couches RAD).

Selon l’article d’Intel, les entrées du G-buffer incluent « un des encodages instantanés pour les informations sur le produit, des valeurs constantes épaisses pour les normales, la profondeur et la couleur, et des informations continues clairsemées pour les tampons de floraison et de ciel. « 

Les chercheurs notent ailleurs dans leur article que le modèle d’apprentissage en profondeur peut encore fonctionnent bien avec un sous-ensemble des tampons G.

De combien de mémoire la conception a-t-elle besoin? Le papier d’Intel ne mentionne pas la taille de la mémoire, mais selon le papier HRNetV2, le réseau complet a besoin de 1,79 gigaoctets de mémoire pour une entrée 1024 × 2048. Le réseau d’amélioration d’image utilisé par Intel a une taille d’entrée plus petite, mais nous avons également besoin de représenter les paramètres supplémentaires présentés par les couches RAD et le codeur G-buffer. Pour cette raison, il serait juste de supposer que vous aurez besoin d’au moins un gigaoctet de mémoire vidéo pour exécuter une amélioration d’image basée sur la connaissance approfondie pour des jeux HD complets et probablement plus de 2 gigaoctets si vous désirez une résolution 4K.

Un gigaoctet de mémoire n’est pas beaucoup considéré, car les ordinateurs de jeux vidéo ont souvent des cartes graphiques avec 4-8 Go ​​de VRAM. Et les cartes graphiques haut de gamme telles que la série GeForce RTX peuvent avoir jusqu’à 24 Go de VRAM.

Il convient également de noter que les jeux vidéo 3D consomment une grande partie des ressources de la carte graphique. Les jeux enregistrent autant d’informations que possible sur la mémoire vidéo pour accélérer les temps de rendu et éviter de basculer entre la RAM et la VRAM, une opération qui subit une pénalité de vitesse substantielle. Selon une citation, GTA 5 consomme jusqu’à 3,5 Go de VRAM à une résolution HD complète. Et GTA est sorti en 2013. Des jeux vidéo plus récents tels que Cyberpunk 2077, qui ont des mondes 3D beaucoup plus grands et des choses plus détaillées, peuvent rapidement engloutir jusqu’à 7 à 8 Go de VRAM. Et si vous voulez plonger dans des résolutions élevées, vous aurez besoin de beaucoup plus de mémoire.

Donc, essentiellement, avec les cartes graphiques actuelles de milieu et haut de gamme, vous devrez choisir entre des résolution de qualité photoréaliste et graphiques artificiels haute résolution.

L’utilisation de la mémoire n’est pas le seul problème auquel se heurte l’amélioration de l’image basée sur l’apprentissage en profondeur.

Retards provoqués par des non-linéaires traitement

Un problème beaucoup plus important, à mon avis, est la nature consécutive et non linéaire des opérations d’apprentissage en profondeur. Pour comprendre ce problème, nous devons d’abord comparer le traitement graphique 3D avec le raisonnement par apprentissage profond.

Les graphiques en trois dimensions reposent sur de très grandes variétés de multiplications matricielles. Un cadre rendu de graphiques 3D commence à partir d’une collection de sommets, qui sont essentiellement un ensemble de nombres qui représentent les maisons (par exemple, collabore, couleur, matériau, direction typique, etc.) des points sur un élément 3D. Avant que chaque image ne soit rendue, les sommets doivent passer par une série de reproductions matricielles qui mappent leurs coordonnées locales au monde collabore à l’espace de la caméra vidéo collabore aux coordonnées du cadre d’image. Un tampon d’index regroupe les sommets en groupes de 3 pour former des triangles. Ces triangles sont pixellisés – ou transformés en pixels – et chaque pixel passe ensuite par son propre ensemble d’opérations matricielles pour identifier sa couleur en fonction de la couleur du produit, des textures, des cartes de réflexion et de réfraction, des niveaux d’ouverture, etc.

. Cela ressemble à beaucoup d’opérations, surtout quand on pense que les jeux vidéo 3D d’aujourd’hui sont composés d’innombrables polygones. Il y a deux facteurs qui vous permettent d’obtenir des fréquences d’images très élevées lorsque vous jouez à des jeux sur votre système informatique. Les cartes graphiques ont en fait été spécialement conçues pour les multiplications de matrice parallèle. Au lieu du processeur, qui a au moins une douzaine de cœurs de calcul, les processeurs graphiques ont des milliers de cœurs, chacun d’entre eux pouvant effectuer individuellement des reproductions matricielles.

Deuxièmement, les améliorations graphiques sont principalement linéaires. Et les améliorations directes peuvent être regroupées. Par exemple, si vous avez des matrices distinctes pour les améliorations du monde, de la vue et de la projection, vous pouvez les augmenter ensemble pour développer une matrice qui effectue les trois opérations. Cela réduit vos opérations de deux tiers. Les moteurs graphiques utilisent également de nombreuses techniques pour réduire encore plus les opérations. Par exemple, si le cadre de délimitation d’un objet sort du tronc de vue (la pyramide qui représente la perspective de la caméra électronique), il sera entièrement exclu du pipeline de rendu. Et les triangles qui sont occultés par d’autres sont instantanément supprimés du processus de rendu des pixels.

La connaissance approfondie dépend également des reproductions matricielles. Chaque réseau neuronal est composé de couches sur couches de calculs matriciels. C’est pourquoi les cartes graphiques ont fini par être incroyablement populaires parmi la communauté des connaissances approfondies au cours de la dernière décennie.

Cependant, contrairement aux graphiques 3D, les opérations d’apprentissage en profondeur ne peuvent pas être combinées. Les couches des réseaux neuronaux dépendent de fonctions d’activation non linéaires pour effectuer des tâches complexes. En général, cela suggère que vous ne pouvez pas compresser les améliorations de plusieurs couches en une seule opération.

Supposons que vous ayez un réseau neuronal profond qui prend une image d’entrée de 100 × 100 pixels (10 000 fonctionnalités) et l’exécute à travers sept couches. Une carte graphique avec plusieurs milliers de cœurs peut être capable de traiter tous les pixels en parallèle. Il devra encore effectuer les 7 couches d’opérations du réseau neuronal de manière séquentielle, ce qui peut rendre difficile l’offre de traitement d’image en temps réel, en particulier sur les cartes graphiques bas de gamme.

Un autre embouteillage que nous devons prendre en compte est le nombre d’opérations séquentielles qui doivent avoir lieu. Si nous pensons à la couche principale du réseau d’amélioration d’image, il y a 16 blocs résiduels qui sont connectés séquentiellement. Dans chaque bloc résiduel, il y a 2 couches de convolution, des blocs RAD et des opérations ReLU qui sont séquentiellement liés. Cela équivaut à 96 couches d’opérations consécutives. Et le réseau d’amélioration d’image ne peut pas démarrer ses opérations avant que l’encodeur G-buffer n’émette ses encodages de caractéristiques. Par conséquent, nous devrions inclure au moins les deux blocs résiduels qui traitent le premier ensemble de fonctions haute résolution. Cela représente huit couches supplémentaires ajoutées à la série, ce qui nous amène à au moins 108 couches d’opérations pour l’amélioration de l’image.

Cela implique qu’en plus de la mémoire, vous avez besoin de vitesses d’horloge élevées pour exécuter toutes ces opérations dans temps. Voici une citation intéressante de l’article d’Intel: « Raisonner notre approche dans son implémentation non optimisée existante prend une demi-seconde sur un GPU GeForce RTX 3090. »

Le RTX 3090 a 24 Go de VRAM, ce qui suggère la lenteur , Le taux de rendu de 2 FPS n’est pas dû à des limitations de mémoire mais plutôt au temps qu’il faut pour traiter séquentiellement toutes les couches du réseau d’amélioration d’image. Et ce n’est pas un problème qui sera résolu en incluant plus de mémoire ou de cœurs CUDA, mais en ayant des processeurs plus rapides.

Encore une fois, d’après l’article: « Parce que les tampons G qui sont utilisés comme entrée sont produits nativement sur le GPU, notre méthode pourrait être intégrée plus profondément dans les moteurs de jeu, augmentant l’efficacité et peut-être davantage le niveau de réalisme. « 

Intégrer le réseau d’amélioration d’image dans le moteur de jeu offrirait probablement un excellent coup de pouce à la vitesse, mais cela ne mènera pas à des framerates jouables.

Pour référence, nous pouvons revenir à l’article HRNet. Les scientifiques ont utilisé un Nvidia V100 dédié, un GPU énorme et extrêmement coûteux spécialement conçu pour une inférence approfondie. Sans contrainte de mémoire et sans barrière par d’autres calculs en jeu, le temps d’inférence pour le V100 était de 150 millisecondes par entrée, ce qui est ~ 7 fps, pas presque suffisant pour jouer à un jeu vidéo fluide.

Développement et la formation des réseaux de neurones

Un autre problème épineux est les dépenses de développement et de formation du réseau de neurones améliorant l’image. Toute entreprise souhaitant dupliquer les modèles de connaissance approfondie d’Intel nécessitera 3 choses: des données, des ressources de calcul et des compétences en apprentissage automatique.

La collecte de données d’entraînement peut être extrêmement problématique. Heureusement pour Intel, quelqu’un l’avait résolu pour eux. Ils ont utilisé l’ensemble de données Cityscapes, une riche collection d’images annotées capturées dans 50 villes d’Allemagne. L’ensemble de données contient 5 000 images soigneusement annotées. Selon l’article de l’ensemble de données, chacune des images annotées a nécessité en moyenne 1,5 heure d’effort manuel pour spécifier précisément les limites et les types d’éléments inclus dans l’image. Ces annotations à grain fin permettent à l’optimiseur d’image de mapper les meilleures textures photoréalistes sur les graphismes du jeu. Cityscapes est le résultat d’un effort énorme soutenu par des subventions du gouvernement fédéral, des entreprises industrielles et des établissements universitaires. Cela peut s’avérer utile pour d’autres jeux vidéo qui, comme Grand Theft Automobile, se produisent en ville.

Que faire si vous souhaitez utiliser la même méthode dans un jeu vidéo qui n’a pas de jeu de données correspondant? Car cas, ce sera aux développeurs du jeu de rassembler les données et d’ajouter les annotations requises (une variante photoréaliste de Rise of the Tomb Raider, peut-être?).

Les ressources de calcul présenteront également un défi. Former un réseau de la taille de l’optimiseur d’image pour des tâches telles que la division d’image serait faisable avec quelques milliers de dollars – pas un problème pour les grandes entreprises de jeux. Mais lorsque vous souhaitez effectuer une tâche générative telle que l’amélioration photoréaliste, la formation s’avère beaucoup plus difficile. Il faut beaucoup de filtrage et d’ajustement des hyperparamètres, et beaucoup plus de dates de formation, ce qui peut faire exploser les dépenses. Intel a réglé et formé leur conception uniquement pour GTA 5. Les jeux qui ressemblent à GTA 5 peuvent être en mesure de réduire les dépenses de formation en peaufinant la conception qualifiée d’Intel sur le nouveau jeu vidéo. D’autres peuvent avoir besoin de vérifier avec des architectures totalement nouvelles. Le modèle d’apprentissage en profondeur d’Intel fonctionne bien pour les environnements urbains, où les choses et les individus sont facilement séparables. Mais on ne sait pas comment cela fonctionnerait dans des environnements naturels, tels que les jungles et les grottes.

Les sociétés de jeux n’ont pas d’ingénieurs en apprentissage automatique, elles devront donc également sous-traiter le travail ou travailler avec des ingénieurs, ce qui comprend plus de dépenses. L’entreprise devra décider si les dépenses substantielles liées à l’ajout d’un rendu photoréaliste valent l’expérience de jeu incluse.

L’optimiseur d’image photoréaliste d’Intel montre jusqu’où vous pouvez pousser les algorithmes d’intelligence artificielle pour réaliser des exploits intrigants. Mais il faudra encore quelques années avant que le matériel, les entreprises et le marché soient prêts pour la fabrication photoréaliste en temps réel basée sur l’IA.

.

Toute l’actualité en temps réel, est sur L’Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici