DE1053 Mašīnmācīšanās un dziļā mācīšanās

Kods DE1053
Nosaukums Mašīnmācīšanās un dziļā mācīšanās
Statuss Obligātais/Ierobežotās izvēles
Līmenis un tips Augstākā līmeņa, Akadēmiskais
Tematiskā joma Datorika
Struktūrvienība Datorzinātnes, informācijas tehnoloģijas un enerģētikas fakultāte
Mācībspēks Sergejs Paršutins
Kredītpunkti 6.0
Daļas 1
Anotācija Mākslīgā intelekta (MI) tehnoloģiju straujā attīstība ir kļuvusi par vienu no galvenajiem virzītājspēkiem dažādās nozarēs. MI integrācija IT sistēmās var būtiski uzlabot to efektivitāti, optimizēt procesus un radīt jaunas biznesa iespējas. Studiju kursa apguve ir svarīgs solis, lai gūtu fundamentālas teorētiskās un praktiskās zināšanas mašīnmācīšanās un dziļās mācīšanās jomā, kā arī izprastu modernās MLOps prakses, kas ļauj ne tikai saprast šo tehnoloģiju būtību, bet arī aktīvi piedalīties inovatīvu risinājumu izstrādē, ieviešanā un uzturēšanā reālos projektos. Iegūtās zināšanas un prasmes sagatavos studentus nākotnes karjerai datu zinātnē, mašīnmācīšanās inženierijā, MI inženierijā un citās ar MI saistītās jomās..
Studiju kurss piedāvā visaptverošu ieskatu mašīnmācīšanās un dziļās mācīšanās pamatprincipos un praktiskajā pielietojumā. Studenti apgūs prasmes, kas nepieciešamas datu izpētes analīzei, pirmapstrādei un vizualizācijai, izmantojot Python un tā bibliotēkas (NumPy, Pandas, Matplotlib, Seaborn). Studiju kurss sniedz padziļinātas zināšanas par pārraudzīto un nepārraudzīto mašīnmācīšanās modeļu izveidi un apmācību, izmantojot bibliotēku scikit-learn, kā arī iepazīstina ar modeļu novērtēšanas metrikām un to praktisku pielietošanu..
Būtiska studiju kursa sastāvdaļa ir modernās MLOps (Machine Learning Operations) prakses, kas nodrošina efektīvu un reproducējamu modeļu izstrādi un ieviešanu. Studenti apgūs MLFlow izmantošanu eksperimentu un modeļu versiju kontrolei, kā arī praktizēs virtuālās izstrādēs vides, virtualizācijas un konteinerizācijas rīku (piemēram, Docker, Proxmox) pielietošanu. Īpaša uzmanība tiek pievērsta mašīnmācīšanās lietotņu (ML Apps) izstrādei, izmantojot Flask, FastAPI un/vai Streamlit, nodrošinot prasmes mašīnmācīšanās modeļu integrēšanai IT sistēmās..
Studiju kurss sniedz arī strukturētu ievadu mākslīgajos neironu tīklos un to izstrādē TensorFlow un PyTorch ietvaros. Tiek aplūkotas populārākās neironu tīklu arhitektūras – daudzslāņu neironu tīkli, konvolūciju neironu tīkli (CNN), rekurentie neironu tīkli (RNN) un uz transformeriem balstītie modeļi, tai skaitā lielie valodu modeļi (LLM). Kursa laikā studenti izstrādās, pielāgos un ieviesīs dažādus neironu tīklu modeļus, attīstot prasmes gan jaunu modeļu izveidē, gan esošo risinājumu pielāgošanā..
Mācību process balstās uz praktiskiem grupas projektiem, kuros studenti pilnā ciklā pielieto apgūtās zināšanas – no datu sagatavošanas un modeļu izstrādes līdz modeļu ieviešanai un demonstrēšanai kā funkcionējošām lietotnēm. Tas veicina spēju strādāt komandā, plānot un īstenot mašīnmācīšanās un dziļās mācīšanās projektus, kā arī attīsta prasmes noformēt un profesionāli prezentēt iegūtos rezultātus..
Studiju kursa saturs
Saturs Pilna un nepilna laika klātienes studijas Nepilna laika neklātienes studijas
Kontaktstundas Patstāvīgais darbs Kontaktstundas Patstāvīgais darbs
Ievads studiju kursā un organizatoriskie jautājumi. Virtuālās Python izstrādes vides (Conda/venv) izveide, nepieciešamo bibliotēku instalēšana, projekta repozitorija struktūra. Literatūra: 1. Anaconda/Miniconda dokumentācija. 2. Python.org dokumentācija. 1 0 0 0
Ievads MLOps ciklā un tā posmos (datu sagatavošana, apmācība, ieviešana, monitorings). Kursa grupas projektu P1–P4 saturs un saistība ar MLOps ciklu. Literatūra: 1. Designing Machine Learning Systems. 2. Introducing MLOps. 3. Practical MLOps. 1 0 0 0
Python datu zinātniekiem, 1. daļa – datu ielāde, apstrāde un transformācijas ar bibliotēkām NumPy un Pandas. Literatūra: 1. Python Data Science Handbook, 2. un 3. nodaļas. 4 4 0 0
Python datu zinātniekiem, 2. daļa – izpētes datu analīze ar Pandas; datu vizualizācija ar Matplotlib un Seaborn; rezultātu interpretācija. Literatūra: 1. Hands-On Exploratory Data Analysis with Python. 2. Python Data Science Handbook, 4. nodaļa. 3. Matplotlib un seaborn dokumentācija. 4 8 0 0
Ievads bibliotēkas scikit-learn lietošanā. Datu pirmapstrāde ar scikit-learn. Konveijerapstrāde (pipelines) ar scikit-learn. Literatūra: 1. Python Data Science Handbook, 5. nodaļa. 2. Scikit-learn dokumentācija. 4 8 0 0
Pārraudzītā un nepārraudzītā apmācība ar scikit-learn. Modeļu novērtēšanas metrikas un to izvēle dažādiem uzdevumu veidiem. Literatūra: 1. Python Data Science Handbook, 5. nodaļa. 2. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. 3. Scikit-learn dokumentācija. 4 10 0 0
Ievads MLFlow pielietošanā eksperimentu un modeļu versiju kontrolē. Ievads mašīnmācīšanās lietotņu (ML Apps) izstrādē, izmantojot Flask, FastAPI un Streamlit. Literatūra: 1. LEARN MLFLOW. 2. MLFlow dokumentācija. 3. Machine Learning Engineering with MLflow. 4. Building Data Science Applications with FastAPI. 5. Flask for Data Science and Machine Learning. 6. Streamlit for Data Science. 7. FastAPI, Flask, Streamlit dokumentācija. 4 6 0 0
Linux datu zinātniekiem. Ievads virtualizācijas tehnoloģijās un konteineros. Ievads Docker un Proxmox un to loma MLOps ciklā. Literatūra: 1. Docker dokumentācija. 2. Proxmox dokumentācija. 4 6 0 0
Konteineru pielietošana modeļu apmācībai un eksperimentiem. Scikit-learn modeļu integrācija ar MLFlow konteinerizētā vidē. Literatūra: 1. LEARN MLFLOW. 2. MLFlow dokumentācija. 3. Machine Learning Engineering with MLflow. 4. Python Data Science Handbook, 5. nodaļa. 5. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. 6. Scikit-learn dokumentācija. 2 4 0 0
Mašīnmācīšanās modeļu ieviešana, izmantojot API (Flask, FastAPI) un/vai interaktīvas lietotnes (Streamlit). ML App arhitektūra un integrācija IT sistēmās. Literatūra: 1. Machine Learning Engineering with MLflow. 2. Building Data Science Applications with FastAPI. 3. Flask for Data Science and Machine Learning. 4. Streamlit for Data Science. 5. FastAPI, Flask, Streamlit dokumentācija. 6. Docker, Proxmox dokumentācija. 4 4 0 0
Ievads mākslīgajos neironu tīklos un dziļajā mācīšanās. Ievads TensorFlow un PyTorch ietvaros. Literatūra: 1. Dive into Deep Learning. 2. Tensorflow dokumentācija. 3. PyTorch dokumentācija. 4 6 0 0
Ievads laika rindu analīzē un rekurentajos neironu tīklos (RNN). Tipiskie pielietojumi (prognozēšana, anomāliju noteikšana). Literatūra: 1. Dive into Deep Learning. 1 4 0 0
Populāro RNN modeļu (piem., LSTM, GRU) pielāgošana un pielietošana TensorFlow un/vai PyTorch ietvaros. Modeļu ieviešana ML App vidē. Literatūra: 1. Tensorflow dokumentācija. 2. PyTorch dokumentācija. 4 6 0 0
Ievads konvolūciju neironu tīklos (CNN). Tipiskie pielietojumi (attēlu klasifikācija, detekcija, segmentācija). Literatūra: 1. Dive into Deep Learning. 2 4 0 0
Populāro CNN modeļu pielāgošana un pielietošana TensorFlow un/vai PyTorch ietvaros (piem., pārmācīšana uz jauniem datiem). Modeļu ieviešana ML App vidē. Literatūra: 1. Tensorflow dokumentācija. 2. PyTorch dokumentācija. 4 6 0 0
Ievads lielajos valodu modeļos (LLM) un transformeru arhitektūrā. Tipiskie pielietojumi (ģenerēšana, jautājumu–atbilžu sistēmas, RAG u.c.). Literatūra: 1. Dive into Deep Learning. 2. LLM Engineer's Handbook. 2 4 0 0
Populāro LLM pielāgošana un pielietošana (piem., instrukciju pielāgošana, RAG pieeja). Modeļu ieviešana ML App vidē. Literatūra: 1. Tensorflow dokumentācija. 2. PyTorch dokumentācija. 3 6 0 0
Mašīnmācīšanās un dziļās mācīšanās projektu P1–P4 izstrāde un prezentācija. Darbs komandās, pilna MLOps cikla realizācija, rezultātu dokumentēšana un prezentēšana. 12 12 0 0
Kopā: 64 98 0 0
Mērķis un uzdevumi, izteikti
kompetencēs un prasmēs
Studiju kursa mērķis ir sniegt studentiem fundamentālas teorētiskās un praktiskās zināšanas mašīnmācīšanās un dziļās mācīšanās jomā, ietverot modernās MLOps prakses, lai sagatavotu viņus modeļu izstrādei, ieviešanai un uzturēšanai reālos projektos. Studiju kursa uzdevumi: - iepazīstināt studentus ar mašīnmācīšanās un dziļās mācīšanās jēdzieniem, tipiskajām problēmām un MLOps cikla posmiem; - sniegt zināšanas par datu izpētes analīzes, pirmapstrādes un vizualizācijas metodēm, izmantojot Python un galvenās bibliotēkas (NumPy, Pandas, Matplotlib, Seaborn); - iemācīt izstrādāt un novērtēt pārraudzītās un nepārraudzītās mašīnmācīšanās metodes, izmantojot bibliotēku scikit-learn, kā arī izvēlēties un lietot atbilstošas modeļu novērtēšanas metrikas; - pilnveidot studentu prasmes izstrādāt reproducējamus mašīnmācīšanās risinājumus, izmantojot MLFlow, virtuālās vides, konteinerizācijas un virtualizācijas rīkus (Docker, Proxmox); - iepazīstināt studentus ar mašīnmācīšanās lietotņu (ML Apps) tehnoloģijām un attīstīt spēju izstrādāt un ieviest mašīnmācīšanās lietotnes, izmantojot Flask, FastAPI un/vai Streamlit, nodrošinot prasmes modeļu integrēšanai IT sistēmās; - iepazīstināt studentus ar mākslīgo neironu tīklu darbības principiem un populārākajām neironu tīklu arhitektūrām – daudzslāņu neironu tīkliem, konvolūciju neironu tīkliem, rekurentajiem neironu tīkliem un uz transformeriem balstītajiem modeļiem; - iemācīt studentiem izstrādāt un apmācīt jaunus, kā arī pielāgot esošus neironu tīklu modeļus TensorFlow un PyTorch ietvaros; - veicināt studējošo spēju strādāt komandā, plānot un īstenot pilnu mašīnmācīšanās un dziļās mācīšanās projektu ciklu, kā arī attīstīt prasmes noformēt un prezentēt iegūtos rezultātus.
Sasniedzamie studiju
rezultāti un to vērtēšana
Spēj izveidot virtuālo izstrādes Python vidi un pieinstalēt darbam nepieciešamas bibliotēkas. - Vērtēšana notiek visos grupas projekta darbos P1–P4: projektā jāizmanto korekti izveidota virtuālā vide, skripti un notebuki ir izpildāmi bez tehniskām kļūdām.
Spēj ielādēt, apstrādāt datus un veikt datu izpētes analīzi, pielietojot bibliotēkas Numpy un Pandas. - Datu izpētes analīze ir obligāta sastāvdaļa visos grupas projektos P1–P4: tiek vērtēta datu ielāde, tīrīšana, transformācijas un aprakstošā statistika, kā arī koda kvalitāte.
Spēj izveidot dažāda veida grafikus, izmantojot bibliotēkas Matplotlib un Seaborn. - Projektos P1–P4 jāiekļauj grafiskā datu un modeļu rezultātu vizualizācija; tiek vērtēta grafiku korektums, salasāmība un interpretējamība.
Spēj izstrādāt datu pirmapstrādes stratēģiju, izejot no pieejamo datu konteksta, un realizēt to, izmantojot bibliotēkas scikit-learn rīkus. - Pirmapstrāde ir obligāta projekta P1 daļa un opcionāli tiek pielietota arī projektos P2–P4: tiek vērtēta izvēlēto metožu atbilstība datiem (normalizācija, skalēšana, trūkstošo datu apstrāde u.c.) un to realizācija scikit-learn konveijerapstrādes formā.
Spēj automatizēt datu pirmapstrādes procesu, izmantojot scikit-learn konvejerapstrādes rīkus. - Projektā P1 (un pēc nepieciešamības P2–P4) tiek vērtēta konveijeru korekta izveide un lietošana: datu plūsma no izejas datiem līdz modelim ir reproducējama un pielietojama arī jaunajiem datiem.
Saprot atšķirības starp uzraudzītās un neuzraudzītās apmācības modeļiem un to darbības principus. - Teorētiskās zināšanas tiek vērtētas eksāmenā E un projekta P1 atskaitē, vērtējot sniegto īsu izmantoto metožu teorētisko pamatojumu.
Spēj izveidot un apmācīt uzraudzītās un neuzraudzītās apmācības modeļus, izmantojot bibliotēki scikit-learn. Un novērtēt to efektivitāti, izmantojot atbilstošās metrikas. - Projektā P1 studenti izveido vismaz vienu pārraudzīto un vienu nepārraudzīto modeli, izvēlas atbilstošas metrikas un interpretē rezultātus.
Spēj veikt eksperimentu un izveidoto modeļu versiju kontroli, izmantojot rīku MLFlow. - Projektā P1 un opcionāli arī P2–P4 tiek lietots MLFlow: tiek vērtēta eksperimentu reģistrēšana, parametrizācija, modeļu versiju izsekojamība.
Saprot un spēj pielietot Flask, FastAPI un Streamlit ietvarus mašīnmācīšanas lietotņu izstrādei un ieviešanai. - Projektos P1–P4 tiek izstrādāta vismaz viena modeļa saskarne (API vai interaktīva lietotne); tiek vērtēta funkcionalitāte, stabilitāte un spēja korekti izmantot apmācīto modeli.
Saprot konteineru pielietošanas būtību mašīnmācīšanas un dziļās mācīšanas modeļu izstrādē un ieviešanā. - Projektos P1–P4 tiek prasīta konteineru konfigurācija: tiek vērtēts, vai risinājums ir reproducējami palaižams konteinerā.
Spēj pielietot Proxmox virtualizācijas iespējas un Docker konteinerus modeļu izstrādei un ieviešanai. - Projekta vidē (P1–P4) tiek vērtēta spēja izveidot un izmantot virtualizētu / konteinerizētu vidi, dokumentējot palaišanas soļus.
Saprot mākslīgo neironu tīklu darbības būtību. Saprot rekurento neironu tīlu, konvolūciju neironu tīklu un lielo valodas modeļu darbības principus. - Teorētiskās zināšanas tiek pārbaudītas eksāmenā E un īsos teorētiskos aprakstos projektos P2–P4.
Spēj izveidot, pielāgot (fine-tune) un pielietot rekurento neironu tīklu modeļus ietvaros Tensorflow un PyTorch. - Vērtēšana notiek grupas projektā P2: tiek vērtēta modeļa arhitektūra, apmācības process, novērtēšanas metrikas un rezultātu interpretācija.
Spēj izveidot, pielāgot un pielietot konvolūciju neironu tīklu modeļus ietvaros Tensorflow un PyTorch. - Vērtēšana notiek grupas projektā P3 ar līdzīgiem kritērijiem kā P2, fokusējoties uz CNN pielietojumu.
Spēj izveidot, pielāgot un pielietot lielos valodas modeļus ietvaros Tensorflow un PyTorch. - Vērtēšana notiek grupas projektā P4: tiek vērtēta LLM izvēle, pielāgošanas stratēģija, novērtēšanas pieeja un rezultātu interpretācija.
Saprot MLOps procesu un spēj realizēt visas MLOps cika posmus. - MLOps cikla realizācija (datu sagatavošana, apmācība, eksperimentu izsekošana, ieviešana, monitorings) tiek vērtēta integrēti visos projektos P1–P4.
Spēj noformēt un prezentēt izpildītos pētījumus un sasniegtus rezultātus. - Katrā projektā P1–P4 obligāta ir prezentācija: tiek vērtēta prezentācijas struktūra, skaidrība, rezultātu argumentēta interpretācija un spēja atbildēt uz jautājumiem.
Studiju rezultātu vērtēšanas kritēriji
P1 – Grupas projekta darbs „Mašīnmācīšanās metožu pielietošana modeļu izstrādei un ieviešanai”. Tiek izstrādāts grupās pa 2 studentiem (izņēmumu gadījumā pieļaujams pa 3 studentiem). - 20%
P2 – Grupas projekta darbs „Rekurento neironu tīklu modeļu izstrāde, pielāgošana un ieviešana”. Tiek izstrādāts grupās pa 2 studentiem (izņēmumu gadījumā pieļaujams pa 3 studentiem). - 20%
P3 – Grupas projekta darbs „Konvolūcijas neironu tīklu izstrāde, pielāgošana un ieviešana”. Tiek izstrādāts grupās pa 2 studentiem (izņēmumu gadījumā pieļaujams pa 3 studentiem). - 20%
P4 – Grupas projekta darbs „Lielo valodas modeļu izstrāde, pielāgošana un ieviešana”. Tiek izstrādāts grupās pa 2 studentiem (izņēmumu gadījumā pieļaujams pa 3 studentiem). - 20%
E – Noslēguma teorētiskais eksāmens. Iekļauj testveida jautājumus par studiju kursā izskatītām tēmām. - 20%
 
Priekšzināšanas 1. Python programmēšana. 2. Matemātika. 3. Pamata zināšanas par datu analīzi, datu zinātni un mašīnmācīšanas metodēm un pieejām. 4. Pamata zināšanas par moderno informācijas sistēmu arhitektūru un infrastruktūru.
Studiju kursa plānojums
Daļa KP Stundas Pārbaudījumi
Lekcijas Prakt. d. Lab. Ieskaite Eksāmens Darbs
1 6.0 32.0 32.0 *

Pieteikties uz šo kursu

[Kursa apraksts PDF formātā]