公平的示例选择——用几个“in-context”例子调解LLM公平性
公平的示例选择——用几个“in-context”例子调解LLM公平性作者Valhalla Matrix治理实验室原创声明本文为原创技术博客基于 Valhalla 工程实践编写。论文锚点《SMITE: Enhancing Fairness in LLMs through Optimal In-Context Example Selection via Dynamic Validation》arXiv 2508.17735文章目录公平的示例选择——用几个“in-context”例子调解LLM公平性摘要一、从“改模型很贵换几个例子容易”说起二、SMITE的核心创新动态验证集2.1 传统做法的根本缺陷2.2 动态验证集的工作方式2.3 误差定义性能与公平的统一2.4 算法流程总结三、实验设计与结果3.1 数据集与模型3.2 基线方法3.3 主要结果3.4 准确率-公平性的权衡四、实践启示三个工程教训教训一示例选择是一个被低估的公平性入口教训二验证集应该“跟着测试集走”教训三示例选择是“镇痛”不是“根治”关于实现五、局限性与未来方向5.1 论文自述的局限5.2 延伸思考六、思考题七、延伸阅读摘要大型语言模型LLM在表格分类等下游任务中被广泛使用其输出的公平性对于包容性、平等代表和负责任AI部署至关重要。现有ICL示例选择方法主要聚焦于提升准确率却忽视了示例本身可能携带的偏见风险。SMITEIn-Context Example Selection by Minimizing Individual and Total Error通过引入“动态验证集”概念——一个随测试集演进而非固定不变的验证机制——以迭代贪婪策略同时优化性能误差与公平误差。在UCI Adult Income和COMPAS两个经典数据集上跨Llama、GPT、Mixtral、Gemini四款LLM的实验表明SMITE在预测准确率和公平性上均显著优于零样本、随机示例和RAG基线方法。本文从方法论、实验证据、工程实践和局限性四个维度对该工作进行系统性解读。一、从“改模型很贵换几个例子容易”说起给LLM做few-shot推理时我们通常会放入几个“示例”作为示范。大多数人认为这些示例只是“给个样子”——但它们实际在做什么2026年AAAI的一篇论文给出了一个令人警醒的答案。研究者发现高准确率的示例选择不等于低偏见示例选择本身可能放大LLM的偏见示例选择会引入虚假相关性。示例选择是一个被长期忽视的公平性风险入口。这并非孤例。同时期的JUDGE工作也指出现有示例选择策略大多聚焦于准确率优化而“往往未能考虑公平性关切”。与此同时微调模型来改善公平性成本高、周期长、风险大。而更换几个in-context示例几乎零成本、即时生效、可逆可迭代。示例选择因此成为一个极具工程价值的“公平杠杆”。但这根杠杆当前的状态是大多数团队在“随意选”或“按相似度选”完全没有公平性意识。SMITE正是针对这一缺口提出的解决方案。二、SMITE的核心创新动态验证集2.1 传统做法的根本缺陷在经典机器学习中验证集和测试集来自同一分布且验证集在训练过程中保持不变。这个范式被直接迁移到了ICL场景中选一组固定的验证集来评估示例的质量。但ICL和传统ML有一个关键差异测试数据是可用的。在ICL中我们拥有预训练好的LLM目标是为一组已知的测试样本选择最佳示例。测试集的敏感属性如性别、种族是可见的。传统静态验证集的做法忽略了这个信息优势。SMITE的核心洞察正是既然我们知道要预测什么验证集就应该向测试集靠拢。2.2 动态验证集的工作方式SMITE引入了“动态验证集”dynamic validation set——也称为代理测试集proxy test set——的概念。其构建逻辑如下第一步批次化处理。测试集被划分为n个批次每批m个样本。不同于以往逐样本独立推理的做法SMITE按批次处理以便在决策时感知同批次其他样本的敏感属性分布——这是实现群体公平的必要条件。第二步构建支持集。对每个测试样本t i , j t_{i,j}ti,j​从训练集中检索k个最近的样本且要求检索到的样本与测试样本具有相同的敏感属性。这些样本构成支持集S i , j S_{i,j}Si,j​。批次B n B_nBn​的支持集S n S_nSn​是所有测试样本支持集的并集。第三步划分代理集与候选池。支持集S n S_nSn​被分为两个互不相交的子集P n P_nPn​作为代理测试集动态验证集用于评估示例集的质量H n H_nHn​作为候选池用于迭代选择in-context示例。第四步代理测试集与评估示例的配对。对批次中的每个测试样本位置j jj其对应的核心集C n , j C^{n,j}Cn,j从H n H_nHn​中初始化——选取距离该测试样本第二近的示例作为起点。然后计算每个核心集的个体误差I \mathcal{I}I识别出效果最差误差最大的核心集将其对应位置的下一个最近示例从H n H_nHn​加入核心集以扩大支持。2.3 误差定义性能与公平的统一SMITE将误差定义为性能误差与公平误差的线性组合E α ⋅ π ( 1 − α ) ⋅ ψ \mathcal{E} \alpha \cdot \pi (1-\alpha) \cdot \psiEα⋅π(1−α)⋅ψ其中ψ \psiψ衡量公平误差π \piπ衡量性能误差α ∈ [ 0 , 1 ] \alpha \in [0,1]α∈[0,1]是用户可调的权重参数。α \alphaα越大越强调公平α \alphaα越小越强调性能。具体而言SMITE使用了两个公平性度量ψ \psiψ公平误差人口均等差异定义为∣ P ( y ^ 1 ∣ z 0 ) − P ( y ^ 1 ∣ z 1 ) ∣ |P(\hat{y}1|z0) - P(\hat{y}1|z1)|∣P(y^​1∣z0)−P(y^​1∣z1)∣理想值为0。κ \kappaκDI偏离度∣ 1 − D I ∣ |1 - DI|∣1−DI∣其中DIDisparate Impact是两个群体正例预测率的比值理想值接近1。为避免除零错误分母加入极小值ϱ 10 − 5 \varrho 10^{-5}ϱ10−5。2.4 算法流程总结SMITE的核心循环可以概括为对于每个测试批次 B_n: 1. 构建支持集 S_n检索同敏感属性的最近邻 2. 划分代理集 P_n 和候选池 H_n 3. 初始化核心集 C^{n,j}每个位置取第二近示例 4. 重复 l 次迭代: a. 计算每个核心集的个体误差 I^{n,j} b. 找到误差最大的核心集从 H_n 加入下一个最近示例 c. 计算核心集并集的总体误差 T^n 5. 选择总体误差最小的核心集作为最终示例集其中l ll是超参数论文中设置为10。核心设计逻辑SMITE不是一次性选完所有示例而是先给每个测试位置一个“最小示例集”第二近的示例然后迭代地给表现最差的位置“补课”直到误差收敛或达到迭代上限。这是一个典型的贪婪策略——每次局部优化都服务于批次级的全局公平目标。三、实验设计与结果3.1 数据集与模型论文使用了两个在公平性研究中被广泛使用的表格数据集UCI Adult Income源自1994年美国人口普查数据库任务预测个人年收入是否超过$50K。敏感属性为性别。COMPAS刑事司法领域的累犯风险评估数据集敏感属性为种族。测试集规模均为1000个样本。实验使用了三个不同的随机种子20、25、42每个种子重复三次以确保结果可靠性。实验覆盖四款主流LLMLlama、GPT、Mixtral、Gemini。3.2 基线方法Zero-Shot不提供任何in-context示例仅包含任务指令和测试样本Few-Shot Random随机选择in-context示例Few-Shot RAG选择与测试样本最接近的示例作为in-context demonstrations3.3 主要结果Adult数据集上Llama取得了最佳总体误差0.148随后是GPT、Mixtral和Gemini。最有说服力的对比来自Llama使用随机示例时误差为0.246使用SMITE后降至0.148——误差减少了约40%。COMPAS数据集上GPT表现最佳其次是Llama、Gemini和Mixtral。3.4 准确率-公平性的权衡一个关键发现是SMITE没有以牺牲准确率为代价来换取公平性。论文报告称SMITE在预测性能上“优于或持平于基线”同时改善了公平性结果。这与许多公平性方法形成对比——通常提升公平性会导致准确率下降。SMITE的α \alphaα参数论文中设为0.5等权重对待性能和公平提供了可调节的权衡机制。四、实践启示三个工程教训教训一示例选择是一个被低估的公平性入口你拼给LLM的示例正在默默塑造它的输出倾向。AAAI的研究已经证实高准确率示例选择不等于低偏见示例选择本身可能放大偏见。工程行动将“示例选择”纳入公平性审查流程。在部署few-shot系统时不仅要测试准确率还要测试不同敏感群体上的预测差异。教训二验证集应该“跟着测试集走”SMITE最核心的方法论贡献——动态验证集——本质上是把经典ML中“验证集与测试集同分布”的原则在ICL场景中推到了极致既然测试样本是可用的验证集就应该尽可能接近具体的测试批次。工程行动在构建ICL流水线时不要使用固定的验证集来评估示例质量。根据测试批次动态构建代理验证集使其敏感属性分布与当前测试批次对齐。教训三示例选择是“镇痛”不是“根治”SMITE解决的是推理时的公平性问题——通过优化输入来引导模型输出更公平。它不改变模型权重因此无法根治模型训练数据中深层的偏见。工程行动将示例选择作为公平性工具箱中的一个低成本工具而非唯一手段。与数据去偏、微调去偏等方法配合使用。关于实现论文已在匿名仓库中公开了LLM预测结果超过1000个测试实例可复现代码位于匿名GitHub仓库。SMITE使用LangChain Chroma向量数据库实现检索增强使用OpenAI Embeddings将训练样本转换为向量。五、局限性与未来方向5.1 论文自述的局限SMITE的作者在论文中诚实地列出了三个局限仅支持群体公平SMITE设计时针对的是群体公平group fairness可能不适用于个体公平individual fairness需要进行修改才能适配其他公平性概念。仅支持二元分类单一敏感属性聚焦于二元分类任务和单一敏感属性可能与实际场景中的多元分类、多敏感属性情况不完全对齐。运行时开销较高动态验证集在推理时选择SMITE需要为每个测试批次执行迭代贪婪算法运行时间高于基线方法。5.2 延伸思考从更广阔的视角看SMITE揭示了ICL公平性研究中一个更深层的问题示例选择与公平性之间的关系是非单调的。更多的示例、更高的准确率都不必然意味着更公平的输出。这意味着公平性感知的示例选择不能简单地作为准确率优化的“附加约束”来处理而需要作为一个独立的设计维度来对待。SMITE通过α \alphaα参数将两个目标显式分离并允许用户调节权重这种做法值得后续工作借鉴。六、思考题问题一你给LLM的那些示例是从公平角度“挑过”的吗如果你的ICL流水线使用固定的示例集不同批次的测试样本可能具有不同的敏感属性分布——固定示例集是否可能在某个批次上恰好放大了偏见问题二如果发现示例放大了偏见你会立刻换一批还是去改模型SMITE的低成本特性使得“换示例”成为快速缓解手段但当偏见来源于训练数据时换示例只是治标。你所在团队的公平性治理策略中示例选择处于什么位置七、延伸阅读核心论文Chhikara, G., Ghosh, K., Chakraborty, A. (2025).SMITE: Enhancing Fairness in LLMs through Optimal In-Context Example Selection via Dynamic Validation. arXiv:2508.17735.相关论文The Silent Amplifier: In-Context Examples Fuel Bias in Large Language Models(AAAI 2026) — 揭示示例选择放大偏见的机制Let The Jury Decide: Fair Demonstration Selection for In-Context Learning through Incremental Greedy Evaluation(ACL 2025 Findings) — JUDGE方法与SMITE形成互补Few-Shot Fairness: Unveiling LLM’s Potential for Fairness-Aware Classification— 同作者团队的先前工作版权声明本文为 Valhalla 治理研究组原创。欢迎转载请注明出处。标签#LLM公平性#In-Context Learning#示例选择#AI治理#论文解读

