Em Dezembro de 2023, delegados de quase 200 países reuniram-se no Dubai para a conferência da ONU sobre alterações climáticas, COP28, para discutir a necessidade premente de reduzir as emissões, conforme relatado pelo IEEE neste artigo.
De acordo com a ferramenta de pontuação de sustentabilidade do site Ecograder, e como os autores são rápidos em apontar, o site da COP28 produz 3,69 gramas de CO2 por carregamento de página. Esses acessos à página da web se somam. Se o site obtiver 10.000 visualizações mensais durante um ano, suas emissões seriam um pouco maiores do que um voo só de ida de São Francisco a Toronto.
Aqui está outra coisa (esta é uma versão geek da má notícia): os veículos elétricos (EVs) são mais sujos de construir, mas eventualmente mais limpos de dirigir. Alguém que possui um carro elétrico caro produz mais carbono nos primeiros 30.000 a 60.000 milhas por causa da pegada de carbono da construção. Lembre-se de que as usinas termelétricas a carvão ainda alimentam a maioria dos carregadores de veículos elétricos. Então, isso é uma chatice.
Quão verde é o software?
Embora o software em si não libere emissões, ele é executado em hardware de data center que o faz. A tecnologia da informação e das comunicações, também utilizando software em centros de dados, é responsável por cerca de 2% a 4% das emissões globais de gases com efeito de estufa. O artigo aponta ainda que até 2040 esse número poderá chegar a 14%. Isto representa quase a mesma quantidade de carbono que o transporte aéreo, terrestre e marítimo combinados.
Aqui estão algumas etapas que podemos seguir:
Primeiro, embora sejamos bons em escrever software, lutamos para criar software que utilize recursos de hardware de maneira otimizada. Isso leva a ineficiências no consumo de energia. Na era da computação em nuvem, vemos os recursos de hardware como um enorme conjunto de recursos computacionais prontamente disponíveis para serem usados. Não há necessidade de pensar em eficiência ou otimização.
Em segundo lugar, não houve responsabilização pelo consumo de energia. Os desenvolvedores e engenheiros de devops não têm acesso a métricas que demonstrem o impacto do software mal projetado no consumo de energia do hardware. Na nuvem, essa falta de insights costuma ser pior. Os custos de ineficiência de hardware ficam ocultos, pois o hardware não precisa ser adquirido fisicamente – ele é feito sob demanda. Os finops de nuvem podem mudar esta situação, mas ainda não o fizeram.
Finalmente, não treinamos desenvolvedores para escrever códigos eficientes. Um aplicativo não otimizado versus um aplicativo altamente otimizado poderia ser 500% mais eficiente nas métricas de consumo de energia. Tenho observado esta situação deteriorar-se ao longo do tempo. Antigamente, tínhamos que escrever códigos eficientes porque o custo e a disponibilidade de processadores, armazenamento e memória eram proibitivos e limitados. Hoje em dia, essas coisas estão prontamente disponíveis e são baratas.
A IA sedenta de poder piorará as coisas
A inteligência artificial se tornou um dos avanços tecnológicos mais importantes do nosso tempo. Agora temos soluções que antes eram consideradas impossíveis. No entanto, com todos os progressos e avanços, uma questão subjacente precisa de ser abordada. Devemos levar em consideração os requisitos de hardware e o consumo de energia dos sistemas de IA.
Lembre-se de que as GPUs exigem mais energia do que as CPUs, e há um novo boom pontocom e um aumento na avaliação das empresas de GPU. A otimização da GPU nessa área permanece uma reflexão tardia, com as GPUs sendo vendidas como um mal necessário se você estiver construindo sistemas de IA.
À medida que as empresas trabalham para reduzir a pegada de carbono dos seus modelos de IA, surge uma nova conversa sobre práticas sustentáveis de IA. Onde está o equilíbrio entre promover a inovação e garantir a responsabilidade ecológica? Muitas empresas e provedores de tecnologia falam sobre esse tópico da boca para fora, mas não vejo muita otimização de hardware em torno da IA acontecendo. Ainda.
Sustentabilidade compensa
Este é um bom momento para discutir o consumo de energia antes de piorarmos as coisas com o uso da IA. Lembre-se, não se trata apenas do meio ambiente; há também implicações financeiras. Qualquer coisa que exija mais energia é mais cara.
A mudança para práticas de software sustentáveis une negócios e sustentabilidade. Duvido que estaríamos tendo essas conversas se não houvesse vantagens comerciais convincentes. Tudo bem. A combinação de princípios éticos e considerações económicas destaca a importância da sustentabilidade como um catalisador chave.
O desenvolvimento de sites e aplicativos ecológicos exige uma mudança na ética de trabalho dos desenvolvedores. O desenvolvimento deve incluir a reavaliação da necessidade de recursos, eficiência algorítmica e otimização de código para reduzir o consumo de energia.
Precisamos incutir princípios de sustentabilidade na estrutura do processo de desenvolvimento de software. Isso significa que levamos nosso jogo de eficiência de software para o próximo nível, com processos e cadeias de ferramentas de Devops aprimorados. Os desenvolvedores devem ser arquitetos de software que seja mais eficiente e consuma menos energia.
A adoção de algoritmos mais ecológicos é uma medida tática que se alinha com a estratégia mais ampla de redução do consumo de energia. A pesquisa atual ressalta que algoritmos eficientes reduzem o consumo de energia durante o desenvolvimento e operação, com impactos insignificantes no desempenho.
Vamos ao espectro da IA. Para garantir a sustentabilidade da IA, devemos adotar uma abordagem consciente aos dados de formação. “São os dados, estúpido”, aborda o aspecto que mais consome energia da IA. Otimizar o uso de dados e refinar processos algorítmicos pode diminuir o gasto de energia; sabemos disso há décadas.
Isto sublinha a nossa necessidade de formar programadores, engenheiros de IA e cientistas de dados para construir sistemas de IA inovadores que gerem menos carbono. As organizações devem insistir em melhores práticas de sustentabilidade. Normalmente, isso pode não ter impacto no tempo ou custo de entrega.
Sim, treinamento e ferramentas são despesas adicionais necessárias para impulsionar um desenvolvimento de IA mais eficiente. Você não pode ter as duas coisas. A busca por práticas sustentáveis de software requer ferramentas capazes de medir a pegada de carbono de uma solução de software ao longo de seu ciclo de vida. Essas métricas oferecem insights valiosos, orientando os desenvolvedores em direção a práticas que mitigam os impactos ambientais e, ao mesmo tempo, garantem o avanço contínuo das tecnologias digitais.
Há uma tendência crescente para a engenharia de software verde, impulsionada por iniciativas educacionais e programas de certificação que enfatizam a sustentabilidade na indústria de software. Embora sejamos muito bons em identificar problemas e conceber soluções, não somos muito bons em executar essas soluções.
Já vejo um número crescente de cargos de diretor de sustentabilidade. Chame-me de cínico, mas a experiência me diz que a ênfase estará nas pontuações ambientais, sociais e de governança (ESG) e nas relações públicas, e não no desempenho real. Devemos priorizar a criação de sistemas de software eficientes, em vez de nos concentrarmos apenas em painéis solares ou carregadores de veículos elétricos no escritório.
Esperamos que em breve possamos alcançar algo significativo com os esforços de sustentabilidade.