Data SciencePython

Data Science na GPU w Python – kompleksowe wykorzystanie kart graficznych w analizie danych

09 - 14 maj 2024

Online

4 050,00 zł netto / osobę
Nie pasuje Ci żaden termin? Napisz do nas!
Zapisz więcej osób

Taniej w grupie

  • 3 osoby - 10% zniżki
  • 4 osoby - 15% zniżki
  • 5 osób - 20% zniżki
  • 6 osób - 25% zniżki
  • 7 osób - 30% zniżki
  • O szkoleniu

    Iteruj, Iteruj, Iteruj to jedna z ważniejszych zasad podkreślanych przez Andrew Ng w jego książce Machine Learning Yearning. Algorytmy maszynowego uczenia trenowane są na danych w procesie iteracyjnym. Zamiast zastanawiać się jak zbudować perfekcyjny system możemy rozpocząć od prototypu który następnie będziemy udoskonalać. W ramach prototypowania zbudujemy intuicję którą wykorzystamy do ulepszenia w kolejnej iteracji naszego modelu. Im szybciej będziemy iterować tym szybciej zrobimy postępy na drodze poszukiwania najlepszego modelu.

    W świecie analizy danych dominowanym przez duże zbiory danych szybkość iterowania ma ogromne znaczenie. Dotychczasowe implementacje algorytmów maszynowego uczenia wykorzystujące CPU w znaczącym stopniu ograniczają szybkość iterowania a tym samym możliwość otrzymania lepszych modeli w przeciwieństwie do GPU. Dodatkowym czynnikiem mającym wpływ na szybkość całego procesu jest etap przygotowania danych. Wraz z wykorzystaniem zbiorów big data czas i poziom skomplikowania całego procesu znacząco wzrasta.

    Szkolenie Data Science na GPU w Python dostarcza rozwiązania powyższych problemów z pomocą GPU. Szkolenie prowadzone jest w oparciu o Python i skupia się na praktycznej implementacji GPU w data science. Uczestnicy szkolenia otrzymują zestaw narzędzi do analizy i modelowania danych z wykorzystaniem kart graficznych. Stworzone wraz z trenerem skrypty pozwalają na szybkie wdrożenie w organizacji. Dzięki kompleksowemu podejściu wszystkie operacje związane z ładowaniem, przetwarzaniem, obliczeniami danych i trenowaniem modeli wykonujemy w pamięci kart graficznych. W programie szkolenia przedstawiamy najważniejsze elementy technologii NVIDIA CUDA i prezentujemy jak ją wykorzystać w Data Science. Dodatkowo  elementem poruszonym na szkoleniu jest wykorzystanie DASK dla Python umożliwiające skalowanie na wiele kart graficznych lub wiele maszyn.

    Dla kogo jest to szkolenie?

    • Data Scientist
    • Inżynier Big Data
    • Inżynier Machine Learning
    • Analitycy danych

    Czego się nauczę?

    Po ukończeniu szkolenia:

    • Poznasz Architekture kart graficznych oraz CUDA
    • Dowiesz się jak wykorzystać kilka kart graficznych oraz klaster maszyn z kartami do obliczeń
    • Nauczysz się wydajnie przetwarzać dane na pamięci karty graficznej nawet do 800x szybciej
    • Poznasz biblioteki Python z pomocą których wykorzystasz technologię NVIDIA CUDA
    • Nauczysz się przekształcać obliczenia z NumPy do GPU
    • Dowiesz się jak przetwarzać dane korzystając ze znanego z Pandas API DataFrame z pomocą Apache Arrow
    • Przygotujesz dane do maszynowego uczenia w całości na GPU
    • Nauczysz się trenować i tuningować algorytmy ml z pomocą GPU
    • Zbudujesz głębokie sieci neuronowe w oparciu o różne biblioteki
    1. Wprowadzenie do architektury GPU – obliczenia równoległe
    1. Compute-Unified Device Architecture CUDA
    2. Obliczenia równoległe GPU
    3. Konstrukcja GPU
    4. Core GPU
    5. Pamięć GPU
    6. Interakcje CPU/GPU
    7. GPU computing in Python
    8. Przegląd bibliotek i środowisk data science do pracy na GPU w Python
    9. Konfiguracja środowiska CUDA do obliczeń na GPU
    2. Skalowalność – praca na wielu kartach graficznych oraz klastrze maszyn z DASK
    3. Koszt tradycyjnego podejścia CPU GPU – serializacja danych
    4. Apache Arrow kolumnowy format danych
    • Korzyści z wykorzystania Apache Arrow
    • Najważniejsze elementy projektu
    5. CuPy – tablice wielowymiarowe i obliczenia numeryczne na GPU
    • Wielowymiarowy array – ndarray
    • Konwersja z NumPy ndarray do CuPy ndarray
    • Reprezentacja danych typu Sparse
    • Obliczenia w CuPy – ufuncs, Broadcasting, Agregacje
    • Operacje na tablicach – indeksowanie, sortowaniem łączenie I dzielenie
    • Ładowanie danych
    • Tworzenie funkcji pod CUDA
    • Numba CUDA kernel
    6. Ramki danych na GPU – przetwarzanie danych w formie DataFrame
    • Przejście z DataFrame na CPU do GPU
    • Ładowanie danych do format DataFrame w pamięci GPU
    • Podstawowe struktury – Series, Index, DataFrame
    • Podstawowe operacje– indeksowanie, wybieranie, filtrowanie, ,mapowanie funkcji, sortowanie, rangowanie, NaN, reindeksowanie, hierarchiczne indeksy, applymap
    • Praca z brakującymi obserwacjami NULL
    • Agregacja danych – GroupBy
    • Przetwarzanie danych tekstowych i ze strukturą czasową
    • Łączenie danych – Join, append, concat
    • UDFs – tworzenie funkcji operujących na DataFrame
    7. Przetwarzanie dużych danych na kilku GPU – obliczenia równoległe z DASK
    • Praca na wielu kartach jednej maszyny lub klastrze maszyn z GPU
    • Reprezentacja DataFrame w partycjach
    • Podstawowe obliczenia na danych
    • Redukcja, Grupowanie, łączenie danych
    8. Przygotowanie danych do uczenia
    • Przekodowanie zmiennych – Label, Feature Encoding
    • Standaryzacja i Normalizacja
    • Imputacja i usuwanie braków danych
    • Podział danych na zbiór treningowy i testowy
    • Wyznaczanie miar do walidacji modeli
    9. Algorytmy regresji I klasyfikacji
    • Regresja liniowa, regularyzacja
    • Regresja logistyczna
    • KNN
    • SVM
    • ARIMA dla szeregów czasowych
    • Drzewa klasyfikacji- Random Forest
    • XGBoost na GPU DF oraz na rozproszonym DF z pomoca DASK
    • LightGBM
    • CatBoost
    10. Algorytmy analizy skupień
    • K-means
    • DBSCAN
    11. Liniowa i nieliniowa redukcja wymiaru
    • PCA
    • SVD
    • TSNE
    12. Predykcja na GPU modeli bazujących na algorytmach Ensemble takich jak LightGBM, XGBoost
    13. Wizualizacja wyników z wykorzystaniem GPU
    14. Narzędzia do budowy sieci neuronowych i architektur deep na GPU
    • DLPack
    • Chainer
    • MXNet
    • PyTorch
    • Tensorflow
    15. Wprowadzenie do sieci neuronowych i architektur deep
    • Reprezentacja danych w postaci tensorów
    • Architektura sieci feed-forward i SGD
    • Generalizacja metody backpropagation i obliczenie gradientu
    • Komponenty sieci – Wagi, bias, funkcje aktywujące
    • Parametry wpływające na uczenie sieci – learning rate, batch, dropout
    • Tuningowanie sieci i dobór funkcji aktywujących i parametru dropout
    16. Budowa sieci konwolucyjnych w Tensorflow
    • Konwolucje
    • Pooling
    • Case Study: Klasyfikacja obrazów
    17. Budowa sieci rekurencyjnych w PyTorch
    • LSTM
    • GRU
    • Attention
    • Transformer
    • Case study: analiza sentymentu
    18. Transfer learning
    • Adaptacja przytrenowanego modelu do problem
    • Douczanie model na nowych danych
    19. Generative Adversarial Networks
    • Generator
    • Discriminator
    • DCGAN
    • Case study: Wykrywanie anomalii siecią GAN w Tensorflow
    20. Autoencoders
    • Contrastive Divergence
    • Autoencoders
    • Variational autoencoders
    • Case study: Wykrywanie anomalii siecią VA w PyTorch
    21. Deep Reinforcement Learning
    • DQNs
    • Deep Generating Agents
    • Selecting Agents
    22. Wdrożenie modeli na produkcję