Algorytmy ML ułatwiają identyfikację wąskich gardeł

Fot. rawpixel.com - www.freepik.com

Naukowcy z Uniwersytetu Rice’a w Stanach Zjednoczonych opracowali metody projektowania architektury sprzętowej do przetwarzania danych oraz algorytmów uczenia maszynowego (ang. machine learning), które – wykorzystywane łącznie – mogą znacznie zwiększyć efektywność energetyczną zakładów – i to nawet o dwa rzędy wielkości.

Rozwój technologii uczenia maszynowego – jednej z form sztucznej inteligencji szeroko wykorzystywanej m.in. w pojazdach autonomicznych i wielu innych zaawansowanych systemach technicznych – wprowadził świat w nową erę przetwarzania danych – „erę danocentryczną”, zmuszając inżynierów do zmiany podejścia do projektowania systemów komputerowych.

– Problem polega na tym, że w głębokich sieciach neuronowych stanowiących dziś podstawę uczenia maszynowego ponad 90% energii elektrycznej niezbędnej do obsługi całego systemu wydatkowane jest na przesył danych między pamięcią a procesorem – wyjaśnia Yingyan Lin, adiunkt na Uniwersytecie Rice’a i dyrektor tamtejszego Laboratorium Efektywnego i Inteligentnego Przetwarzania Danych (EIC).

Dlatego Lin i jej koledzy opracowali dwie uzupełniające się metody optymalizacji przetwarzania danych w systemach danocentrycznych. Zaprezentowali je w czerwcu 2020 r. podczas Międzynarodowego Sympozjum Architektury Komputerowej (ISCA) – prestiżowej konferencji poświęconej nowym koncepcjom i badaniom w zakresie architektury IT.

Motorem rozwoju nowej, danocentrycznej architektury jest problem określany jako „wąskie gardło von Neumanna”, tj. nieefektywność wynikająca z rozdzielenia pamięci i przetwarzania danych. Swoją nazwę „wąskie gardło” zawdzięcza Johnowi von Neumannowi, który w 1945 r. jako pierwszy zaprojektował tego typu architekturę, przyczyniając się do tego, że od 75 lat problem wąskich gardeł nie znika z pola widzenia naukowców.

Dzięki oddzieleniu pamięci od programów i danych architektura von Neumanna zapewnia komputerom niezwykłą wszechstronność zastosowań. W zależności od tego, jaki program zostanie załadowany z pamięci komputera, może on być wykorzystywany do wykonywania połączeń wideo, przygotowania arkuszy kalkulacyjnych lub symulacji pogody na Marsie. Ten sam rozdział powoduje jednak, że nawet wykonanie prostych operacji, takich jak dodanie 2 do 2, wymaga od procesora wielokrotnego dostępu do pamięci.

W ten sposób powstaje „wąskie gardło”, szczególnie uciążliwe w przypadku masowych operacji realizowanych w głębokich sieciach neuronowych – systemach, które uczą się podejmować „ludzkie” decyzje na podstawie analizy dużej liczby historycznych przykładów. Im bardziej rozległa jest sieć, tym trudniejsze zadanie może wykonać, a im więcej przykładów przeanalizuje, tym lepiej działa. Dlatego uczenie sieci neuronowych nierzadko wymaga zaangażowania zestawu specjalnych procesorów pracujących non stop przez ponad tydzień. Dla porównania: próba realizacji operacji interferencji, tj. podejmowania decyzji w sieciach neuronowych, na smartfonie skończyłaby się mniej więcej po godzinie – tyle bowiem wytrzymałaby bateria telefonu.

Przetwarzanie danych bezpośrednio w pamięci

– Istnieje powszechna zgoda co do tego, że do obsługi danocentrycznych algorytmów ery uczenia maszynowego niezbędna jest innowacyjna, danocentryczna architektura systemów komputerowych – twierdzi Yingyan Lin. – Co należy rozumieć pod tym pojęciem? Nie ma na to jednej uniwersalnej odpowiedzi, jako że różnorodne aplikacje wymagają zastosowania algorytmów ML, różniących się od siebie zarówno pod względem struktury i stopnia złożoności, jak i wymagań względem dokładności realizacji zadań, zużycia surowców, opóźnień czy przepustowości. Wielu naukowców pracuje nad stworzeniem takiej architektury. Swoje własne projekty rozwijają też wszystkie duże firmy, w tym Intel, IBM i Google.

