Kiedy superkomputer liczy AI i jednocześnie ogrzewa miasto
Na fińskim superkomputerze LUMI uruchomiłem pierwsze testy mojego projektu ewaluacji AI. Faza 0 pokazała prostą lekcję: jeden prompt nie wykorzysta superkomputera, ale tysiące promptów już tak.

W fińskim mieście Kajaani stoi jeden z najciekawszych europejskich superkomputerów. Nazywa się LUMI, jest częścią infrastruktury EuroHPC i jest obsługiwany przez CSC - IT Center for Science. LUMI to system HPE Cray EX o około 380 petaflops trwałej wydajności w benchmarku HPL.
Fascynuje mnie w LUMI to, że nie jest tylko ogromną halą obliczeniową gdzieś na północy Europy. To także bardzo konkretny przykład tego, jak może wyglądać bardziej zrównoważony supercomputing. LUMI działa na energii odnawialnej, a jego ciepło odpadowe jest wykorzystywane w systemie ciepłowniczym miasta Kajaani.
Jest w tym coś prawie poetyckiego: superkomputer liczy modele klimatyczne, symulacje naukowe albo sztuczną inteligencję, a ciepło z tych obliczeń wraca do miasta. Nie jako odpad, lecz jako użyteczna energia.

I właśnie na tej maszynie uruchomiłem pierwsze testy mojego projektu.
Czeska brama do europejskiej infrastruktury AI
Chcę podziękować Jakubowi Siwkowi z Narodowego Centrum Superkomputerowego w Ostrawie. Kiedy zapytał mnie, czy nie potrzebowałbym mocy obliczeniowej, od razu się zgodziłem. Kilka dni później miałem zatwierdzony pierwszy grant obliczeniowy na LUMI: 5 000 godzin GPU.
Warto powiedzieć to głośno. IT4Innovations National Supercomputing Center to nie tylko centrum z dużym komputerem. To czeska brama do czołowej europejskiej infrastruktury obliczeniowej. Dzięki LUMI AI Factory czeskie firmy, badacze i innowatorzy mogą uzyskać dostęp do czasu obliczeniowego na GPU i CPU. Dla projektów AI może to być różnica między samym mówieniem o dużych modelach a ich realnym, systematycznym mierzeniem, testowaniem i porównywaniem.

Faza 0: czy działa cały łańcuch?
W pierwszej fazie nie chodziło mi o wielki przełom. Cel był znacznie prostszy: czy dostanę się na maszynę, uruchomię job GPU, czy zadziała PyTorch, czy pobiorę model, uruchomię pierwszą inferencję i sprawdzę, że vLLM poradzi sobie z batchowym przetwarzaniem promptów?
Innymi słowy: czy cały łańcuch działa od notebooka aż po pierwszy token z GPU?
Działa.
Pierwszy mały model językowy, Qwen2.5-1.5B-Instruct, pobrałem na scratch storage z prędkością 5,3 GB w 18 sekund, czyli około 300 MB/s. Dla kogoś przyzwyczajonego do domowego internetu to całkiem miły początek. Potem uruchomiłem model na jednym GCD MI250X i zacząłem zadawać mu proste oraz nieco podchwytliwe pytania. Na przykład: „Jaki jest sens życia?” albo „Co myślisz o IT4Innovations National Supercomputing Center i superkomputerze LUMI?”
Wyniki były dokładnie tak ciekawe, jak miałem nadzieję. Model czasem odpowiadał całkiem dobrze, czasem po czesku, czasem po angielsku, a czasem z dużą pewnością halucynował. Przy pytaniu o IT4Innovations i LUMI wymyślał na przykład lokalizacje, zależności i fakty.
To nie jest błąd eksperymentu. To dokładnie ten typ zachowania, który chcę systematycznie mierzyć: kiedy mały model wystarcza, kiedy już nie wystarcza, kiedy zaczyna halucynować i kiedy warto eskalować obliczenia do większego modelu albo do fuzji wielu modeli.
Jeden prompt nie wystarczy. Tysiące już tak.
Wydajność przy jednym zapytaniu wyglądała skromnie: około 44 tokenów na sekundę. To jest użyteczne, ale dla superkomputera nie jest niczym dramatycznym. Jedno zapytanie po prostu nie potrafi porządnie zająć akceleratora.
Przełom nastąpił wtedy, gdy użyłem vLLM i uruchomiłem 48 zapytań naraz. Nagle stało się jasne, dlaczego ta infrastruktura jest tak interesująca dla zestawów ewaluacyjnych. Przy batchu 48 osiągnąłem 2 255,7 tokenu na sekundę łącznie, czyli około 51x większą przepustowość niż przy pojedynczym zapytaniu. Jednocześnie pojedynczy prompt zachował podobną prędkość.
Praktycznie rzecz biorąc, zestaw ewaluacyjny z 1 000 promptów przeszedłby na tak małym modelu i jednym GCD w około półtorej minuty.
Cała pierwsza walidacja kosztowała mnie tylko około 0,1 godziny GPU z przydzielonych 5 000. Innymi słowy: pierwszy działający eksperyment AI na jednym z najmocniejszych europejskich superkomputerów zużył zaniedbywalny ułamek alokacji.
Dlaczego to ważne
Główna lekcja pierwszej fazy jest prosta. Jeden prompt nie wykorzysta superkomputera. Tysiące promptów już tak.
Jeśli chcemy poważnie mierzyć jakość modeli językowych, porównywać małe i duże modele, testować fuzję wielu odpowiedzi albo badać, kiedy opłaca się eskalować do droższego modelu, taka infrastruktura ma ogromny sens. Nie dla jednej efektownej demonstracji, ale dla powtarzalnych zestawów ewaluacyjnych, solidnego logowania, wykrywania cichych awarii, kalibracji ewaluatora i mierzenia jakości względem realnego kosztu obliczeniowego.
Faza 0 nie była więc rozwiązaniem głównego pytania badawczego. Była dowodem, że podstawowa maszyna działa: dostęp, kontenery, PyTorch, pierwszy model, pierwsze odpowiedzi, pierwsze halucynacje, pierwsze pomiary i przede wszystkim pierwszy dowód, że batchowe przetwarzanie promptów zmienia ekonomię całego projektu.
Jest w tym coś ładnego. Podczas gdy ja próbuję ustalić, kiedy mały model wystarcza, a kiedy lepiej użyć silniejszego modelu albo fuzji wielu modeli, gdzieś w fińskim Kajaani ciepło odpadowe z podobnych obliczeń wraca do miasta.
Sztuczna inteligencja nie musi więc być tylko abstrakcyjną chmurą gdzieś „tam”. Czasem jest bardzo konkretną maszyną, w konkretnym mieście, z konkretną energią elektryczną, konkretnym ciepłem, konkretnym czeskim wsparciem z Ostrawy i konkretnymi pierwszymi próbami, które zaczynają się od pytania:
„Jaki jest sens życia?”