Wydział Informatyki
Kierunek studiów Data Science Poziom i forma studiów pierwszego stopnia inżynierskie stacjonarne
Specjalność / Ścieżka dyplomowania --- Profil kształcenia ogólnoakademicki
Nazwa przedmiotu MLOps w technologiach AI Kod przedmiotu DS1S3MLO
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 3
30 30 Punkty ECTS 5
Przedmioty wprowadzające Przegląd metod i narzędzi AI (DS1S2PMN),   Rachunek prawdopodobieństwa (DS1S2RPR),   Wprowadzenie do systemu Linux (DS1S1WSL),  
Cele przedmiotu

Przekazanie kompleksowej wiedzy z zakresu administracji systemami, konteneryzacji i praktyk DevOps w kontekście systemów AI/ML. Rozwój praktycznych umiejętności w zakresie tworzenia, zarządzania i budowania nowoczesnych środowisk na potrzeby procesów Artificial Intelligence / Machine Learning. Wpływ konsumpcji zasobów infrastruktury oraz sposobu składowania danych w kontekście zasad zrównoważonego rozwoju.

Odniesienia do frameworka edukacyjnego mikrokompetencji SFIA:
IT Infrastructure ITOP - poziom 4
Availability Management AVMT - poziom 3
Programming/Software Development PROG - poziom 3
Systems Installation/Decommissioning HSIN - poziom 3
Release and Deployment RELM - poziom 3
Software Development Process Improvement SPIM - poziom 4
Data Management DATM - poziom 3
Machine Learning MLNG - poziom 3

Treści programowe

Konteneryzacja i orkiestracja, modele abstrakcji środowiska uruchomieniowego. Porównanie wybranych platform. Problemy systemów rozproszonych, algorytmy konsensusu, redundancja i wysokiej dostępności. Infrastructure as Code (IaC), konfiguracja i provisioning zasobów w wybranych platformach. Ciągła integracja i dostarczanie (CI/CD), strategie wdrożeniowe, automatyzacja procesów wdrożeniowych i baking warstw kodu. Zarządzanie procesami uczenia maszynowego, wersjonowanie danych i modeli, inżynieria cech, ewaluacja modeli AI. Wdrożenie modeli do produkcji. Bezpieczeństwo systemów i modeli AI. Wpływ konsumpcji zasobów infrastruktury oraz sposobu składowania danych w kontekście zasad zrównoważonego rozwoju.

