技术指南

在线和硬负数挖掘

硬负挖掘选择信息最丰富、难以区分的示例进行训练,而不是将精力浪费在模型已经正确的简单示例上。

概述

硬负挖掘选择信息最丰富、难以区分的示例进行训练,而不是将精力浪费在模型已经正确的简单示例上。正是这个技巧使度量学习和目标检测快速准确地收敛。

在线和硬负挖掘是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

当使用三元组或对比损失进行训练时,大多数随机采样的负样本已经远离锚点,因此它们产生零损失并且没有梯度,训练停止。负面挖掘通过选择硬负面来解决这个问题:错误地接近锚点的示例。在离线挖掘中,您需要定期扫描数据集来查找这些数据,但这种方式速度很慢并且会变得陈旧。在线挖掘在每个小批量中动态计算它们:在前向传递之后,您查看批量中的所有成对距离并选择最难的违规者。 FaceNet引入了半硬挖掘,选择比正值更远但仍在边缘内的负值,避免了绝对最难的负值在训练早期可能导致的不稳定。

技术洞察

在线挖掘利用您已经计算的批次。通过 B 嵌入,您基本上可以免费获得 B×B 距离矩阵,因此您可以每步评估大量候选三元组。批量硬挖掘为每个锚点选择批次中最远的正值和最近的负值。相反,半硬挖掘将负数限制在正距离和正距离加上余量之间,产生非零但稳定的梯度。较大的批次会提供更丰富的硬候选池,这就是为什么批次大小强烈影响度量学习质量的原因。

掌握在线和硬负挖掘

硬负挖掘选择信息最丰富、难以区分的示例进行训练,而不是将精力浪费在模型已经正确的简单示例上。正是这个技巧使度量学习和目标检测快速准确地收敛。在线和硬负挖掘是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了建立深入的理解,请将在线和硬负挖掘视为一种操作模型,而不是单一功能:定义期望的结果,澄清假设,并将系统可以可靠地完成的任务与仍需要专家判断的任务分开。

在实践中,使用在线和硬负挖掘的强大团队根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

在线和硬负挖掘的未来

训练困难的原则现在推动了对比自监督学习,其中大型批内负池(以及像 MoCo 这样的记忆库)在没有标签的情况下提供困难的比较。研究人员正在完善负面的难度,因为太难的负面往往会被贴错标签或几乎与正面重复,从而破坏训练。期望模型本身生成更智能、具有不确定性感知的挖掘和合成硬否定,以及与从真实用户查询中挖掘硬否定的检索系统更紧密的集成。

现实世界的实施

人脸识别训练:FaceNet 使用半硬在线挖掘来学习区分相似个体的嵌入。

对象检测:SSD 和类似的检测器应用硬负挖掘来平衡大量的简单背景框和稀有对象框。

密集段落检索:搜索和 RAG 系统挖掘看似相关但实际上并不相关的硬负面文档,从而提高检索器的性能。

推荐系统:对用户未点击但与点击的项目相似的项目进行建模,从而在口味上进行更精细的区分。

实施模式

在线和硬负数挖掘的实践

人脸识别训练:FaceNet 使用半硬在线挖掘来学习区分相似个体的嵌入。

人脸识别训练:FaceNet 使用半硬在线挖掘来学习嵌入,将相似的个体分开。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

在线和硬负数挖掘的实践

对象检测:SSD 和类似的检测器应用硬负挖掘来平衡大量的简单背景框和稀有对象框。

对象检测:SSD 和类似的检测器应用硬负挖掘来平衡大量的简单背景框与稀有对象框。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会得到更好的结果。

在线和硬负数挖掘的实践

密集段落检索:搜索和 RAG 系统挖掘看似相关但实际上并不相关的硬负面文档,从而提高检索器的性能。

密集段落检索:搜索和 RAG 系统挖掘看似相关但实际上并不相关的硬负面文档,从而提高检索器的性能。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

在线和硬负数挖掘的实践

推荐系统:对用户未点击但与点击的项目相似的项目进行建模,从而在口味上进行更精细的区分。

推荐系统:模型挖掘用户未点击但类似于点击的项目的项目,教授更精细的品味区分当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪随着时间的推移提高生产力和错误成本时,通常会得到更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索