Pomysł studenta Uniwersytetu Stanforda z 2000 roku doprowadził do powstania technologii CUDA, na której opiera się obecnie cała rewolucja w dziedzinie sztucznej inteligencji. Wszystko zaczęło się od gry Quake 3 w rozdzielczości 8K.
Senny czwartkowy wieczór na Uniwersytecie Stanforda w 2000 roku. Student Ian Buck stoi przed niemożliwym do rozwiązania problemem: zagrać w Quake 3 w prawdziwej rozdzielczości 8K. Nie po prostu zagrać – ale renderować na ośmiu projektorach jednocześnie.
Jego rozwiązanie oscylowało między przysłowiowym geniuszem a szaleństwem: połączył 32 karty graficzne Nvidia Geforce w farmę renderującą. To, co brzmi jak zwykła przygoda ambitnego nerdowatego studenta, stało się zalążkiem jednej z najcenniejszych technologii XXI wieku. Pomysł Bucka utorował bowiem drogę dla technologii CUDA firmy Nvidia – platformy, która dziś stanowi podstawę niemal wszystkich dużych systemów sztucznej inteligencji.
Od zabawy do naukowej wizji
Dla Bucka eksperyment z Quake 3 był punktem zwrotnym. Zrozumiał coś, czego wtedy prawie nikt nie rozumiał: procesory graficzne mogą znacznie więcej niż tylko rysować trójkąty – mogą stać się uniwersalnymi maszynami obliczeniowymi. Dzięki tej wiedzy student informatyki zagłębia się w specyfikacje techniczne chipów Nvidii i rozpoczyna swój projekt doktorancki (za pośrednictwem Xataka).
- Wynik: we współpracy z niewielką grupą naukowców i przy wsparciu stypendium DARPA Buck opracowuje otwarty język programowania o nazwie „Brook”. Język ten pozwala przekształcić karty graficzne w zdecentralizowane superkomputery.
- Nagle stało się możliwe wykonywanie równoległych obliczeń na procesorach graficznych, na przykład poprzez oświetlenie wielokąta A przez jedną jednostkę, rasteryzację wielokąta B przez drugą jednostkę i zapisanie danych przez trzecią jednostkę.
Następnie opublikowano artykuł zatytułowany „Brook for GPUs: stream computing on graphics hardware” (dostępny pod adresem Uniwersytetu Stanforda) – i zwrócił uwagę pewnej osoby: założyciela firmy Nvidia, Jensena Huanga.
Ten natychmiast dostrzegł ogromny potencjał tego rozwiązania i zaprosił Bucka do pracy w firmie Nvidia.
Rok 2005: firma Silicon Graphics upada – zmęczona walką z Nvidią. Obecnie jedyną pozostałością po amerykańskim producencie komputerów jest specyfikacja OpenGL.
Około 1200 byłych pracowników SGI przeniosło się wówczas do działu badawczego Nvidii. Wśród nich był John Nickolls, pionier przetwarzania równoległego, którego poprzedni projekt zakończył się niepowodzeniem, ale który teraz wraz z Buckiem tworzył nowy projekt.
- Projekt ten otrzymał nazwę, która początkowo wywoływała więcej zamieszania niż wyjaśniała: „Compute Unified Domain Architecture”, w skrócie CUDA.
- W listopadzie 2006 roku firma NVIDIA wydała pierwszą wersję tego bezpłatnego oprogramowania – jednak wyłącznie dla swoich partnerów sprzętowych.
Początkowa euforia szybko minęła. W 2007 roku CUDA została pobrana zaledwie 13 000 razy. Miliony użytkowników Nvidii chciały używać swoich kart graficznych wyłącznie do gier. Programowanie CUDA okazało się skomplikowane, a inwestycja wydawała się mało opłacalna. Również wewnętrznie projekt pochłaniał znaczne zasoby, nie przynosząc znaczących rezultatów.
Długa droga do rewolucji w dziedzinie sztucznej inteligencji
W pierwszych latach CUDA z pewnością nie stała się technologią sztucznej inteligencji – w tamtym czasie nie można było nawet mówić o sztucznej inteligencji. Zamiast tego z CUDA korzystały laboratoria badawcze i instytuty naukowe.
Jednak już w 2009 roku Buck w wywiadzie dla Tom’s Hardware miał już przeczucie, dokąd może zmierzać ta podróż:
Zobaczymy możliwości w mediach osobistych, takie jak klasyfikacja obrazów i zdjęć na podstawie treści – twarzy, miejsc – operacje wymagające ogromnej mocy obliczeniowej.
Czy Buck idealnie przewidział kolejne lata, pozostaje kwestią otwartą. Przynajmniej nie musiał zbyt długo czekać na potwierdzenie swojej intuicji.
- W 2012 roku dwaj doktoranci, Alex Krizhevsky i Ilya Sutskever, pod kierunkiem Geoffrey’a Hintona, zaprezentowali projekt o nazwie „AlexNet”.
- Oprogramowanie to potrafiło automatycznie klasyfikować obrazy według ich zawartości – pomysł, który wcześniej uważano za niemożliwy do zrealizowania z technicznego punktu widzenia.
Najważniejsze było to, że trening tej sieci neuronowej odbywał się na kartach graficznych NVIDIA z oprogramowaniem CUDA.
W tym momencie nastąpiło połączenie dwóch światów. CUDA i sztuczna inteligencja nagle nabrały sensu. Reszta jest historią: absurdalny pomysł studenta ze Stanford stał się technologią, na której działa dziś miliony systemów sztucznej inteligencji – i która uczyniła NVIDIA najcenniejszą firmą technologiczną na świecie.

