Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
ETSETB;FIB;FME;ESSI;ENTEL
1. Enginyeria del Software. La disponibilitat de grans volums de dades provinents tant del desenvolupament dels sistemes software com de la seva utilització possibilita la seva utilització en diverses etapes i activitats de l'enginyeria del software i, fins i tot anant més enllà, defineix una nova aproximació que considera les dades com la pedra angular del cicle de vida del software. La primera part de l'assignatura presenta aquesta nova visió de l'enginyeria del software i aprofundeix en pràctiques i eines d'enginyeria de software emergent per a automatitzar la construcció de components habilitats per a ML, i el cicle de vida del component ML de principi a fi, des de la construcció del model fins al desplegament en producció.
2. Privadesa i seguretat de les dades. Les tècniques d'anàlisi de dades poden ajudar a obtenir informació per anticipar-se a diversos problemes, donar a conèixer la seva font i ajudar a implementar solucions, en contextos tan variats com competitivitat empresarial, màrqueting, relacions socials, transport, salut, educació i política. No obstant això, tot i que l'anàlisi de dades és extremadament valuós, també tenen un inconvenient crucial: envaeixen cada cop més la privadesa de les persones sobre les quals es recopilen dades. La segona part de l'assignatura presenta conceptes bàsics de privadesa de la informació i aprofundeix en les principals tecnologies i mètriques de privadesa, així com en els algorismes d'anonimització utilitzats per evitar qualsevol divulgació d'informació sensible dels individus
Professorat
Responsable
- Javier Parra Arnau (javier.parra@upc.edu)
- Silverio Juan Martínez Fernández (silverio.martinez@upc.edu)
Altres
- Esteve Pallares Segarra (esteve@entel.upc.edu)
- Jordi Forne Muñoz (jforne@entel.upc.edu)
- Santiago Del Rey Juarez (santiago.del.rey@upc.edu)
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6
Competències
Competències tècniques
Transversals
Bàsiques
Genèriques
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: CG1, CB2, -
Aplicar i analitzar bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic
Competències relacionades: CE1, CE2, CT4, CG1, CG4, CB2, CB5, -
Aplicar i analitzar les pràctiques MLOps per a construir models ML, fomentant la reproductibilitat i la garantia de qualitat.
Competències relacionades: CE1, CE2, CE3, CE7, CT4, CG1, CG4, CB2, CB5, -
Aplicar i analitzar pràctiques de MLOps per a desplegar models ML, fomentant el desenvolupament de API.
Competències relacionades: CE1, CE2, CE7, CE8, CG1, CG2, CB2, CB5, -
Conèixer els riscos de privadesa associats a la navegació i a la publicació de dades. Aprofundir en les diferents mètriques de privadesa i la seva aplicació en diferentes escenaris.
Competències relacionades: CE1, CE3, CE8, CT4, CG2, CB3, CB5, -
Conèixer els principals algorismes d'anonimització de bases de dades estadístiques.
Competències relacionades: CE1, CE2, CE3, CE8, CT4, CG1, CG2, CG4, CB2, CB3, CB5, -
Avaluar el compromís entre privadesa i usabilitat de les dades.
Competències relacionades: CE1, CE3, CE8, CT4, CG1, CG4, CB2, CB3, CB5, -
Conèixer els riscos de privadesa en les comunicacions i els sistemes de comunicació anònimes.
Competències relacionades: CE1, CE3, CE8, CG1, CG4, CB2, CB5,
Continguts
-
Introducció a l'Enginyeria del Software
Primer, es presenta el concepte tradicional d'enginyeria del software. Després, s'analitza l'impacte de la disponibilitat de dades sobre aquest concepte tradicional. Es mostra el cicle de vida del software resultant de considerar-les. Motivació de la necessitat d'enginyeria del software per a sistemes ML. Introducció a MLOps i conceptes clau. Enginyeria de requisits per a ML. -
Bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic
La complexitat i diversitat dels projectes de ciència de dades i els sistemes basats en aprenentatge automàtic requereixen tècniques d'enginyeria per garantir que es construeixin d'una manera sòlida i preparada per al futur. En aquest capítol abordem bones pràctiques d'enginyeria de programari per a projectes de ciència de dades, i programari amb components d'aprenentatge automàtic. -
Pràctiques MLOps per construir models de ML i gestionar la qualitat del software i del seu procés de producció
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 i proves per a ML, inclosa la sostenibilitat ambiental. -
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; embalatge de components ML. -
Introducció a la privadesa i seguretat de les dades
Motivació. Definició de conceptes bàsics. Atacants i parts de confiança. Mètriques de privadesa. -
Algorismes d'anonimització de dades
Control de revelació estadística. Mesura del risc de revelació. Algorismes de microagregació de dades. Mesura del compromís privadesa-utilitat. Casos d'estudi. -
Privadesa a sistemes d'informació personalitzats
Perfils d'usuari: mesura del risc de privacitat. Tecnologies de privadesa. -
Seguretat i privadesa a les comunicacions
Algorismes criptogràfics. Autenticació i gestió de claus. Sistemes de comunicació anònims.
Activitats
Activitat Acte avaluatiu
Estudi dels conceptes bàsics de l'Enginyeria del Software per a sistemes de ML (MLOps)
Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Estudi de bones pràctiques d'enginyeria de programari referents a projectes de ciències de dades i aprenentatge automàtic
Objectius: 2
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Estudi de pràctiques MLOps per construir models de ML i la gestió de la qualitat del software i del seu procés de desenvolupament
Objectius: 3
Continguts:
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Teoria
3h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h
Desenvolupament pràctic d'un cas d'estudi de pràctiques MLOps en el context de sistemes basats en ML
L'estudiant desenvoluparà progressivament una pràctica que permeti exercitar els conceptes bàsics introduïts a la part de teoria. Es desenvoluparà en equips de 4-5 estudiants. El software resultant, degudament documentat, es pujarà a un repositori de codi. L'equip presentarà un informe, escrit en anglès, resumint els aspectes principals de la pràctica, per exemple, el procés de construcció d'un component ML d'un sistema basat en ML, i una avaluació de la precisió dels models i algoritmes emprats.Objectius: 2 3 4
Continguts:
Teoria
0h
Problemes
0h
Laboratori
13h
Aprenentatge dirigit
0h
Aprenentatge autònom
31.5h
Examen Final (EXF)
Aquest examen avalua les dues parts de l'assignatura. És obligat per als estudiants que hagin suspès alguna de les dues proves parcials. La resta d'estudiants també s'hi pot presentar en cas de voler millorar notaObjectius: 1 5 2 3 4 6 7 8
Setmana: 15 (Fora d'horari lectiu)
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h
Estudi de mecanismes i tecnologies per a seguretat i privadesa de les comunicacions
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h
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ó
L'avaluació s'estructura en funció de les dues parts de l'assignatura: enginyeria del software (PART1) i privadesa de les dades (PART2).Per la primera part, la nota es calcula ponderant la nota d'un examen teòric (pes 40%) amb la nota de les pràctiques d'aquesta part de l'assignatura (pes 60%)
PART1 = 40% PARC1 + 60% LABO1 * FactIndivLABO1
- PARC1: Examen al final del primer bloc de l'assignatura
- LABO1: Entrega de pràctiques del primer bloc de l'assignatura
- FactIndivLABO1: El factor individual FactIndiv és un factor multiplicatiu entre 0.8 i 1.2 (i similarment, no pot fer créixer la nota final LABO1 més enllà de 10). Aquest factor s'obté a partir de l'avaluació que fa el professor sobre la participació de l'estudiant al lliurament i de l'avaluació que fan la resta de companys del grup sobre la participació de l'estudiant al lliurament. En casos realment excepcionals, FactIndiv pot ser menor que 0.8 per aquells estudiants amb molt baixa dedicació al projecte al llarg de tot el curs.
Per la segona part, la nota se calcula ponderant la nota d'un examen teòric (pes 50%) amb la nota de les pràctiques d'aquesta part de l'assignatura (pes 50%)
PART2 = 50% PARC2 + 50% LABO2
- PARC2: Examen al final del segon bloc de l'assignatura
- LABO2: Entrega de pràctiques del segon bloc de l'assignatura
La nota final de l'assignatura, NOTA-FIN, es calcula com la mitjana aritmètica de les dues parts de l'assignatura:
NOTA-FINAL = 50% PART1 + 50% PART2
Cas de no superar l'assignatura per avaluació per parcials, hi ha una avaluació per examen final, on els parcials alliberen matèria si aprovats.
Bibliografia
Bàsic
-
Machine Learning in Production: From Models to Products
- Kästner, Christian,
MIT Press,
2025.
ISBN: 9780262049726
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005330527706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Statistical disclosure control for microdata: methods and applications in R
- Templ, M,
Springer International Publishing AG,
2017.
ISBN: 9783319502724
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001685219706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementari
-
SEET@ICSE
- Lanubile, Filippo; Martínez-Fernández, Silverio; Quaranta, Luigi,
SEET@ICSE,
2023.
https://doi.org/10.1109/ICSE-SEET58685.2023.00015 -
IEEE software
- LANUBILE, Filippo; MARTÍNEZ-FERNÁNDEZ, Silverio; QUARANTA, Luigi,
IEEE software,
2024.
ISBN: 0740-7459
https://doi.org/10.1109/MS.2023.3310768 -
Reliable Machine Learning
- Chen, Cathy,
O'Reilly Media, Inc.,
2022.
ISBN: 1098106172
https://ebookcentral-proquest-com.recursos.biblioteca.upc.edu/lib/upcatalunya-ebooks/detail.action?pq-origsite=primo&docID=30130756 -
Data privacy: foundations, new developments and the big data challenge
- Torra i Reventós, V,
Springer International Publishing,
2017.
ISBN: 9783319573564
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004122599706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Advanced research in data privacy
- Navarro-Arribas, G.; Torra i Reventós, V. (eds.),
Springer International Publishing,
2015.
ISBN: 9783319098852
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004048289706711&context=L&vid=34CSUC_UPC:VU1&lang=ca