PRZEWODNICZĄCY I RADA DYSCYPLINY INFORMATYKI TECHNICZNEJ I TELEKOMUNIKACJI AKADEMII GÓRNICZO-HUTNICZEJ im. ST. STASZICA W KRAKOWIE |
|
---|---|
zapraszają na publiczą dyskusję nad rozprawą doktorską mgr inż. Dominika Żurka |
|
Akceleracja obliczeń algorytmów uczenia maszynowego oraz wybranych populacyjnych algorytmów inteligencji obliczeniowej ze zredukowaną precyzją danych poprzez implementację w układach GPGPU | |
Termin: | 28 lipca 2021 roku o godz. 13:00 |
Miejsce: | w formie online link do spotkania: https://agh-mche.webex.com/meet/maciej.paszynski |
PROMOTOR: | Prof. dr hab. inż. Kazimierz Wiatr Instytut Elektroniki AGH |
PROMOTOR POMOCNICZY: | Dr. inż. Marcin Pietroń Instytut Elektroniki AGH |
RECENZENCI: | Prof. dr hab. inż. Roman Wyrzykowski, Instytut Informatyki Politechniki Częstochowskiej |
Prof. dr hab. inż. Marek Skomorowski, Instytut Informatyki i Matematyki Komputerowej UJ | |
Z rozprawą doktorską i opiniami recenzentów można się zapoznać w Czytelni Biblioteki Głównej AGH, al. Mickiewicza 30 |
Akceleracja obliczeń algorytmów uczenia maszynowego oraz wybranych populacyjnych algorytmów inteligencji obliczeniowej ze zredukowaną precyzją danych poprzez implementację w układach GPGPU
mgr inż. Dominik Żurek
Promotor: prof. dr hab. inż. Kazimierz Wiatr (AGH) Promotor pomocniczy: dr. inż. Marcin Pietroń (AGH) Dyscyplina: Informatyka
Przedmiotem prowadzonych prac była akceleracja wybranych algorytmów uczenia maszynowego oraz wybranych populacyjnych algorytmów inteligencji obliczeniowej poprzez ich implementacje˛ w układach GPGPU. Ważnym aspektem prac było zbadanie wpływu użycia zredukowanej precyzji danych na skuteczność wybranych algorytmów, szybkość obliczeń oraz oszczędność pamięci. Pierwszym zagadnieniem, dla którego podjęto próby akceleracyjne przy użyciu kart graficznych był problem LABS z rodziny algorytmów inteligencji obliczeniowej. Do rozwiązywania tego zadania został użyty algorytm SDLS w wersji podstawowej oraz jego dwie innowacyjne wersje, powstałe na potrzeby niniejszej rozprawy. Prócz algorytmu SDLS, problem LABS został rozwiązany przy pomocy równoległej wersji algorytmu TABU. Dzięki sprzętowej implementacji algorytmu SDLS, w zależności od wielkości problemu, uzyskano przyśpieszenia rzędu kilkudziesięciu razy względem równoległej wersji wykonywanej w procesorze. Z zaproponowanych nowych wersji algorytmu SDLS, rozwiązujących problem LABS najbardziej skuteczny okazał się˛ algorytm nazwany SDLS z przeszukiwaniem w głąb. Algorytmem dla którego zbadano wpływ użycia zredukowanej precyzji danych na jego efektywność, był algorytm wektorów nośnych (SVM). W tym celu zostały zaproponowane dwie metody kwantyzujące, które pozwoliły przeprowadzić trening algorytmu przy użyciu 6 bitów przy nieznacznym spadku jego skuteczność. ∼ 1% w porównaniu z treningiem wykonanym na 32 bitach. Oprócz implementacji badającej wpływ użycia zredukowanej szerokości danych na skuteczność algorytmu, dokonano pomiaru przyśpieszenia jakie można uzyskać używając mniejszej precyzji w implementacji sprzętowej przy użyciu układów GPGPU. Wykonując cały proces uczenia wektorów SVs w GPGPU, używając danych 16-sto bitowych, względem pojedynczej oraz podwójnej precyzji dla obliczenia pojedynczej klasy wektorów, uzyskano przyśpieszenia kolejno 1,26 oraz 1,76 razy. Ostatnim ważnym aspektem była próba implementacji bardziej efektywnych metod obliczania konwolucji niż te zaoferowane przez bibliotekę cuDnn, uważaną za optymalne narzędzie służące do przetwarzania sieci neuronowych w procesorach graficznych. Zaproponowane podejście opiera się na wykorzystaniu operacji związanych z przetwarzaniem macierzy rzadkich. Porównanie osiągnięć czasowych nowej metody oraz cuDnn, zostało dokonane dla danych reprezentowanych na 32 oraz 16 bitach. Porównanie szybkości obliczania konwolucji dla nowej metody oraz biblioteki cuDnn, zostało przeprowadzone dla modelu VGG-16 (konwolucja 2D), CNN-non static (konwolucja 1D) oraz konwolucji z filtrami 1×1 pochodzącymi z modelu ResNet. Największą akceleracje˛ uzyskano dla konwolucji typu 1D, gdzie dla poziomu rzadkości ∼ 90%, wyniosła ona prawie 2 razy. Dla pozostałych typów konwolucji, przy takim poziome rzadkości w zależności od warstwy, przyśpieszenie jest rzędu kilkunastu procent. Do najważniejszych oryginalnych rozwiązań autora zaprezentowanych w tej pracy należy zaliczyć wykonanie w pełni sprzętowej implementacji algorytmu SDLS oraz Tabu rozwiązujących problem LABS. Dodatkowo do rozwiązania problemu LABS zostały opracowane oraz sprzętowo zaimplementowane dwie nowe wersje algorytmu SDLS nazwane SDLS-2 oraz SDLS z przeszukiwaniem w głąb. W celu zbadania wpływu użycia zredukowanej precyzji danych podczas treningu algorytmu wektorów nośnych na jego skuteczność, zostały opracowane i zaimplementowane dwie metody kwantyzujące max magnitude dynamic fixed-point quantization oraz min-max dynamic fixed-point quantization. Użycie zredukowanej precyzji podczas treningu algorytmu wektorów nośnych zostało również przebadane pod kątem akceleracyjnym, poprzez implementacje˛ tego procesu w układach GPGPU. W celach akceleracyjnych została opracowana oraz zaimplementowana efektywna metoda obliczania konwolucji, wykorzystująca operacje na macierzach rzadkich. Wykorzystując tę metodę został zbadany wpływ użycia zredukowanej precyzji danych na szybkość wykonywania operacji konwolucji zarówno przez zaproponowana˛ metodę jak również metody pochodzące z dedykowanej biblioteki na procesorach graficznych
Praca udostępniona publicznie tutaj
Recenzja - Prof. dr hab. inż. Roman Wyrzykowski tutaj
Recenzja - Prof. dr hab. inż. Marek Skomorowski tutaj
Ważniejsze publikacje doktoranta: