跳到主要内容

合成评估冷启动:在没有标注数据的情况下如何构建基准数据集

· 阅读需 11 分钟
Tian Pan
Software Engineer

常见的失败模式不是构建了不起作用的AI功能,而是在不知道功能是否有效的情况下就将其上线。团队跳过评估基础设施的原因不是懒惰——而是构建评估需要标注数据,而在第一天你根本没有。

这就是评估的冷启动问题。要获得有效信号,你需要系统在生产环境中运行。要有信心地部署,你首先需要评估基础设施。这种循环依赖是真实存在的,它导致团队做出三种选择之一:没有评估就上线,在生产环境中才发现故障;延迟上线,同时花数月时间手动标注数据;或者使用合成评估——并承担其中的所有风险。

本文讨论的是第三条路如何正确走通。合成评估冷启动是可行的,但前提是你要理解它无法检测什么,并从一开始就围绕这些盲点进行设计。

循环性问题已被正式量化

对使用LLM为LLM生成测试用例的显而易见的反驳:如果生成器和被测系统共享相同的训练分布,合成测试将恰好错过那些最重要的故障。

这不是直觉——已有正式测量。2025年ICML录用的一篇论文(偏好泄漏,arXiv 2502.01534)表明,当生成测试用例的LLM和充当裁判的LLM属于同一模型家族——或者其中一个是另一个微调出来的——裁判会表现出可测量的偏见,倾向于来自相关模型的输出。更糟糕的是,论文指出"与之前已识别的偏见相比,偏好泄漏更难被检测到"。这种失效是无声的。

三种关联模式会放大这一问题:相同模型、继承关系(一个模型从另一个微调而来)以及同属一个架构家族。使用GPT-4o生成合成评估,再使用GPT-4o-mini作为裁判,并不是两个独立的观点——而是换了顶帽子的同一视角。

这是你在设计上需要对抗的核心失效模式。

打破循环性的四种技术

1. 人工验证锚点

构建过生产评估系统的实践者们一致发现:20-30个精心手动标注的示例,比30,000个合成示例更有价值。

其机制是:领域专家对一批多样化示例做出通过/失败的二元判断,并为每个决定撰写详细的书面批评。这些批评成为裁判提示中的少样本示例。不断迭代,直到自动裁判在留出集上与专家达到>90%的一致性。这种技术——称为批评影随(critique shadowing)——由Hamel Husain记录,并由LinkedIn在大规模上验证:通过针对人工标注验证集的迭代优化,将裁判准确率从68%提升至94%。

20-30这个数字并非随意。Shankar等人的EvalGen研究(UIST 2024)通过实证表明,由于提示长度限制,如果尝试将标准拟合到超过30个示例,一致性会下降。锚点集需要足够小以适入上下文,又足够多样以覆盖重要的评估维度。

锚点集是使其他一切变得可信的基础。在生成任何合成数据之前,先构建它。

2. 跨模型分歧信号

当两个来自不同训练谱系的模型在评估判断上产生分歧时,这种分歧就是该案例真正困难的高置信度信号。这些是值得人工审核的案例。

操作模式:使用两个具有截然不同训练历史的裁判(不是GPT-4o和GPT-4o-mini——它们属于同一家族)。它们达成一致的案例可能是可靠的。它们产生分歧的案例交由人工审核员处理。这提供了一种有原则的方式来分配稀缺的标注预算:不是随机抽样案例进行审核,而是集中审核自动评估最不可信赖的最大不确定性案例。

关于裁判鲁棒性的研究证实了为何模型家族多样性很重要。GPT-4o在事实相关任务上达到97.7%的鲁棒性,但在谬误监督任务上仅有56.6-83.2%。如果你的两个裁判都来自同一家族,它们将共享相同的系统性盲点。

3. 变形测试

变形测试完全绕过了预言机问题。它不问"这个输出是否正确?"——这需要基准真相——而是问"输出是否满足与输入转换版本之间的已知关系?"

你定义变形关系(MR):语义不变性(改写输入不应改变分类)、人口统计替换公平性(将名字从男性改为女性不应改变推荐)、否定一致性(在指令中添加"不要"应产生相反的动作)。然后机械地生成测试对,检查关系是否成立。

收益是显著的。2025年的一项实证研究(LLMORPH,arXiv 2511.02108)对具有代表性的NLP任务子集运行了约56万个变形测试,发现平均失败率为18%——大约每5个测试就有1个暴露出真正的行为缺陷,且无需标注数据。对于一种不需要任何基准真相标注的技术,这是令人信服的回报。

实践约束:变形关系必须由理解任务的人来定义。该技术不会凭空生成测试用例——它将少量人工指定的不变量放大为大量具体的测试实例。这种人工规范是你的锚点。

4. 行为不变量

测试属性而非输出,完全消除了对正确答案的需求。不是评估输出是否正确,而是评估它是否满足你可以机械验证的属性。

在实践中有效的属性:

  • 引用完整性:输出是否引用了实际存在于所提供上下文中的来源?
  • 蕴含一致性:生成的摘要是否由源文档蕴含?(可用NLI模型检查,无需标注。)
  • PII边界:输出是否包含来自上下文的PII,而这些PII并未出现在用户问题中?
  • 自一致性:系统是否在同一输入的多次运行中产生不相互矛盾的输出?
  • 单调性:给定更具体的上下文,系统是否产生更具体的答案,而不是更少具体?

基于不变量的评估的实践吸引力在于,相同的检查同时作为评估和生产守卫发挥作用。你写一次,在两个地方获得价值。

合成生成如何失效

即使有了上述缓解措施,合成评估也有你需要理解的系统性失效模式。

分布压缩是最普遍的问题。当LLM大规模生成合成测试用例时,它们聚集在训练分布的中心趋势附近。输出看起来多样,但实际上不然——最可能破坏你系统的罕见、混乱、分布外查询被严重低估。一项分析发现,使用6,000个LLM生成的样本,分类器达到76%的准确率,而仅使用3,000个人工标注样本则达到88%。合成数据根本没有覆盖困难案例。

逻辑错误盲点专门是LLM-as-judge的问题。前沿模型在评估逻辑推理任务时一致性只有56.6-83.2%。LLM裁判能可靠地检测事实不一致、引用错误和格式违规——但它们在检测读起来流畅的输出中的谬误推理时系统性地薄弱。如果你的应用涉及推理链,不要依赖LLM裁判来捕获推理错误。

无锚定的标准漂移是一种微妙的失效,当使用合成评估迭代优化评估标准而不返回人工判断时会积累。标准变得越来越清晰和内部一致,同时偏离你真正关心的内容。你最终优化了一个与真实质量不符的良好规范的代理。Shankar等人的UIST 2024论文实证发现了这一点:"在人工判断LLM输出之前,不可能完全确定评估标准。"标准和分级输出共同演化;合成循环过早地冻结了这种演化。

基准污染在你将公共评估基准作为合成数据流水线一部分时很重要。如果生成测试用例的LLM是在这些基准上训练的,虚高的一致性分数什么也说明不了。对流行基准污染的分析发现,GPT-4在MMLU测试选项猜测上显示出57%的精确匹配率——这是记忆的证据,而非理解。

实践冷启动序列

鉴于上述约束,以下是一个有效的排序:

第1周——不变量和锚点。 在生成任何合成数据之前,定义你的系统无论输出内容如何都必须满足的5-10个行为不变量。通过人工标注构建你的20-30个示例锚点集。为每个示例撰写详细的批评。这是最小可行的评估基础设施。

第2周——合成扩展。 使用锚点集作为少样本示例来引导合成测试生成。在维度网格上生成测试:不同的用户意图、复杂度级别、边缘案例、领域子域。对于RAG系统,使用文档基础方法(RAGAS风格),其中基准真相答案可从你的实际知识库推导——这消除了检索评估的循环性。

第3周——对抗性覆盖。 使用你定义的不变量关系运行变形测试生成。对现有测试用例应用对抗性变异(改写攻击、否定注入、人格替换),将覆盖范围扩展到分布尾部。

持续进行——跨模型分歧分类。 对所有新案例运行来自不同模型家族的两个裁判。将分歧路由到人工审核。随着生产查询揭示锚点集未覆盖的新失效类别,每季度更新锚点集。

自教评估器改变了什么

Meta的自教评估器(arXiv 2408.02666,2024年)展示了一些重要的事情:在零人工标注的情况下,通过合成对比对和拒绝采样进行冷启动,将开源裁判从RewardBench上的75.4提升到88.3——与GPT-4裁判性能持平。

机制:从原始提示生成修改后的指令(创建隐式偏好对),为修改版本生成强响应(这些对原始版本来说是弱响应),然后使用拒绝采样只接受与合成偏好信号一致的判断。对接受示例的迭代重训打破了循环性。

这并不意味着人工锚点是不必要的——而是意味着采用正确的采样策略,获得可靠裁判所需的人工标注示例数量比实践者假设的要少。Prometheus框架实践了类似的见解:50个种子评分标准(人工编写)被GPT-4扩展到1,000个,生成100K个训练示例,产生了以小部分成本匹配GPT-4裁判性能的评估器。这50个人工种子是给合成扩展方向的。

评估集永远没有完成时

关于合成评估冷启动,最昂贵的误解是将其视为一次性构建。合成评估有半衰期。分布偏移、无声的基础模型更新和上游数据质量变化都会导致上线时构建的评估集随时间产生越来越具误导性的信号。

ZenML对1,200个生产部署的2025年分析发现,维持持续人工锚定重新校准——而非仅使用静态评估集——的团队,是那些在用户报告之前就捕获行为回归的团队。有效的操作模式:每月审核随机抽样的生产输出与你的锚点集,每季度刷新锚点集以纳入生产中发现的新失效类别。

合成评估解决了第一天的问题。真正的工作是随着系统围绕它们演化而保持其诚实性的流水线。


在没有标注数据的情况下构建评估是可行的——但前提是你明确知道该技术能检测什么和不能检测什么。20-30个带书面批评的人工标注示例的锚点集不是捷径:它是决定建立在其上的一切是否在衡量真实事物的基础。先把这件事做对,然后让合成生成做它真正擅长的事:一旦你知道分布是什么,就在整个分布上扩展覆盖范围。

Let's stay in touch and Follow me for more thoughts and updates