Podczas ubiegłorocznej konferencji ISCA Lin i jej koledzy zaprezentowali przykład takiej architektury. Opracowana przez nich platforma TIMELY oferuje możliwość przetwarzania danych bezpośrednio w pamięci (processing in-memory – PIM), a więc w sposób całkowicie odmienny od podejścia reprezentowanego przez von Neumanna. Bazuje ona na rezystancyjnej pamięci o dostępie swobodnym (ReRAM) – nieulotnej pamięci podobnej do flash. Teoretycznie architektura ta nie jest specjalnie rewolucyjna – podobne sieci rozwijają już także inne zespoły naukowców. Badania przeprowadzone na dziesięciu modelach głębokich sieci neuronowych dowiodły jednak, że TIMELY jest 18 razy bardziej energooszczędna i zapewnia 30 razy większą gęstość obliczeniową niż druga na liście platforma PIM.

TIMELY eliminuje główne czynniki wpływające na nieefektywność zarówno architektury von Neumanna, jak i pozostałych systemów PIM, a więc przede wszystkim konieczność częstego dostępu do pamięci głównej w celu obsługi pośrednich danych wejściowych i wyjściowych oraz ich przesyłu między pamięcią główną a lokalną. W konkurencyjnych systemach PIM dane przechowywane w pamięci głównej są zapisywane w formie cyfrowej, a przed przesłaniem ich do pamięci lokalnej w celu dalszego przetwarzania muszą zostać przekonwertowane do formy analogowej. Zanim trafią do pamięci głównej, wyniki przetwarzania muszą zostać ponownie przekształcone do postaci cyfrowej. Proces ten powtarza się za każdym razem, gdy dane są przesyłane między pamięcią główną a lokalnymi pamięciami ReRAM.

Platforma TIMELY jest pozbawiona tej słabości: dzięki specjalnym buforom analogowym w pamięci lokalnej nie wymaga wielokrotnego dostępu do pamięci głównej ani konwersji danych przesyłanych między pamięciami. Większość niezbędnych danych jest bowiem przechowywana w pamięci lokalnej, co znacznie zwiększa efektywność ich przetwarzania.

To jednak niejedyna propozycja naukowców: podczas konferencji ISCA przedstawili także SmartExchange – rozwiązanie umożliwiające połączenie algorytmów ML i innowacyjnej architektury sprzętowej w celu zmniejszenia zużycia energii.

– Dostęp do pamięci głównej DRAM wymaga dostarczenia ok. 200 razy więcej energii niż przetwarzanie danych. Dlatego postanowiliśmy zbudować taką strukturę algorytmu, która pozwoli nam ograniczyć zużycie pamięci, a zwiększyć liczbę obliczeń – z korzyścią dla zużycia energii – wyjaśnia Lin. – Przykładowo, jeśli nasz algorytm składa się z 1000 parametrów, w normalnych okolicznościach przechowywalibyśmy je wszystkie w pamięci DRAM i musieli uzyskać dostęp do nich przy każdej operacji przetwarzania danych. SmartExchange pozwala nam identyfikować określone struktury w ramach tych 1000 parametrów, dzięki czemu musimy przechować w pamięci jedynie 10 z nich. Znając bowiem zależności między tą dziesiątką a pozostałymi 990 parametrami, jesteśmy w stanie obliczyć każdy z nich, nie wywołując go z pamięci głównej.

Owe 10 parametrów nazywane jest zbiorem podstawowym i jest przechowywane lokalnie, jak najbliżej procesora, co pozwala zminimalizować koszty dostępu do pamięci DRAM.

Naukowcy przetestowali działanie algorytmu SmartExchange i platformy sprzętowej na siedmiu porównywalnych głębokich sieciach neuronowych i trzech zbiorach danych porównawczych. Wyniki były więcej niż pozytywne: badacze odkryli, że taka kombinacja pozwala 19-krotnie zredukować opóźnienia w porównaniu z innymi akceleratorami głębokich sieci neuronowych.


Mike Williams jest starszym specjalistą ds. relacji z mediami na Uniwersytecie Rice’a.