Deep Learning Super Sampling

El Supermuestreo de Aprendizaje Profundo (DLSS por sus siglas en inglés Deep Learning Super Sampling) es una tecnología de escalado de imágenes desarrollada por Nvidia y exclusiva de las tarjetas gráficas de Nvidia para uso en tiempo real en videojuegos seleccionados, que utiliza aprendizaje profundo para escalar imágenes de menor resolución a una resolución más alta para visualizarlas en monitores de grandes resoluciones. Nvidia afirma que esta tecnología rescala las imágenes con una calidad similar a la de una imagen en alta resolución, pero con menos cálculo realizado por la tarjeta gráfica, lo que permite configuraciones gráficas y fotogramas por segundo más altos para una resolución determinada.[1]

A partir de diciembre de 2020, esta tecnología está disponible exclusivamente en las GPU de las series GeForce RTX 20 y GeForce RTX 30.

Su competidor de AMD es el FSR.

Historia

editar

Nvidia anunció DLSS como una característica clave de las GPU de la serie GeForce RTX 20 cuando se lanzaron en septiembre de 2018.[2]​ En ese momento, los resultados se limitaron a unos pocos videojuegos (por ejemplo, Battlefield V[3]​ y Metro Exodus ) porque el algoritmo tenía que entrenarse específicamente en cada juego en el que se aplicó y los resultados generalmente no eran tan buenos como el rescalado tradicional.[4][5]

En 2019, el videojuego Control, fue ofrecido con trazado de rayos y una versión mejorada de DLSS, que no usaba Tensor Cores.[6][7]

En abril de 2020, Nvidia anunció y lanzó con la versión 445.75 de los controladores 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 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.[2][8]

Un efecto secundario de DLSS 2.0 es que parece no funcionar muy bien con técnicas anti-aliasing como MSAA o TSAA, el rendimiento se ve afectado negativamente si estas técnicas están habilitadas sobre DLSS.[9]

A partir de abril de 2020, los desarrolladores de juegos deben incluir DLSS 2.0 a todos los juegos.

Historial de versiones

editar
Lanzamiento Fecha de lanzamiento Destacar
1.0 Febrero de 2019 Primera versión, con IA y entrenada específicamente para algunos juegos específicos, incluidos Battlefield V y Metro Exodus[3]
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 los núcleos CUDA y se adapta específicamente para Control[6][2][10]
2.0 (segunda iteración) Abril de 2020 Segunda versión 2.0, usando Tensor Cores nuevamente y entrenado genéricamente[11]

Algoritmo

editar

DLSS 1.0

editar

Nvidia explicó que DLSS 1.0 funcionaba con imágenes objetivo consideradas "cuadros perfectos" usando el supermuestreo tradicional, luego entrenó la red neuronal en estas imágenes resultantes. En un segundo paso, el modelo se entrenó para reconocer entradas con alias en el resultado inicial.[12][13]

DLSS 2.0

editar

DLSS 2.0 funciona de la siguiente manera:[14]

  • La red neuronal es entrenada por Nvidia usando imágenes "ideales" de videojuegos con resolución ultra alta en supercomputadoras e imágenes de baja resolución de los mismos juegos. El resultado se almacena en el controlador de la tarjeta de video. Se dice que Nvidia utiliza servidores DGX-1 para realizar el entrenamiento de la red.[15]
  • La red neuronal almacenada en el controlador compara la imagen real de baja resolución con la referencia y produce un resultado de alta resolución completa. Las entradas utilizadas por la red neuronal entrenada son las imágenes con solapamiento de baja resolución generadas por el motor del juego, y los vectores de movimiento de baja resolución de las mismas imágenes, también generadas por el motor del juego. Los vectores de movimiento le dicen a la red en qué dirección se mueven los objetos en la escena de un fotograma a otro, para poder estimar cómo se verá el siguiente cuadro.[16]

Arquitectura

editar

Los Tensor Cores 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.[17]​ Su especificidad es que cada Tensor Core opera en matrices de 4 x 4 de punto flotante de 16 bits, y parece estar diseñado para usarse en el nivel CUDA C++, incluso en el nivel del compilador.[18]

Los Tensor Cores utilizan los CUDA Warp -Level Primitives en 32 subprocesos paralelos para aprovechar su arquitectura.[19]​ Un Warp es un conjunto de 32 hilos que están configurados para ejecutar la misma instrucción.

Véase también

editar

Referencias

