近年来,机器学习 (ML) 改善了各行各业的业务——从您的推荐系统 总理视频 帐户,以记录摘要和有效搜索 Alexa的的语音助手。 但是,问题仍然是如何将这项技术整合到您的业务中。 与传统的基于规则的方法不同,ML 自动从数据中推断出模式,以便执行您感兴趣的任务。 尽管这绕过了为自动化制定规则的需要,但这也意味着 ML 模型只能与训练它们的数据一样好。 然而,数据创建通常是一项具有挑战性的任务。 在 亚马逊机器学习解决方案实验室,我们曾多次遇到此问题,并希望为我们的客户简化此旅程。 如果要卸载此过程,可以使用 亚马逊 SageMaker Ground Truth Plus.
在本文结束时,您将能够实现以下目标:
- 了解建立数据采集管道所涉及的业务流程
- 确定 AWS 云服务以支持和加速您的数据标签管道
- 为自定义用例运行数据采集和标记任务
- 按照业务和技术最佳实践创建高质量数据
在这篇文章中,我们专注于数据创建过程,并依靠 AWS 服务来处理基础设施和流程组件。 即,我们使用 亚马逊SageMaker地面真相 处理标签基础设施管道和用户界面。 该服务使用即点即用的方法从以下位置收集您的数据 亚马逊简单存储服务 (Amazon S3) 并设置标签工作流程。 对于标签,它为您提供了使用您的私人团队获取数据标签的内置灵活性, 亚马逊Mechanical Turk force,或您首选的标签供应商,来自 AWS Marketplace. 最后,您可以使用 AWS Lambda 和 Amazon SageMaker笔记本 处理、可视化或质量控制数据——标记前或标记后。
现在所有的部分都已经放下了,让我们开始这个过程吧!
数据创建过程
与通常的直觉相反,数据创建的第一步不是数据收集。 从用户向后工作以阐明问题是至关重要的。 例如,用户在最终的神器中关心什么? 专家认为与用例相关的信号存在于数据中的什么位置? 可以提供关于用例环境的哪些信息来建模? 如果您不知道这些问题的答案,请不要担心。 给自己一些时间与用户和领域专家交谈以了解细微差别。 这种初步的理解将引导您朝着正确的方向前进,并为您的成功做好准备。
对于这篇文章,我们假设您已经了解了用户需求规范的这个初始过程。 接下来的三个部分将引导您完成创建质量数据的后续过程:规划、源数据创建和数据注释。 数据创建和注释步骤中的试验循环对于确保有效创建标记数据至关重要。 这涉及在数据创建、注释、质量保证和必要时更新管道之间进行迭代。
下图概述了典型数据创建管道中所需的步骤。 您可以从用例向后工作以识别您需要的数据(需求规范),构建获取数据的流程(规划),实施实际的数据采集流程(数据收集和注释),并评估结果。 以虚线突出显示的试运行让您可以迭代该过程,直到开发出高质量的数据采集管道。
规划
如果执行效率低下,标准数据创建过程可能会非常耗时并且会浪费宝贵的人力资源。 为什么会很耗时? 要回答这个问题,我们必须了解数据创建过程的范围。 为了帮助您,我们收集了您必须考虑的关键组件和利益相关者的高级清单和描述。 一开始可能很难回答这些问题。 根据您的用例,可能只有其中一些适用。
- 确定所需批准的法定联系人 – 为您的应用程序使用数据可能需要对许可证或供应商合同进行审查,以确保符合公司政策和用例。 在整个数据采集和注释步骤中确定您的法律支持非常重要。
- 确定数据处理的安全联系人 – 购买的数据泄露可能会对您的公司造成严重的罚款和影响。 在整个数据采集和注释步骤中确定您的安全支持以确保安全实践非常重要。
- 详细说明用例要求并定义源数据和注释指南 – 由于所需的高度特异性,创建和注释数据很困难。 利益相关者,包括数据生成者和注释者,必须完全一致以避免浪费资源。 为此,通常的做法是使用一个指导文档来指定注释任务的各个方面:确切的说明、边缘案例、示例演练等等。
- 与收集源数据的期望保持一致 - 考虑以下:
- 对潜在数据源进行研究 – 例如,公共数据集、来自其他内部团队的现有数据集、自行收集或从供应商处购买的数据。
- 进行质量评估 – 创建与最终用例相关的分析管道。
- 与创建数据注释的期望保持一致 - 考虑以下:
- 识别技术利益相关者 – 这通常是您公司中能够使用有关 Ground Truth 的技术文档来实施注释管道的个人或团队。 这些利益相关者还负责对注释数据进行质量评估,以确保它满足下游 ML 应用程序的需求。
- 识别数据注释器 – 这些人使用预先确定的指令为您在 Ground Truth 中的源数据添加标签。 根据您的用例和注释指南,他们可能需要拥有领域知识。 您可以使用公司内部的劳动力,或支付费用 由外部供应商管理的劳动力.
- 确保对数据创建过程的监督 – 从以上几点可以看出,数据创建是一个涉及众多专业利益相关者的详细过程。 因此,至关重要的是要端到端地监控它以达到预期的结果。 让专职人员或团队监督该过程可以帮助您确保一个有凝聚力、高效的数据创建过程。
根据您决定采取的路线,您还必须考虑以下事项:
- 创建源数据集 – 这是指现有数据不适合手头任务或法律限制阻止您使用它的情况。 必须使用内部团队或外部供应商(下一点)。 对于高度专业化的领域或公共研究较少的领域,通常会出现这种情况。 例如,医生的常见问题、服装铺设或运动专家。 它可以是内部的或外部的。
- 研究供应商并进行入职流程 – 当使用外部供应商时,必须在两个实体之间设置合同和入职流程。
在本节中,我们回顾了我们必须考虑的组件和利益相关者。 但是,实际过程是什么样的? 在下图中,我们概述了数据创建和注释的流程。 迭代方法使用称为试验的小批量数据来减少周转时间,及早发现错误,并避免在创建低质量数据时浪费资源。 我们将在本文后面描述这些试点回合。 我们还介绍了数据创建、注释和质量控制的一些最佳实践。
下图说明了数据创建管道的迭代开发。 垂直地,我们找到数据源块(绿色)和注释块(蓝色)。 两个区块都有独立的试验轮(数据创建/注释、QAQC 和更新)。 越来越多的来源数据被创建并可用于构建越来越高质量的注释。
源数据创建
输入创建过程围绕暂存您感兴趣的项目,这取决于您的任务类型。 这些可以是图像(报纸扫描)、视频(交通场景)、3D 点云(医学扫描)或简单的文本(字幕轨道、转录)。 通常,在暂存与任务相关的项目时,请确保以下几点:
- 反映最终 AI/ML 系统的真实用例 – 为您的训练数据收集图像或视频的设置应与您在实际应用程序中的输入数据设置紧密匹配。 这意味着具有一致的放置表面、光源或摄像机角度。
- 考虑并最小化可变性来源 - 考虑以下:
- 制定维护数据收集标准的最佳实践 – 根据用例的粒度,您可能需要指定要求以保证数据点之间的一致性。 例如,如果您从单个摄像头点收集图像或视频数据,您可能需要确保感兴趣对象的位置一致,或者需要在一轮数据采集之前对摄像头进行质量检查。 这可以避免诸如相机倾斜或模糊之类的问题,并最大限度地减少下游开销,例如删除帧外或模糊图像,以及需要手动将图像帧居中于您感兴趣的区域。
- 预先测试时间的可变性来源 – 如果您预计在测试期间到目前为止提到的任何属性的可变性,请确保您可以在训练数据创建期间捕获这些可变性源。 例如,如果您希望您的 ML 应用程序在多种不同的光照设置下工作,您应该致力于在不同的光照设置下创建训练图像和视频。 根据使用案例,相机定位的可变性也会影响标签的质量。
- 在可用时结合先前的领域知识 - 考虑以下:
- 关于错误来源的输入 – 领域从业者可以根据他们多年的经验提供对错误来源的见解。 他们可以就前两点的最佳实践提供反馈:哪些设置最能反映现实世界的用例? 在数据收集过程中或在使用时,可能的可变性来源是什么?
- 特定领域的数据收集最佳实践 – 尽管您的技术利益相关者可能已经对收集的图像或视频中要关注的技术方面有了很好的了解,但领域从业者可以就如何最好地暂存或收集数据提供反馈,以满足这些需求。
创建数据的质量控制和质量保证
现在您已经设置了数据收集管道,可能很想继续收集尽可能多的数据。 等一下! 我们必须首先检查通过设置收集的数据是否适合您的实际用例。 我们可以使用一些初始样本,并通过我们从分析样本数据中获得的见解来迭代地改进设置。 在试点过程中,与您的技术、业务和注释利益相关者密切合作。 这将确保您生成的管道满足业务需求,同时以最小的开销生成 ML 就绪的标记数据。
注释
输入的注释是我们为数据添加魔法的地方——标签! 根据您的任务类型和数据创建过程,您可能需要手动注释器,或者您可以使用现成的自动化方法。 数据注释管道本身可能是一项技术上具有挑战性的任务。 Ground Truth 为您的技术利益相关者简化了这一旅程 通用数据源的内置标签工作流程. 通过一些额外的步骤,它还使您能够构建 自定义标签工作流程 超出预配置选项。
在开发合适的注释工作流程时问自己以下问题:
- 我的数据需要手动注释过程吗? 在某些情况下,自动标签服务可能足以完成手头的任务。 查看文档和可用工具可以帮助您确定您的用例是否需要手动注释(有关更多信息,请参阅 什么是数据标注?)。 数据创建过程可以允许对数据注释的粒度进行不同级别的控制。 根据此过程,您有时还可以绕过手动注释的需要。 有关详细信息,请参阅 使用 Amazon SageMaker Ground Truth 构建自定义 Q&A 数据集以训练 Hugging Face Q&A NLU 模型.
- 什么构成了我的基本事实? 在大多数情况下,基本事实将来自您的注释过程——这就是重点! 在其他情况下,用户可能有权访问基本事实标签。 这可以显着加快您的质量保证过程,或减少多个手动注释所需的开销。
- 与我的基本真实状态的偏差量的上限是多少? 与您的最终用户一起了解这些标签周围的典型错误、此类错误的来源以及所需的错误减少。 这将帮助您确定标记任务的哪些方面最具挑战性或可能出现注释错误。
- 用户或现场从业人员是否使用预先存在的规则来标记这些项目? 使用并完善这些指南,为您的手动注释器构建一组说明。
试行输入注释过程
在试行输入注释过程时,请考虑以下事项:
- 与注释者和现场从业者一起查看说明 – 说明应简明具体。 向您的用户(说明是否准确?我们可以修改任何说明以确保非现场从业者可以理解)和注释者(一切都可以理解吗?任务是否明确?)征求反馈。 如果可能,添加一个好的和坏的标记数据示例,以帮助您的注释者识别预期的内容以及常见的标记错误可能是什么样的。
- 收集注释数据 – 与您的客户一起审查数据,以确保其符合预期标准,并与手动注释的预期结果保持一致。
- 为您的手动注释器池提供示例作为测试运行 – 这组示例中注释者之间的典型差异是什么? 研究给定图像中每个注释的方差,以确定注释者之间的一致性趋势。 然后比较图像或视频帧之间的差异,以确定哪些标签难以放置。
注释的质量控制
注释质量控制有两个主要组成部分:评估注释者之间的一致性,以及评估注释本身的质量。
您可以将多个注释器分配给同一个任务(例如,三个注释器标记同一图像上的关键点),并在注释器之间测量这些标签的平均值以及这些标签的标准差。 这样做可以帮助您识别任何异常注释(使用的标签不正确,或标签远离平均注释),这可以指导可行的结果,例如改进您的说明或为某些注释者提供进一步的培训。
评估注释本身的质量与注释器的可变性和(如果可用)领域专家或基本事实信息的可用性有关。 是否有某些标签(在您的所有图像中)注释器之间的平均方差始终很高? 是否有任何标签与您对它们应该在哪里或应该是什么样子的期望相去甚远?
根据我们的经验,数据注释的典型质量控制循环如下所示:
- 根据测试运行的结果迭代指令或图像暂存 – 是否有任何对象被遮挡,或者图像分级是否与注释者或用户的期望不符? 这些说明是否具有误导性,或者您是否遗漏了示例图像中的任何标签或常见错误? 您能否完善注释器的说明?
- 如果您对已解决测试运行中的任何问题感到满意,请进行批注 – 为了测试批次的结果,请遵循评估注释器间和图像间标签可变性的相同质量评估方法。
结论
这篇文章可作为业务利益相关者了解 AI/ML 应用程序数据创建复杂性的指南。 所描述的流程还可以作为技术从业人员生成质量数据的指南,同时优化人员和成本等业务限制。 如果做得不好,数据创建和标记管道可能需要 4-6 个月以上的时间。
借助本文中概述的指南和建议,您可以抢占障碍,缩短完成时间,并最大限度地降低创建高质量数据的过程中的成本。
关于作者
贾斯琳·格雷瓦尔 是 Amazon Web Services 的一名应用科学家,她与 AWS 客户一起使用机器学习解决现实世界的问题,特别关注精准医学和基因组学。 她在生物信息学、肿瘤学和临床基因组学方面拥有深厚的背景。 她热衷于使用 AI/ML 和云服务来改善患者护理。
鲍里斯·阿龙奇克 是 Amazon AI 机器学习解决方案实验室的经理,他领导着一个由 ML 科学家和工程师组成的团队,帮助 AWS 客户利用 AI/ML 解决方案实现业务目标。
米格尔·罗梅罗·卡尔沃(Miguel Romero Calvo) 是应用科学家 亚马逊机器学习解决方案实验室 他与 AWS 内部团队和战略客户合作,通过 ML 和云采用加速他们的业务。
林利昌 是 Amazon Web Services 的 Amazon ML Solutions Lab 团队的高级科学家和经理。 她与战略性 AWS 客户合作,探索和应用人工智能和机器学习来发现新见解并解决复杂问题。