Wraz z nadejściem sztucznej inteligencji pojawia się nowy typ układu komputerowego, który będzie coraz częściej wykorzystywany. Prawdopodobnie wszyscy słyszeli już o CPU, GPU, a ostatnio o NPU. Rozszyfrujmy różnicę między tymi różnymi jednostkami obliczeniowymi i dowiedzmy się, jak najlepiej z nich korzystać. Ale najpierw lekcja historii.
(kredyt : Intel)
Wprowadzone po raz pierwszy w latach 60-tych, procesory (jednostki centralne) są bijącym sercem wszystkich komputerów, odpowiedzialnym za wykonywanie wszystkich podstawowych operacji. Zaprojektowane tak, aby były wszechstronne i zdolne do obsługi szerokiego zakresu instrukcji i operacji, są idealne do uruchamiania systemów operacyjnych, oprogramowania zwiększającego produktywność i wielu innych aplikacji ogólnego przeznaczenia. Jednak wraz z pojawieniem się pierwszych gier wideo 3D i zaawansowanych aplikacji graficznych, ograniczenia procesorów stały się oczywiste. Zaprojektowane z myślą o obliczeniach ogólnego przeznaczenia, ich architektura nie była zoptymalizowana pod kątem masowego przetwarzania równoległego wymaganego przez aplikacje intensywnie wykorzystujące grafikę i symulacje naukowe.
Jednak wraz z rosnącym zapotrzebowaniem na masowe przetwarzanie równoległe wymagane przez aplikacje intensywnie wykorzystujące grafikę i symulacje naukowe, ograniczenia procesorów centralnych i koprocesorów matematycznych stały się oczywiste. Doprowadziło to do rozwoju procesorów graficznych (GPU) w latach 90-tych, które szybko stały się niezbędne i wyspecjalizowane do równoległego przetwarzania dużych ilości danych. Procesory graficzne (dostępne jako zintegrowane układy graficzne lub samodzielne karty graficzne) są zbudowane z setek lub tysięcy małych, wyspecjalizowanych rdzeni (ALU: Arithmetic Logic Units), które mogą wykonywać wiele operacji jednocześnie, co czyni je idealnymi do renderowania grafiki, a ostatnio także do trenowania i wdrażania modeli głębokiego uczenia.
W ciągu ostatnich kilku lat pojawiła się nowa kategoria o nazwie Neural Processing Units (NPU). Podczas gdy koprocesory matematyczne i układy GPU przyspieszyły obliczenia zmiennoprzecinkowe i równoległe przetwarzanie dużych ilości danych, jednostki NPU zostały zaprojektowane z myślą o wydajnej obsłudze mnożenia i dodawania macierzy, co jest niezbędne w przypadku obciążeń związanych ze sztuczną inteligencją (AI) i uczeniem maszynowym (ML), takich jak rozpoznawanie obrazów, przetwarzanie języka naturalnego i uczenie maszynowe.
W praktyce procesory CPU, GPU i NPU są niezbędne do działania nowoczesnego komputera, ale każdy z nich jest zoptymalizowany pod kątem różnych typów obliczeń i renderowania. Rozłóżmy to na czynniki pierwsze.
Sercem każdego urządzenia komputerowego jest procesor, często nazywany "mózgiem" systemu. Jest on znany ze swojej wszechstronności i możliwości obliczeniowych ogólnego przeznaczenia, dzięki architekturze zaprojektowanej do zarządzania aplikacjami i zadaniami wymagającymi podejmowania złożonych decyzji.
Mocne strony
Słabe strony
Pierwotnie zaprojektowane do renderowania grafiki w grach wideo, układy GPU zmieniły zasady gry w sztucznej inteligencji dzięki niezrównanym możliwościom przetwarzania równoległego, takim jak głębokie uczenie i przetwarzanie obrazu.
W przeciwieństwie do procesorów centralnych, układy GPU doskonale radzą sobie z równoległym wykonywaniem tysięcy zadań obliczeniowych, co czyni je niezbędnymi do trenowania i obsługi złożonych sieci neuronowych.
Mocne strony
Słabe strony
(Kredyt : Intel)
W dążeniu do innowacji w dziedzinie sztucznej inteligencji na scenę wkroczył nowy gracz: jednostka NPU (Neural Processing Unit). Zaprojektowane od podstaw w celu przyspieszenia obliczeń sieci neuronowych, jednostki NPU są dostosowane do wymagań głębokiego uczenia i obciążeń AI. Jednostki NPU zapewniają niezrównaną wydajność i energooszczędność dzięki optymalizacji sprzętu i oprogramowania.
Mocne strony
Słabe strony