Czy LLMy mogą oszczędzać prąd?

Czy LLMy mogą oszczędzać prąd? To pytanie wydaje się na pierwszy rzut oka dziwne, bo przecież powszechnie wiadomo, że AI zużywa dużo energii, jest winne ociepleniu klimatu itd. Zanim jednak zaczniemy powtarzać oczywiste prawdy, warto sięgnąć do źródeł. Bo – podobnie jak było to przy chińskich autobusach – powtarzana prawda może nieco odbiegać od twardych danych źródłowych.

Na początek warto przyjrzeć się pierwszemu popularnemu mitowi, który mówi użycie LLM zużywa wielokrotnie więcej energii, niż zwykłe wyszukiwanie. Twarde dane nie do końca to potwierdzają. Typowe zapytanie do ChatGPT to około 0,3 Wh. Nie kWh, tylko Wh. Na tyle samo Google oceniało pojedyncze zapytanie do wyszukiwarki. Czyli w przypadku prostych zapytań zużywane ilości energii zużywane przy zwykłym wyszukaniu w wyszukiwarce i wykorzystaniu LLM są zbliżone.

Nie żebym zachęcał do używania LLMów w ten sposób, bo jednak nie jest to specjalnie efektywne, ani energetycznie, ani czasowo. Jednak dramatu nie ma[1]. Pewnie efektywniej wykorzystać LLM do przygotowania zestawienia danych. Takiego, do którego potrzeba byłoby kilku wyszukiwań. Owszem, zapytanie będzie „cięższe”, ale unikniemy kilku tradycyjnych zapytań.

No dobrze, ale od to wcale nie jest takie kosztowne energetycznie do LLMy oszczędzają energię długa droga, prawda? Prawda. Wyobraźmy sobie jednak, że chcemy coś zrobić. Powiedzmy, napisać prosty program albo skrypt. Żeby to zrobić, musimy poszukać materiałów, zapoznać się z nimi, wykonać właściwą czynność. Jeśli będzie to pisanie programu wykorzystującego jakieś API, to musimy znaleźć dokumentację tego API, napisać sam program. To wszystko trwa. A że pracujemy na komputerze, który zużywa prąd. Laptop to przynajmniej 10-20W, monitor (24″) kolejne 15-25W. Raczej dolny szacunek, YMMV, można sprawdzić watomierzem.

Jako ludzie działamy raczej wolno, szczególnie w nieznanych obszarach. Wolno czytamy, wolno piszemy. A w tym czasie nasze urządzenia pracują i zużywają prąd. Więc pytanie do LLMa raczej przyspieszy wykonanie. Godzina pracy naszego skromnego laptopa i monitora to równowartość energetyczna od kilkudziesięciu do kilkuset zapytań do LLM.

Przykład z mojego podwórka, to skrypt do backupu obserwowanych na Mastodon. Małe kilka[3] promptów do Gemini, który znalazł i że jest API, i z których endpointów API korzystać, i jakie parametry podawać (a nieco nieoczywiste), i paginację dorobił od kopa. Pół godziny zeszło mi na zabawie, doczytaniu interesujących fragmentów dokumentacji, doszlifowaniu ręcznym. Ręcznie robiłbym z dwie godziny minimum.

Ale przecież są badania na to, że programistom się wydaje, że ich produktywność przy użyciu AI rośnie, a tak naprawdę to ona spada, na przykład to! Rzadko czytam badania, ale jeśli już, to lubię czytać nie tylko tytuł badania i wnioski, ale zerknąć na warunki badań. Bo autorzy często – świadomie lub nie – idą na łatwiznę i mają mocno niereprezentatywną próbkę. W tym konkretnym przypadku jest kilka red flags.

