仅仅改变示例就能修复 AI 偏见吗?旨在实现更公平 LLM 的策略性提示工程
像 GPT-4 和 Claude-3 这样的大型语言模型 (LLM) 已经彻底改变了我们与文本交互的方式。但最近,这些模型开始进入一个传统上由统计模型主导的领域: 表格数据 。 想象一下,一个 LLM 根据包含个人信息的电子表格来决定某人是否有资格获得贷款,或者预测他们的收入等级。
虽然这种能力令人印象深刻,但它引入了一个显而易见却常被忽视的问题: 公平性 (Fairness) 。
我们知道 LLM 可能会从训练数据中继承偏见。当我们将它们用于信用评分等高风险决策时,如何确保它们能公平对待少数群体?一篇最近的论文《Strategic Demonstration Selection for Improved Fairness in LLM In-Context Learning》探索了一个引人入胜的解决方案。它提出,打造更公平模型的秘诀可能在于我们在提示 (prompt) 中提供的“少样本” (few-shot) 示例——即演示 (demonstrations) 。
在这篇深度文章中,我们将探讨策略性提示工程 (Strategic Prompt Engineering) 如何减轻偏见,揭示其背后的机制,并介绍一种名为 FCG (基于聚类和遗传算法的公平性) 的新颖算法,旨在自动化这一过程。
背景: 情境学习与表格数据
要理解这个解决方案,我们首先需要理解其机制: 情境学习 (In-Context Learning, ICL) 。
不同于传统的机器学习 (需要在一个新数据集上重新训练模型权重) ,ICL 的工作方式仅仅是在提示中给 LLM 几个例子。你会说: “这是三个贷款申请及其决策结果的例子。现在,请对这个新的申请做出决定。”
研究人员使用特定的提示结构对此进行了调查。

如图 1 所示,该过程分为三个阶段:
- 任务描述: 告诉 LLM 做什么 (例如,“预测贷款审批”) 。
- 演示 (核心部分) : 奇迹发生的地方。我们从训练集中选择 \(K\) 个示例,向模型展示如何操作。
- 问题: 我们希望 LLM 进行分类的实际测试样本。
研究问题简单而深刻: 第 2 步中那 \(K\) 个示例的选择是否会改变模型的公平程度?
从数学上定义公平性
在看结果之前,我们需要从数学上定义“公平性”。研究人员专注于二分类 (例如: 批准/拒绝) ,并观察像性别 (男/女) 这样的敏感属性。
他们使用符号 \(Z\) 代表敏感特征 (其中 \(Z=0\) 是少数群体,例如高收入数据集中的女性,\(Z=1\) 是多数群体) ,使用 \(Y\) 代表标签 (例如: 高收入 vs. 低收入) 。
为了衡量提供给 LLM 的示例中这些群体的分布,他们使用了以下比率:

这里,\(r_z\) 是提示中少数群体样本的比例,\(r_y\) 是特定标签的比例。
为了评估模型是否真正公平,论文使用了两个标准指标:
人口统计学均等 (Demographic Parity, DP) : 无论属于哪个群体,获得正向预测的概率应该是相似的。

机会均等 (Equalized Odds, EO) : 模型对两个群体的真阳性率 (TPR) 和假阳性率 (FPR) 应该是相似的。

理想情况下,群体之间的差异 (\(\Delta\)) 应为零,比率 (\(R\)) 应接近 1。
关键发现: 优先考虑少数群体
研究人员在 GPT-3.5、GPT-4 和 Claude-3 等模型上,使用 Credit (预测逾期付款) 和 Adult (预测收入 >50k) 等数据集测试了各种“演示策略” (S1, S2, S3) 。
- S1 (平衡) : 提示中的示例由 50% 的少数群体和 50% 的多数群体组成。
- S2 (优先考虑少数群体) : 示例 100% 来自少数群体 (\(r_z = 1\)) 。
- S3 (优先考虑少数群体 + 不平衡标签) : 全部为少数群体样本,且结果标签有倾斜。
结果与通常认为平衡训练数据最好的标准统计学常识相悖。

图 2 展示了在 Credit 数据集上的表现。观察黄色 (\(R_{eo}\)) 和灰色 (\(R_{dp}\)) 的柱子——这些代表公平性比率 (越高越好) 。你可以看到,与零样本 (Zero-shot) 基线或 S1 相比,策略 S2 和 S3 的公平性指标有明显提升。
结论: 刻意在提示中填充代表性不足的少数群体的示例,可以在不牺牲准确性的情况下显著提高公平性。
我们可以在 GPT-3.5 在 Adult Income 数据集上的表现中详细看到这一点:

