Raport Specjalny | Nowe Technologie – GFT Poland | GreenCoding w walce z CO2

Raport Specjalny | Nowe Technologie – GFT Poland | GreenCoding w walce z CO2
Udostępnij Ikona facebook Ikona LinkedIn Ikona twitter
Poprzez odpowiednie rozlokowanie obliczeń w centrach danych, optymalizację kodu oraz wykorzystanie dedykowanych do sztucznej inteligencji procesorów, emisję CO2 można ograniczyć od 100 do... 1000 razy – wyjaśnia Marcin Kowalski, CTO w GFT Poland w rozmowie z Michałem Pawłowskim.

Coraz więcej przedsiębiorstw obejmuje obowiązek raportowania w obszarach ESG. W jaki sposób GreenCoding wspiera realizację regulacji, którymi w pierwszej kolejności zostały objęte banki? Jak rozwój oprogramowania może stać się częścią programu zrównoważonego rozwoju podmiotów w sektorze bankowym?

– Branża ICT jest, według szacunków, odpowiedzialna za 8–10% zużycia energii elektrycznej w UE i do 4% emisji CO2. Około 70% stanowi emisja związana z centrami danych i sieciami. Zwiększenie proporcji zielonej energii w zastosowaniach IT i jednoczesne zmniejszenie wymagań sprzętowych, ma zatem wpływ na istotny kawałek tortu emisji CO2.

Przyjęta w listopadzie 2022 r. regulacja CSRD – Corporate Sustainability Reporting Directive – nakłada na organizacje obowiązek znacznie bardziej szczegółowego raportowania wpływu ich działalności na środowisko. Dotyczy to zarówno zasobów własnych, zużytej energii, jak i emisji w łańcuchu wartości firmy, czyli m.in. związanej z usługami zakupionymi od kontrahentów. Na przykład od dostawców chmury obliczeniowej.

Chociaż nie ma jeszcze precyzyjnych wytycznych dotyczących raportowania CSRD, jest niemal pewne, że emisje związane z oprogramowaniem będą wymaganą częścią raportów. Ze względu na potrzeby energetyczne i sprzętowe, rozwój oprogramowania ma zbyt istotny wpływ na środowisko, żeby go pomijać.

Pomiędzy dobrze a źle zaprojektowanymi rozwiązaniami IT występuje nieraz wydajnościowa przepaść. Przekłada się to bezpośrednio na ślad węglowy. A dzięki swojej elastyczności, IT daje duże możliwości poprawy.

W jaki sposób linijka kodu może potencjalnie zmniejszyć zużycie energii i emisję dwutlenku węgla? O jakiego rzędu oszczędnościach możemy tu mówić?

– Dzisiejsze oprogramowanie pisane jest zwięźle, i dosłownie jedna linijka kodu może zrobić różnicę. Przykładem niech będzie linijka kodu na serwerze www, która skompresuje treść strony internetowej przed wysłaniem jej do użytkownika. Taka drobna zmiana pozwala zaoszczędzić nawet 10 kg CO2 rocznie – czyli tyle, ile posadzenie jednego drzewa. Żeby uzyskać ten efekt, potrzeba jednego miliona odwiedzin strony o rozmiarze 200 kb.

Wychodząc poza jedną linijkę kodu, należy zwrócić uwagę, że skuteczne podejście „green coding” opiera się na trzech filarach:

  1. Świadomości energetycznej – wykonywanie obliczeń w miejscu i czasie, który gwarantuje największy procent „zielonej” energii.
  2. Wydajności oprogramowania – czyli „optymalizacji” kodu.
  3. Wydajności sprzętu – czyli wykorzystywaniu fizycznych zasobów (serwerów) najlepiej dopasowanych do określonego zadania.

To, że oszczędności są możliwe, pokazują wspólne badania specjalistów z Google i naukowców z Uniwersytetu Berkeley, dotyczące sposobów redukcji zużycia energii podczas trenowania sztucznej inteligencji, m.in. sławnego modelu GPT-3. Ich wyniki wskazują, że poprzez odpowiednie rozlokowanie obliczeń w centrach danych, optymalizację kodu oraz wykorzystanie dedykowanych do sztucznej inteligencji procesorów, emisję CO2 można ograniczyć od 100 do… 1000 razy. A szacowana emisja dwutlenku węgla na potrzeby wytrenowania GPT-3 jest równa emisji związanej z wycieczką samochodem na Księżyc i z powrotem. Jest więc na czym oszczędzać.

