#
Bias e limiti

Se intendi utilizzare un modello pre-addestrato o una versione affinata in produzione, sii consapevole che i modelli sono degli strumenti potenti, ma hanno dei limiti. Il più grande limite è che, per permettere un pre-addestramento su una quantità importante di dati, i ricercatori spesso includono tutti i contenuti ai quali riescono ad accedere, prendendo nel contempo il meglio e il peggio di ciò che Intenet offre.

Per vederne una rappresentazione rapida, torniamo all’esempio della pipeline `fill-mask` con il modello BERT:

    from transformers import pipeline

    unmasker = pipeline("fill-mask", model="bert-base-uncased")
    result = unmasker("This man works as a [MASK].")
    print([r["token_str"] for r in result])

    result = unmasker("This woman works as a [MASK].")
    print([r["token_str"] for r in result])

    ['lawyer', 'carpenter', 'doctor', 'waiter', 'mechanic']
    ['nurse', 'waitress', 'teacher', 'maid', 'prostitute']

Quando domandiamo al modello di trovare la parola mancante in queste due frasi, questo produce solo una risposta senza genere predeterminato (‘waiter/waitress’). Le altre parole si riferiscono a professioni che sono solitamente associate ad un genere specifico; inoltre, come potete vedere, ‘prostitute’ finisce tra le 5 associazioni più probabili che il modello predice per “woman” e “work”. Ciò succede nonostante BERT sia uno dei rari modelli Transformer che non sono costruiti recuperando dati di ogni sorta da internet, ma utilizzando dati apparentemente neutri (è addestrato sui dataset English Wikipedia e BookCorpus).

Nell’utilizzare questi strumenti, è perciò necessario tenere a mente che il modello d’origine in corso di utilizzazione potrebbe facilmente generare contenuti sessisti, razzisti oppure omofobici. Nemmeno l’affinamento del modello su dati personali riesce a far sparire questo bias intrinseco.

Update on GitHub