在表 1 中,查看 Fairness (公平性) 部分。\(R_{dp}\) (人口统计学均等比率) 从零样本时的 0.40 跃升至 S3 中的 0.67 。 人口统计学均等差异 (\(\Delta_{dp}\)) 显著下降。这表明 LLM 非常关注上下文窗口中显示的人口统计信息。
原因探究: 扰动分析
为什么只给 LLM 展示少数群体的示例会让它更公平?它是学到了真实的模式,还是仅仅记住了标签?为了找出答案,研究人员进行了扰动分析 (Perturbation Analysis) 。
他们选取演示示例,故意通过翻转标签 (将高收入改为低收入) 或翻转性别来“破坏”它们,然后将这些受损的提示输入给 LLM。

他们发现了什么?
- 预测 vs. 公平性的权衡: 当他们改动敏感特征 (例如,将男性标签改为女性) 时,发现了一种权衡。增加少数群体标签的比例增强了公平性,但有时会损害预测准确性。
- 真实标签很重要 (某种程度上) : 扰动结果标签 (\(Y\)) 会导致公平性急剧下降。这意味着模型不仅仅是在看人口统计数据;它正在积极寻找提示中人口统计特征与结果之间的相关性。
这证实了策略性选择不仅仅是噪声——它引导了模型的内部推理。
解决方案: FCG 算法
既然知道演示的选择至关重要,依赖随机采样或人工筛选就是低效的。我们需要一种自动化的方法来找到能最大化准确性和公平性的最佳示例集。
研究人员提出了 FCG (基于聚类和遗传算法的公平性) 算法。这是一个两步过程:
- 聚类 (多样性) : 算法不选取随机点,而是将训练数据聚类 (基于特征) 。这确保了候选池覆盖整个数据分布,而不仅仅是最常见的人群类型。
- 遗传进化 (优化) : 它使用遗传算法来“进化”出最佳的提示集。它选取一组,进行测试,基于准确性和公平性的混合指标进行评分,然后“繁育”出最佳集合以找到最优组合。

如图 4 可视化所示,该过程首先将数据划分为子组 (例如,女性/高收入,男性/低收入) 。它对这些子组进行聚类以过滤掉冗余。然后,遗传算法通过迭代组合找到“超级提示”。
FCG vs. LENS
现有一种名为 LENS (先过滤后搜索) 的方法用于选择提示。然而,LENS 的计算成本很高,因为它使用 LLM 本身来过滤数据。

图 5 展示了其中的区别。FCG 在第一步使用无监督过滤 (聚类) ,这要快得多,并且不需要数千次调用昂贵的 LLM API。它只在最终评分阶段引入 LLM。
FCG 真的有效吗?
结果表明答案是肯定的。当应用于 Adult 数据集时,FCG 产生的结果始终优于随机选择策略的公平性评分。

在表 4 中,观察“K-Shot (K=8)”列,我们看到整体上很高的公平性分数 (\(R_{dp}\) 和 \(R_{eo}\)) 。值得注意的是,将 FCG 与优先考虑少数群体样本 (\(r_z = 1\)) 的策略结合使用产生了一些最佳结果,有效地协调了论文的两个主要贡献: 策略 (优先考虑少数群体) 和方法 (使用 FCG 选择具体示例) 。
结论
这项研究强调了 AI 时代的一个关键方面: 我们提问的方式与我们要问的模型同样重要。
对于在结构化数据上使用 LLM 的学生和从业者来说,结论很明确:
- 不要只是随机采样: 你在提示中放入的示例构建了模型针对该特定任务的世界观。
- 代表性是关键: 为了公平性,向模型展示代表性不足群体 (少数阶层) 的示例通常比展示“平衡”的世界观更有效,这可能是因为这迫使模型关注它原本可能忽略的特征。
- 自动化流程: 像 FCG 这样的算法表明,我们可以从数学上优化提示,以在不牺牲实用性 (准确性) 的情况下满足道德准则 (公平性) 。
随着 LLM 继续融入决策流程,像 FCG 这样的技术将成为确保这些强大的系统公平服务于每个人的重要工具包。
](https://deep-paper.org/en/paper/2408.09757/images/cover.png)