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

[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.

Kultura

Na Sesji Linuksowej parokrotnie przewijał się wątek tworzenia wolnego oprogramowania, jego wykorzystania, wynagrodzeń i finansowania. Wykładem, który chyba najbardziej poruszał tematykę kultury open source i finansowania był Ukryte koszty wolności, ale nie był on jedyny.

To, nad czym się zastanawiam to czy faktycznie jest nieprawidłowo? Albo czy mogło być inaczej? I nie chodzi mi tylko o oprogramowanie, ale o tworzenie ogólnie. Jak to ładnie zostało powiedziane na wykładzie, ludzi czasem coś swędzi i wtedy tworzą. Tworzą różne rzeczy: muzykę, poezję, opowiadania, wpisy na blogach, oprogramowanie. Ogólnie: dzieła, czyli kulturę. Ba, nie tylko tworzą, ale udostępniają to innym.

Tworzą i udostępniają często niezależnie od wynagrodzenia. Z powodu tego swędzenia, czyli jakiegoś rodzaju wewnętrznego przymusu, powstają rzeczy, które inni mogą obejrzeć/przeczytać/wykorzystać. Wykorzystać jako pożywkę dla umysłu, czasem także do samodzielnego tworzenia. Przy czym odbiorcy niekoniecznie chcą płacić za te twory. Co jest zrozumiałe z ekonomicznego punktu widzenia – po co płacić więcej, niż to konieczne[1]? Argument jeśli nie będziecie płacić, to nie będzie muzyki/filmów/książek/oprogramowania jest fałszywy. Muzycy, pisarze czy twórcy open source co do zasady[2] i tak zarabiają grosze. Bo i tak tworzą. Jak nie oni, to inni. Jest co czytać, co oglądać, co uruchomić.

To, ile kosztują dzieła i jaki jest model wynagradzania, to inna sprawa. Firmy fonograficzne, wydawnictwa, serwisy streamingowe – owszem, zarabiają. W przypadku open source, zarabiają firmy, które wykorzystują open source. I one płacą twórcom/kontrybutorom, ale znowu, zwykle tylko tyle, ile muszą. Oczywiście, zawsze istnieje niewielka grupa twórców dobrze zarabiających. Nawet za życia[3]. Eksponowanych.

Nie zgadzam się z autorem wykładu, że ten model jest nie do utrzymania. Ten model funkcjonuje od wieków. Kiedyś artyści zbierali do kapelusza, albo, jeśli mieli szczęście, znajdowali mecenasa, który mógł się pochwalić ich dziełami. Dziś pokazanie jednego twórcy, który zarabia miliony dolarów motywuje miliony innych twórców do pracy za dolara. Co oczywiście jest pośrednikom na rękę[4]. Nie zmienia to faktu, że poza gwiazdami jest masa twórców, którzy poziomem artystycznym odbiegają od gwiazd o rzędy wielkości mniej, niż wynagrodzeniem.

Projekty open source nie są tu wyjątkiem. Mamy masę drobnicy tworzonej za darmo oraz większe projekty, które są w praktyce rozwijane przez firmy, według ich zasad i wytycznych. Chętnie korzystających z darmowej pracy chętnych. Masa użytecznych projektów, nie odbiegających aż tak bardzo od dużych, choć czasem mniej złożona, jest niefinansowana. Tworzona/udostępniana w celu podrapania się. Podobnie jak wkład w duże projekty, niejednokrotnie z dużym narzutem po stronie kontrybutora, typu zaznajomienie z wytycznymi w projekcie, analiza i zaakceptowanie Contributor License Agreement itp.

Zasłyszana kiedyś definicja kultury, którą lubię to jest to coś, co się uprawia. I mamy w takim przypadku chyba zawsze dramatyczną dysproporcję w finansowaniu uprawiających kulturę pomiędzy wąskim gronem na szczycie, a całą resztą. W dowolnej formie: sport, książki, film, muzyka, open source. Jeśli komuś udało by się rozwiązać problem finansowania w dowolnym z tych obszarów, to wydaje mi się, że rozwiązanie pasowałoby do wszystkich innych. I w każdym przypadku spotka się ono z oporem dotychczasowych beneficjentów. Pośredników, którzy czerpią zyski z pracy twórców, dostarczając wytwory odbiorcom.

[1] Dowód anegdotyczny: rok temu uruchomiłem możliwość postawienia mi kawy przez odbiorców i wyłączyłem reklamy. I co? I roczny dochód z kawy jest mniejszy, niż miesięczny z reklam. Ten z reklam końcowym okresie, po spadku. To nie jest zachęta do stawiania kawy teraz ani gorzkie żale, to obserwacja rzeczywistości.
[2] W rozumieniu percentyla ludzi, którzy zarabiają wyłącznie z tworzenia i poziomu ich dochodów. Pewnie warto rozciągnąć tu określenie twórcy nieco szerzej, także na wykonawców czy sportowców, stąd tytuł, wyjaśnienie jest dalej w treści.
[3] Tu powinna być lista malarzy, kompozytorów, pisarzy, którzy przytłaczającą większość życia żyli skromnie lub wręcz klepali biedę, a zostali docenieni i zaczęli zarabiać u jego schyłku. Czy wręcz po śmierci.
[4] Tu warto zauważyć, że w obronie praw (czyt: dochodów) twórców nie występują zwykle sami twórcy, tylko pośrednicy. Jeśli są to sami twórcy, to warto poskrobać czy nie ma lobby pośredników pod spodem.

Nowa reCAPTCHA

Pojawiło się doniesienie o wprowadzeniu przez Google nowej wersji reCAPTCHA. Nazwa jest piękna Google Cloud Fraud Defense. Od razu wiadomo, jak opakowana została zmiana, w imię której będziemy poświęcać wolność. Walka z nadużyciami, bezpieczeństwo. W artykule jest security, safety, trust i fraud. Oczywiście pojawia się też AI.

Trochę miałem do czynienia z rozwiązaniami do detekcji botów, wydaje mi się, że widzę, w czym rzecz. Nowatorstwo rozwiązania nie jest w QR-code. Nie jest w konieczności użycia drugiego urządzenia do odczytania danych z pierwszego. To wszystko można oprogramować i zasymulować i zrobić na tym samym urządzeniu, automatycznie.

Prawdziwa natura nowego rozwiązania jest wg mnie widoczna w niepozornym fragmencie: By correlating telemetry across the entire lifecycle, our unified trust model identifies complex, multi-stage fraud campaigns that disconnected point solutions miss. This holistic view has demonstrated […] Wytłuszczenia moje.

Zmierzamy do tego, że poprawne rozwiązanie CAPTCHA, tj. bycie słusznie uznanym za człowieka, będzie opierało się na tym, że przynajmniej na jednym z urządzeń – o ile nie na obu – trzeba będzie wyrazić zgodę na telemetrię. Czyli pozwolić dostawcy – tu: Google – na pobieranie masy danych z urządzenia i o urządzeniu. O położeniu (geolokalizacj), o IP, o stanie baterii, zainstalowanych kodekach, fontach, o tym, jak i kiedy się porusza (akcelerometry). Wreszcie metadane o tym, które urządzenia były powiązane z którymi. I nie, nie na chwilę, tylko holistycznie przez cały cykl życia (cokolwiek ma to znaczyć).

A jeśli nie wyrazimy zgody? No cóż, w najlepszym wypadku stracimy więcej czasu na częstsze skanowanie lub rozwiązywanie innych form CAPTCHA. W najgorszym? Zostaniemy uznani za boty i pozbawieni dostępu do usług.

Czy będzie to skuteczne? Cóż, na początku pewnie tak. Czy da się obejść? Pewnie tak, ale wątpię, by obejście zyskało masową popularność. Ale masa danych, łatwych do skorelowania i niosących wiele informacji nie wprost trafi do dostawcy (tu: Google).

Dlatego mam szczerą nadzieję, że rozwiązanie spotka się z bojkotem użytkowników. Zarówno tych, którzy mieliby rozwiązywać CAPTCHA, jak i tych, którzy wybierają rozwiązanie, które wykorzystują. Zawsze zamiast rozwiązywać CAPTCHA można zrezygnować z dostępu/zakupu i zamiast tego zgłosić problem z dostępem do danych na stronie.

UPDATE: Nie padło to w pierwotnej wersji wpisu, ale oczywiście chodzi o umacnianie monopolu Google (ew. duopolu, bo jeszcze Apple). Weryfikacja na systemie Android wymaga telefonu z Google Play.