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.
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.
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.
¿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.
No hay comentarios:
Publicar un comentario