相关新闻

库存盘点表格怎么让 AI 自动生成:本地化智能数据处理实操指南

库存盘点表格怎么让 AI 自动生成:本地化智能数据处理实操指南

面向数据分析师、供应链与物流运营、数据运营、财务核算人员 全流程可照做 附可直接复用的指令模板做库存盘点,最花时间的从来不是"数",而是数完之后那一堆对不上的表:账面库存和实盘库存差在哪、哪个品类差得最多、哪个门店长期…

2026/10/12 21:47:09 阅读更多 →
矩阵式多点测风装置是什么?火电厂风道测量方案详解

矩阵式多点测风装置是什么?火电厂风道测量方案详解

火电厂锅炉一次风、二次风风量测量,直接关系锅炉燃烧效率与运行安全。传统单点测风设备,经常遇到直管段不足、流场紊乱,测量数据失真的问题,矩阵式多点测风装置就是针对该工况开发的专用测量设备。该设备面向电厂大风道设计&#…

2026/10/13 3:58:07 阅读更多 →
华为OD机试真题 新系统 2026-09-20 PythonJS【字符串分组求和】

华为OD机试真题 新系统 2026-09-20 PythonJS【字符串分组求和】

目录 题目 思路 Code 题目 题目内容: 给定一个字符串数组,每个字符串表示一个数字(可能包含正负号)。将数组中前 n 个成员按照绝对值大小分为以下几组,并计算每组数字总和: 第1组:绝对值在 [0,100) 范围内的数字;第2组:绝对值在 [100,1000) 范围内的数字;第3组…