Po pierwsze, mowa o doświadczonych programistach, pracujących na własnym kodzie. Nie uważam się za doświadczonego programistę, ale do głowy by mi nie przyszło korzystanie z LLMa w typowej pracy z własnym kodem. A już na pewno nie jako pierwszy wybór. Czemu? Bo wiem, gdzie co jest, wiem, co chcę dodać, wiem jak to dodać, nie będę musiał czekać na wynik i poprawiać go. Po drugie, sami autorzy tego badania mają tego świadomość i sami piszą, że wyników nie należy uogólniać, a w przypadku mniej doświadczonych programistów LLM prawdopodobnie zwiększy wydajność. Zresztą, o tym, że AI pozwoliło zyskać czas na realizację pomysłów pisze wiele osób w mojej bańce.

Czy twierdzę zatem, że LLMy powodują spadek zużycia energii, globalnie? Nie. Jestem praktycznie pewien, że globalnie powodują wzrost zużycia. Sprzeczność? Nie. Po prostu opłacalność zależy od przypadku, a obecny trend jest taki, żeby do LLMów pchać wszystko, czy jest sens, czy go nie ma. I jest to zarówno trend ze strony producentów, jak i użytkowników.

Odbiegając nieco od tematu, zabawna jest obserwacja, jak używając coraz bardziej energooszczędnych technologii, zużywamy coraz więcej energii[3]. Wynika to z paru czynników. Mamy coraz więcej rzeczy na prąd, które kiedyś były ręczne. Lub ich nie było. Powszechna klimatyzacja. Drzwi otwierane elektrycznie w sklepach. Smart żarówki, rolety okienne, zawory grzewcze, sterowanie elektroniczne praktycznie wszystkim. Szczoteczki elektryczne, czytniki ebooków. Streaming zamiast radia. Wszytko zużywa trochę energii. I może wymagać jakiegoś serwera. Kolejny czynnik to po prostu wzrost ilości ludzi na planecie. Jeszcze pół wieku temu było nas o połowę mniej. A na początku XX w. – zaledwie 20% tego, co teraz.

Jeśli komuś naprawdę zależy na oszczędzaniu energii, zamiast martwić się o LLMy, powinien dbać o fizyczne odłączanie urządzeń z prądu, gdy są nieużywane. Przynajmniej na noc. Na przykład przyciskiem na listwie. Czemu? Bo pojedynczy zasilacz od laptopa przez sam fakt bycia podłączonym do prądu potrafi pobierać 1W. Wyłączony/uśpiony monitor – podobnie. Skąd wiem? Bo mierzyłem.

Inne ciekawe linki w temacie:

https://marmelab.com/blog/2025/03/19/ai-carbon-footprint.html

https://www.nature.com/articles/s41598-024-54271-x

UPDATE I jeszcze jeden link, na który trafiłem dziś, dotyczący tego, jak LLMy (w połączeniu z agentami AI) zabijają CTFy. Niedawno grałem, potwierdzam sytuację – kilkadziesiąt zespołów zrobiło wszystkie zadania. W temacie tego posta, potwierdza to szybkość i skuteczność (także energetyczną) AI.

[1] Tak, mam świadomość, że przytoczone tu dane dla tradycyjnych wyszukiwań są z 2009. W tzw. międzyczasie zużycie prądu przez pojedynczy serwer spadło. Z drugiej strony, ilość danych do przeszukania wzrosła, więc pewnie niewiele się zmieniło. Chętnie poznam współczesne dane.
[2] Pewnie 2-3 były, nie więcej niż 5.
[3] Jak to kiedyś ładnie ujął pewien człowiek, jeszcze nigdy w historii ludzkość jako ogół nie zmniejszała zużycia energii, niezależnie od coraz mniej energochłonnych technologii.

Dobrze, czyli źle

Dziś będzie o zaklinaniu rzeczywistości słowami. Albo – patrząc z innej perspektywy – o systemowym oszukiwaniu ludzi przez… wszystkich. Chodzi o jakość powietrza w Polsce i tzw. indeks jakości powietrza. Ma on wiele czynników, ale dla uproszczenia skupię się wyłącznie na popularnych wskaźnikach PM2.5 i PM10, czyli ilości pyłów o określonej wielkości cząsteczek. Mierzy je w zasadzie wszystko, a pozostałe czynniki już raczej tylko specjalistyczny sprzęt.