editar
  1. «Nvidia RTX DLSS: Everything you need to know» (en inglés). Digital Trends. 14 de febrero de 2020. Consultado el 5 de abril de 2020. «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 buenas, pero sin requerir que la tarjeta gráfica trabaje tanto para hacerlo. Su competidor de AMD es el FSR. ». 
  2. a b c «Nvidia DLSS in 2020: stunning results» (en inglés). techspot. 26 de febrero de 2020. Consultado el 5 de abril de 2020. 
  3. a b «Battlefield V DLSS Tested: Overpromised, Underdelivered» (en inglés). techspot. 19 de febrero de 2019. Consultado el 06-04-2020. «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 tan demandantes 
  4. «AMD Thinks NVIDIA DLSS is not Good Enough; Calls TAA & SMAA Better Alternatives» (en inglés). techquila.co.in. 15 de febrero de 2019. Consultado el 06-04-2020. «Recientemente, dos grandes títulos recibieron soporte para NVIDIA DLSS, 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.». 
  5. «Nvidia Very Quietly Made DLSS A Hell Of A Lot Better» (en inglés). Kotaku. 22 de febrero de 2020. Consultado el 06-04-2020. «El beneficio para la mayoría de las personas es que, en general, DLSS viene con una mejora considerable de FPS. Pero varía mucho de un juego a otro. En Metro Exodus, el salto de FPS apenas se produce y ciertamente no valió la pena el extraño golpe a la calidad de imagen."». 
  6. a b «Remedy's Control vs DLSS 2.0 – AI upscaling reaches the next level» (en inglés). Eurogamer. 04-04-2020. Consultado el 05-04-2020. «Por supuesto, esta no es la primera implementación de DLSS que vemos en Control. El juego salió a la venta con una versión suficientemente decente de la tecnología que en realidad no usaba el aprendizaje automático.». 
  7. «NVIDIA DLSS 2.0 Update Will Fix The Geforce RTX Cards' Big Mistake» (en inglés). techquila.co.in. 24 de marzo de 2020. Consultado el 06-04-2020. «Como 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 mayores velocidades 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 ha solucionado con éxito todos los problemas que tenía antes.». 
  8. «HW News - Crysis Remastered Ray Tracing, NVIDIA DLSS 2, Ryzen 3100 Rumors» (en inglés). 19 de abril de 2020. Archivado desde el original el 26 de septiembre de 2020. Consultado el 19 de abril de 2020. «“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 con DLSS.». 
  9. «Evaluating NVIDIA DLSS 2.0 Quality And Performance In Mech 5 And Control» (en inglés). hothardware.com. 27 de marzo de 2020. Archivado desde el original el 26 de mayo de 2020. Consultado el 7 de abril de 2020. «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 ». 
  10. Edelsten, Andrew (30 de agosto de 2019). «NVIDIA DLSS: Control and Beyond» (en inglés). nividia.com. Consultado el 11 de agosto de 2020. «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». 
  11. «NVIDIA DLSS 2.0 Review with Control – Is This Magic?» (en inglés). techquila.co.in. 5 de abril de 2020. Consultado el 6 de abril de 2020. 
  12. «NVIDIA DLSS: Your Questions, Answered» (en inglés). Nvidia. 15 de febrero de 2019. Consultado el 19 de abril de 2020. «El equipo de DLSS primero extrae muchos fotogramas del juego en cuestión, y luego, para cada uno, generamos un "fotograma perfecto" coincidente utilizando supermuestreo o renderizado por acumulación. Estos fotogramas emparejados se envían a la supercomputadora 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 "fotograma 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 a la GPU representar la resolución completa del monitor a velocidades de cuadro más altas.». 
  13. A Supercomputer & AI Will Power NVIDIA RTX GPU's | What Is DLSS | NVIDIA RTX 2080 Performance. 
  14. «NVIDIA's Deep Learning Super Sampling (DLSS) 2.0 Technology Is The Real Deal». Forbes (en inglés). 29 de marzo de 2020. Consultado el 7 de abril de 2020. 
  15. «NVIDIA DLSS 2.0: A Big Leap In AI Rendering» (en inglés). Nvidia. 23 de marzo de 2020. Consultado el 25 de noviembre de 2020. 
  16. «NVIDIA DLSS 2.0: A Big Leap In AI Rendering» (en inglés). Nvidia. 23 de marzo de 2020. Consultado el 7 de abril de 2020. 
  17. «On Tensors, Tensorflow, And Nvidia's Latest 'Tensor Cores'» (en inglés). tomshardware.com. 11 de abril de 2017. Consultado el 8 de abril de 2020. 
  18. «The NVIDIA Titan V Deep Learning Deep Dive: It's All About The Tensor Cores» (en inglés). AnandTech. 3 de julio de 2018. Consultado el 8 de abril de 2020. 
  19. «Using CUDA Warp-Level Primitives» (en inglés). Nvidia. 15 de enero de 2018. Consultado el 8 de abril de 2020. «Las GPU NVIDIA ejecutan grupos de subprocesos conocidos como warps en el modo SIMT (instrucción única, subproceso múltiple)».