Temes Avançats d'Enginyeria de Dades II

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ETSETB;FIB;FME;ESSI;ENTEL
L'assignatura s'estructura en dues parts diferenciades: l'estudi de l'enginyeria del software dirigida per les dades i l'estudi d'aspectes relacionats amb la privadesa i seguretat de les dades.

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

  • Silverio Juan Martínez Fernández ( )

Altres

  • Esteve Pallares Segarra ( )
  • Javier Parra Arnau ( )
  • Jordi Forne Muñoz ( )
  • Santiago Del Rey Juarez ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques

  • CE1 - Utilitzar amb destresa els conceptes i mètodes matemàtics subjacents els problemes de la ciència i l'enginyeria de les dades.
  • CE2 - Ser capaç de programar solucions a problemes d'enginyeria: Dissenyar solucions algorítmiques eficients a un problema computacional donat, implementar-les en forma de programari robust, estructurat i mantenible, i comprovar la validesa de la solució.
  • CE3 - Analitzar fenòmens complexos mitjançant la probabilitat i l'estadística, i plantejar models d'aquests tipus en situacions concretes. Formular i resoldre problemes d'optimització matemàtica.
  • CE7 - Demostrar coneixement i capacitat d'aplicació de les eines necessàries per a l'emmagatzematge, el processament i l'accés a les dades.
  • CE8 - Capacitat de triar i emprar tècniques de modelització estadística i anàlisi de dades, avaluant la qualitat dels models, validant-los i interpretant-los.

Competències Transversals

Transversals

  • CT4 [Avaluable] - Treball en equip. Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles.

Bàsiques

  • CB2 - Que els estudiants sàpiguen aplicar els seus coneixements al seu treball o vocació d'una manera professional i posseeixin les competències que solen demostrar-se mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins la seva àrea d'estudi.
  • CB3 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.
  • CB5 - Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia

Competències Tècniques Generals

Genèriques

  • CG1 - Concebre sistemes computacionals que integren dades de procedències i formes molt diverses, construeixen amb ells models matemàtics, raonen sobre aquests models i actuen en conseqüència, aprenent de l'experiència.
  • CG2 - Elegir i aplicar els mètodes i tècniques més adequats a un problema definit per dades que representin un repte pel seu volum, velocitat, varietat o heterogeneïtat, inclosos mètodes informàtics, matemàtics, estadístics i de processament del senyal.
  • CG4 - Identificar oportunitats per a aplicacions innovadores orientades a dades en entorns tecnològics en contínua evolució.

Objectius

  1. 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,
  2. 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,
  3. 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,
  4. 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,
  5. 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,
  6. 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,
  7. Avaluar el compromís entre privadesa i usabilitat de les dades.
    Competències relacionades: CE1, CE3, CE8, CT4, CG1, CG4, CB2, CB3, CB5,
  8. 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

  1. 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.
  2. 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.
  3. 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 per a ML.
  4. 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.
  5. 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.
  6. 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.
  7. Privadesa a sistemes d'informació personalitzats
    Perfils d'usuari: mesura del risc de privacitat. Tecnologies de privadesa.
  8. 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

Estudi de les pràctiques de MLOps per a desplegar models de ML


Objectius: 4
Continguts:
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

Primer examen parcial: part d' Enginyeria del Software (PARC1)

Avaluació de la primera part de l'assignatura
Objectius: 1 2 3 4
Setmana: 7
Tipus: examen de teoria
Teoria
1.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5.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 nota
Objectius: 1 5 2 3 4 6 7 8
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Segon examen parcial: part de Privadesa i Seguretat de dades (PARC2)

Avaluació de la segona part de l'assignatura
Objectius: 5 6 7 8
Setmana: 14
Tipus: examen de teoria
Teoria
1.5h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5.5h

Estudi de conceptes introductoris de privadesa i seguretat de les dades


Objectius: 5 6 7 8
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Desenvolupament pràctic d'algorismes d'anonimització de dades


Objectius: 6 7
Teoria
0h
Problemes
0h
Laboratori
15h
Aprenentatge dirigit
0h
Aprenentatge autònom
22.5h

Estudi de riscos i tecnologies de privadesa per a sistemes d'informació personalitzats


Objectius: 5 7
Teoria
4h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

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
- PARC1: Examen al final del primer bloc de l'assignatura
- LABO1: Entrega de pràctica al final del primer bloc de l'assignatura

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àsica:

Complementaria:

Capacitats prèvies

Les donades per les assignatures dels quadrimestres anteriors del grau