Wykład:
1. Podstawy sieci komputerowych. Model OSI
2. Wybrane protokoły sieciowe
3. Podstawowe narzędzia diagnostyki sieci komputerowej
4. Treści dotyczące konteneryzacji; wyjaśnienie problematyki konteneryzacji. Wprowadzenie do technik abstrakcyjnych nad środowiskiem uruchomieniowym kontenera, różnice architektoniczne w technologiach takich jak Kubernetes, Nomad i Mesos
5. Problemy systemów rozproszonych (split brain), algorytmy konsensusu (Raft), problemy wysokiej dostępności oraz redundancji. Wpływ konsumpcji zasobów infrastruktury w kontekście zasad zrównoważonego rozwoju
6. Różnice domenowe między elementami środowiska budowania kontenera i środowiskiem uruchomieniowym kontenera
7. Idealny podział domenowy między środowiskiem uruchomieniowym kontenera, a środowiskiem uruchomieniowym aplikacji. Wpływ doboru zasobów w kontekście zasad zrównoważonego rozwoju
8. Wykorzystanie technik na rozwiązania pokroju GitLab, GitHub Actions, Azure Pipelines, AWS CodeBuild. Techniki bakingu warstw abstrakcyjnych oraz warstw kodu źródłowego
9. Elementy wprowadzające do uczenia maszynowego. Zarządzanie kodem z poziomu notatnika Jupytera, budowania generycznych i agnostycznych środowisk uruchomieniowych oraz deweloperskich
10. Procesy zarządzania modelami uczenia maszynowego. Elementy przygotowania danych, proces normalizacji danych, techniki specyficzne określonych klas cech jak stemmingizacja i lemmatizacja, techniki inżynierii cech oraz zarządzania cechami (feature store), elementy wersjonowania modelu
11. Badanie zdolności generycznych modelu dla klasyfikacji i regresji; tworzenie matrycy pomyłek, błąd średniokwadratowy, czułość, swoistość, dokładność, statystyka F(alfa). Procesy ewaluacji modelu, badanie regresji modelu oraz zdolności generycznych, porównywanie różnych wersji modelu
12. Modele wdrożenia modelu do środowiska produkcyjnego. Techniki wdrożenia modelu poprzez aplikację REST, elementy batch-processingu za pomocą Spark / Apache Airflow
13. Wprowadzenie do narzędzi zależnych od domeny, takich jak MLFlow / Kubeflow, Comet.ml, TensorBoard
14. Elementy bezpieczeństwa architektury systemu teleinformatycznego (denial of the service, oraz modelu (zatruwanie danych, techniki inwersji modelu, exploitacja progu, prompt injection)
15. Zaliczenie wykładu

Pracownia specjalistyczna:
1. Konfiguracja interfejsów sieciowych oraz podstawy diagnostyki sieci komputerowych
2. Budowanie środowisk uruchomieniowych oraz deweloperskich z wykorzystaniem technologii konteneryzacji, na potrzeby modeli i technologii pokrewnych machine learning (4h)
3. Elementy orkiestracji środowiska deweloperskiego z wykorzystaniem wybranej technologii cloud-computing (np. Kubernetes, Azure Apps) (6h )
4. Wdrożenie bazowych procesów ciągłej integracji i ciągłego dostarczania korzystając z dowolnego narzędzia. (Wymogiem jest element współpracy zespołowej, wzajemnego code-review oraz automatyzacja finalnego wdrożenia) (8h)
5. Zbudowanie procesów wersjonowania danych surowych, ekstrakcji cech, automatyzacji wdrożenia oraz monitorowania regresji modelu w czasie (8h)
6. Zaliczenie pracowni specjalistycznej

Metody dydaktyczne

Forma zaliczenia

Wykład: zaliczenie pisemne z pytaniami testowymi i otwartymi
Pracownia specjalistyczna: ocena wybranych programów realizowanych na zajęciach, ocena zadania projektowego

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 różne modele wdrażania oprogramowania oraz stosowane w tym celu narzędzia DS1_W03
DS1_W10
DS1_W19
EU2 procesy konteneryzacji i orkiestracji oraz modele środowiska uruchomieniowego DS1_W04
DS1_W05
DS1_W19
DS1_W21
EU3 budować procesy ciągłego dostarczania i ciągłej integracji dla różnych modeli oprogramowania DS1_U04
EU4 budować środowiska oparte o technologie kontenerowe, także mając na uwadze wpływ konsumpcji zasobów infrastruktury w kontekście zasad zrównoważonego rozwoju DS1_U07
DS1_U15
EU5 budować proste hurtownie modeli DS1_U07
EU6 analizować i badać regresję modelu uczenia maszynowego DS1_U17
EU7 łączenia domeny technicznej z zastosowaniem biznesowym modeli AI DS1_K05
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie pisemne W
EU2 zaliczenie pisemne W
EU3 ocena programów realizowanych na zajęciach, ocena zadania projektowego Ps
EU4 ocena programów realizowanych na zajęciach, ocena zadania projektowego Ps
EU5 ocena programów realizowanych na zajęciach, ocena zadania projektowego Ps
EU6 ocena programów realizowanych na zajęciach, ocena zadania projektowego Ps
EU7 ocena programów realizowanych na zajęciach, ocena zadania projektowego Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - udziałem w wykładach 30
2 - udziałem w innych formach zajęć 30
3 - indywidualnym wsparciem merytorycznym procesu uczenia się, udziałem w zaliczeniach organizowanych poza planem zajęć 4
4 - przygotowaniem do zaliczenia wykładu 10
5 - przygotowaniem do bieżących zajęć o charakterze praktycznym 10
6 - wykonaniem projektu 41
RAZEM: 125
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 64
(1)+(2)+(3)
2.6
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 81
(2)+(5)+(6)
3.2
Literatura podstawowa

1. Podręcznik systemowy GNU Linux
2. P. Chudzik, Konteneryzacja z wykorzystaniem Dockera. Podstawy, Helion, Gliwice, 2024
3. Y.Hattori, Pełnia możliwości DevOps, Git i GitHub. Zastosowanie podejścia opartego na automatyzacji, współpracy i innowacji, Helion, Gliwice, 2025
4. A. Król-Nowak, K. Kotarba, Podstawy uczenia maszynowego, Wydawnictwo AGH, 2022

Literatura uzupełniająca

1. G. Kim, P. Debois, et al, The DevOps Handbook, 2016
2. P. M. Duvall, S. Matyas, A. Glover, Continuous Integration: Improving Software Quality and Reducing Risk, 2007
3. I. Goodfellow, Y. Bengio, A. Courville, Deep Learning, 2016
4. Google Site Reliability Workbook: https://sre.google

Jednostka realizująca Wydział Informatyki Data opracowania programu
Program opracował(a) dr inż. Andrzej Chmielewski,dr hab. inż. Ireneusz Mrozek 2025.01.29