Deep Learning Super Sampling ( DLSS ) es una tecnología de escalado de imágenes temporal desarrollada por Nvidia y exclusiva de las tarjetas gráficas de Nvidia para uso en tiempo real en videojuegos selectos, que utiliza el aprendizaje profundo para escalar imágenes de menor resolución a una resolución más alta para mostrar en mayor -Resolución de monitores de computadora. Nvidia afirma que esta tecnología mejora las imágenes con una calidad similar a la de renderizar la imagen de forma nativa en la resolución más alta, pero con menos cálculo realizado por la tarjeta de video, lo que permite configuraciones gráficas y velocidades de cuadro más altas para una resolución determinada. [1] Nvidia afirma que "DLSS 2.0 ofrece una calidad de imagen comparable a la resolución nativa". [2]
A partir de junio de 2021, esta tecnología está disponible exclusivamente en las GPU de las series GeForce RTX 20 y GeForce RTX 30 .
Nvidia anunció DLSS como una característica clave de las GPU de la serie GeForce RTX 20 cuando se lanzaron en septiembre de 2018. [3] En ese momento, los resultados se limitaron a unos pocos videojuegos (a saber, Battlefield V [4] y Metro Exodus ) porque el El algoritmo tenía que ser entrenado específicamente en cada juego en el que se aplicó y los resultados generalmente no eran tan buenos como el simple aumento de resolución. [5] [6]
En 2019, el videojuego Control se envió con trazado de rayos y una versión mejorada de DLSS, que no usaba Tensor Cores. [7] [8]
En abril de 2020, Nvidia anunció y envió con la versión 445.75 del controlador una versión mejorada de DLSS llamada DLSS 2.0, que estaba disponible para algunos juegos existentes, incluidos Control y Wolfenstein: Youngblood , y estaría disponible más adelante para los próximos juegos. Esta vez, Nvidia dijo que volvió a usar Tensor Cores y que la IA no necesitaba ser entrenada específicamente en cada juego. [3] [9]
Un efecto secundario de DLSS 2.0 es que parece no funcionar muy bien con técnicas anti-aliasing como MSAA o TSAA , y el rendimiento se ve afectado negativamente si estas técnicas se habilitan sobre DLSS. [10]
A partir de julio de 2021, los desarrolladores de juegos aún deben incluir DLSS 2.0 por juego .
Liberación | Fecha de lanzamiento | Reflejos |
---|---|---|
1.0 | Febrero de 2019 | Primera versión, con IA y entrenada específicamente para ciertos juegos, incluidos Battlefield V y Metro Exodus [4] |
2.0 (primera iteración) | Agosto de 2019 | Primera versión 2.0, también denominada versión 1.9, que utiliza una IA aproximada de la versión 2.0 en curso que se ejecuta en los núcleos de sombreado CUDA y se adapta específicamente para Control [7] [3] [11] |
2.0 (segunda iteración) | Abril de 2020 | Segunda versión 2.0, usando Tensor Cores nuevamente y entrenado genéricamente [12] |
Calidad preestablecida [a] | Factor de escala [b] | Escala de procesamiento [c] |
---|---|---|
Calidad | 1,50x | 66,6% |
Equilibrado | 1,72x | 58.0% |
Rendimiento | 2,00 veces | 50,0% |
Ultra rendimiento desde v2.1 | 3,00 veces | 33,3% |
Nvidia explicó que DLSS 1.0 funcionó para cada imagen de juego objetivo al generar un "cuadro perfecto" usando el supermuestreo tradicional , luego entrenó la red neuronal en estas imágenes resultantes. En un segundo paso, se entrenó al modelo para reconocer entradas con alias en el resultado inicial. [14] [15]
DLSS 2.0 funciona de la siguiente manera: [16]
DLSS solo está disponible en las GPU de las series GeForce RTX 20 y GeForce RTX 30 , en aceleradores de IA dedicados llamados Tensor Cores . [18] [19]
Los núcleos tensores están disponibles desde la microarquitectura de la GPU Nvidia Volta , que se utilizó por primera vez en la línea de productos Tesla V100 . [20] Su especificidad es que cada Tensor Core opera en matrices 4 x 4 de coma flotante de 16 bits , y parece estar diseñado para ser utilizado en el nivel CUDA C ++, incluso en el nivel del compilador . [21]
Los núcleos tensoriales utilizan CUDA Warp -Level Primitives en 32 subprocesos paralelos para aprovechar su arquitectura paralela. [22] Un Warp es un conjunto de 32 subprocesos que están configurados para ejecutar la misma instrucción.
El supermuestreo de aprendizaje profundo utiliza inteligencia artificial y aprendizaje automático para producir una imagen que parece una imagen de mayor resolución, sin la sobrecarga de procesamiento. El algoritmo de Nvidia aprende de decenas de miles de secuencias renderizadas de imágenes que fueron creadas usando una supercomputadora. Eso entrena el algoritmo para poder producir imágenes igualmente hermosas, pero sin requerir que la tarjeta gráfica trabaje tan duro para hacerlo.
Por supuesto, esto es de esperar.
DLSS nunca iba a proporcionar la misma calidad de imagen que el 4K nativo, al tiempo que proporcionaría un aumento del rendimiento del 37%.
Eso sería magia negra.
Pero la diferencia de calidad al comparar los dos es casi ridícula, en lo lejos que está DLSS de la presentación nativa en estas áreas estresantes.
Recientemente, dos grandes títulos recibieron soporte de NVIDIA DLSS, a saber, Metro Exodus y Battlefield V. Ambos juegos vienen con la implementación de NVIDIA DXR (DirectX Raytracing) que por el momento solo es compatible con las tarjetas GeForce RTX. DLSS hace que estos juegos se puedan reproducir a resoluciones más altas con velocidades de cuadro mucho mejores, aunque hay una disminución notable en la nitidez de la imagen. Ahora, AMD ha criticado DLSS, diciendo que los métodos AA tradicionales como SMAA y TAA "ofrecen combinaciones superiores de calidad de imagen y rendimiento".
El beneficio para la mayoría de las personas es que, en general, DLSS viene con una mejora considerable de FPS. Cuánto varía de un juego a otro. En Metro Exodus, el salto de FPS apenas se produjo y ciertamente no valió la pena el extraño golpe a la calidad de imagen.
Por supuesto, esta no es la primera implementación de DLSS que hemos visto en Control. El juego se envió con una interpretación lo suficientemente decente de la tecnología que en realidad no usaba el aprendizaje automático.
Como se prometió, NVIDIA ha actualizado la red DLSS en una nueva actualización de Geforce que proporciona una calidad de imagen mejor y más nítida al tiempo que conserva una mayor velocidad de fotogramas en los juegos con trazado de rayos. Si bien la función no se usó tan bien en su primera iteración, NVIDIA ahora confía en que han solucionado con éxito todos los problemas que tenía antes.
“El DLSS original requería entrenar la red de IA para cada nuevo juego. DLSS 2.0 se entrena utilizando contenido no específico del juego, entregando una red generalizada que funciona en todos los juegos. Esto significa integraciones de juegos más rápidas y, en última instancia, más juegos DLSS ".
Un efecto secundario de DLSS es que no parece funcionar bien con MSAA (forzado a través de los controladores) o TXAA habilitado en el juego. El rendimiento en realidad se derrumbó bastante con cualquiera de esos métodos de suavizado en la parte superior de DLSS 2.0, con el modo de calidad solo funcionando alrededor de la mitad de rápido que sin DLSS
Desarrollamos un nuevo algoritmo de procesamiento de imágenes que se aproximaba a nuestro modelo de investigación de IA y se ajustaba a nuestro presupuesto de rendimiento.
Este enfoque de procesamiento de imágenes para DLSS está integrado en Control
El equipo de DLSS primero extrae muchos fotogramas con alias del juego de destino, y luego, para cada uno, generamos un "fotograma perfecto" coincidente utilizando supermuestreo o renderizado por acumulación. Estos fotogramas emparejados se envían al superordenador de NVIDIA. La supercomputadora entrena el modelo DLSS para reconocer las entradas con alias y generar imágenes con suavizado de alta calidad que coincidan con el "cuadro perfecto" lo más fielmente posible. Luego repetimos el proceso, pero esta vez entrenamos el modelo para generar píxeles adicionales en lugar de aplicar AA. Esto tiene el efecto de aumentar la resolución de la entrada. La combinación de ambas técnicas permite que la GPU represente la resolución completa del monitor a velocidades de cuadro más altas.
Las GPU NVIDIA ejecutan grupos de subprocesos conocidos como warps en el modo SIMT (instrucción única, subproceso múltiple)