Korzystają z tych wskaźników, czy to bezpośrednio, czy pośrednio, chyba wszyscy. Poczynając od producentów sprzętu filtrującego, przez państwowe normy jakości powietrza, po czujniki zamontowane na automatach Onebox Allegro, których jest całkiem sporo, zwłaszcza w większych miastach. No właśnie, pewnie nie wszyscy wiedzą, że można wejść na stronę, zlokalizować „paczkomat” Onebox w okolicy i sprawdzić, jaka jest aktualnie jakość powietrza w tym miejscu[1]. Po wybraniu szczegółów dostaniemy konkretne wartości poziomu zanieczyszczeń PM2.5 oraz PM10. Jeśli mamy w okolicy Onebox, to w zasadzie nie trzeba montować swojego czujnika[2]. Fajne, prawda?

No to sprawdzamy w którymś z tych miejsc, jest napisane, że indeks jakości powietrza jest dobry, więc wszystko gra? No właśnie niezupełnie. Indeks jakości powietrza oficjalnie definiowany jest następująco:

Tabela indeks jakości powietrza dla PM 2.5 oraz PM 10.
Źródło: https://powietrze.gios.gov.pl/pjp/content/health_informations

No więc w czym problem? Ano w tym, że to samo państwo podaje nam na stronie dopuszczalne poziomy zanieczyszczeń. Już tam widać lekkie mambo dżambo, bo dla PM10 wynosi on 40 rocznie i 50 w skali 24h. To znaczy, że „chwilowo” może być gorzej, ale nadal jest w normie. Dla PM2.5 dopuszczalny poziom to 20, w skali roku. Rozumiem konieczność uśredniania wyników. Jednak pałanie optymizmem, że indeks jakości powietrza jest dobry, bo PM2.5 przekracza go właśnie raptem o 75% (czyli wynosi 35) to robienie z logiki… no wiecie.

Dalej jest tylko gorzej. Kolor żółty, czyli poziom umiarkowany indeksu jakości powietrza, to ewidentne przekroczenie dopuszczalnych norm. Dla PM2.5 przekroczenie prawie trzykrotne!

Ale dalej mamy poziom dostateczny, oznaczony kolorem pomarańczowym. Czyli kolor jakby nas ostrzega, że już prawie nie jest dobrze, ale nazwa sugeruje, że jest znośnie, akceptowalnie i drodzy obywatele, nie bardzo jest się czym przejmować. Jakby to ująć… owszem, może być gorzej. Ale normy są przekroczone ok. dwukrotnie dla PM10 i 3-4 krotnie dla PM2.5!

Czy to koniec? Skądże. Normy o których pisałem wyżej, to normy ustanowione przez niezwykle dbające o swoich obywateli państwo polskie. Tymczasem WHO od 2021 dla PM2.5 zaleca 5 rocznie i 15 dobowo, a dla PM10 – 15 rocznie i 45 dobowo. Oznacza to, że nasz indeks jakości powietrza, żeby spełniać dobowe normy WHO musi być na poziomie bardzo dobrym. Nawet poziom dobry nie gwarantuje już spełnienia norm zalecanych przez WHO!

Znaczy się rzeczywistość dotycząca zanieczyszczenia powietrza jest w Polsce od lat systemowo zakłamywana. Taki cleanwashing, tylko bez produktu. Teraz już wiecie.

[1] Oczywiście w aplikacji również jest taka możliwość, nawet łatwiej. Ale jak ktoś ma aplikację to pewnie o tym wie.
[2] Oficjalnego API wg mojej wiedzy nie ma. Jeśli jednak ktoś bawi się w sczytywanie danych na własne potrzeby z różnej maści automatów, to pewnie znajdzie ciekawe informacje w kodzie strony.