Software verde, un nuevo código sostenible para la avalancha digital
La actividad de los centros de datos del mundo consumen hasta el 1,5% de la electricidad total mundial, un consumo que podría llegar al triple en 2028, de acuerdo a estimaciones del Departamento de Energía de Estados Unidos, país en el que, según previsiones del Lawrence Berkeley National Laboratory, sus ‘servidores IA’ podrían superar el 10% del consumo eléctrico total de los EE.UU. en los próximos tres años.En este contexto, en el que la IA aumenta exponencialmente las necesidades de energía, la programación se enfrenta al reto de procurar un presente y futuro más sostenibles. Y así se destaca en una reciente publicación del Observatorio IA de Ametic (‘Green Code al desarrollar código’), realizada por tres alumnos de los másteres técnicos de Tajamar Tech (Infraestructura en la nube y Desarrollo, además de Ciberseguridad) para reflexionar sobre cómo aplicar la filosofía ‘Green Code’ en el desarrollo de software. «El desarrollo de software (comentan) juega un papel clave y podría ser responsable de hasta el 14% de las emisiones totales de CO2 para 2040. Cada línea de código y servidor activo contribuye al problema global del cambio climático. Sin embargo, si sólo el 3% de los desarrolladores y técnicos adoptaran prácticas de software ecológico, se lograría una reducción notable en la huella de carbono del sector tecnológico». Y señalan cómo los modelos actuales de ChatGPT pueden llegar a evaporar hasta 700.000 litros cúbicos de agua y generar 502 toneladas de CO2 (a nivel global, la demanda de IA podría representar hasta 6.600 millones de metros cúbicos de extracción de agua para 2027).Noticia Relacionada estandar Si El despegue de la IA se topa con el talón del Aquiles del gasto energético María José Pérez-Barco Encontrar soluciones para rebajar su enorme huella ambiental es el gran desafío de futuro de una revolución cada vez más consolidadaAunque las ‘majors’ tecnológicas ya se han puesto manos a la obra en esta ineludible necesidad de desarrollo sostenible, el Green Code supone la oportunidad de mejorar progresivamente en códigos más eficientes, algoritmos optimizados y un uso inteligente de los recursos de hardware y software. «El objetivo de esta iniciativa con Ametic (comenta José Antonio Ureta, director del Máster de Inteligencia Artificial de Tajamar Tech) es contribuir a la concienciación, por parte de las nuevas generaciones, de desarrollo sostenible, de producir limpio y consumir menos, toda una responsabilidad en el consumo masivo que suponen las nuevas».Investigación aplicadaEn Imdea Software, instituto de investigación perteneciente a la iniciativa Imdea de la Comunidad de Madrid, conocen bien el desempeño de enfrentarse a este reto, por ejemplo con proyectos como Tezos con Nomadic Labs; el programa N-Greens financiado por la Comunidad de Madrid; los proyectos Traces y ProCode del plan nacional; o el proyecto Entra de la Unión Europea, todo ello en colaboración con numerosas universidades y empresas europeas. «El consumo energético (destacan Manuel Hermegildo y Pedro López, investigadores de Imdea Software, Universidad Politécnica de Madrid y CSIC) se ha exacerbado recientemente con la irrupción de la inteligencia artificial generativa: el entrenamiento de uno solo de estos sistemas puede generar miles de toneladas de CO2 y se estima que, si el crecimiento energético de la inteligencia artificial continúa al paso actual, podría llegar en poco tiempo a consumir tanto como un país de tamaño medio».Código de eficiencia, de sostenibilidad «Acabamos de ver un excelente ejemplo (concluye Rodríguez) con DeepSeek: OpenAI y los demás grandes de la inteligencia artificial norteamericana se ‘olvidaron’ de optimizar sus sistemas, confinado el acceso barato a grandes cantidades de GPU, sin pensar en el coste. Más bien el coste lo veían como un aliado que mantenía alejada la competencia». En este caso, de plena actualidad, DeepSeek hizo «un trabajo ejemplar de ingeniería, aprovechando al máximo los recursos existentes, en vez de malgastarlos, con lo que el péndulo pronto volverá a estar en equilibro, al forzar a sus competidores a hacer lo mismo. Por ello, inculcamos en nuestros alumnos la necesidad de que todo software sea no sólo eficiente sino también seguro, para que no ponga en peligro los recursos del planeta ni tampoco la privacidad y propiedad de sus usuarios».Hermenegildo y López añaden otra variable más en este entorno: «Los billones de dispositivos de la Internet de las Cosas, incluidos dispositivos pequeños y cotidianos, desde teléfonos a dispositivos médicos implantables, que funcionan con baterías y donde la preocupación es la autonomía». Y ponen como ejemplos de significativos ahorros de energía en software los propios de «los cambios relativamente pequeños en el ‘kernel’ (software que sirve de puente entre el hardware y el resto de funciones del sistema operativo) de Linux, que están resultando en reducciones de hasta el 30% en el consumo de grandes centros de datos».Menos carbonoPara avanzar hacia un escenario más sostenible, los investigadores como los consultados desarrollan técnicas avanzadas de análisis y optimización de programas que, combinadas con modelos precisos del consumo de energía en el hardware, permiten construir herramientas avanzadas para el desarrollo de programas energéticamente eficientes. «Estas herramientas (destaca el especialista) identifican ‘errores de consumo de recursos’ en los programas en tiempo de compilación (es decir, durante el proceso de desarrollo del programa) o certifican de modo automático que los consumos del programa están dentro de los límites admisibles». Acciones que permiten simplificar, abaratar y acortar el desarrollo de ‘programas verdes’ y, por tanto, de dispositivos que hacen un uso «certificablemente más eficiente de los recursos disponibles: energía, y también tiempo de ejecución, memoria, disco, espacio, etc».En el caso de Keep Coding, centro de formación en programación, con todo tipo de opciones y recursos (y niveles), Adriana Botelho, CEO y cofundadora, señala cómo «ya en 2019, un estudio reveló que entrenar un modelo de procesamiento de lenguaje natural puede emitir hasta 284 toneladas de CO2, equivalentes a las emisiones de por vida de cinco automóviles promedio en Estados Unidos. Por eso, Green Code no es sólo una tendencia emergente, sino una necesidad imperante, una obligación ética y ambiental. Escribir código eficiente, minimizar procesos superfluos y diseñar arquitecturas sostenibles a todos los niveles son acciones fundamentales para reducir la huella de carbono digital».Impacto social«En KeepCoding (continúa Botelho), somos conscientes de esta realidad y, desde hace años, hemos incorporado módulos de ética y Green Code en nuestras formaciones. Creemos que los programadores del futuro no sólo deben ser técnicamente competentes, sino también comprender el impacto social y ambiental de su labor y cómo reducirlo. Aunque el software sea intangible, su repercusión en el mundo físico es innegable». Una evidencia sobre la que Fernando Rodríguez, CLO y cofundador, introduce un concepto a tener muy en cuenta: «El Software Verde requiere ser abordado desde dos puntos de vista diferentes y en dos capas distintas: el software y el hardware subyacente». «En última instancia (apunta) es el hardware el que consume recursos. Desde el punto de vista del hardware se han hecho enormes avances en los últimos años, por la prevalencia casi absoluta de sistemas portátiles (‘laptops’, ‘tablets’ y teléfonos) que requieren de un uso moderado de la batería para tener éxito en el mercado. Esto ha causado un cambio paulatino, hoy casi absoluto, hacia plataformas más eficientes como los procesadores ARM, que han desplazado a Intel en casi todos los mercados, desde los teléfonos móviles hasta los grandes servidores en la nube». Y desde el punto de vista de la ingeniería de software, «el objetivo de un bajo consumo y una mayor eficiencia se logran con buenas prácticas de ingeniería, en usar los mejores algoritmos y estructuras de datos. Debería de ser la práctica habitual y, sin embargo, a menudo se olvida».