En aquest curs, introduïm un enfocament d'aprenentatge basat en projectes per a l'ensenyament de MLOps, centrat en la demostració i l'experiència amb pràctiques i eines d'enginyeria de software emergent per a automatitzar la construcció de components habilitats per a ML. El curs inclou sessions de laboratori que cobreixen el cicle de vida del component ML de principi a fi, des de la construcció del model fins al desplegament en producció.
Professorat
Responsable
Silverio Juan Martínez Fernández (
)
Altres
Matías Sebastián Martínez Martínez (
)
Santiago Del Rey Juarez (
)
Hores setmanals
Teoria
1.8
Problemes
0
Laboratori
1.8
Aprenentatge dirigit
0
Aprenentatge autònom
6.4
Competències
Competències Transversals
Sostenibilitat i compromís social
CT2 - Conèixer i comprendre la complexitat dels fenòmens econòmics i socials típics de la societat del benestar; tenir capacitat per relacionar el benestar amb la globalització i la sostenibilitat; assolir habilitats per usar de forma equilibrada i compatible la tècnica, la tecnologia, l'economia i la sostenibilitat.
Treball en equip
CT3 - Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o duent a terme tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, tot assumint compromisos considerant els recursos disponibles.
Tercera llengua
CT5 - Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i en consonància amb les necessitats que tindran els titulats i titulades.
Bàsiques
CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma..
Competències Tècniques Generals
Genèriques
CG3 - Definir, dissenyar i implementar sistemes complexos que cobreixin totes les fases en projectes de ciència de dades
CG4 - Dissenyar i posar en marxa projectes de ciència de dades en dominis específics de forma innovadora
Competències Tècniques
Específiques
CE5 - Modelar, dissenyar i implementar sistemes complexos de dades, incloent-hi la visualització de dades
CE7 - Identificar les limitacions imposades per la qualitat de dades en un problema de ciència de dades i aplicar tècniques per a disminuir el seu impacte
CE10 - Identificar els mètodes d'aprenentatge automàtic i modelització estadística a utilitzar per resoldre un problema específic de ciència de dades, i aplicar-los de forma rigorosa
Objectius
Interpretar els conceptes bàsics de l'Enginyeria de Software per a sistemes ML, especialment en relació amb l'ús i aprofitament de les pràctiques MLOps.
Competències relacionades:
CT5,
CG3,
CE5,
Aplicar i analitzar les pràctiques MLOps per a construir models ML, fomentant la reproductibilitat i la garantia de qualitat.
Competències relacionades:
CT2,
CT3,
CE7,
CE10,
CB8,
CB9,
Aplicar i analitzar pràctiques de MLOps per a desplegar models ML, fomentant el desenvolupament de API i el lliurament de components.
Competències relacionades:
CT3,
CG3,
CG4,
CE5,
CB8,
CB9,
Descriure conceptes i mètodes relacionats amb la monitorització de les dades obtingudes durant l'ús dels sistemes de ML, amb la finalitat de permetre bucles de retroalimentació en resposta als canvis.
Competències relacionades:
CT3,
CG3,
CG4,
CE5,
CB8,
CB9,
Continguts
Conceptes bàsics d'Enginyeria del Software per a sistemes de ML (MLOps)
Motivació de la necessitat d'enginyeria del software per a sistemes ML. Introducció a MLOps i conceptes clau. Enginyeria de requisits per a ML. Plataformes de desenvolupament col·laboratiu.
Pràctiques MLOps per a construir models de ML
La complexitat i diversitat dels projectes de ciència de dades i els sistemes de ML requereixen tècniques d'enginyeria que garanteixin que es construeixen de manera robusta i preparada per al futur. En aquest capítol abordem les millors pràctiques d'enginyeria del software per al software de projectes de ciència de dades, inclosos els components de ML: sistemes de control de versions; reproductibilitat i seguiment de canalitzacions de ML; mesurament de software per a ML; garantia de qualitat per a ML.
Pràctiques de MLOps per a desplegar models de ML
La complexitat i diversitat dels sistemes de ML exigeixen tècniques d'enginyeria que garanteixin que es despleguen de manera robusta i llista per a la producció. En aquest capítol abordem les millors pràctiques d'enginyeria del software per a components de ML: arquitectura del software per a ML; desplegament de models de ML; API per a ML; empaquetat de components de ML; automatització de pipelines de ML.
Dades de seguiment obtinguts durant l'ús dels sistemes de ML
Un problema clau en el desenvolupament de software és l'evolució del sistema de ML en resposta a noves necessitats. L'anàlisi de les dades obtingudes durant l'ús del sistema de ML per part dels seus usuaris, inclosos els seus comentaris explícits, permet descobrir les seves necessitats reals, de les quals a vegades ni tan sols ells són plenament conscients. Cada vegada més ens trobem amb sistemes de software que necessiten conèixer el seu context per a prestar un servei correcte. Aquesta restricció els obliga a monitorar contínuament les dades de context, descobrir canvis significatius i reaccionar en temps d'execució (eventualment, gairebé en temps real). Aquest tema descriu el problema i repassa algunes tècniques bàsiques: monitoratge i telemetria; cicles MLOps i bucles de retroalimentació.
Activitats
ActivitatActe avaluatiu
Estudi dels conceptes bàsics de l'Enginyeria del Software per a sistemes de ML (MLOps)
Desenvolupament pràctic d'un projecte end-to-end de pràctiques MLOps en el context de sistemes basats en ML
L'estudiant desenvoluparà progressivament una pràctica que li permetrà exercir els conceptes bàsics introduïts en la part teòrica. Es desenvoluparà en equips de 4-5 estudiants. El software resultant, degudament documentat, es carregarà a un repositori de codi. L'equip presentarà un informe, escrit en anglès, que resumirà els aspectes principals de la pràctica. Això és, el procés de construcció i desplegament d'un component ML d'un sistema basat en ML, i una avaluació de la precisió dels models i algorismes utilitzats. Objectius:1234 Continguts:
Presentació d'un resum d'un article existent sobre MLOps
L'alumne presentarà el resum d'un article científic. Tots els alumnes han de presentar (almenys) una vegada. Els presentadors han de formular almenys una pregunta als altres per a fomentar el debat. Els professors preparen una llista d'articles. Objectius:1 Setmana:
14 Tipus:
examen de teoria
Teoria
1.8h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6.4h
Presentació del projecte de pràctiques MLOps en el context de sistemes basats en ML
Objectius:1234 Setmana:
14 Tipus:
examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
1.8h
Aprenentatge dirigit
0h
Aprenentatge autònom
6.4h
Metodologia docent
Els continguts teòrics de l'assignatura s'imparteixen a les classes de teoria. Aquestes classes es complementen amb exemples pràctics i problemes que els estudiants han de resoldre en les hores d'Aprenentatge Autònom.
En les sessions de laboratori es consoliden els coneixements adquirits a les classes de teoria mitjançant la resolució de problemes i desenvolupament de pràctiques relacionats amb els continguts teòrics. Durant les classes de laboratori, el professor anirà introduint noves tècniques i deixarà una part important de la classe per tal que els estudiants treballin en els exercicis proposats.
Mètode d'avaluació
La nota es calcula ponderant la nota del projecte (pes 90%) i la nota de la presentació de l¿article (pes 10%). Ambdues activitats són obligatòries.
Bibliografia
Bàsica:
Building intelligent systems: a guide to machine learning engineering -
Hulten, Geoff,
Apress, 2018. ISBN: 9781484234327
Complementaria:
Teaching MLOps in Higher Education through Project-Based Learning -
Lanubile, Filippo; Martínez-Fernández, Silverio; Quaranta, Luigi, SEET@ICSE ,
2023.
https://arxiv.org/pdf/2302.01048.pdf