Dlaczego cały boom AI działa na chipach zbudowanych do gier wideo?
Szybka sprawa, która ciągle ludzi zaskakuje. Dlaczego to wszystko nie działa po prostu na zwykłym procesorze w komputerze?
CPU to mały zespół geniuszy. Cztery rdzenie, osiem, może sześćdziesiąt cztery w poważnym serwerze, i każdy z nich jest naprawdę dobry w obsłudze skomplikowanej logiki, rozgałęzień, decyzji, zadanie po zadaniu po kolei.
GPU to całkiem odwrotna filozofia. Tysiące rdzeni, czasem ponad dziesięć tysięcy, i każdy z osobna jest, szczerze mówiąc, dość prosty. Nie potrafi żonglować skomplikowanymi decyzjami. Za to potrafi wziąć jedną maleńką, prostą operację, pomnóż te dwie liczby i dodaj wynik, i wykonać ją na ogromnej stercie danych jednocześnie. Armia prostych pracowników zamiast garstki błyskotliwych.
Dobra, ale czemu to ma znaczenie dla czegoś tak abstrakcyjnego jak język?
Bo to porównanie w self attention, każde słowo sprawdzane względem każdego innego, to pod maską po prostu tysiące identycznych, maleńkich mnożeń, które od siebie nie zależą. Daj to procesorowi CPU, a będzie je przerabiał mniej więcej jedno po drugim. Daj to GPU, a przydzieli każde do innego rdzenia, odpalając je wszystkie naraz.
A teraz część, która jest naprawdę zabawna. GPU nie zostały zaprojektowane z myślą o niczym z tego. GPU dosłownie oznacza graphics processing unit, czyli procesor graficzny. Zbudowano je do renderowania gier wideo. Ekran to siatka milionów pikseli, i trzydzieści albo sześćdziesiąt razy na sekundę trzeba obliczyć kolor każdego z nich. Obliczenie piksela pierwszego nie ma nic wspólnego z obliczeniem piksela drugiego, to wszystko małe, niezależne, identyczne zadanka.
Więc przez lata dziewięćdziesiąte i dwutysięczne producenci chipów, zwłaszcza Nvidia, stali się w tym po prostu genialni, wyłącznie po to, żeby gry wyglądały lepiej. Potem, gdzieś koło 2012 roku, naukowcy zajmujący się rozpoznawaniem obrazów zauważyli coś. Trenowanie sieci neuronowej to matematycznie dokładnie ten sam kształt problemu. Ogromne siatki liczb, mnożenie macierzy, problem który wprost prosi się o zrównoleglenie. Więc przejęli chipy do gier na potrzeby AI.
Chip zbudowany do rysowania eksplozji w strzelance okazał się dokładnie tym, czego potrzebował język.
Nvidia zauważyła, że badacze tak robią, i mocno w to weszła, budując warstwę oprogramowania o nazwie CUDA właśnie po to, żeby ludzie mogli programować te chipy do ogólnych obliczeń, a nie tylko grafiki. Ten jeden zakład to spory kawałek powodu, dla którego Nvidia siedzi dziś wśród najcenniejszych firm na świecie, na fali rynku, dla którego nikt tego chipu pierwotnie nie projektował.