偏差和局限性
如果您打算在生产环境中使用预训练模型或微调版本,请注意,尽管这些模型是强大的工具,但它们也存在局限性。其中最大的局限性是,为了能够在大量数据上进行预训练,研究人员通常会抓取所有能找到的内容,包括互联网上最好和最坏的内容。
为了简单说明,让我们回到使用 BERT 模型的 fill-mask
管道的示例
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']
当被要求填写这两个句子中的缺失词语时,模型只给出一个性别中立的答案 (waiter/waitress)。其他答案是通常与特定性别相关的职业——是的,“妓女”出现在模型与“女人”和“工作”相关联的前 5 个可能性中。即使 BERT 是少数几个不是通过抓取来自互联网的各种数据构建的 Transformer 模型之一,而是使用看似中立的数据进行训练 (它是在 英文维基百科 和 BookCorpus 数据集上训练的)。
因此,在使用这些工具时,您需要牢记,您所使用的原始模型很容易生成性别歧视、种族歧视或同性恋恐惧的内容。在您的数据上微调模型不会消除这种内在偏差。