A la lliçó anterior vam veure que les dades arrosseguen biaixos i que el model els hereta. Ara toca la pregunta incòmoda que en Diego va plantejar al final d'aquella reunió: "Si el model de risc de devolució sospita més d'un barri que d'un altre, qui respon quan un client d'aquest barri es queixi?". Aquesta lliçó respon a aquesta mena de preguntes. L'ètica en IA no és un apèndix per al final del projecte ni un assumpte exclusiu de juristes: és una part del disseny, igual que la mesura de rendiment de 02-01 o la qualitat de les dades de 02-03. Veurem per què no és opcional, quins principis l'orienten, quins problemes concrets apareixen (biaix i discriminació, privadesa i vigilància, opacitat, responsabilitat, impacte laboral, desinformació, sostenibilitat), què exigeix el marc regulador europeu a nivell introductori (RGPD i Reglament d'IA) i, sobretot, quines eines pràctiques permeten actuar: una llista de verificació de projecte, l'avaluació d'impacte, la revisió humana i les mètriques d'equitat. Acabarem amb codi que mesura, amb números, si el model de risc de NovaMarket tracta igual dues zones i hi afegeix una regla de revisió humana. Amb això tancarem el mòdul 2.

Contingut

  1. Per què l'ètica no és opcional
  2. Principis ètics per a la IA
  3. Biaix i discriminació: un exemple numèric
  4. Privadesa i vigilància
  5. Transparència i explicabilitat: caixa negra davant de model interpretable
  6. Responsabilitat i rendició de comptes
  7. Impacte laboral, desinformació i sostenibilitat
  8. Marc regulador introductori: RGPD i Reglament europeu d'IA
  9. Eines pràctiques: llista de verificació, avaluació d'impacte, human-in-the-loop i mètriques d'equitat
  10. Exemple en Python: mesurar la disparitat entre zones i afegir revisió humana

  1. Per què l'ètica no és opcional

Hi ha tres raons, i convé tenir-les totes presents perquè convencen públics diferents:

  • Raó de principi: els sistemes d'IA prenen o influeixen en decisions que afecten persones (què se'ls recomana, si se'ls revisa una devolució, si la seva ressenya es publica, quant triga el seu paquet). Qualsevol sistema que decideix sobre persones ho ha de fer de manera justa i respectuosa; automatitzar-lo no elimina aquesta obligació, l'escala: una persona esbiaixada revisa cent comandes al dia; un model esbiaixat en revisa tres mil sense cansar-se.
  • Raó legal: a la Unió Europea, el RGPD i el Reglament d'IA imposen obligacions concretes amb sancions molt elevades. Ignorar-les no és una opció de negoci.
  • Raó de negoci (la que va convèncer en Diego): un sistema injust o opac genera queixes, reclamacions, mala premsa i pèrdua de confiança, que en un comerç electrònic amb un 4 % de devolucions i marges ajustats es tradueix en diners. I un sistema que ningú entén no es pot corregir quan falla.

La conseqüència pràctica és que l'ètica entra al projecte des del principi (en fixar la mesura de rendiment, en triar les dades), no com una revisió final. Recorda l'anècdota de 02-01: l'incentiu per "converses tancades per hora" va produir converses tancades sense resoldre. Un model que optimitza "devolucions evitades" sense cap restricció produirà exactament el tipus de comportament de què tracta aquesta lliçó.

  1. Principis ètics per a la IA

