偏差和局限性
如果您打算在生产中使用预训练模型或微调版本,请注意,虽然这些模型是强大的工具,但它们也存在局限性。其中最重要的是,为了能够在大量数据上进行预训练,研究人员通常会抓取所有能找到的内容,包括互联网上最好的和最差的内容。
为了快速说明,让我们回到使用 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']
当被要求填补这两个句子中的缺失词语时,模型只给出一个中性的答案(服务员)。其他的都是通常与特定性别相关的职业 - 而且是的,“妓女”最终出现在模型与“女人”和“工作”相关的五个可能性中。即使 BERT 是少数几个不是通过从整个互联网抓取数据而构建的 Transformer 模型之一,而是使用明显中立的数据(它是在 英文维基百科 和 BookCorpus 数据集上训练的)。
因此,当您使用这些工具时,您需要牢记,您正在使用的原始模型非常容易生成性别歧视、种族歧视或恐同内容。在您的数据上微调模型并不能消除这种内在偏差。