Znasz już Pythona? Chcesz stosować uczenie maszynowe i sieci neuronowe?
Kurs analizy danych i AI dla programistów.
-
Tematyka:analiza i obróbka danych – NumPy i Pandas; wizualizacje – Matplotlib, Seaborn, Plotly; analiza i wnioskowanie statystyczne, uczenie maszynowe, predykcja i klasyfikacja – Scikit-Learn; deep learning i sieci neuronowe - nowoczesne narzędzia Keras, TensorFlow, PyTorch; modele językowe (LLM/GPT) lokalne i poprzez API, dane liczbowe i tekstowe, rozpoznawanie i generowanie obrazu
-
Czas trwania:96 godzin zegarowych zajęć na żywo
+ 48 godzin pracy w domu z naszymi
materiałami = w sumie 144 godzin -
Tryby zajęć:
- weekendowo (sob-niedz., średnio co 2 tygodnie)
- dziennie (4-dniowe bloki co ok. 2 tygodnie)
-
Grupa:Zajęcia stacjonarne - na sali max 12 osób.
Dla kursów zdalnych - do 17 osób łącznie.
-
Rekrutacja:osoby z podstawową znajomością Pythona
-
Miejsce:Warszawa lub Zdalnie (online na żywo z trenerem i grupą)
-
Elastyczność:a) do 15 dni przed startem można zrezygnować
b) podczas zajęć można:
- przejść z trybu stacjonarnego na zdalny
- ze zdalnego na stacjonarny
- w razie potrzeby otrzymać nagrania z zajęć
- zawiesić uczestnictwo i dokończyć później
(w miarę dostępności miejsc)
-
Cena:5 490 PLN*
Ten kurs przeznaczony jest dla tych, którzy:
- znają podstawy programowania w Pythonie,
- potrafią samodzielnie pisać programy, niekoniecznie złożone,
- pragną podwyższyć i unowocześnić swoje kwalifikacje zgodnie z oczekiwaniami rynku pracy,
- chcą zrozumieć analizę danych, uczenie maszynowe i głębokie oraz poznać popularne biblioteki ML/AI okiem programisty.
Na ten kurs przychodzą osoby, które już miały styczność z programowaniem, ale niekoniecznie z analizowaniem danych.
Nie chcą poznawać znowu czym jest zmienna, tylko zrobić następny krok w swojej karierze. Te zajęcia mogą stanowić
kolejny etap dla osób, które ukończyły nasz kurs Python Developer
(opcja Standard) lub mają
podobny poziom wiedzy i chcą się rozwijać w kierunku analizowania danych i sztucznej inteligencji (AI),
tworzenia systemów eksperckich lub modeli uczenia maszynowego.
Przy czym ukończenie naszego kursu podstawowego nie jest konieczne, żeby dołączyć do grupy.
Nie znasz jeszcze Pythona? I chcesz porządnie nauczyć się go od zera?
Nie znasz Pythona, ale chcesz od razu skupić się na analizie danych, bez nauki samego programowania? Ten kurs może być dla Ciebie za trudny technicznie? Istnieje „lżejsza” alternatywa:
Programy obu kursów w zakresie analizy danych i uczenia maszynowego są bardzo zbliżone. Tutaj dodatkowo występuje blok uczenia głębokiego i wykorzystania LLM, którego na tamtym kursie nie ma, choć oferujemy możliwość kontynuacji nauki na dodatkowym szkoleniu.
Szczegółem, który najbardziej odróżnia obie wersje, jest poziom technicznej złożoności naszych przykładów. Tutaj zakładamy, że uczestnicy potrafią w jakimś stopniu „programować”, co pozwala tworzyć przykłady łączące kilka technik na raz, czy tworzyć działające aplikacje. Tamten kurs koncentruje się bardziej na samych technikach analitycznych i ML-owych wykonywanych niemal wyłącznie w trybie interaktywnym.
Program kursu
Kurs zawiera naprawdę obszerny zakres materiału… Koresponduje to z faktem, jak obszernym tematem jest data science i w jak wielkim stopniu jest on obecny w profesjonalnych zastosowaniach języka Python.
Począwszy od samodzielnej pracy z danymi, głównie za pomocą bibliotek Numpy oraz Pandas, tworząc przy okazji wizualizacje i realizując elementy analizy statystycznej, dochodzimy do tematu uczenia maszynowego (machine learning, ML). Choć brzmi tajemniczo, chodzi w nim o zautomatyzowane stosowanie technik statystycznych do większych zbiorów danych w celu m.in. klasyfikacji, predykcji wartości i zdarzeń na podstawie parametrów, odnajdywania związków między parametrami, oceny stopnia „podobieństwa” itp. Użycie ML często musi być poprzedzone wstępną analizą danych oraz ewentualną ich obróbką przed „wrzuceniem do modelu” → techniki poznane na początku kursu będą się przydawać przez cały czas.
Następnym poziomem zaawansowania jest uczenie głębokie (deep learning), w którym możliwości uczenia maszynowego zwielokratnia się dzięki budowaniu sieci neuronowych, które w jakimś sensie samodzielnie (choć pod kontrolą programisty) uczą się na podstawie dostarczanych danych wejściowych. Odpowiednio przygotowana sieć neuronowa jest w stanie na przykład rozpoznawać i klasyfikować obrazy czy automatycznie analizować teksty.
Choć machine learning i deep learning są tematami zaawansowanymi, akurat w świecie Pythona istnieje przystępne wsparcie dla analityków i programistów chcących stosować te techniki. Począwszy od biblioteki Scikit-Learn realizującej typowe zadania uczenia maszynowego, jak regresja i klasyfikacja, poprzez podstawowy TensorFlow (od Google) i nieco bardziej rozbudowany PyTorch (od Meta), w których pojawia się już uczenie głębokie, aż po Keras, który stał się w świecie Pythona „de facto standardem” w zakresie pracy z sieciami neuronowymi i oferuje wysokopoziomowe spojrzenie na techniki uczenia głębokiego, opcjonalnie z wykorzystaniem zoptymalizowanego silnika obliczeniowego JAX.
Szczególnym zastosowaniem sieci neuronowych są modele językowe (large language models, LLM), które są obecnie najbardziej znanym praktycznym zastosowaniem sztucznej inteligencji dzięki wygodnym do użycia usługom typu „czat” (ChatGPT, Gemini, Claude, Copilot, Grok, DeepSeek itd.). Korzystanie z LLM także jest częścią tego kursu, ale uwaga, to nie jest szkolenie z „pisania promptów”, lecz dotyczące profesjonalnego „programistycznego” dostępu do tych usług (na przykładzie jednej wybranej), co może być wykorzystane we własnych aplikacjach, w automatyzacji procesów, czy też podczas budowania firmowych rozwiązań AI.
Program kursu jest ułożony tak, aby w 12 dni przejść stopniowo przez wszystkie te etapy, poznać i przećwiczyć wymienione narzędzia. Na końcu powinieneś być w stanie samodzielnie wybrać rozwiązanie adekwatne do potrzeb i zrealizować je za pomocą Pythona i poznanych bibliotek.
Na szkoleniu tłumaczymy teorię na ile to jest konieczne do zrozumienia zasad działania stosowanych technik. Nie musisz być wykształconym statystykiem ani wiedzieć wcześniej, jak działają ML czy sieci neuronowe – wytłumaczymy to w przystępny sposób, bez wchodzenia w zaawansowaną matematykę. Naszym głównym celem jest nauczenie Cię, jak podane techniki stosować w praktyce do rozwiązywania konkretnych zadań i jak to się robi z perspektywy programisty Pythona.
Czego nauczysz się na kursie?
używać Pythona w sposób interaktywny (Jupyter Notebook, Google Colab) oraz programistyczny (PyCharm lub inne IDE i tworzenie aplikacji) w celu zaawansowanej pracy z danymi
samodzielnie przetwarzać i analizować dane za pomocą NumPy i Pandas
przygotowywać wizualizacje korzystając z pakietów Matplotlib, Seaborn i innych
pozyskiwać dane z różnych źródeł, przygotowywać je i czyścić
stosować machine learning oraz deep learning - poznasz zasady ich działania oraz nowoczesne narzędzia takie jak Scikit-Learn, Keras, googlowy TensorFlow, czy facebookowy PyTorch
przeprowadzać predykcje oraz klasyfikacje w oparciu o sprawdzone metody statystyki i uczenia maszynowego oraz głębokiego
profesjonalnie „programistycznie” korzytać z modeli językowych (LLM) zarówno w formie API do zdalnej usługi (ChatGPT lub podobnej), jak i lokalnej instalacji
Zapewniamy go! Nowoczesny sprzęt komputerowy będzie do Twojej dyspozycji podczas kursu. Oprócz motywacji i chęci do nauki nie musisz niczego ze sobą zabierać!
Ćwiczymy, ćwiczymy, ćwiczymy
Każdy etap kursu jest wypełniony praktycznymi ćwiczeniami z rzeczywistymi przykładami i problemami jakie mogą Ci się przytrafić podczas pisania w tym języku. Przez cały okres trwania kursu, pod czujnym okiem trenera - aktywnie przećwiczysz każdą poznaną technikę.
Program kursu został stworzony przez informatyków, absolwentów najlepszych polskich uczelni, którzy są czynni zawodowo. To bardzo istotne - nasi trenerzy od lat wykonują projekty IT dla firm zewnętrznych, organizacji i instytucji publicznych. Dlatego program tego kursu jest tak dobrze dopasowany do obecnych potrzeb rynku pracy.
Samodzielne ćwiczenia pomiędzy zajęciami w domu
Kurs trwa 96 godzin i jest bardzo intensywny, ale można i warto wyciągnąć z niego jeszcze więcej! Jak to zrobić? Trzeba przyłożyć się do nauki również w domu. Nasi trenerzy zawsze zachęcają do samodzielnej pracy w domu, przygotowują ciekawe zadania, nad którymi pracujesz w przerwie między zajęciami. Często są to nieco większe „problemy/wyzwania”, nad którymi trzeba się chwilę zastanowić. Duża ilość ćwiczeń sprawi, że utrwalisz zdobytą wiedzę i bardzo szybko opanujesz technologię. Jeśli masz problem z zadaniem - zawsze możesz skontaktować się ze swoim trenerem.
Trenerzy - zawodowi programiści
Nawet najlepiej przygotowany program kursu nie zadziała bez dobrego, otwartego na słuchaczy i doświadczonego wykładowcy. Doskonale o tym wiemy!
Dlatego nasi trenerzy są najlepsi. Mają wieloletnie doświadczenie w szkoleniach, nauczaniu oraz tworzeniu oprogramowania. Są to praktycy - osoby prowadzące żywe, obfitujące w realistyczne przykłady zajęcia.
Doświadczony trener i ekspert w dziedzinie uczenia maszynowego i głębokiego oraz sztucznej inteligencji, specjalizujący się w Pythonie i zaawansowanej analizie danych. Posiada bogate doświadczenie teoretyczne i praktyczne, które skutecznie wykorzystuje w realizacji wielu ambitnych projektów IT.
Lech posiada solidne wykształcenie wyższe. Zdobył tytuł doktora na Uniwersytecie Śląskim w Katowicach, ukończył studia w zakresie biostatystyki na University at Albany School of Public Health oraz studia podyplomowe z negocjacji i mediacji w biznesie na Uczelni Łazarskiego w Warszawie. Jest wysoce wyspecjalizowanym analitykiem z doświadczenie w takich technologiach jak Python, Machine Learning, Deep Learning oraz AI (sztuczna inteligencja), R.
Posiada wieloletnie doświadczenie zarówno w roli programisty, jak i konsultanta w dziedzinie nauki o danych, zarządzając kompetencjami, zespołami, produktami i ramami pracy. Przez ostatnie lata pracował jako kierownik oddziału zaawansowanej analityki i nauki o danych w firmie, która jest światowym pionierem w farmacji i diagnostyce skupiającej się na rozwoju nauki w celu poprawy życia ludzi.
Jego profesjonalne podejście, pasja i zaangażowanie w każdy projekt przyczyniły się do licznych sukcesów, zarówno w skali krajowej, jak i międzynarodowej. Jest autorem wielu publikacji na temat badań m.in w dziedzinie zdrowia. Jako pasjonat wyzwań, zawsze dąży do tworzenia kultury pracy opartej na rzetelnych danych i odpowiedzialnych decyzjach.
Słowniczek pojęć i zastosowań
Masz prawo nie znać jeszcze niektórych słów pojawiających się w programie naszego kursu. Mają one jednak naprawdę liczne i jak najbardziej praktyczne zastosowania. Przyjrzyjmy się niektórym z nich…
- Data science jest pojęciem bardzo ogólnym i, co może być zaskoczeniem dla niewtajemniczonych, obejmuje sobą także całą dziedzinę sztucznej inteligencji.
- Predykcja brzmi jak przewidywanie przyszłości, ale w kontekście analizy danych i sztucznej inteligencji nie jest to wróżenie ze szkalnej kuli, lecz naukowo uzasadnione przewidywanie jednych wartości na podstawie innych. Przykładem predykcji wartości liczbowych może być szacowanie ceny nieruchomości na podstawie jej parametrów (metraż, standard budynku, odległość od centrum) w modelu zbudowanym w oparciu o inne znane ceny transakcyjne. Inny przykład to szacowanie obciążenia sieci energetycznej czy wodociągowej na podstawie pory dnia, pogody i innych czynników, nawet tak nieoczywistych, jak transmisja wydarzenia sportowego.
- Regresja jest techniką stosowaną w statystyce i ma znaczenie zbliżone do interpolacji czy ekstrapolacji, ale jest uogólniona na wiele zmiennych (parametrów/czynników wpływających na wynik). Dzięki matematycznemu wyznaczeniu zależności jednej zmiennej od pozostałych, można skutecznie przewidywać, jaka będzie jej wartość w innej sytuacji. Najbardziej oczywistym zastosowaniem regresji jest opisana wyżej predykcja, a regresja wraz z kilkoma innymi technikami stanowi fundament działania uczenia maszynowego.
- Klasyfikacja to jedno z najczęstszych zastosowań uczenia maszynowego oraz głębokiego. Zadanie to zasadniczo polega na tym, aby na podstawie dostępnych danych przyporządkować kolejną wartość (lub zestaw wartości: obiekt / rekord danych) do jednej z grup. Często zagadnienie sprowadza się do „binarnej” odpowiedzi tak/nie (przykładem jest predykcja zdarzeń: Czy będzie padał deszcz? Czy ten mail wygląda na oszustwo? Czy zachowanie urządzenia sugeruje wystąpienie awarii?), ale w ogólności zbiór odpowiedzi może składać się z wielu elementów. Doskonałymi przykładami klasyfikacji wieloklasowej są podział klientów na grupy sprzedażowe czy przyporządkowanie pacjentom najwłaściwszych diagnoz na podstawie zgłoszonych objawów. Klasyfikacją są także wszelkie techniki rozpoznawania, np. obrazu czy głosu.
- Techniki nadzorowane opierają się o dokonany przez człowieka wybór zmiennych, które rzekomo mają mieć wpływ na wynik. Stosujemy je wtedy, gdy wiemy o logicznej zależności między wartościami lub domniemujemy taką na podstawie analizy danych. Z kolei w technikach nienadzorowanych algorytm sam wykrywa statystyczne zależności pomiędzy wartościami.
- Jupyter to edytor i środowisko uruchomieniowe, z którego korzysta się poprzez przeglądarkę internetową. W odróżnieniu od klasycznych „programów” Pythona, które zazwyczaj uruchamia się w całości, „notatniki” Jupytera pozwalają na pracę mocno interaktywną, gdzie po wykonaniu każdej komórki od razu widać wynik. Dane i wykresy są wymieszane z kodem oraz dodatkowymi tekstami, co można wykorzystać do tworzenia swoistych raportów. Jupytera można zainstalować lokalnie na własnym komputerze, skonfigurować sobie „na firmowym serwerze” lub wreszcie skorzystać w formie usługi od jednego z popularnych dostawców. Na naszym kursie używamy m.in. środowiska Google Colab, które jest zmodyfikowaną wersją Jupytera działającą na serwerach Google.
Program szkolenia
- Środowisko pracy z Pythonem dla analityka
- Możliwości instalacji lokalnej
- Czysty Python i wirtualne środowiska (venv i pip)
- Anaconda
- Edytory i środowiska deweloperskie
- Możliwości pracy zdalnej – Google Colab i podobne usługi
- Asystent AI Gemini
- Środowiska typu Jupyter – jak się w nich pracuje i dlaczego warto?
- Komórki i specyfika pracy interaktywnej
- Używanie Markdown i Latex do tworzenia sformatowanych tekstów
- Skróty klawiszowe i inne opcje ułatwiające pracę
- Podpowiedzi i dokumentacja
- Rzut oka na „ekosystem” bibliotek i narzędzi służących do data science w Pythonie
- Możliwości instalacji lokalnej
- Numpy – tablice i obliczenia w Pythonie
- Przyczyny używania dodatkowych bibliotek analityczno-obliczeniowych
- Wektory, macierze, tablice wielowymiarowe
- Różne sposoby tworzenia
- Nawigacja i wybieranie fragmentów
- Zmiana kształtu (`reshape`) i transpozycja
- Typy liczbowe i konsekwencje wyboru typu
- Operacje na tablicach Numpy
- Wektoryzacja operatorów i funkcji
- Zasada rozgłaszania (broadcasting)
- Mnożenie macierzy i przykładowe zastosowania
- Funkcje agregujące i osie
- Rozkłady, histogramy, statystyki opisowe
- Generator liczb pseudolosowych
- Pandas i „biznesowa” analiza danych
- Serie (`Series`) i tabele / „ramki danych” (`DataFrame`)
- Indeksy i nazwy kolumn
- Nawigacja w strukturach danych – wybieranie komórek i fragmentów, iteracja
- Pozyskiwanie danych z różnych źródeł
- Pliki CSV i Excel (odczyt i zapis)
- Zasoby w internecie (JSON, XML, HTML)
- Bazy danych (SQL)
- Wyszukiwanie i filtrowanie danych
- Warunki logiczne w Pandas oraz Numpy: maski, spójniki logiczne
- Przygotowywanie i czyszczenie danych
- Usuwanie kolumn i wierszy
- Usuwanie duplikatów
- Zamiana i normalizacja wartości
- Strategie postępowania z wartościami nieokreślonymi (NaN)
- Usuwanie wartości nieokreślonych
- Zastępowanie domyślną lub dominującą wartością
- Wypełnianie wartościami sąsiednimi
- Interpolacja
- Typy kolumn oraz ich wpływ na wydajność i funkcjonalność
- Typy liczbowe; zakres i precyzja wartości
- Typ daty i czasu; akcesor `.dt`
- Typ kategoryczny – kiedy warto stosować
- Praca z danymi tekstowymi, w tym wykorzystanie wyrażeń regularnych (regex)
- Pionowe oraz poziome łączenie tabel (`concat`, `merge`, `join`)
- Sortowanie serii i tabel
- Ranking i poszukiwanie najmniejszych/największych wartości
- Opisowa analiza danych
- Gotowe funkcje do generowania podstawowych statystyk
- Grupowanie
- Agregacja i obliczanie statystyk dla grup
- Iteracja po grupach i wykorzystanie grupowania do podziału danych
- Tabele przestawne (pivot table)
- Funkcje kroczące („okienkowe”) i narastające („skumulowane”)
- Oś czasu i szeregi czasowe
- Generowanie szeregów czasowych
- Specyfikowanie okresów czasu
- Agregacja okresów czasu – operacja `resample`
- Elementy analizy statystycznej
- Seria danych jako zmienna statystyczna; normalizacja
- Korelacja i istotność statystyczna; mapy ciepła
- Wstęp do regresji liniowej
- Wnioskowanie statystyczne
- Serie (`Series`) i tabele / „ramki danych” (`DataFrame`)
- Wykresy i wizualizacja danych
- Matplotlib i wykresy na podstawie danych z Pandas i Numpy
- Różne typy wykresów
- Opcje i ustawienia
- Generowanie wykresów bezpośrednio z Pandas
- Przegląd dodatkowych bibliotek wizualizacji danych, m.in. Seaborn, Bokeh, Plotly
- Matplotlib i wykresy na podstawie danych z Pandas i Numpy
- Wprowadzenie do uczenia maszynowego
- Czym ogólnie jest uczenie maszynowe (machine learning, ML)?
- Podział metod uczenia maszynowego
- Uczenie nadzorowane (supervised), nienadzorowane (unsupervised) i ze wzmocnieniem (reinforcement)
- Czym jest zagadnienie regresji, a czym problem klasyfikacji?
- Exploratory Data Analysis (EDA), czyli eksploracja i przygotowanie danych do uczenia maszynowego
- Statystyki opisowe (za pomocą wcześniej poznanych narzędzi)
- Rozkłady, histogramy, identyfikacja wartości odstających (outliers) i błędnych
- Oczyszczanie zbioru danych (wartości błędne, nieokreślone, duplikaty)
- Identyfikacja korelacji i zależności logicznych, wstępne hipotezy
- Standaryzacja i normalizacja danych
- Czym jest inżynieria cech (feature engineering)?
- Statystyki opisowe (za pomocą wcześniej poznanych narzędzi)
- Proces uczenia maszynowego – metodologia CRISP-ML(Q)
- Zrozumienie dziedziny i określenie wymagań wobec projektu ML
- Przygotowanie zbioru uczącego i zbioru testowego z zastosowaniem EDA
- Zbudowanie i szkolenie modelu
- Walidacja i tuning modelu
- Wdrożenie i utrzymywanie rozwiązań
- Na czym polega „wyjaśnialność” (explainability) modelu?
- Wybór najwłaściwszej techniki ML w zależności od zadania
- Praktyka uczenia maszynowego w Pythonie
- Biblioteka Scikit-learn
- Transformatory, estymatory, pipeline’y
- Przegląd dostępnych metod i operacji (w miarę poznawania ↓ kolejnych technik ML)
- Serializacja i ponowne wykorzystywanie modeli
- Rola bibliotek pomocniczych – Numpy, Pandas, Seaborn
- Praca interaktywna w Jupyter/Colab vs wykorzystanie ML we własnych aplikacjach
- Biblioteka Scikit-learn
- Techniki uczenia nadzorowanego
- Metody regresji
- Regresja liniowa
- Regresja wielomianowa
- Obsługa danych o skali nieliniowej
- Reprezentacja danych nieliczbowych
- Ewaluacja modeli regresji
- Współczynnik determinacji R² oraz błędy MAE/RMSE
- Przeuczenie modelu i metody regularyzacji
- Zastosowania regresji
- Predykcja wartości liczbowych / ciągłych
- Wizualizacja trendów i zależności
- Klasyfikacja
- Decyzje binarne (prawda/fałsz) oraz klasyfikacja wieloklasowa
- Regresja logistyczna
- Drzewa decyzyjne – struktura, sposób tworzenia i wykorzystania
- Metryki klasyfikacji
- Łączenie klasyfikatorów
- Zastosowania klasyfikacji
- Predykcja zdarzeń (wydarzy się / nie wydarzy się) na podstawie uwarunkowań
- Przyporządkowanie rekordów do grup ze względu na ich cechy i wartości pól
- Metody regresji
- Techniki uczenia nienadzorowanego
- Grupowanie danych (clustering) i algorytm K-Means
- Redukcja wymiarowości i Analiza Głównych Składowych (PCA)
- Zastosowania technik nienadzorowanych (w czasie zajęć wybieramy po jednym małym przykładzie, a dodatkowe projekty są propozycjami prac domowych)
- Ustalanie istotnych zmiennych, w tym na potrzeby uczenia nadzorowanego
- Automatyczna detekcja anomalii, np. fraudów, awarii, ataków cybernetycznych
- Automatyczne grupowanie, np. segmentacja klientów na podstawie historii zachowań czy pacjentów na podstawie objawów
- Czym jest uczenie ze wzmocnieniem (reinforcement learning, RL)?
- Wstęp do uczenia głębokiego i sieci neuronowych
- Czym uczenie głębokie (deep learning) różni się od „zwykłego” uczenia maszynowego?
- Komponenty sieci neuronowych
- Budowa i mechanizm działania sztucznego neuronu
- Perceptory (perceptron)
- „Warstwa ukryta” i perceptory wielowarstwowe (MLP)
- Mechanizm działania uczenia głębokiego
- Przetwarzanie informacji
- Algorytmy uczenia z nadzorem
- Algorytmy uczenia bez nadzoru
- Funkcje aktywacyjne
- Funkcje błędu
- Tensory i transformacje
- Biblioteki uczenia głębokiego w Pythonie
- Fundamentalne biblioteki napędzające deep learning
- TensorFlow – open source od Google
- PyTorch – open source od Meta
- JAX – zoptymalizowany silnik obliczeniowy
- Znaczenie sprzętu w pracy z sieciami neuronowymi; procesory typu CPU, GPU, TPU
- Keras – wysokopoziomowa praca z modelami
- Wybór biblioteki podstawowej (backend)
- Budowa modeli w Keras
- Kompilacja modelu
- Wybór optymalizatora i metryk
- Trenowanie modeli
- Sequential API vs Functional API
- Wykorzystanie wytrenowanych modeli do predykcji
- Klasyfikacja i podejmowanie decyzji na podstawie nowych danych
- Hugging Face – platforma open source dla modeli uczenia maszynowego
- Strojenie modeli dopasowanych do potrzeb użytkownika
- Zastosowanie do generowania obrazów
- Fundamentalne biblioteki napędzające deep learning
- Sieci neuronowe – rodzaje, techniki i przykłady zastosowań
- Sztuczne sieci neuronowe (ANN)
- Zastosowania w zadaniach klasyfikacji i regresji
- Konwolucyjne sieci neuronowe (CNN)
- Rozpoznawanie obrazów
- Przetwarzanie i analiza obrazów
- Rekurencyjne sieci neuronowe (RNN, LSTM)
- Predykcja szeregów czasowych
- Inne zagadnienia analityczne
- Sztuczne sieci neuronowe (ANN)
- Duże modele językowe (LLM)
- Czym jest model językowy i jak działają narzędzia typu GPT?
- Ewolucja AI w przetwarzaniu języka naturalnego (NLP)
- Od sieci neuronowych RNN do architektury Transformer
- Architektura popularnych modeli
- Podstawowe pojęcia: etapy trenowania, model wytrenowany i przetrenowany, token, prompt, konwersacja, pamięć, …
- Zagadnienia bezpieczeństwa i prywatności w kontekście LLM i AI
- Etyczne wykorzystanie AI: prawa autorskie, uczciwość i rzetelność narzędzi AI
- Aspekty prawne i istniejące regulacje (pobieżnie)
- Zagrożenia ewentualnego wycieku danych i zarządzanie prywatnością
- Korzystanie ze zdalnych usług AI/LLM czy lokalna instalacja modelu? – dyskusja
- Dostęp programistyczny (API) do zdalnych modeli LLM na przykładzie OpenAI API (ChatGPT) lub analogicznej usługi
- Generyczne API sieciowe (REST) i dedykowana biblioteka w Pythonie
- Zarządzanie kluczem dostępowym (API_KEY)
- Parametry i opcje zapytań
- Role promptów: user, developer, …
- Dostrajanie procesu myślenia: zaangażowane zasoby, temperatura, filtrowanie treści
- Polecenia jednorazowe i konwersacje
- Praca z lokalnym modelem LLM
- Wady i zalety własnej instalacji względem zewnętrznej usługi
- Konfiguracja wybranego open-source’owego narzędzia LLM
- Utworzenie prostego czat-bota jako aplikacji Python na bazie lokalnej instalacji
- Czym jest model językowy i jak działają narzędzia typu GPT?
- Analiza możliwości wdrażania projektów AI opartych o Pythona
- Wdrożenia w oparciu o własną infrastrukturę
- Wdrożenia „w chmurze”
- Wyzwania prawdziwego świata: skalowanie, bezpieczeństwo, monitoring
- Wirtualizacja, konteneryzacja i orkiestracja
- Rola narzędzi Docker i Kubernetes
- Wyspecjalizowane narzędzia w kontekście machine learning i deep learning
- Specyfika pracy MLOps