Guía docente de Computación de Altas Prestaciones para Clasificación y Optimización (M51/56/3/8)

Curso 2023/2024
Fecha de aprobación por la Comisión Académica 26/07/2023

Máster

Máster Universitario en Ciencia de Datos e Ingeniería de Computadores

Módulo

Módulo de Computación de Altas Prestaciones

Rama

Ingeniería y Arquitectura

Centro Responsable del título

International School for Postgraduate Studies

Semestre

Segundo

Créditos

4

Tipo

Optativa

Tipo de enseñanza

Presencial

Profesorado

  • Francisco Naveros Arrabal
  • Francisco Manuel Ortuño Guzmán

Tutorías

Francisco Naveros Arrabal

Email
Tutorías 1º semestre
  • Miércoles 12:00 a 14:00 (Facultad de Ciencias)
  • Miércoles 16:00 a 18:00 (Facultad de Ciencias)
  • Jueves 11:00 a 13:00 (Citic Despacho 1.3)

Francisco Manuel Ortuño Guzmán

Email
Tutorías 2º semestre
  • Lunes 10:30 a 14:00 (D1.3 Edificio Auxiliar de la Etsiit)
  • Viernes 11:30 a 14:00 (D1.3 Edificio Auxiliar de la Etsiit)

Breve descripción de contenidos (Según memoria de verificación del Máster)

La capacidad para captar datos ha crecido enormemente gracias a la disponibilidad de sensores, dispositivos y la ingente cantidad de recursos de almacenamiento. En muchos casos, se trata de datos no estructurados (no se ajustan a un modelo predefinido o no presentan una interrelación clara), o tienen un volumen considerable, por lo que es necesario utilizar modelos eficientes que puedan extraer información en tiempos aceptables. En esta asignatura, se estudian algunos modelos bioinspirados, como las redes neuronales artificiales y los algoritmos evolutivos, y su implementación en plataformas paralelas y distribuidas de altas prestaciones ya que permiten abordar problemas complejos de Machine Learning que aparecen en aplicaciones de Big Data, BCI, o bioinformática. Tras estudiar las características de estos modelos bioinspirados, como el paralelismo implícito que presentan, se aborda con detalle su aplicación en problemas de clasificación y optimización multiobjetivo. También se consideran aspectos relacionados con su implementación energéticamente eficiente en distintas plataformas y arquitecturas hardware, así como los lenguajes y paradigmas de programación que mejor se adaptan a este tipo de aplicaciones.

Prerrequisitos y/o Recomendaciones

No consta.

Competencias

Competencias Básicas

  • CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
  • CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Resultados de aprendizaje (Objetivos)

El estudiante será capaz de:

  • Identificar el paralelismo implícito en los modelos bioinspirados neuronales y evolutivos y aplicarlo a las arquitecturas de cómputo paralelas actuales.
  • Implementar modelos neuronales y evolutivos adecuados para resolver problemas de clasificación y optimización utilizando herramientas de programación como Python y TensorFlow.
  • Distinguir entre problemas de optimización mono y multi-objetivo y estimar las diferencias en complejidad que plantea su resolución mediante aproximaciones basadas en computación evolutiva.
  • Proponer alternativas para implementar de forma paralela procedimientos de clasificación y optimización teniendo en cuenta las características de las arquitecturas de cómputo a utilizar (CPU multinúcleo y GPUs).
  • Aplicar correctamente técnicas como la selección de características o MapReduce para el tratamiento de grandes volúmenes de datos.
  • Tratar con aplicaciones de bioinformática que impliquen procesar información no estructurada (análisis de datos complejos, sistemas BCI, etc.).

Programa de contenidos Teóricos y Prácticos

Teórico

  1. Conceptos básicos de paralelismo y arquitectura de computadores.
  2. Introducción a los modelos bioinspirados neuronales y evolutivos para problemas de clasificación y optimización con paralelismo implícito.
  3. Clasificación y clustering mediante redes neuronales convolucionales (CNNs).
  4. Computación evolutiva paralela, distribuida y heterogénea en problemas de optimización mono y multi-objetivo.

Práctico

Seminarios/Talleres:

  1. Aprendizaje de herramientas y librerías para programación paralela heterogénea.
  2. Implementación de métodos de clasificación y optimización en plataformas paralelas multinúcleo y GPUs.
  3. Evaluación de prestaciones de códigos para problemas de clasificación y optimización en aplicaciones de Big Data, BCI y bioinformática.

Bibliografía

Bibliografía fundamental

  • H. Patterson. “Computer Architecture. A Quantitative approach” (Sixth Edition). Morgan Kaufmann, 2019.
  • U. Maulik, S. Bandyopadhyay and A. Mukhopadhyay. “Multiobjective Genetic Algorithms for Clustering. Applications in Data Mining and Bioinformatics”. Springer, 2011.
  • P. Krömer, J. Platoš  and V. Snášel. “Nature-Inspired Meta-Heuristics on Modern GPUs: State of the Art and Brief Survey of Selected Algorithms”. 2014. International Journal of Parallel Programming 42(5), pp. 681-709. DOI: 10.1007/s10766-013-0292-3.

Bibliografía complementaria

  • F. Fernández de Vega, J.I Hidalgo Pérez and J. Lanchares. “Parallel Architectures and Bioinspired Algorithms”. Springer, 2012.
  • T. Hastie, R. Tibshirani and J. Friedman. “The Elements of Statistical Learning. Data Mining, Inference, and Prediction” (2nd Edition). Springer, 2008.
  • K. Hwang, G.C. Fox y J.J. Dongarra. “Distributed and Cloud Computing. From Parallel Processing to the Internet of Things”. Morgan Kaufmann, 2012.
  • M. Gorelick and I. Ozsvald. “High Performance Python. Practical Performant Programming for Humans” (2nd Edition). O’Reilly Media, Inc, 2020

Enlaces recomendados

Sitio web del Máster Universitario Oficial en Ciencia de Datos e Ingeniería de Computadores:
http://masteres.ugr.es/datcom/

Metodología docente

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)

Evaluación Ordinaria

El artículo 17 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se le haya reconocido el derecho a la evaluación única final. La evaluación continua se llevará a cabo según los siguientes criterios:

  • Participación en clase y seminarios (20%).
  • Elaboración de informes de evaluación de las prestaciones de los códigos analizados (50%).
  • Cumplimentar un cuestionario final sobre los contenidos de cada lección (10%).
  • Presentación oral del análisis de un artículo que el estudiante seleccione de entre los que se proporcionan como referencia (20%).

Evaluación Extraordinaria

El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación mediante la realización de una prueba y/o trabajo. La evaluación de los estudiantes en esta convocatoria extraordinaria se llevará a cabo a través de un examen sobre los contenidos de los temas de la asignatura. Esto implica elaborar códigos para resolver problemas sobre los conceptos abordados con el objetivo de garantizar que el alumno ha adquirido la totalidad de las competencias descritas en esta guía docente.

Evaluación única final

El artículo 8 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que podrán acogerse a la evaluación única final los estudiantes que no puedan cumplir con el método de evaluación continua por causas justificadas. El estudiante podrá acogerse a la evaluación única final durante las dos primeras semanas de impartición de la asignatura o en las dos semanas siguientes a su matriculación si ésta se produjo con posterioridad al inicio de las clases o por causa sobrevenidas. La solicitud de evaluación única final se hará a la Coordinación del Máster a través del procedimiento electrónico, quien trasladará la petición al profesorado correspondiente alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua. La evaluación, en tal caso, será similar a la correspondiente de la convocatoria extraordinaria.

Información adicional