Bias and Fairness in Large Language Models A Survey
公平性与偏见
首先就是大模型的背景,大模型在大语料库的训练下具有很强的零或少样本的学习能力,能在很多下游任务上取得很好的效果,但正因如此,大语料库隐含的偏见有可能被大模型捕捉而学习,从而影响下游任务产生偏见。
这篇文章主要从三个方面介绍
- 评估矩阵
- 评估数据集
- 去偏算法
文章的贡献有
- NLP 的社会偏见和公平定义的巩固、形式化和扩展
- 偏差评估指标的调查和分类
- 用于偏差评估的数据集的调查和分类,以及公开数据集的汇编
- 减轻偏见技术的调查和分类
公式化大模型偏见与公平性
- 对大模型的定义
文章将大模型定义为:由 θ 参数化的大型语言模型 (LLM) M 是一种基于 Transformer 的模型,具有自回归、自动编码或编码器-解码器架构,已在包含数亿到数万亿个标记的大型语料库上进行了训练。
对大模型偏见的定义
- 社会偏见与公平性
这里有讲到当一个标签被贴到一个群体上使得群体的边界合法化,此时就强调了这个群体与其它群体之间的差异,而这个差异则会导致强化社会等级制度和权力失衡,通常会带来非常真实和物质的后果,可能导致隔离、边缘化和压迫。
社会群体的定义
具有相同身份特征的人口子集,该特征可能是固定的、特定背景的或社会构建的。
受保护属性的定义
确定社会群体身份的共享特征
群体公平性
要求任意两个群体之间以群体身份进行测量的结果应当是相似的
但显然一个人并不一定只属于一个群体,当一个人可能属于多个群体的时候,单个群体的公平性可能很难保证个人的公平性
因此个人公平性的定义原文中的定义是在某些任务中相似的人应当获得相似的待遇
但是我看公式的意思应该是模型对任意两个人的输出差异应当小于这两个人原本的差异
社会偏见来源于由于历史和结构性权力不对称而产生的社会群体之间不同待遇和结果,这可能就导致NLP模型的各种直接歧视和间接歧视
- NLP任务中的偏见
论文在这里论述了一堆,说了很多关于语言在偏见方面的能力。然后就介绍到在NLP中会出现的偏见
文本生成体现的局部偏见和总体偏见
局部偏见就是一个句子中对相近词语的替换,比如男性换成女性,然后来评估模型结果的差异。
总体偏见就是全部句子体现的模型对于某一个群体的情绪机器翻译中可能会默认使用男性词汇作为标准,比如我很快乐让模型进行转述时候模型会用他很快乐而不是她
信息检索中即使使用非性别指导的查询,模型依然会返回更多的男性相关的文档。
问答系统的偏见可能在于在大规模的语料库预训练之后捕捉到了人们对某一群体的偏见,而在回答问题中体现这些偏见。
分类任务中,模型可能会将部分群体的内容分类为负面结果
自然语言推理中的偏见问题
在自然语言处理中,自然语言推理(NLI)是一项重要的任务,旨在判断两个句子之间的逻辑关系。这些逻辑关系通常分为三种:蕴含(entailment)、矛盾(contradiction)和中立(neutral)。蕴含意味着第一个句子(前提)逻辑上支持第二个句子(假设)的真实性;矛盾意味着前提与假设在逻辑上不可能同时为真;中立则是指前提与假设之间没有直接的逻辑关系。
这段话提出的问题是,在进行自然语言推理时,一些模型可能会依赖于错误的表述或者刻板印象来做出推断,这可能会导致不准确或无效的推断结果。例如,在判断“会计吃了一个百吉饼”与“那个男人吃了一个百吉饼”或“那个女人吃了一个百吉饼”的关系时,理论上这两个句子之间的关系应该是中性的,因为“会计”这一身份与性别无关,不应该影响到句子的逻辑关系。然而,如果模型有偏见,它可能错误地认为这两个句子之间存在蕴含或矛盾关系,这表明模型在推理过程中受到了刻板印象的影响,没有正确处理信息,从而导致了错误的推断结果。
- 开发与部署生命周期中的偏见
训练数据可能只来自部分群体,而不能很好地利用在其它群体上;数据可能无法区分全部群体,而在需要对部分群体区别对待的基础上进行笼统概括
模型中的偏差可能在于,训练和推理过程中放大了偏差;同时优化函数的不同选择如公平性或准确性的偏向也会影响模型;对训练样本的权衡,或者模型输出的排序也会影响模型偏差。
基准数据集可能不能囊括所有使用大模型的群体,因此可以对已经囊括的群体进行优化
大模型部署的环境可能和设定不同
- 社会偏见与公平性
大模型公平性的需要
传统机器学习的公平性定义难以满足NLP任务的公平性需求,因此需要更多的定义来帮助实现NLP的公平性,此处见原文,我不会打公式。
然后罗列了一堆文章介绍到的各种公平性评估和公平性方法。
偏差评估标准的分类
在评估模型偏差过程中包含了几个层面:任务指向、偏差类型、数据结构、指标输入。
- 基于替代的公平性评估
通过比较文本输入是性别互换之后的句子,依据模型给出的结果进行差异比较
- 基于用途的指标分类
对大模型公平性分类的指标可以依据模型使用的东西如嵌入、概率、文本生成等进行分类。
基于嵌入的指标
词嵌入:很直观就是指代某一群体的特殊向量与中性词的余弦距离应当都一致而不能偏向一方
句嵌入:相对于词嵌入,句子层级的嵌入更适合大模型,可以更有效地评估多维度的偏差关于基于嵌入的指标,文章中提到如果违反了社会对于某些群体的语言使用被违反,那么受保护属性的表示与其它词语的关联与下游任务表现的差异就完全独立了,就是有没有了受保护属性与其它词语的关联都没有关系。而且基于嵌入的评价指标可能高度依赖不同的设计选择,因此最好能避免使用,而是专注于特定下游任务的指标评估。
基于概率的指标
- 掩码token
就是给两个句子,句子主题是两个不同的社会群体,然后用预测词的概率分布差异来比较模型如何对待两个社会群体。
- 伪对数似然
给定两个完整的句子,两个句子含有不同的社会群体,评估模型在给定每个单词的条件概率下,比较选择最终两个句子的可能。
mask一个token,然后用其它没有被mask的token来预测这个token,用来近似条件概率
- 对数概率偏差分数LPBS
这个就是比较两个不同社会群体在用先验标准化的情况下,两个群体分别出现在一个含有中性词语句子中的对数概率差异
4.
好无聊综述看的
真没意思
看看别的去好了缺陷与嵌入评估相似,似乎是和下游任务很少相关
基于文本生成的指标
看图似乎是给定一个prompt然后让大模型生成,通过评判生成结果来评估公平性
偏见缓解技术
预处理
数据增强
add new examples which is not biased to the training data
看图也就是改变训练数据中的性别,就是反事实训练一样,让社会群体互相替代来训练模型,来达到平衡训练数据的目的。数据平衡的做法一般是让样本成对出现、或者让对立样本在训练集中平衡
缺陷在哪里:受到不完整的单词对列表的限制,并且在交换术语时可能会引入语法错误。
数据过滤与重新加权
过滤掉很有攻击性和偏见的数据,让那些现实世界受到偏见群体的样本权重增加,降低不受到偏见群体的样本权重数据生成
上面两种方法的缺陷在于需要识别每个偏差维度的示例,这些偏差可能会根据上下文、应用程序或所需行为而有所不同。
相似句子替换,也就是用更高质量的训练数据进行训练指令微调
在每个样本之前添加一个基调让模型以这个基调学习这个样本基于投影的缓解
貌似是识别与保护属性有关的嵌入空间,然后改变上下文嵌入以清除偏见维度
训练中缓解
- 结构修改
修改模型配置,利用适配器添加新的可训练参数 - 损失函数修改
用损失函数作为新指标,来平衡对立社会群体的属性偏见 - 选择参数更新
冻结大部分预训练参数而选择少部分参数进行更新,如果不冻结就有可能在微调过程中忘记预训练的内容,称为灾难性遗忘。 - 过滤模型参数
冻结全部参数,但以去偏为目标剪枝部分参数
- 结构修改
处理中缓解
- 受约束的next token search
限制下一个有偏见或冒犯意味的词语,或者将社会中受偏见的群体标签替换上来 - 改变token分布
降低对立社会群体中未受偏见的群体标签的分布,增加受偏见一方的分布,同时大大减少包含偏见意味的词语 - 权重重分配
对注意力矩阵修改,避免某个社会标签与偏见token有过多的相关 - 模块化去偏网络
独立的去偏模块帮助LLM去除偏见
- 受约束的next token search
后处理
- 重写
重写策略使用基于规则或神经的重写算法来检测有害单词,并用更积极或更具代表性的术语替换它们。该策略考虑完全生成的输出(与解码技术中的下一个单词预测相反)。
后处理缓解措施不假设可以访问可训练模型,这使得这些技术适用于黑盒模型。也就是说,重写技术本身很容易表现出偏见。决定重写哪些输出本身就是一个主观且充满价值的决定。与毒性和情感分类器的潜在危害类似(参见第 3.5.4 节),应特别注意确保某些社会群体的语言风格不会被过度标记和改写。删除受保护的属性还可能抹去重要的背景并产生较少多样性的输出,这本身就是一种排他性规范的形式。神经重写器还受到并行训练语料库可用性的限制,这可能会限制它们要解决的偏见的维度。
- 重写
问题与挑战
解决权力不平衡
将边缘群体中心化
等级制度可能会加深偏见,同时在消除偏见的过程中,消除偏见的方法也可能会引入新的偏见,技术人员在进行去偏时候必须辩证看待问题,更广泛地打破有害的权力失衡的核心是将边缘化社区带入法学硕士决策和系统开发的最前沿,
开发参与性研究设计
就是走群众路线,引入社区人员的意见将社区成员纳入研究过程,以更好地理解和代表他们的需求。更广泛地说,建立社区循环研究框架可以打破技术人员和受影响社区之间的权力不平衡。
重建价值观和假设
我感觉这个不是特别现实偏见和公平是社会、文化、历史、政治和地区背景下高度主观和规范的概念。因此,偏见和公平研究无法假设一套单一的价值观
但其实看完这一段,作者的意思应该是使用更广阔背景的训练数据来训练大模型,因为在某一特定文化环境下训练的大模型可能在另一个文化环境中使用的时候表现比较强的偏见。
科学和计算研究中的假设和价值观往往反映了主导群体的假设和价值观。研究人员和实践者可以建立更严格的社会变革理论,以语言学、社会学和哲学等领域的相关原理为基础,
额外语言资源
由上一条可知,需要别的语言的优秀数据集,同时保证数据集的质量
NLP公平性
对公平性扩展的迫切需要,目前机器学习已经有一套公平性和偏见的框架,但是在自然语言任务中应当有扩展的更具体的公平性
重新思考社会群体的定义。通常需要对社会群体进行划分来评估差异,但同时也可以使社会结构合法化,强化权力差异,并促成压迫制度
就是说现有的社会群体架构可能会过于局限,不能考虑到更细粒度的群体而隐式地导致对细粒度群体的偏见
- 承认不同的社会群体
这一点我是认可的,因为如果单纯采用消去社会群体的保护属性以期望模型公平对待不同的群体这是不太现实的,偏见来源是多样的,单纯消去保护属性可能会使得更加无缘故的偏见加在某一社会群体上。应当针对现实社会群体的偏见原因,合理制定去偏的方案
优化评价准则
字面意思改进缓解措施
实现可扩展性。
这个也就是说,现有的缓解偏见的方法与特定算法耦合,使得去偏的范围变得狭隘,比如说列个避免词表啊、针对部分偏见进行优化这种,此时模型对于缓解的偏见就局限在这一部分,而其它部分的偏见就难以缓解,要想更好应对更多的偏见就需要去偏方法有更大的扩展能力。
混合技术
用多种阶段的公平性算法来去偏,但我觉得这可能会让模型性能更弱
大模型对偏见的编码,在哪个组件,去偏算法如何缓解这些等问题都悬而未决
探索理论极限
- 性能与公平的trade off
- 理论化模型
现有理论来自于经验
终于TM看完了,真不想看了
我要搞一个gemma玩玩看的,最好微调一下再给我写个小说什么的。