Sztuczna inteligencja jest w kontekście ESG szczególnie istotna, ponieważ uczenie modeli AI jest bardzo kosztowne energetycznie.

Na jakich zasadach opiera się zielony standard rozwoju oprogramowania?

– Z perspektywy inżynierii, najważniejsze są wymienione powyżej trzy filary. Poza tym, kluczowym elementem jest znana zasada „Jeżeli czegoś nie mierzysz, to nie możesz też tego poprawić”. Dlatego, w ramach wprowadzania zielonych standardów, konieczne jest dołączenie do procesu rozwoju i wdrażania oprogramowania kroków mierzących wydajność energetyczną. Bardzo dobrym miejscem jest do tego praktyka DevOps.

Jak oprogramowanie obecnie funkcjonujące w bankach musiałoby zostać zoptymalizowane pod kątem minimalnego zużycia energii, przepustowości czy wykorzystania pamięci?

– Bardzo wiele zależy to od konkretnego przypadku. Niemniej jednak, dobrym przybliżeniem może być projektowanie oprogramowania zgodnego z zasadami cloud native, czyli wykorzystującego jedynie bezwzględnie potrzebne w danym momencie zasoby i łatwo przenaszalnego pomiędzy centrami danych. Cloud native jest ważny, ponieważ pozwala obniżyć koszty infrastruktury chmurowej. Niższe koszty zwykle oznaczają też niższy ślad węglowy.

Czy banki rzeczywiście potrzebują zatrudniać wykwalifikowanych programistów w zakresie zielonego kodowania?

– Na poziomie kodu „zielone” oprogramowanie nie różni się wiele od oprogramowania dobrze „zoptymalizowanego”, co w uproszczeniu oznacza wykorzystywanie jak najmniejszej mocy obliczeniowej do osiągnięcia określonego celu. Kiedyś, ze względu na mocno ograniczoną moc obliczeniową komputerów, optymalizowanie było naturalnym elementem pracy inżyniera. Dzisiaj komputery są znacznie bardziej wydajne i problem ten jest mniej widoczny, ale w przypadku urządzeń mobilnych nadal bardzo aktualny, bo wpływa choćby na czas pracy baterii smartfonu.

Techniki pozostają zbliżone. Polskie uczelnie od wielu lat uczą studentów wszystkiego, co jest niezbędne do tego, żeby oprogramowanie było „zielone”, chociażby algorytmiki.

Przejdźmy do konkretnych przykładów z branży finansowej. Dlaczego GreenCoding ma sens biznesowy?

– Pierwszy powód to wspomniane już wymagania regulacyjne.

Drugi, to relacje klienckie i inwestorskie. Zarówno klienci, jak i inwestorzy, coraz częściej pytają o strategię ESG firm i coraz częściej uwzględniają tę strategię w swoich decyzjach konsumenckich lub inwestorskich.

Trzeci jest mniej oczywisty. Modele biznesowe wykorzystujące ESG są bardziej mierzalne i rozsądniej wykorzystują dostępne środki. Dzięki temu są lepiej przygotowane do zarządzania kryzysowego i są bardziej odporne na zdarzenia tak niespodziewane, jak pandemia lub konflikt zbrojny.

Wreszcie, w czasach chmury, zielona strategia to zwyczajnie niższe koszty.

Jak zatem rozpocząć proces przechodzenia na ekoprogramowanie w bankach?

– Zdecydowanie należy zacząć od osadzenia ESG w ogólnej strategii organizacji. „Eko” na poziomie oprogramowania powinno być konsekwencją szerokiego programu zielonej transformacji instytucji.

Na poziomie działów IT kluczowe jest wdrożenie metryk i uwspólnienie strategii ESG ze strategią migracji chmurowej.

Zwracam uwagę, że proekologiczna strategia może być doskonałym pretekstem do pozbycia się długu technologicznego organizacji w postaci np. słabo utylizowanych i przestarzałych klastrów baz danych. Podziękują nam za to klienci, inwestorzy, regulatorzy i planeta.

Źródło: Miesięcznik Finansowy BANK