domingo, 10 de septiembre de 2023

Machine Learning y cambio climático



Poco se habla de la contribución del Machine Learning a las emisiones de gases de efecto invernadero. En contraste encontramos miles de artículos sobre las ventajas del Deep Learning y las maravillas de las inteligencias artificiales generativas. Como punto negativo se menciona la posible pérdida de puestos de trabajo,  algunos inconvenientes relacionados con los derechos de autor, los sesgos o si estamos marcando el camino hacia la imbecilidad colectiva confiando ciegamente en la tecnocracia de las grandes corporaciones.  Evidentemente estos temas son muy interesantes y deben ser tratados desde el punto de vista de la ética y la política, pero también me parece fundamental hablar de las consecuencias climáticas que tiene el empleo de los servidores de gran potencia que normalmente se encuentra detrás de la magia de la inteligencia artificial. Considero además que somo quienes nos dedicamos a estos asuntos los primeros que deberíamos meditar sobre las consecuencias de nuestro trabajo, por su puesto cada uno desde la modestia de su posición.

Las ideas subyacentes

Para entender el impacto sobre el medio ambiente pueden tener el uso de la inteligencia artificial repasemos antes algunos conceptos básicos:

El paradigma de algoritmo de inteligencia artificial se encuentra en las llamadas redes neuronales artificiales, existen muchos otros métodos pero para ejemplificar la explosión actual de las AI nos referiremos principalmente a ellas.  Las redes neuronales artificiales son un tipo de algoritmo del tipo denominado aprendizaje supervisado que emula en cierta medida el funcionamiento de la neurona natural. El perceptrón, que es la unidad básica de estas redes, fue desarrollada teóricamente en el año 1943 por Walter Pitts y Warren McCulloch. La primera red neuronal artificial fue implementada algo después, en 1957 Frank Rosenblatt empezó a trabajar en una máquina capaz de emular físicamente la idea teórica subyacente en la ideal del perceptrón. Estamos hablando de una implementación por hardware {Figura 1} no por software, para una codificación de los algoritmos en una máquina de propósito general hubo que esperar a la década de los 60  usando para su ejecución un IBM 704. Estas redes se podrían usar para aprender ciertas tareas, entre las más simples clasificar entradas, como por ejemplo, dada una foto donde aparecía una persona,  decidir si esta era una mujer o un hombre. 


Mark 1
Figura 1: Mark 1


Tras la construcción y ejecución del perceptrón se comprobó por un lado la considerable potencia de estos métodos y por otro, el enorme costo en hardware y tiempo de cómputo para ejecutar estas redes.  Desde la invención del perceptrón hasta la actualidad, se han sucedido diversos "inviernos de la AI" consistentes en periodos  de escasos avances prácticos en esta disciplina. Las redes neuronales artificiales usan básicamente calculo matricial lo que implica un coste computacional considerable y las máquinas de la época no estaban preparadas para realizar de forma eficiente estos cálculos. Por tanto, aunque ya en los años 80 del siglo pasado se hablara de deep learning - redes neuronales multicapa - su construcción  experimental no estaba al alcance del hardware de la época. El invierno se ceñía sobre el campo de la AI, las ejecuciones prácticas eran inviables lo que generó  un desincentivo que afecto a los desarrollos teóricos.   


Figura 2. Los inviernos de la AI {1}.


Los avances en hardware de principios de los años 2000 abrieron la puerta al uso en aplicaciones reales, pero aún faltaba un pequeño pero importante empujón. Este empujón vino del mundo de los videojuegos, generar movimiento en los gráficos conlleva un buen número de operaciones de algebra matricial, por lo que se pensó en desarrollar hardware altamente especializado que realizará de forma eficiente estos cálculos. A partir de ese momento y gracias al uso de las tarjetas gráficas usadas en consolas y PCs para jugar, se logró superar las dificultades que presentaban los tiempos de entrenamiento y uso de este tipo de algoritmos.  En cierta medida los jugadores pusimos nuestro grano de arena en el deshielo del invierno de la AI. 

Pese a las considerables ventajas de su uso, estos dispositivos tienen sus inconvenientes,  por un lado un consumo nada desdeñable, por otro su nivel de complejidad y por último la necesidad de emplear materiales escasos para su construcción. 

Figura 3. Consumos de algunas GPUs, para el caso que nos ocupa, el entrenamiento de una red,  podemos considerar  el valor de TGP , total graphics power 

 

Usar una red neuronal artificial  para distinguir, por ejemplo, entre perros y gatos,  conlleva dos tareas:

- Entrenamiento: Básicamente consiste en ofrecerle al algoritmo un conjunto de imágenes etiquetadas  - perros vs gatos - para que mediante métodos de control del error configure unos pesos, esto es, una gran matriz que sirva precisamente para clasificar las entradas - imágenes - en dos conjuntos. 

- Predicción: Una vez entrenada la red se le pasa la imagen y la matriz de pesos da como salida una predicción sobre la clase a la pertenece - perro o gato - dicha imagen. 

El entrenamiento conlleva un considerable esfuerzo de cómputo y para poder hacerlo en un tiempo razonable, lo más conveniente es llevar este proceso a las GPUs. El proceso de predicción es más liviano, pero las necesidades de acelerar la predicción en entornos reales - la detección de objetos en la conducción autónoma, por ejemplo - obligan a usar el hardware de forma intensiva, por lo que el uso de la GPU también esta generalizado. Sea como fuere, el uso de deep learning  conlleva unos consumos energéticos y de materias primas considerables ya que se debe usar de forma intensiva las GPUs durante los dos procesos antes citados  -  {2, 3} - . Por ejemplo:

  • El entrenamiento de GPT-3 expulso a la atmósfera unas 552 toneladas de CO2.
  • Alpha Zero de Google libero unas 100 toneladas de CO2 a la atmósfera durante su fase de aprendizaje. 
  • Entrenar una red neuronal de gran tamaño, 200 millones de parámetros, produce aproximadamente unas 240 toneladas de CO2.
