Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Sprzętowa Akceleracja Algorytmów Sztucznej Inteligencji
Tok studiów:
2019/2020
Kod:
ZSDA-3-0102-s
Wydział:
Szkoła Doktorska AGH
Poziom studiów:
Studia III stopnia
Specjalność:
-
Kierunek:
Szkoła Doktorska AGH
Semestr:
0
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski i Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż. Jamro Ernest (jamro@agh.edu.pl)
Dyscypliny:
Moduł multidyscyplinarny
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Współczesne algorytmu uczenia maszynowego, w szczególności głębokie sieci neuronowe, wymagają znacznych mocy obliczeniowych, dlatego kluczowe znaczenie w praktycznej implementacji ma użyta platforma sprzętowa. Rozwiązania sprzętowe przestawione zostaną w odniesieniu do popularnych algorytmów sztucznej inteligencji i architektury najczęściej używanych sieci nieuronowych.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Znajomość współczesnych sprzętowych platform obliczeniowych i ich cech w kontekście zastosowania do implementacji algorytmów sztucznej inteligencji SDA3A_W02, SDA3A_W01 Referat
Umiejętności: potrafi
M_U001 Umiejętność wyboru platformy sprzętowej dla zadanych parametrów projektowych do realizacji algorytmu sztucznej inteligencji SDA3A_U01, SDA3A_U03 Projekt
M_U002 Umiejętność użycia wybranej platformy sprzętowej do algorytmu głębokiego uczenia SDA3A_U01, SDA3A_U03 Projekt
Kompetencje społeczne: jest gotów do
M_K001 Zrozumienie ograniczeń i praktycznych możliwości wykorzystania sztucznej inteligencji w wybranych dziedzinach życia. SDA3A_K01 Referat
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
30 14 0 0 8 8 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Znajomość współczesnych sprzętowych platform obliczeniowych i ich cech w kontekście zastosowania do implementacji algorytmów sztucznej inteligencji + - - - - - - - - - -
Umiejętności
M_U001 Umiejętność wyboru platformy sprzętowej dla zadanych parametrów projektowych do realizacji algorytmu sztucznej inteligencji - - - + + - - - - - -
M_U002 Umiejętność użycia wybranej platformy sprzętowej do algorytmu głębokiego uczenia - - - + - - - - - - -
Kompetencje społeczne
M_K001 Zrozumienie ograniczeń i praktycznych możliwości wykorzystania sztucznej inteligencji w wybranych dziedzinach życia. - - - - + - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 75 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 30 godz
Przygotowanie do zajęć 15 godz
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 15 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (14h):

Architektura i organizacja komputera, struktura i działanie jednostki centralnej, jednostka stało- i zmiennoprzecinkowa, jednostka wektorowa, hierarchia pamięci, systemy komputerowe obliczeń wielkiej skali, architektury obliczeń masywnie równoległych i ko-procesorów graficznych GPU.
Architektura układów programowalnych FPGA, obliczenia AI w układach FPGA. Dedykowane procesory sprzętowe do obliczeń AI.
Architektury sieci neuronowych i innych algorytmów AI. Metody ich implementacji w różnych typach procesorów. Optymalizacja architektury sieci neuronowej pod kątem zasobów sprzętowych, np. wpływ szerokości bitowej obliczeń na wydajność oraz na rezultat obliczeń AI. Gotowe biblioteki do obliczeń AI i ich implementacja sprzętowa.

Ćwiczenia projektowe (8h):

Ćwiczenia projektowe dotyczyć będą programowania równoległego na potrzeby algorytmów uczenia maszynowego: obliczenia wielkiej skali w środowisku superkomputerowym; obliczenia współbieżne SMP przy pomocy OpenMP; oblicznia klastrowe w środowisku MPI; programowanie GPGPU w CUDA i OpenCL; projektowanie struktury FPGA w językach wysokiego poziomu; implementacja sieci neuronowych na architekturach obliczeń równoległych; przykładowa implementacja sieci neuronowej w układach dedykowanych; zastosowanie dedykowanych procesorów sprzętowych w obliczeniach AI.

Konwersatorium (8h):

Przykładowe tematy proponowane do dyskusji:
Przykładowe zastosowania algorytmów AI.
Przykłady wykorzystanie architektur dedykowanych w obliczeniach produkcyjnych.
Strategie wyboru architektury sprzętowej; wydajność obliczeń, a zużyte zasoby.
Kierunki dalszej optymalizacji algorytmów AI i architektury sprzętowej.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: prezentacje w powerponcie, ankieta po wykładzie kahoot
  • Ćwiczenia projektowe: zajęcia projektowe, użycie stosownych narzędzi i systemów do projektowania.
  • Konwersatorium: Nie określono
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Brak egzaminu. Warunkiem uzyskania zaliczenia jest oddanie wybranego projektu oraz przygotowanie prezentacji i aktywny udział w konwersatorium.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: dobrowolne
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: obowiązkowe
  • Konwersatorium:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: obowiązkowe
Sposób obliczania oceny końcowej:

Średnia cen uzyskanych z projektu oraz z konwersatorium.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Projekt można oddać poprzez indywidualne umówienie się z prowadzącym. Konwersatorium można oddać poprzez indywidualną prezentacje z prowadzącym.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Podstawy projektowania w języku C.

Zalecana literatura i pomoce naukowe:

1. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press.
2. James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An introduction to statistical learning (Vol. 112, p. 18). New York: springer.
3. François Chollet, Deep Learning with Python, Manning Publications Co. 2018,
4. Kirk, D. B., & Wen-Mei, W. H. (2016). Programming massively parallel processors: a hands-on approach. Morgan kaufmann.
5. materiały online firmy intel: www.intel.com
6. materiały online firmy nvidia www.nvidia.com
7. materiały online firmy xilinx: www.xilinx.com

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1) Jamro E., Dąbrowska-Boruch, A., Russek P., Wielgosz M., Wiatr K., Novel architecture for floating point accumulator with cancelation error detection, Bulletin of the Polish Academy of Sciences. Technical Sciences, 2018 vol. 66 no. 5, s. 579–587.
2) Russek, P., Jamro, E., Dąbrowska-Boruch, A., & Wiatr, K. (2019). A study of the loops control for reconfigurable computing with OpenCL in the LABS local search problem. The International Journal of High Performance Computing Applications, 1094342019868515.

Informacje dodatkowe:

Brak