Seguro que te preguntas que cómo es posible que la Inteligencia Artificial ayude a los desarrolladores a crear mejores juegos, mejores imágenes y en definitiva, a hacer mejores gráficos con más realismo. La respuesta, sino toda, la tiene en gran parte una tecnología muy poco conocida que llega de la mano de NVIDIA: NGX, la cual es uno de los santos griales de cara al futuro de la IA al trabajar con GPUs.
La pregunta más básica si no tenemos mucha idea de nada de estos temas podría ser, ¿cómo una GPU trabaja con Inteligencia Artificial? Todo es mucho más simple, pero a la vez algo complicado de explicar si tenemos en cuenta las arquitecturas RTX de las tarjetas gráficas de NVIDIA, sobre todo una unidad específica para tal fin, los Tensor Cores.
El aprendizaje profundo moldea la IA de NVIDIA NGX
Como seguro ya sabemos, las unidades Tensor Cores son usadas por NVIDIA en los videojuegos para Deep Learning Super Sampling, ya que necesita de la inferencia de la IA para hacer el super muestreo de los píxeles.
Pero esta visión de los Tensor Cores es incompleta, ya que solo estamos viendo lo que ocurre desde el lado del jugador y no desde el lado del desarrollador, el cual crea esas imágenes que luego se escalan. Aquí es donde entra NVIDIA NGX y donde se fundamenta su uso para dar vida a imágenes más reales, ya que no es más que una pila de tecnología impulsada por Deep Learning que dota a los desarrolladores de funciones con IA para acelerar o mejorar los gráficos, las imágenes y incluso el procesamiento de vídeo en tiempo real.
Como ya hemos comentado, para poder funcionar necesita de una unidad específica que trabaje desde abajo y aquí es donde entran los Tensor Cores de las GPU RTX. El SDK de NVIDIA NGX logra que los desarrolladores dispongan de una serie de funciones de Inteligencia Artificial a su disposición mediante unas redes que han sido entrenadas en el superordenador de NVIDIA Saturno V.
¿Qué puede hacer esta tecnología y cómo lo hace?
Podríamos decir que a grandes rasgos existen 3 escenarios que engloban al resto: imágenes, vídeos y juegos. Para cada uno de ellos existen diferentes funciones que los desarrolladores pueden usar para múltiples propósitos, ya que hablamos de un SDK completo y muy potente.
Por incluir algunos ejemplos, en una imagen podemos borrar contenido de la misma y crearlo a través de la IA, la cual sustituirá de forma perfecta el contenido según haya sido entrenada la red neuronal (InPainting).
Podremos insertar fotogramas interpolados en un vídeo, dar vida a cualquier líquido en una serie de imágenes que no lo contenían y a dos velocidades distintas, ya que la IA identifica el movimiento de la cámara y permite que agreguemos esos FPS en pantalla que no existían.
En imágenes a baja resolución o defectuosas, puede escalar hasta 8x la calidad original extendiendo los píxeles existentes y filtrándolos entre ellos gracias a la IA.
Crea nuevos píxeles según su entrenamiento y los coloca donde son necesarios, mejorando la calidad de la imagen, así como su nitidez. En juegos es todavía más alucinante como trabaja, ya que la función está incluida en el driver de NVIDIA y como ya habremos adivinado, es usada para DLSS mediante previo entreno en Saturno V.
Su funcionamiento es sencillo, puesto que cuando el driver detecta la llamada de la función da acceso total a NGX para que haga uso del hardware y reescale los fotogramas en tiempo real mediante DLSS.