思考高质量人类数据
高质量数据是现代深度学习模型训练的燃料。本文探讨了如何通过人类标注收集高质量数据,包括任务设计、标注员选择与培训、数据聚合等操作步骤。文章还介绍了众包智慧、标注者一致性评估方法(如Cohen's Kappa、MACE)以及两种标注范式(描述性与规范性)。此外,讨论了利用影响函数、训练动态(如数据映射、遗忘事件、AUM)和噪声交叉验证来识别错误标签的技术。
思考高质量人类数据
高质量数据是现代深度学习模型训练的燃料。大多数任务特定标注数据来自人类标注,例如分类任务或用于LLM对齐训练的RLHF标注(可构造为分类格式)。本文探讨了如何通过人类标注收集高质量数据,包括任务设计、标注员选择与培训、数据聚合等操作步骤。
人类标注者与数据质量
收集人类数据涉及一系列操作步骤,每一步都对数据质量有贡献:
- 任务设计:设计任务流程以提高清晰度并降低复杂性。详细的指南有帮助,但过长复杂的指南需要大量培训才能发挥作用。
- 选择并培训标注员:选择技能匹配且一致的标注员。培训课程是必要的。入职后,还需要定期反馈和校准会议。
- 收集并聚合数据:在此阶段,可以应用更多机器学习技术来清洗、过滤和智能聚合数据,以识别真实标签。
众包的智慧
“Vox populi”(拉丁语,意为“人民的声音”)一词最初出现在1907年《自然》杂志上的一篇短文中。该文跟踪了一个年度展览中的事件:选定一头肥牛,人们猜测其重量,最接近真实值的猜测获胜。中间估计值(即“众议”)非常接近真实值。作者得出结论:“我认为,这一结果比人们可能预期的更值得信赖民主判断。”这可能是关于众包(“群众的智慧”)如何起作用的最早提及。
大约100年后,Callison-Burch(2009)进行了一项早期研究,使用Amazon Mechanical Turk(AMT)对机器翻译任务进行非专家人工评估,甚至依靠非专家创建新的黄金参考翻译。评估设置简单:每个工人看到一个源句、一个参考翻译以及来自5个MT系统的5个翻译,要求对5个翻译进行排序。每个任务由5个工人完成。
不出所料,存在产生低质量标注的垃圾工人,他们只优化数量。因此,在衡量专家与非专家的一致性时,需要应用不同的加权方案来降低垃圾工人的贡献。
标注者一致性
我们通常认为标注针对单一真实答案,并试图根据一致的标准评估质量。一种常见做法是收集来自多个标注者的多个标签。假设每个标注者的质量水平不同,我们可以使用加权平均,但权重由熟练度得分决定。该得分通常通过标注者与其他人的一致程度来近似。
- 多数投票:最简单的聚合方式,相当于取一组标签的众数。每个标注者贡献相等。
- 原始一致性:计算其他人同意他们的百分比。
- Cohen's Kappa:衡量标注者间一致性,公式为κ = (p_o - p_e)/(1 - p_c),其中p_o是原始一致性率,p_e是偶然一致性。Cohen's Kappa对偶然一致性有修正项,但如果一个标签更普遍,这种修正可能被高估。
- 概率图建模:通过概率图建模来模拟标注决策中的不同因素,如任务难度、任务潜在主题、标注者偏差、标注者置信度,然后预测真实标签。
MACE(多标注者能力估计)是早期使用图建模估计某人像“垃圾工人”一样提供随机标签的概率的例子。当激励不匹配时,一些标注者可能表现像垃圾工人以优化完成任务数量以获取更高报酬。MACE的目标是识别垃圾工人。
标注者分歧与两种范式
上述聚合过程依赖于存在一个潜在黄金答案的假设,因此我们可以评估标注者的表现。然而,在许多主题中,尤其是在安全、社会或文化领域,人们可能产生分歧,这种分歧往往是有效的,问题在于我们希望在多大程度上应用严格规则与拥抱多样性。
Aroyo & Welty(2015)讨论了人类标注实践中的一组“神话”,发现它们都不完全准确,关键发现包括:
- 通常,某些样本存在多个正确解释。需要通过多种视角(例如,让多人审查标注质量)来获取多样化观点。
- 分歧并非总是坏事。应减少因错误或设计不佳过程引起的分歧,但其他分歧可以提供丰富信息。
- 如果是由任务定义不清引起,应增强指导说明。然而,更详细的指南无法解决意见的固有多样性。
- 专家并不总比外行好,但在考虑什么是重要方面存在巨大差距。
- 真实标注可能随时间变化,尤其是与及时事件或新闻相关的标注。
后来,Rottger等人(2021)将差异形式化为主观NLP任务数据标注的两种对比范式:
- 描述性范式:鼓励标注者主观性,试图建模多种信念。优点是可识别更主观的条目并拥抱多样性;缺点是无法用分歧衡量数据质量或标注者表现,且不能用于训练输出预设行为的模型。
- 规范性范式:不鼓励标注者主观性,试图一致应用一种信念。优点是与标准NLP设置更一致,更容易通过衡量分歧或标签聚合进行质量控制;缺点是创建高质量标注指南昂贵且具有挑战性,且无法捕捉可解释的信念多样性或一致编码特定信念。
数据质量与模型训练
一旦数据集构建完成,许多方法可以根据训练动态帮助识别错误标签。我们只关注查找和排除可能错误标签数据点的方法,而不涉及如何在噪声数据上训练模型。
影响函数
影响函数是鲁棒统计中的经典技术,通过描述模型参数随训练点微小加权变化来衡量训练数据点的影响。Koh & Liang(2017)将其引入深度神经网络。
给定训练集中的n个数据样本,模型参数θ优化以最小化损失。移除单个数据点z的参数变化可以近似通过影响函数计算。通过影响函数,我们可以在封闭形式中衡量单个数据点对模型参数和损失函数的影响,有助于近似留一法再训练而无需实际运行所有再训练。为了识别错误标签数据,可以测量I_up,loss(z_i, z_i),近似z_i从训练集中移除时的预测误差。
训练过程中的预测变化
另一类方法是在训练过程中跟踪模型预测的变化,以识别似乎难以学习的案例。数据映射(Swayamdipta等人,2020)跟踪训练过程中模型行为动态的两个属性:
- 置信度:模型对真实标签的平均概率。
- 变异性:置信度的标准差。
难以学习(低置信度、低变异性)的样本更可能被错误标记。实验发现,硬学习区域包含错误标签样本。但不应将所有难以学习的样本视为错误。实际上,论文假设模糊(高变异性)和难以学习(低置信度、低变异性)的样本对学习更有信息量。
遗忘事件:Toneva等人(2019)设计实验跟踪每个样本在训练过程中的模型预测,并计数每个样本从正确分类到错误分类的转换次数。发现大量样本一旦学习就永远不会忘记。实验验证了这些“不可遗忘”样本可以安全移除而不影响模型性能。
AUM(边界下面积):Pleiss等人(2020)开发了AUM方法,基于梯度更新中泛化与错误预测之间的张力来识别错误标签。对于误标记样本,其边界会小于正确样本。通过插入伪造的阈值样本确定阈值。
噪声交叉验证
NCV方法随机将数据集分成两半,然后将标签与仅基于另一半训练的模型预测标签匹配的数据样本识别为“干净”。INCV迭代运行NCV,添加更多干净样本。
本文总结了人类数据收集和清洗的多种方法,强调高质量数据的重要性,并提供实用的技术指导。