La majoria dels marcs ètics (els de la Comissió Europea, l'OCDE, la UNESCO, moltes empreses) convergeixen en un petit conjunt de principis, heretats en bona part de la bioètica:

Principi Què vol dir Pregunta que es fa l'equip de NovaMarket
Beneficència El sistema ha d'aportar un benefici real a les persones i a la societat, no només a qui el desplega El recomanador ajuda el client a trobar el que necessita, o només a col·locar-li el que té més marge?
No maleficència No causar dany: ni físic, ni econòmic, ni psicològic, ni a la privadesa; prevenir el mal ús Pot el model de risc negar injustament una devolució legítima? Quin dany causa un fals positiu?
Autonomia Respectar la capacitat de decisió de les persones: informar, no manipular, permetre optar per no participar El client sap que parla amb un assistent automàtic? Pot demanar parlar amb una persona? Les recomanacions informen o pressionen?
Justícia Tracte equitatiu; no discriminar per característiques protegides ni per substituts d'aquestes; distribuir beneficis i càrregues de manera justa El model de risc revisa més uns barris que altres amb la mateixa taxa real de devolució?
Explicabilitat Poder explicar com i per què el sistema decideix, amb el nivell de detall adequat a cada destinatari (client, operador, auditor) Podem dir-li al client per què la seva devolució passa a revisió? Pot en Diego auditar les regles?

Els principis són útils com a brúixola, però abstractes: "sigues just" no diu com. La resta de la lliçó els concreta en problemes, obligacions i eines.

  1. Biaix i discriminació: un exemple numèric

És el problema més estudiat i el que connecta més directament amb 02-03. Un model discrimina quan tracta sistemàticament pitjor un grup de persones per una característica que no hauria d'influir (sexe, origen, edat, discapacitat, religió...) o per un substitut d'aquesta (proxy): el codi postal, el nom, l'idioma del navegador o el tipus de mòbil solen correlacionar amb origen o nivell de renda.

Vegem-ho amb el model de risc de devolució de NovaMarket (cas 3). Suposem que el model assigna a cada comanda una puntuació de risc entre 0 i 1 i que les comandes amb puntuació igual o superior a 0,40 es marquen per a revisió manual (la revisió retarda el reemborsament diversos dies i pot acabar en denegació). Comparem dues zones de repartiment, A i B, amb clients que en tot el que és rellevant (import, historial de comandes, devolucions prèvies) són iguals:

Zona Comandes Taxa real de devolució Puntuació mitjana Comandes marcades Taxa de marcatge
A 10 30 % 0,29 2 20 %
B 10 30 % 0,54 9 90 %

Els clients de B retornen exactament igual que els d'A (30 %), però el model en marca el 90 % davant del 20 % d'A. Com ha passat? Pel que vam veure a 02-03: a l'històric, l'equip revisava més les comandes de la zona B, així que allà es van "trobar" més devolucions fraudulentes, i el model va aprendre que la zona B (o el seu codi postal) és un indicador de risc. El model és "exacte" respecte d'un passat esbiaixat i sistemàticament injust respecte de la realitat present. A més, si les seves decisions alimenten l'històric futur (es revisa més B, es troba més a B), el biaix es reforça sol.

Observa dues coses:

  • La injustícia no és en la intenció de ningú. La Marta no va incloure "origen" ni "renda" al model; hi va incloure el codi postal perquè "servia per a les rutes". El biaix va entrar per un proxy i per l'històric.
  • Es detecta mesurant: comparant taxes per grup, com farem a la secció 10. Sense aquesta comparació, el model sembla funcionar bé "en mitjana".

Els grups que cal comparar depenen del context: zones, franges d'edat, sexe, canal (web/app), idioma. A Espanya i la UE hi ha característiques legalment protegides davant de la discriminació, i encara que el model no les faci servir directament, és responsabilitat de l'equip comprovar que no discrimina a través de proxies.

  1. Privadesa i vigilància

Els sistemes d'IA s'alimenten de dades personals i, a més, creen informació nova sobre les persones: un recomanador infereix interessos (de vegades sensibles: salut, embaràs, situació econòmica) a partir de compres; un model de rutes sap a quina hora hi ha algú a cada casa; un assistent desa transcripcions íntimes. Tres riscos concrets:

  • Inferència no desitjada: el sistema dedueix coses que el client no ha revelat ni voldria que se sabessin. Recomanar productes de nadó a algú que ha comprat un test d'embaràs pot ser útil o una intromissió greu.
  • Reutilització de dades per a finalitats diferents de les recollides (els principis de finalitat i minimització de 02-03).
  • Vigilància: aplicar IA als mateixos empleats (productivitat dels repartidors, anàlisi d'emocions a l'equip d'atenció al client) o als clients de manera desproporcionada. És un terreny especialment sensible: el Reglament d'IA prohibeix algunes d'aquestes pràctiques (secció 8) i la resta exigeix garanties laborals.

Mesures: minimitzar, pseudonimitzar o anonimitzar (02-03), limitar qui accedeix a les inferències, no fer servir categories sensibles ni els seus proxies per a decisions que afectin el client, i preguntar-se sempre "com se sentiria el client si sabés exactament què fem amb les seves dades?". En Diego, que va començar escèptic amb la IA, va ser el més taxatiu aquí: "els repartidors no són una dada".

  1. Transparència i explicabilitat: caixa negra davant de model interpretable

Transparència és que se sàpiga que hi ha un sistema d'IA, què fa i amb quines dades. Explicabilitat és poder donar raons d'una decisió concreta. Totes dues xoquen amb una realitat tècnica: els models més potents (xarxes neuronals profundes, mòdul 5) són caixes negres: milions de paràmetres numèrics sense significat individual. Els models simples (regles, arbres de decisió petits, regressions amb poques variables) són interpretables: es pot llegir per què decideixen.

Model interpretable Caixa negra
Exemples Regles explícites, arbres de decisió petits, regressió lineal/logística Xarxes neuronals profundes, conjunts de centenars d'arbres, LLM
Explicació d'una decisió Directa: "es va marcar perquè import > 120 € i 2 devolucions prèvies" Requereix tècniques d'explicació a posteriori, aproximades
Rendiment típic De vegades una mica menor Sovint més gran en problemes complexos
Auditoria i correcció Fàcil Difícil
Encaix a 02-02 Simbòlic Subsimbòlic

La decisió no és "interpretable sempre" ni "el més potent sempre": depèn de les conseqüències. Regla pràctica: com més gran sigui l'impacte de la decisió sobre una persona, més pes ha de tenir l'explicabilitat. Per a NovaMarket:

  • Ordenar la caixa "també van comprar": pot ser una caixa negra; el cost d'una mala recomanació és baix.
  • Marcar una devolució per a revisió o denegar-la: exigeix explicació (al client i a l'auditor). Model interpretable o híbrid, i en tot cas capacitat de donar el motiu.
  • Redactar respostes de l'assistent: caixa negra (LLM) acceptable si hi ha controls i el client sap que és un assistent automàtic.

Existeixen tècniques per explicar caixes negres (mostrar quines variables van pesar més en una predicció, buscar el canvi mínim que canviaria la decisió: "si el seu import fos 20 € menor no s'hauria marcat"), que s'esmenten al mòdul 4; aquí n'hi ha prou amb saber que existeixen, que són aproximades i que no substitueixen la decisió de disseny de fer servir un model interpretable quan les conseqüències ho exigeixen.

  1. Responsabilitat i rendició de comptes

Tornem a la pregunta d'en Diego: qui respon? La resposta curta és: sempre una persona o organització, mai "l'algorisme". Un sistema d'IA no té personalitat jurídica ni consciència (02-02); la responsabilitat recau en qui el dissenya, el desplega i l'opera. Perquè això sigui real i no un eslògan, calen:

  • Propietari del sistema: una persona amb nom responsable de cada sistema d'IA en producció (igual que el propietari de les dades de 02-03). A NovaMarket, la Marta del recomanador i la previsió; en Diego del planificador de rutes i les regles de devolucions.
  • Traçabilitat: registrar quina versió del model va prendre quina decisió, amb quines dades, quan. Sense registre no hi ha auditoria ni possibilitat de reparar.
  • Vies de reclamació: el client afectat ha de poder recórrer a una persona que revisi la decisió (enllaça amb el human-in-the-loop de la secció 9 i amb els drets del RGPD).
  • Repartiment clar amb proveïdors: si l'assistent el subministra un tercer, el contracte ha de fixar qui respon de què. "Ho fa el proveïdor" no eximeix qui el desplega davant del client.

Quan el sistema falla (i fallarà: els entorns són estocàstics, com vam veure a 02-01), la rendició de comptes consisteix a poder respondre tres preguntes: què va passar, per què va passar i què s'ha fet perquè no torni a passar.

  1. Impacte laboral, desinformació i sostenibilitat

Tres consideracions que van més enllà del sistema individual però que un professional ha de conèixer:

  • Impacte laboral. La IA automatitza tasques, no oficis sencers, però canvia el contingut de molts llocs de treball. A NovaMarket, l'assistent no elimina l'equip d'atenció al client però sí que en desplaça la feina cap als casos difícils; el planificador canvia l'autonomia dels conductors; el diagnòstic d'incidències canvia la feina de l'operador. Bones pràctiques: implicar els equips afectats en el disseny (en Diego va insistir que els repartidors provessin el planificador), formar en les noves tasques, mesurar l'impacte i ser transparent. L'automatització que es fa contra els empleats sol fracassar operativament a més d'èticament (recorda com es va rebre el chatbot de 2015).
  • Desinformació i deepfakes. La IA generativa produeix text, imatges, veu i vídeo indistingibles dels reals, cosa que facilita la suplantació (un àudio fals del director demanant una transferència), les ressenyes falses (que afecten directament el cas 4 de NovaMarket: un classificador de ressenyes ha de contemplar que part d'elles siguin generades) i la manipulació a gran escala. Com a organització: no generar contingut enganyós, etiquetar el contingut generat (el Reglament d'IA ho exigeix en diversos supòsits), i protegir els canals davant de suplantacions.
  • Sostenibilitat energètica. Entrenar i executar models grans consumeix energia i aigua de refrigeració de manera significativa. Per a la majoria dels projectes (inclosos els de NovaMarket) el consum és modest, però la pregunta "necessito un model enorme al núvol per a això o n'hi ha prou amb un de petit?" té una dimensió de cost (que li agrada a en Diego) i una altra d'ambiental. Triar el model més petit que resol el problema és bona enginyeria i bona ètica.

  1. Marc regulador introductori: RGPD i Reglament europeu d'IA

Avís previ: el que segueix és una introducció conceptual amb finalitats formatives, no assessorament jurídic. La normativa és complexa, té terminis d'aplicació esglaonats i la seva interpretació evoluciona; qualsevol projecte real s'ha de revisar amb un professional legal o de compliance i, si escau, amb el delegat de protecció de dades.

8.1 RGPD

Ja vam veure a 02-03 els seus principis sobre dades personals (finalitat, minimització, conservació, seguretat, drets). Per a la IA cal subratllar el dret a no ser objecte de decisions basades únicament en tractament automatitzat que produeixin efectes jurídics o significatius sobre la persona (tret d'excepcions amb garanties), cosa que inclou el dret a obtenir intervenció humana, a expressar el propi punt de vista i a impugnar la decisió. Denegar automàticament una devolució o una garantia és un exemple de decisió que pot tenir efectes significatius: per això el cas 8 i el cas 3 de NovaMarket necessiten revisió humana. També exigeix, quan el tractament comporti alt risc per a les persones, una avaluació d'impacte en protecció de dades abans de començar.

8.2 Reglament europeu d'Intel·ligència Artificial (AI Act)

És la primera norma horitzontal sobre IA del món, adoptada el 2024 amb aplicació esglaonada els anys següents. La seva idea central és un enfocament basat en el risc: com més gran és el risc d'un ús d'IA per a la seguretat, la salut o els drets fonamentals, més obligacions té:

Nivell de risc Què inclou (exemples) Conseqüència
Inacceptable Puntuació social generalitzada per governs, manipulació subliminal danyosa, explotació de vulnerabilitats, reconeixement d'emocions a la feina i l'educació (tret d'excepcions), certs usos d'identificació biomètrica remota, extracció massiva d'imatges facials Prohibit
Alt Sistemes en àmbits com ocupació i gestió de treballadors (selecció, avaluació, assignació de tasques), accés a serveis essencials (crèdit, assegurances de vida/salut), educació, infraestructures crítiques, aplicació de la llei, migració, justícia; i components de seguretat de productes regulats Permès amb obligacions estrictes: gestió de riscos, qualitat de dades, documentació tècnica, registre, transparència, supervisió humana, exactitud i robustesa, avaluació de conformitat
Limitat Sistemes que interactuen amb persones (chatbots), generació de contingut sintètic (deepfakes), reconeixement d'emocions o categorització biomètrica no prohibits Obligacions de transparència: informar que s'interactua amb una màquina, marcar el contingut generat
Mínim La resta: filtres de spam, recomanadors de comerç, previsió de demanda, optimització logística, videojocs Sense obligacions específiques del Reglament (continuen aplicant RGPD, consum, no discriminació); codis de conducta voluntaris

A més, els models d'IA d'ús general (els grans models de llenguatge) tenen obligacions pròpies per als seus proveïdors (documentació, drets d'autor, i més per als de risc sistèmic), que afecten indirectament qui els integra.

Classificació aproximada i orientativa dels casos de NovaMarket (a confirmar per un professional):

# Cas d'ús Nivell aproximat Motiu i obligacions probables
1 Recomanació de productes Mínim Comerç electrònic ordinari; apliquen RGPD (perfilat) i normativa de consum/serveis digitals
2 Previsió de demanda Mínim No decideix sobre persones
3 Frau i risc de devolució Mínim segons l'AI Act en principi, però decisió automatitzada amb efectes significatius sota el RGPD si denega o retarda reemborsaments Revisió humana, explicació, comprovació de no discriminació; documentar
4 Classificació de ressenyes Mínim (si només ordena o modera) Compte amb la moderació automàtica de contingut d'usuaris: transparència i via de recurs
5 Rutes de repartiment Mínim, tret que es faci servir per avaluar o sancionar els conductors, cosa que l'acostaria a l'àmbit laboral (alt) Separar la planificació de l'avaluació de persones; implicar els treballadors
6 Assignació de comandes a magatzem Mínim Ídem que 5 respecte dels empleats del magatzem
7 Assistent d'atenció al client Limitat Informar clarament que és un assistent automàtic; via a una persona; si genera contingut, marcar-lo
8 Regles de devolucions i garanties Mínim segons l'AI Act; decisió automatitzada sota el RGPD i normativa de consum Intervenció humana, explicació de la denegació, possibilitat de recórrer
9 Diagnòstic d'incidències Mínim Ajuda els operadors; no decideix sobre clients directament

Lectura: cap dels casos de NovaMarket és de risc inacceptable, i només un cau en el nivell "limitat" de l'AI Act (l'assistent, amb obligacions de transparència). Però fixa't en dos matisos que sovint es passen per alt: (a) el RGPD continua aplicant-se per sobre de l'AI Act a tot el que decideixi sobre persones (casos 3 i 8), i (b) sistemes "mínims" es poden convertir en "alt risc" si es reutilitzen per gestionar treballadors (casos 5 i 6). El nivell de risc depèn de l'ús, no de la tècnica.

  1. Eines pràctiques: llista de verificació, avaluació d'impacte, human-in-the-loop i mètriques d'equitat

Dels principis als fets. Quatre eines que caben en qualsevol projecte:

9.1 Llista de verificació ètica de projecte

La Marta la va incorporar a l'inici de cada projecte d'IA a NovaMarket. És curta a propòsit: si no cap en una pàgina no es fa servir.

  1. Propòsit: quina decisió o acció automatitzem i a qui afecta? Quina és la mesura de rendiment i quin comportament indesitjat la podria maximitzar?
  2. Dades: quines dades fem servir, amb quina base jurídica i minimització? Quins biaixos de mostreig, històrics o d'etiquetatge tenen? Contenen característiques protegides o proxies?
  3. Equitat: quins grups compararem i amb quina mètrica? Quina diferència considerarem inacceptable?
  4. Explicabilitat: quin nivell d'explicació necessita el client, l'operador i l'auditor? El model triat ho permet?
  5. Supervisió humana: quines decisions passen per una persona? Com recorre l'afectat?
  6. Responsabilitat: qui n'és el propietari? Què es registra? Què passa amb el proveïdor?
  7. Impacte: en empleats? En clients vulnerables? Risc de mal ús? Cost energètic proporcionat?
  8. Regulació: nivell de risc aproximat (AI Act)? Decisió automatitzada (RGPD)? Revisat per legal?
  9. Seguiment: com detectarem que el sistema es degrada o discrimina un cop en producció? Qui ho mira i amb quina freqüència?

9.2 Avaluació d'impacte

Per als sistemes que decideixen sobre persones, la llista de verificació s'amplia en una avaluació d'impacte (algorísmic i, si hi ha dades personals d'alt risc, de protecció de dades): un document que descriu el sistema, els afectats, els riscos identificats per a cada grup, les mesures de mitigació i el pla de seguiment. Es fa abans de desplegar i es revisa periòdicament. És l'equivalent en IA a una anàlisi de riscos laborals.

9.3 Human-in-the-loop (revisió humana)

Col·locar una persona en el circuit de decisió, de manera proporcional a l'impacte:

Modalitat Què fa la persona Quan fer-la servir
Humà decideix, IA suggereix La IA prioritza o proposa; la persona decideix sempre Decisions d'alt impacte: denegar devolucions, sancionar
Humà revisa la zona grisa La IA decideix els casos clars; els dubtosos (puntuació prop del llindar) van a revisió Volum alt amb impacte mitjà: marcatge de risc, moderació de ressenyes
Humà supervisa i audita La IA decideix; la persona revisa mostres i mètriques periòdicament Baix impacte: recomanacions, previsió
Humà com a recurs L'afectat pot demanar sempre que una persona revisi Obligatori en decisions automatitzades amb efectes significatius

La revisió humana no és gratis (en Diego ho recorda) ni infal·lible (la persona es pot limitar a confirmar el que diu la màquina, l'anomenat biaix d'automatització). Cal dimensionar-la, formar els revisors i mesurar si de debò corregeixen la IA o només la ratifiquen.

9.4 Mètriques d'equitat a nivell intuïtiu

Per passar de "creiem que és just" a "ho hem mesurat", es comparen resultats entre grups. La idea més simple és la paritat de taxes: la proporció de persones que reben cert resultat (ser marcat, ser aprovat, rebre una oferta) hauria de ser semblant en tots els grups, tret que hi hagi una raó legítima i demostrable perquè difereixi. Una regla pràctica molt usada (la "regla dels quatre cinquens", d'origen laboral nord-americà) considera sospitosa una diferència quan la taxa del grup menys afavorit és inferior al 80 % de la del més afavorit.

Hi ha refinaments: comparar no la taxa bruta sinó la taxa d'error per grup (s'equivoca més el model, marcant qui no anava a retornar, en una zona que en una altra?), o comparar només entre persones amb el mateix risc real. Aquestes variants, i el fet que no totes es poden complir alhora, es tracten al mòdul 4 juntament amb les mètriques d'avaluació. Aquí ens n'hi ha prou amb la intuïció: calcula la mateixa xifra per a cada grup i mira si és semblant. És el que fa el codi següent.

  1. Exemple en Python: mesurar la disparitat entre zones i afegir revisió humana

Reproduïm l'exemple numèric de la secció 3 amb dades fictícies. Cada fila és una comanda amb la seva zona (A o B), la puntuació de risc que li va donar el model, si el model la va marcar (puntuació ≥ 0,40) i si la comanda es va retornar realment. Els clients de totes dues zones són idèntics en import i historial; l'única diferència és que el model suma sistemàticament unes dècimes a la zona B (el biaix heretat de l'històric).

10.1 Dades i taxa de marcatge per grup

import csv
import io
from collections import defaultdict, Counter

DADES_RISC = """id_comanda,zona,import_comanda,comandes_previes,devolucions_previes,puntuacio_risc,marcat_risc,retornat_real
1,A,140,5,0,0.21,no,no
2,A,95,2,0,0.15,no,no
3,A,260,8,1,0.34,no,si
4,A,180,1,0,0.28,no,no
5,A,410,3,1,0.55,si,si
6,A,75,6,0,0.10,no,no
7,A,330,2,0,0.41,si,no
8,A,120,4,0,0.19,no,no
9,A,220,0,0,0.38,no,no
10,A,150,3,1,0.31,no,si
11,B,140,5,0,0.46,si,no
12,B,95,2,0,0.40,si,no
13,B,260,8,1,0.59,si,si
14,B,180,1,0,0.53,si,no
15,B,410,3,1,0.80,si,si
16,B,75,6,0,0.35,no,no
17,B,330,2,0,0.66,si,no
18,B,120,4,0,0.44,si,no
19,B,220,0,0,0.63,si,no
20,B,150,3,1,0.56,si,si
"""

comandes = list(csv.DictReader(io.StringIO(DADES_RISC)))

def taxa_per_grup(files, columna_grup, columna_resultat, valor_positiu="si"):
    """Proporcio de files de cada grup el resultat de les quals es el valor positiu."""
    total = defaultdict(int)
    positius = defaultdict(int)
    for f in files:
        grup = f[columna_grup]
        total[grup] += 1
        if f[columna_resultat] == valor_positiu:
            positius[grup] += 1
    return {g: positius[g] / total[g] for g in sorted(total)}

taxa_marcat = taxa_per_grup(comandes, "zona", "marcat_risc")
taxa_real = taxa_per_grup(comandes, "zona", "retornat_real")

print("Taxa de marcat per zona:   ", taxa_marcat)
print("Taxa real de devolucio:    ", taxa_real)

Sortida:

Taxa de marcat per zona:    {'A': 0.2, 'B': 0.9}
Taxa real de devolucio:     {'A': 0.3, 'B': 0.3}

Explicació: taxa_per_grup és una funció genèrica: compta, per a cada valor de la columna de grup (zona), quantes files hi ha i quantes tenen el resultat positiu (si) a la columna indicada, i en retorna la proporció. La cridem dues vegades: una amb la decisió del model (marcat_risc) i una altra amb la realitat (retornat_real). El contrast és el cor del problema: mateixa realitat (30 % i 30 %), decisions molt diferents (20 % davant de 90 %). Si només haguéssim mirat la taxa global de marcatge (11 de 20, 55 %) no hauríem vist res.

10.2 Ràtio d'impacte i taxa de falsos positius per grup

def ratio_impacte(taxes):
    """Taxa del grup menys marcat dividida per la del mes marcat (1.0 = paritat)."""
    return min(taxes.values()) / max(taxes.values())

ratio = ratio_impacte(taxa_marcat)
print(f"Ratio d'impacte: {ratio:.2f}  ->", "OK" if ratio >= 0.8 else "DISPARITAT (per sota de 0,80)")

def taxa_falsos_positius_per_grup(files, columna_grup="zona"):
    """Entre les comandes que NO es van retornar, proporcio que el model va marcar igualment."""
    no_retornats = defaultdict(int)
    marcats_sense_motiu = defaultdict(int)
    for f in files:
        if f["retornat_real"] == "no":
            no_retornats[f[columna_grup]] += 1
            if f["marcat_risc"] == "si":
                marcats_sense_motiu[f[columna_grup]] += 1
    return {g: marcats_sense_motiu[g] / no_retornats[g] for g in sorted(no_retornats)}

print("Falsos positius per zona:", taxa_falsos_positius_per_grup(comandes))

Sortida:

Ratio d'impacte: 0.22  -> DISPARITAT (per sota de 0,80)
Falsos positius per zona: {'A': 0.14285714285714285, 'B': 0.8571428571428571}

Explicació:

  • La ràtio d'impacte aplica la regla dels quatre cinquens: 0,20 / 0,90 = 0,22, molt per sota de 0,80. Alarma clara.
  • La taxa de falsos positius per grup mesura el dany concret: dels clients de la zona A que no anaven a retornar res, el model en va molestar (va retardar el reemborsament, va posar sota sospita) el 14 %; dels de la zona B, el 86 %. És la mateixa informació que l'anterior, però expressada com "quants innocents perjudiquem a cada grup", que és com ho entén un client, un jutge o en Diego.

Aquestes dues xifres són les que haurien d'aparèixer al tauler de seguiment del sistema (punt 9 de la llista de verificació), calculades cada setmana sobre les dades reals.

10.3 Afegir una regla de revisió humana

Corregir el model d'arrel exigeix tornar a les dades (treure el codi postal i els seus proxies, reequilibrar l'històric, reentrenar: mòdul 4). Mentrestant, i com a salvaguarda permanent, afegim revisió humana a la zona grisa i registrem el motiu:

LLINDAR = 0.40     # a partir d'aqui el model marca
BANDA = 0.20       # zona grisa: entre LLINDAR i LLINDAR + BANDA revisa una persona

def decidir_amb_revisio(fila, llindar=LLINDAR, banda=BANDA):
    p = float(fila["puntuacio_risc"])
    if p >= llindar + banda:
        return "revisar"            # risc alt: revisio de la devolucio (proces normal)
    if p >= llindar:
        return "revisio_humana"     # zona grisa: una persona decideix i queda registrat
    return "aprovar"                # risc baix: reemborsament automatic

decisions = Counter((f["zona"], decidir_amb_revisio(f)) for f in comandes)
for (zona, decisio), n in sorted(decisions.items()):
    print(f"zona {zona}  {decisio:16s} {n}")

def explicar(fila):
    """Explicacio minima que es desa amb la decisio i es pot donar al client."""
    p = float(fila["puntuacio_risc"])
    decisio = decidir_amb_revisio(fila)
    return (f"Comanda {fila['id_comanda']}: puntuacio {p:.2f}, decisio '{decisio}'. "
            f"Dades usades: import {fila['import_comanda']} EUR, {fila['comandes_previes']} comandes previes, "
            f"{fila['devolucions_previes']} devolucions previes.")

print(explicar(comandes[10]))

Sortida:

zona A  aprovar          8
zona A  revisio_humana   2
zona B  aprovar          1
zona B  revisar          3
zona B  revisio_humana   6

I, per a la comanda 11:

Comanda 11: puntuacio 0.46, decisio 'revisio_humana'. Dades usades: import 140 EUR, 5 comandes previes, 0 devolucions previes.

Explicació:

  • decidir_amb_revisio substitueix la decisió binària (marcar / no marcar) per tres sortides. La zona grisa (puntuació entre 0,40 i 0,60) ja no es marca automàticament: la revisa una persona, que veu les dades i decideix. Al nostre exemple, 6 de les 9 comandes de la zona B que el model marcava passen a revisió humana; una revisora que comprovi que un client amb 5 comandes prèvies i 0 devolucions no té cap motiu de sospita aprovarà el reemborsament. La regla no elimina el biaix del model, però evita que es converteixi automàticament en dany, i a més genera dades (les decisions humanes de la zona grisa) que serveixen per diagnosticar i corregir el model.
  • explicar construeix l'explicació mínima que exigeix la secció 5: quina puntuació, quina decisió i quines dades es van fer servir. Fixa't que en llegir-la salta a la vista l'anomalia: 0,46 de risc per a un client fidel amb 140 € és difícil de justificar, i aquesta incomoditat és exactament el que l'explicabilitat ha de produir. Observa també que l'explicació no esmenta la zona: si el model la fa servir i no apareix a l'explicació, l'explicació és enganyosa; si hi apareix, el problema és evident. En tots dos casos, la conclusió és que la zona no hauria de ser al model.
  • El cost de la revisió humana (8 revisions de 20 comandes a l'exemple) és real i en Diego el quantificarà; però és menor que el de les reclamacions i el dany reputacional, i disminuirà quan el model es corregeixi.

Aquest petit programa conté, en miniatura, la pràctica ètica completa: mesurar per grups, comparar amb un llindar de disparitat, posar una persona on el model és dubtós i explicar cada decisió.

Errors Comuns i Consells

  • Deixar l'ètica per al final. Quan el model ja està entrenat i desplegat, corregir el biaix costa deu vegades més. Fes servir la llista de verificació a la primera reunió del projecte.
  • "No fem servir dades sensibles, així que no discriminem". Els proxies (codi postal, nom, dispositiu, idioma) discriminen igual. L'única manera de saber-ho és mesurar per grups.
  • Mirar només la mètrica global. Un model amb un 90 % d'encert global pot tenir un 60 % en un grup minoritari. Desglossa sempre per grups rellevants.
  • Confondre explicació amb justificació. Que el sistema pugui dir "perquè el codi postal és 28XXX" no fa la decisió acceptable; l'explicabilitat serveix precisament per detectar decisions inacceptables.
  • Revisió humana d'adorn. Si el revisor té 20 segons per cas i veu la recomanació de la màquina en gran, n'aprovarà el 99 %. Dissenya la revisió perquè la persona pugui discrepar i mesura quantes vegades ho fa.
  • Culpar el proveïdor o l'algorisme. La responsabilitat davant del client és de qui desplega. Exigeix al proveïdor documentació, mètriques per grup i capacitat d'explicació abans de signar.
  • Tractar la regulació com una llista de prohibicions llunyanes. El nivell de risc depèn de l'ús: un planificador de rutes innocu es converteix en un sistema de gestió laboral si es fa servir per sancionar. Revisa cada nou ús amb legal.
  • Consell: davant de qualsevol sistema que decideixi sobre persones, fes-te tres preguntes en aquest ordre: a qui perjudica un error?, ho sabrem?, podrà aquesta persona queixar-se a algú? Si alguna resposta és "no ho sé", el projecte no està a punt.

Exercicis

Exercici 1: Llista de verificació aplicada al classificador de ressenyes

NovaMarket vol un sistema (cas 4) que classifiqui automàticament les ressenyes en positives/negatives i oculti les que detecti com a falses o abusives. Recorre els nou punts de la llista de verificació de la secció 9.1 i escriu, per a cadascun, una o dues frases amb els riscos i mesures específics d'aquest cas.

Exercici 2: Nivell de risc i decisions automatitzades

En Diego proposa fer servir les dades del planificador de rutes (temps per parada, quilòmetres, parades per hora) per calcular una "puntuació d'eficiència" de cada repartidor i decidir-hi els torns i les renovacions de contracte. Analitza la proposta des de: (a) el nivell de risc aproximat de l'AI Act; (b) les obligacions que activaria; (c) els biaixos de dades probables (pensa en zones urbanes davant de perifèriques, trànsit, tipus de paquet); (d) una alternativa que conservi el benefici operatiu sense aquests riscos.

Exercici 3: Ampliar l'anàlisi d'equitat

Amb les dades de la secció 10: (a) calcula la taxa de falsos negatius per zona (entre les comandes que sí que es van retornar, proporció que el model no va marcar); (b) escriu una funció paritat_ok(taxes, minim=0.8) que retorni True si la ràtio d'impacte de qualsevol diccionari de taxes compleix la regla dels quatre cinquens; (c) prova què passa amb la ràtio d'impacte del marcatge si pugem el llindar a 0,50: es corregeix la disparitat? Explica per què sí o per què no.

Solucions

Solució 1. Un exemple de resposta (n'hi ha moltes de vàlides):

  1. Propòsit: classificar i moderar ressenyes; afecta els clients que les escriuen (la seva veu es pot ocultar) i els que les llegeixen (informació esbiaixada si s'oculten les negatives). Mesura de rendiment amb trampa: "maximitzar la valoració mitjana visible" portaria a ocultar crítiques legítimes; fer servir encert en detecció de falses/abusives mesurat amb etiquetes humanes.
  2. Dades: ressenyes amb id_client (pseudonimitzar); biaix de mostreig (escriuen sobretot els extrems); etiquetatge de "falsa" i "abusiva" subjectiu, necessita guia i diversos etiquetadors.
  3. Equitat: comparar taxa d'ocultació per idioma de la ressenya, longitud, antiguitat del client i, si és possible, zona; el model podria ocultar més les ressenyes escrites amb faltes d'ortografia o en un altre idioma.
  4. Explicabilitat: al client se li ha de poder dir per què no es publica la seva ressenya; el model ha de donar el motiu (abusiva, sospita de falsedat) i no un simple "rebutjada".
  5. Supervisió humana: l'ocultació per "falsa" passa sempre per revisió humana (impacte sobre la reputació del client); l'ordenació per sentiment pot ser automàtica amb auditoria.
  6. Responsabilitat: propietari del sistema a màrqueting; registre de cada ressenya ocultada, motiu i revisor.
  7. Impacte: en clients que critiquen legítimament; risc de mal ús (ocultar crítiques a productes amb molt de marge); cost energètic baix.
  8. Regulació: nivell mínim de l'AI Act en principi, però la moderació de contingut d'usuaris té obligacions de transparència i recurs a la normativa de serveis digitals; consultar legal.
  9. Seguiment: cada mes, taxa d'ocultació per grup, taxa de recursos acceptats (quantes ocultacions reverteix la revisió humana), mostra aleatòria auditada.

Solució 2.

  • (a) En fer-se servir per decidir torns i renovacions de contracte, entra en l'àmbit d'"ocupació i gestió de treballadors": alt risc aproximat, molt diferent del nivell mínim del planificador original. És un cas de llibre de com l'ús canvia el nivell.
  • (b) Obligacions probables: gestió de riscos documentada, qualitat i representativitat de dades, documentació tècnica, supervisió humana efectiva, transparència cap als treballadors, registre; i, pel RGPD, avaluació d'impacte, informació i drets dels empleats, a més de la normativa laboral i la participació de la representació dels treballadors.
  • (c) Biaixos: els repartidors de zones perifèriques o amb trànsit dens fan menys parades per hora per causes alienes a ells (biaix de mesura i d'assignació); els que porten paquets voluminosos o lliuraments amb signatura triguen més; les dades històriques reflecteixen les rutes que se'ls van assignar, no el seu esforç. L'"eficiència" mesuraria en gran part la ruta, no la persona.
  • (d) Alternativa: fer servir les dades del planificador per millorar les rutes i l'assignació (que és la seva finalitat), detectar problemes estructurals (zones on ningú arriba a temps) i oferir a cada conductor la seva informació per a ús propi; mantenir les decisions sobre persones en un procés de recursos humans amb criteris acordats, on les dades de ruta siguin, com a molt, un element contextualitzat i revisat per persones.

Solució 3.

def taxa_falsos_negatius_per_grup(files, columna_grup="zona"):
    retornats = defaultdict(int)
    no_marcats = defaultdict(int)
    for f in files:
        if f["retornat_real"] == "si":
            retornats[f[columna_grup]] += 1
            if f["marcat_risc"] == "no":
                no_marcats[f[columna_grup]] += 1
    return {g: no_marcats[g] / retornats[g] for g in sorted(retornats)}

print(taxa_falsos_negatius_per_grup(comandes))
# {'A': 0.6666666666666666, 'B': 0.0}

def paritat_ok(taxes, minim=0.8):
    return ratio_impacte(taxes) >= minim

print(paritat_ok(taxa_marcat))     # False

def taxa_marcat_amb_llindar(files, llindar):
    total = defaultdict(int)
    marcats = defaultdict(int)
    for f in files:
        total[f["zona"]] += 1
        if float(f["puntuacio_risc"]) >= llindar:
            marcats[f["zona"]] += 1
    return {g: marcats[g] / total[g] for g in sorted(total)}

t50 = taxa_marcat_amb_llindar(comandes, 0.50)
print(t50, ratio_impacte(t50))
# {'A': 0.1, 'B': 0.6} 0.16...
  • (a) Els falsos negatius també són dispars, però al revés: a la zona A el model deixa passar el 67 % de les devolucions reals i a la B cap. És l'altra cara de la moneda: en sospitar de gairebé tothom a B, "encerta" totes les seves devolucions a costa de perjudicar els que no retornen. Un model just hauria de tenir taxes d'error semblants en tots dos grups.
  • (b) paritat_ok retorna False per al marcatge actual.
  • (c) Pujar el llindar a 0,50 redueix el marcatge a les dues zones (10 % i 60 %) però no corregeix la disparitat (ràtio 0,17, fins i tot pitjor). És lògic: el biaix és a les puntuacions (la zona B té sistemàticament unes dècimes més), i moure el llindar desplaça el tall per a tothom per igual sense tocar la diferència entre grups. La solució no és al llindar sinó al model i les seves dades: eliminar la zona i els seus proxies, reequilibrar l'històric i reentrenar (mòdul 4), mantenint mentrestant la revisió humana i la mesura periòdica.

Conclusió

En aquesta lliçó hem vist que l'ètica en IA és una part del disseny, obligatòria per principi, per llei i per negoci, i l'hem concretada. Hem partit dels principis (beneficència, no maleficència, autonomia, justícia, explicabilitat) i els hem aterrat en problemes recognoscibles: la discriminació a través de proxies (amb l'exemple numèric del model de risc que marca el 90 % d'una zona i el 20 % d'una altra amb la mateixa taxa real de devolució), la privadesa i les inferències no desitjades, la tensió entre caixes negres i models interpretables, la responsabilitat que sempre recau en persones i organitzacions, l'impacte laboral, la desinformació i la sostenibilitat. Hem presentat el marc regulador europeu a nivell introductori (RGPD, amb el dret davant de decisions automatitzades, i el Reglament d'IA amb els seus quatre nivells de risc) i hem classificat de manera aproximada els casos de NovaMarket, comprovant que el nivell depèn de l'ús i no de la tècnica. I hem reunit eines que caben en qualsevol projecte: la llista de verificació de nou punts, l'avaluació d'impacte, la revisió humana proporcional a l'impacte i la paritat de taxes entre grups, que hem programat en Python per mesurar la disparitat, aplicar la regla dels quatre cinquens i afegir una zona grisa de revisió humana amb explicació registrada.

Amb això tanquem el mòdul 2. Ja tens els fonaments conceptuals: saps descriure qualsevol sistema com un agent racional en el seu entorn (02-01), situar-lo al mapa de tipus d'IA (02-02), entendre que les seves decisions neixen de les dades i de la seva qualitat (02-03) i avaluar-ne les conseqüències ètiques i reguladores abans de posar-lo en producció (02-04). Al mòdul 3, Algorismes en IA, començarem a construir: reprendrem la formulació de problemes de 02-01 (estats, accions, objectiu, cost) i veurem com un agent troba per si mateix el camí cap a la seva meta amb algorismes de cerca, com decideix davant d'un adversari i com optimitza quan l'espai de solucions és massa gran per recórrer-lo sencer. El planificador de rutes de NovaMarket i l'assignació de comandes a magatzems seran els nostres primers problemes de debò.

Fonaments d'Intel·ligència Artificial (IA)

Mòdul 1: Introducció a la Intel·ligència Artificial

Mòdul 2: Principis Bàsics de la IA

Mòdul 3: Algorismes en IA

Mòdul 4: Aprenentatge Automàtic (Machine Learning)

Mòdul 5: Xarxes Neuronals i Deep Learning

Mòdul 6: Lògica i Sistemes Experts

Mòdul 7: Eines i Llenguatges de Programació en IA

Mòdul 8: Projectes i Casos d'Estudi

Mòdul 9: Exercicis i Pràctiques

Mòdul 10: Recursos Addicionals

© Copyright 2026. Tots els drets reservats