| 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 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||