Inteligencia artificial
Las GPU pueden ser mejores, no solo más rápidas, en el entrenamiento de redes neuronales profundas

Los investigadores de Polonia y Japón, que trabajan con Sony, han encontrado evidencia de que los sistemas de aprendizaje automático entrenados en GPU en lugar de CPU pueden contener menos errores durante el proceso de entrenamiento y producir resultados superiores, contradiciendo la comprensión común de que las GPU simplemente realizan dichas operaciones más rápido, en lugar de mejor.
La investigación, titulada Impacto de la incertidumbre de la GPU en el entrenamiento de redes neuronales predictivas profundas, proviene de la Facultad de Psicología y Ciencias Cognitivas de la Universidad Adam Mickiewicz y dos universidades japonesas, junto con los laboratorios de ciencias de la computación de SONY.
El estudio sugiere que las ‘incertidumbres’ que las redes neuronales profundas exhiben ante diversas configuraciones de hardware y software favorecen a las unidades de procesamiento gráfico más costosas (y cada vez más escasas) y encontró en las pruebas que una red neuronal profunda entrenada exclusivamente en CPU produjo tasas de error más altas en el mismo número de épocas (el número de veces que el sistema reprocessa los datos de entrenamiento en el transcurso de una sesión).

En este ejemplo suplementario del documento, vemos (dos filas inferiores), una calidad de resultado similar obtenida de una variedad de GPU, y (primera fila), los resultados inferiores obtenidos de una gama de CPU muy capaces. Source: https://arxiv.org/pdf/2109.01451.pdf
Fenómenos extraños
Estos hallazgos preliminares no se aplican uniformemente a través de los algoritmos de aprendizaje automático populares, y en el caso de las arquitecturas de autoencoder simples, el fenómeno no aparece.
Sin embargo, el trabajo sugiere que puede haber una posible ‘velocidad de escape’ para la eficacia del entrenamiento en redes neuronales complejas, donde cubrir las mismas operaciones a menor velocidad y mayor tiempo de entrenamiento no obtiene la paridad de rendimiento que se esperaría de las rutinas de iteración matemática.
Los investigadores sugieren que esta disparidad de rendimiento podría ser particular de ciertos tipos de redes neuronales, y que los aspectos indeterminados del procesamiento específico de la GPU, frecuentemente vistos como un obstáculo que eventualmente se superará, no solo pueden proporcionar beneficios notables, sino que también podrían incorporarse intencionalmente en sistemas posteriores. El documento también sugiere que los hallazgos podrían ofrecer una comprensión más profunda del procesamiento computacional relacionado con el cerebro.
Identificar las peculiaridades que aumentan la eficiencia y la calidad de los resultados de esta manera en las GPU tiene el potencial de obtener una comprensión más profunda de las arquitecturas de ‘caja negra’ de la IA, e incluso para mejorar el rendimiento de la CPU – aunque actualmente, las causas subyacentes son esquivas.
Autoencoder vs. PredNet
Al estudiar las anomalías, los investigadores utilizaron un autoencoder básico y también la Red Neuronal Predictiva de la Universidad de Harvard PredNet, investigación de 2016 que fue diseñada para explorar y tratar de replicar el comportamiento de la corteza cerebral humana.
Ambos sistemas son redes neuronales profundas diseñadas para sintetizar imágenes apropiadas a través del aprendizaje no supervisado (con datos de los que se omitieron las etiquetas), aunque el autoencoder se ocupa linealmente de una imagen por lote, que luego produciría una salida como la siguiente imagen en una tubería recurrente. El autoencoder se entrenó en la base de datos de escritura a mano MNIST.

El autoencoder en las pruebas de los investigadores se entrenó en la base de datos MNIST, que comprende 60,000 imágenes de entrenamiento a 28×28 píxeles, anti-aliasing para la inducción de escala de grises, así como 10,000 imágenes de prueba.
Por contraste, PredNet evalúa la entrada de video compleja, y en el caso de esta investigación, se entrenó en el conjunto de datos FPSI, que presenta una extensa filmación de video en primera persona de un día en Disney World en Orlando, Florida (Disney fue uno de los asociados de investigación en el documento de 2012).

Secuencias de imágenes de FPSI, que muestran vistas en primera persona de un día en Disney World.
Las dos arquitecturas son muy diferentes en términos de complejidad. El autoencoder está diseñado para reconstruir imágenes en lugar de predecir valores objetivo. Por contraste, PredNet cuenta con cuatro capas, cada una de las cuales consiste en neuronas de representación que utilizan memoria de corto plazo convolucional (LSTM).
Las capas producen predicciones contextuales que se comparan con un objetivo para producir un término de error que se propaga a lo largo de la red. Ambos modelos utilizan aprendizaje no supervisado.

La arquitectura lineal simple del autoencoder, y la red más laberíntica y recursiva de PredNet.
Ambos sistemas se probaron en una variedad de configuraciones de hardware y software, incluyendo CPU sin GPU (Intel i5-4590, i7-6800K, i5-7600K, o AMD Ryzen-5-3600) y CPU con GPU (Intel i5-7600K + NVIDIA GTX-750Ti, i5-7600K + GTX-970, i7-6700K + GTX-1080, i7-7700K + GTX-1080Ti, i7-9700 + RTX-2080Ti, i5-7600K + RTX-2060 super, AMD Ryzen-5-3600 + RTX-2070 super, o i5-9400 + Titan-RTX).
El visor de proceso interactivo htop se utilizó para asegurarse de que todo el entrenamiento ocurriera en un solo hilo (en un Intel i7-6800K), en cuatro hilos (en un Intel i5-4590 y i5-7600K), o seis hilos (en un AMD Ryzen-5-3600).
Puntos de ensilladura
En el autoencoder, la diferencia media en todas las configuraciones, con y sin cuDNN, no fue significativa. Para PredNet, los resultados fueron más sorprendentes, con diferencias notables en la evaluación de pérdida y calidad entre el entrenamiento de CPU y GPU.

Los resultados de pérdida promedio para el entrenamiento de PredNet en cuatro CPU y ocho GPU, con la red entrenada en 5000 cuadros de video en 250 lotes, con la pérdida promedio para los últimos 1000 cuadros (50 lotes) representada. cuDNN estaba desactivado.
Los investigadores concluyen que ‘Aunque el mecanismo no está claro, el hardware de la GPU parece tener la capacidad de avanzar en el entrenamiento de las redes neuronales profundas.’
Los resultados indican que las GPU pueden ser mejores para evitar los puntos de ensilladura – las áreas en un descenso de gradiente que describen el fondo de una pendiente.

El nadir de las pendientes en un descenso de gradiente es el ‘punto de ensilladura’, llamado así por razones obvias. Source: https://www.pinterest.com.au/pin/436849232581124086/
Los puntos de ensilladura, aunque un impedimento, han sido en gran medida descartados como fáciles de sortear en el pensamiento reciente sobre la optimización del descenso de gradiente estocástico (SGD), pero el nuevo documento sugiere no solo que las GPU pueden estar únicamente equipadas para evitarlos, sino que la influencia de los puntos de ensilladura debería revisarse.