La ejecución de la predicción tiene un coste mucho menor, pero su uso generalizado es una parte fundamental del problema. Por otro lado los requisitos de hardware no van a reducirse y el empleo de estas técnicas no para de extenderse. Es evidente que el uso del deep learning participa  de forma considerable en el  cambio climático  de origen atropogénico. Sin embargo, de poco sirve ser un ludita en estos asuntos, las ventajas que ofrece esta tecnología son enormes, incluidas una inestimable ayuda precisamente en la búsqueda de soluciones a nuestros problemas climáticos. Lo más sensato es, sin renunciar al uso de la tecnología, meditar sobre su empleo y reflexionar en que medida podemos reducir o mitigar el impacto negativo. Precisamente aquí planteo algunas de estas reflexiones:

¿Deep learning para todo? 

Disponer de un martillo puede ser imprescindible en algunos ámbitos pero si pretendemos resolver todos lo problemas a martillazos nos vamos a encontrar en serias dificultades.  ¿De verdad es necesario extender  tanto el uso del deep learning?, ¿no existen otras técnicas alternativas?. Por ejemplo, desde Aerín hemos investigado algoritmos alternativos, menos costosos computacionalmente, para detectar la presencia de mascarillas. Mientras que durante la pandemia se multiplicaban las publicaciones científicas que resolvían este problema  usando redes convolucionales  {4} , desde el departamento de I+D de Aerin buscábamos soluciones por vías alternativas, usando entre otras cosas análisis del histograma con resultados mejores que los modelos CNN. 

Pero podemos llegar más lejos, que una inteligencia artificial pueda hacer un trabajo no significa que automáticamente tenga que emplearse para tal fin. No hay nada malo en analizar si hay una alternativa más  sencilla o si un operador humano  asistido por una AI puede ser más eficiente que emplear pesados modelos de deep learning. La tecnología es una gran herramienta pero no es ni la única ni la mejor en todos los ámbitos

Una clave, la investigación básica

Muchos son los matemáticos y los físicos que deciden seguir la senda de la empresa privada, dedicando su vida laboral al desarrollo y la aplicación práctica de técnicas de inteligencia artificial. Esta decisión conlleva en muchos casos  el sacrificio de la otra vía, la de la investigación básica. Es conocido que la vocación eminentemente teórica en matemáticas esta descendiendo en favor de un carrera profesional más elocuente desde el punto de vista de lo material. Sin embargo,  el trabajo teórico es absolutamente fundamental, no solo para la AI, sino para todas las ciencias en general. Por tanto dignificar el trabajo de la investigación en  ciencia básica, aumentar las cuantías de las becas  y asegurar un futuro estable y bien remunerado es fundamental en todos los sentidos. Un ejemplo, recientemente se ha logrado por parte del Instituto de Telecomunicaciones y Aplicaciones Multimedia en la Universitat Politècnica de València  {5}, al encontrar una mejora en el método de calculo de funciones de matrices basado en la técnica de Paterson-Stockmeyer. Este hallazgo teórico puede tener un impacto importante en cualquier algoritmo que trabaje con matrices, incluida la gran mayoría de las técnicas de deep learning reduciendo las necesidades de cómputo

En otro caso, optimizar


En caso de que tengamos que usar algoritmos complejo, con la necesidad de entrenar mediante largos conjuntos de datos etiquetados, debería ser obligado realizar una correcta planificación con la finalidad de reducir en la medida de lo posible el impacto. Esto se puede realizar de varias formas, usando métodos de "transferencia de conocimiento", eligiendo con cuidado la arquitectura o construyendo un buen dataset. También es posible ajustar la potencia requerida de las GPUs sin que esto suponga un gran impacto en los tiempos de entrenamiento, ni en los resultados. Mi próxima entrada realiza un análisis de estas técnicas de reducción de potencia. 

Finalmente podemos trabajar en mejorar el impacto de nuestros algoritmos y considerar en que medida podemos reducir el impacto en las emisiones de gases contaminantes.


{1}. Schuchmann, Sebastian. (2019). Analyzing the Prospect of an Approaching AI Winter. 10.13140/RG.2.2.10932.91524. 
{2}.  Lacoste, A., Luccioni, A., Schmidt, V., & Dandres, T. (2019). Quantifying the carbon emissions of machine learning. arXiv preprint arXiv:1910.09700. 
{3}.  Schwartz, R., Dodge, J., Smith, N. A., & Etzioni, O. (2020). Green ai. Communications of the ACM, 63(12), 54-63. 
{4}.  JIGNESH CHOWDARY, G., et al. Face mask detection using transfer learning of inceptionv3. En Big Data Analytics: 8th International Conference, BDA 2020, Sonepat, India, December 15–18, 2020, Proceedings 8. Springer International Publishing, 2020. p. 81-90. 
{5}.  Sastre, J., & Ibáñez, J. (2021). Efficient evaluation of matrix polynomials beyond the Paterson–Stockmeyer method. Mathematics, 9(14), 1600. 


No hay comentarios:

Publicar un comentario