Es la hora del software verde
De un tiempo para acá que se habla de las Green IT para referirse a las Tecnologías de la Información asociadas a la sostenibilidad. Sin embargo, tiende a pensarse más en el hardware y la cantidad de electricidad y refrigeración que precisan que en el software. Hoy más que nunca es preciso que el software se diseñe para requerir menos energía y hardware por unidad de trabajo. Existen varias iniciativas al respecto y, desde hace cerca de tres años, la Green Software Foundation trabaja directamente en el código, consciente de que su programación depende la huella de carbono de las TI.
En realidad, la Green Software Foundation se fundó con viejos conocidos del sector en 2021, con compañías como Accenture, GitHub, Microsoft, ThoughtWorks y la Linux Foundation y en la actualidad ya supera los 60 miembros. Su propósito era desarrollar código más ligero para contribuir a los objetivos de reducciones de carbono acordadas en el Acuerdo de París, lo que pasaba por reducir sus emisiones de gases de efecto invernadero hasta en un 45% antes de 2030. No puede decirse tampoco que fuera pionera, puesto que en 2013 el Consorcio World Wide Web (W3C) creó el Grupo Comunitario de Diseño Web Sostenible y, siete años antes ya había nacido la Green Web Foundation.
En pleno auge de la Inteligencia Artificial (IA) generativa y su voracidad de recursos tanto de energía como de agua, el papel de la Green Software Foundation (GSF) cobra especial interés. Un software más sostenible y eficiente es determinante a la hora de reducir el consumo de servidores, redes, almacenamiento, etc. y, por supuesto, de dinero. Sin embargo, esta aproximación ha de adoptarse desde el principio, por diseño, es decir, que no sólo el software resultante contribuya a la sostenibilidad sino que ya durante sus fases de desarrollo éste se haya realizado con este mismo enfoque. Es más, ha de abarcar todo el ciclo de vida del software (desarrollo, operación y eliminación o reutilización), por lo que se requiere de un cambio cultural en la comunidad de desarrolladores, habituados a utilizar cuantos recursos tienen a su alcance.
Para ayudar a este cometido, la organización ha creado la Software Carbon Intensity (SCI) Specification, cuya primera versión ya se ha convertido en un estándar ISO. El objetivo que todas las empresas que desarrollen software la incorporen en sus procesos. La certificación no incorpora ni neutralizaciones ni compensaciones en sus cálculos de huella de carbono y proporciona a las organizaciones un protocolo estandarizado para evaluar las oportunidades de reducción de emisiones del software que desarrollan.
La GSF ya cuenta con una lista de caso prácticos en los que la aplicación de este nuevo estándar ha contribuido a desarrollar ‘código verde’. Uno de los más recientes es el llevado a cabo por la compañía CAST, con resultados apabullantes: aplicando las fórmulas de SCI para detectar ineficiencias y márgenes de mejora, una sola aplicación de software es capaz de reducir al año alrededor de 400 kg de CO2 y proporcionar unos ahorros de electricidad de 1.000 kWh.
La de GSF no son las únicas buenas prácticas, afortunadamente. Acciones tan rutinarias en nuestro día a día como acceder a una página web contaminan. Cada visita en una web consume recursos que tienen impacto en el medio ambiente y que, con el software de programación adecuado, se puede reducir. Un buen (y paradójico) ejemplo es cómo cada visita a la página web de la empresa holandesa de diseño web y marca Tijgerbrood emite menos de 0,1 gramos de carbono, frente al sitio web de la COP28 que produjo 3,69 gramos de dióxido de carbono (CO2) por cada página vista, según la herramienta de puntuación de sostenibilidad de sitios web Ecograder.
Tecnológicamente hablando, es preciso que los desarrolladores se centren en las funciones de control con mayor consumo de energía, tratando de reducir el uso de datos mediante una caché eficiente. En esta misma línea es importante adaptar el comportamiento de la aplicación al modo de energía del dispositivo en que se ejecuta y, en la medida de lo posible, limite la precisión computacional a que es sometida. Asimismo, una variable que no es menor es la elección del lenguaje de programación que se emplea. Aunque el estudio ya tiene seis años, tres universidades portuguesas realizaron un estudio de 27 lenguajes distintos y comprobaron cómo el consumo de electricidad, así como la velocidad y el uso de memoria de cada uno variable significativamente.
Cuando hablamos de descarbonizar el software y lo llevamos al ámbito de la IA, los beneficios son aún más evidentes. A fin de cuentas, si un estadounidense medio es responsable de aproximadamente 36.000 toneladas de emisiones de CO2 al año; entrenar y desarrollar un modelo de traducción automática que utilice una arquitectura neuronal puede suponer 626.000 toneladas de CO2. Ya ha comenzado a hablarse de Red AI (IA roja), en contraposición a la Green AI (IA verde), para referirse a estos modelos de gran consumo.
Este es el motivo por el que es crucial comenzar a utilizar modelos de aprendizaje automático que consuman menos energía, además de crear y compartir código reproducible que acabe con las duplicidades de esfuerzo. Gracias a herramientas como CodeCarbon y ML CO 2 Impact es posible comprobar cómo reducir el tamaño del conjunto de datos de entrenamiento al 20% puede traer consigo ahorros de consumo de energía del entrenamiento de casi un 75%, perdiendo únicamente un 0,06% de precisión.
(Artículo en Público)
Sin comentarios