2026/10/12 21:17:14 阅读更多 →

最新新闻

数据结构期末试卷拆解:高频考点与手写算法提分策略

数据结构期末试卷拆解:高频考点与手写算法提分策略

简介:湖北大学《数据结构》2022—2023学年第一学期期末试卷(A卷),面向计算机相关专业本科生,适合期末复习、考研自测及教学参考。试卷为闭卷考试,覆盖判断分析题、简答题与应用分析题,重点涉及带…

2026/10/13 13:34:15 阅读更多 →
LiteLLM:统一LLM API网关的工程实践与生产落地

LiteLLM:统一LLM API网关的工程实践与生产落地

1. 项目概述:LiteLLM 是什么,它解决的到底是什么问题?LiteLLM 这个名字乍一听像是某个轻量级模型,但其实它压根不训练模型、不压缩参数、也不做推理加速——它是个“协议翻译器”,更准确地说,是一个统一 AP…

2026/10/13 13:34:15 阅读更多 →
Win7下部署PaddleOCR-json:离线OCR服务实战指南

Win7下部署PaddleOCR-json:离线OCR服务实战指南

简介:面向Windows 7 64位环境的PaddleOCR离线部署压缩包,适合需要在本地快速搭建文字识别能力的开发者和企业用户,可免去自行编译和下载模型的繁琐步骤。包内含PaddleOCR-json主程序、动态链接库运行环境、PP-OCRv3系列文本检测、方向分类与文…

