Resumen

El actual auge de la Inteligencia Artificial (IA) basada en redes neuronales profundas (RNPs), también conocida como deep learning (DL), se debe a la disponibilidad de una ingente cantidad de datos con los que entrenar estas redes (big data), el desarrollo de nuevos algoritmos (transformers, que son la base de modelos como ChatGPT), el diseño de aceleradores hardware (procesadores manycore, procesadores gráficos de NVIDIA, TPUs de Google, etc.) y los paquetes software para IA (PyTorch de Facebook, TensorFlow de NVIDIA, etc.). El DL requiere una gran cantidad de cálculos, tanto para inicializar los modelos (entrenamiento) como para desplegarlos y ejecutarlos (inferencia). Comparando estos dos procesos, la inferencia es una operación relativamente rápida, con un coste del orden de segundos o menos, frente a las horas, días o semanas que son necesarias para entrenar un modelo. Sin embargo, las restricciones temporales en procesos de inferencia pueden ser muy estrictas (tiempo de respuesta) y las plataformas donde se despliegan las RNPs pueden imponer condicionantes adicionales (teléfonos móviles, dispositivos "wearables"). Frente a ello, el entrenamiento se realiza offline, mediante grandes computadores equipados con aceleradores. Las operaciones en las que se basan los modelos de RPNs son sencillas y conocidas, tales como la multiplicación de matrices, la convolución o pequeñas transformaciones de regularización y normalización. Las librerías tradicionales poseen versiones optimizadas de las operaciones más costosas. Sin embargo, esta optimización puede resultar insuficiente cuando se aplica a las RNPs debido al coste del proceso de entrenamiento o las restricciones temporales sobre el proceso de inferencia. En este seminario se estudiarán diversas técnicas para optimizar las operaciones básicas que subyacen a los procesos de entrenamiento e inferencia con RNPs. Para ello, se relacionará el proceso de optimización con características hardware del procesador de destino: instrucciones SIMD, aceleradores matriciales, paralelismo multihebra, jerarquía del sistema de memoria (caché), etc. Utilizaremos estas técnicas en diferentes tipos de arquitecturas actuales, especialmente aquellas dirigidas a procesadores de bajo consumo y procesos de inferencia (ARM, RISC-V,...). Además, se estudiarán herramientas de generación automática de software tanto para optimizar operaciones básicas como para la optimización de modelos completos. Finalmente, aplicaremos las técnicas aprendidas a casos prácticos de RNPs reales, como modelos convolucionales para problemas de visión o transformers para procesamiento del lenguaje natural, sobre paquetes para DL de Python.

Datos de la actividad

Patrocina:

Escuela Internacional de Doctorado

Imparte:

Prof. Enrique Quintana Ortí. Universidad Politécnica de Valencia

Fecha:

Miercoles 17 abril de 10:30 a 14:30 y de 16:30 a 19:30
Jueves 18 de abril de 9:30 a 13:30

Dirigido a:

Estudiantes matriculados en el programa de doctorado de Informática

Nº de horas:

10

Lugar:

Laboratorio Smart-Home y 2.01 (CITE-III)

Nº de plazas:

25

Certificado:

Asistencia

Observaciones

Modalidad de la actividad: presencial