2026/10/13 13:34:15 阅读更多 →
图数据库标签计数实战:从全表扫描到索引直读的避坑指南

图数据库标签计数实战:从全表扫描到索引直读的避坑指南

1. 从一次数据盘点需求说起:为什么“数标签”这件事没那么简单刚接触图数据库那会儿,我接到的第一个真实需求就是“把库里所有标签的数量统计出来”。当时心想,这不就是一句MATCH (n) RETURN labels(n), count(*)的事吗?结果跑出来…

2026/10/13 13:34:15 阅读更多 →
Elasticsearch 7.6.2 + IK分词器Docker部署全避坑指南

Elasticsearch 7.6.2 + IK分词器Docker部署全避坑指南

1. 为什么7.6.2版本的IK分词器在Docker里总“不认中文”?——从一次线上搜索失效说起 上周帮某高校实验室调试一个文献检索Demo,后端用的是Elasticsearch 7.6.2,前端输入“机器学习”“深度神经网络”这类词,返回结果全是空——不…

2026/10/13 13:34:15 阅读更多 →
DRF接口设计实战:十大接口标准化写法与视图家族选型指南

DRF接口设计实战:十大接口标准化写法与视图家族选型指南

1. 从“能跑通”到“敢上线”:DRF接口设计的真实分水岭刚接触Django REST Framework(后面统一叫DRF)的人,几乎都会经历同一个阶段:照着文档把序列化器、视图、路由拼起来,接口能返回JSON,就觉得…

2026/10/13 13:33:14 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →