【深度学习:数据工具】为什么应该放弃内部培训数据工具(避免自行开发)
在恩科德,我们花了数周时间采访数据科学家、产品所有者和分布式劳动力提供商。以下是我们成功建立和扩展培训数据管道的一些主要经验和启示。
如果你曾经涉足过任何与机器学习相关的领域,那么你很可能使用过标注的训练数据。而且可能是大量的。你甚至可能亲自动手标注训练数据。你很可能已经发现,花时间创建和管理训练数据很糟糕–如果你找不到适合你的特定用例和工作流程的开源工具,那就更糟糕了。
构建自定义工具似乎是显而易见的选择,但首次迭代通常只是冰山一角。我们数不清有多少初创公司和扩大规模的公司最终花费了大量的时间和资源来构建和维护内部工具。制作工具很少是他们构建高质量机器学习应用的核心业务。
以下是建立培训数据管道时需要考虑的事项,以及何时需要放弃内部工具。
是否可按比例扩展?
您制作了最初的几千个标签,训练了一个模型,并将其投入生产。您开始发现,您的模型在特定场景下表现不佳。例如,在昏暗的光线条件下,您的食品模型可能会将西红柿推断为橙色。您决定将劳动力增加一倍甚至两倍,以满足模型对数据的贪婪需求,帮助解决这些边缘情况。如果您的工具是建立在 CVAT 的基础上,就像我们合作过的大多数机器视觉团队一样,那么它很快就会被增加的工作量压垮,崩溃的速度比您说梅尔文资本(Melvin Capital)还要快。
成本随着复杂性的增加而增加
机器学习是一场军备竞赛。跟上最新和最好的模型需要您重新评估和更新您的训练数据。这通常意味着标签结构(本体)和数据的复杂性不断增加,需要您不断向内部工具添加新功能。新功能需要时间来构建,并且需要很长时间才能维护,从而消耗工程团队的宝贵资源并降低昂贵的劳动力生产力。当您第一次构建管道时,这种成本不会立即显现出来,但随着应用程序的增长,可能会对您的团队造成相当大的拖累。
I/O 是成功的关键
强大的管道应该为您提供所有训练数据资产的完整概述,并使其能够轻松地在不同利益相关者(注释者、数据科学家、产品所有者等)之间进行管道传输。足够的管道需要数据驻留在集中存储库中,并且只有单一的事实来源来保持每个人的同步。构建一系列定义明确的 API 以允许有效地推送和拉取数据绝非易事。此外,通过尝试将开源工具生成的训练标签塑造成可查询的数据资产,制作一个好的 API 通常会变得很复杂。
从头开始
在建立培训数据管道时,团队在花钱聘请劳动力时常犯的错误是从头开始注释过程。有足够的预先训练的行人和汽车模型可以大幅降低初始注释成本。
即使您正在研究更复杂的事情,在带有一些自定义标签的预训练模型上使用迁移学习也可以让您走得更远。另一个好处是,它可以让您了解模型在哪些方面可能会遇到困难,并在将资金投入昂贵的劳动力之前立即启动数据科学流程。在 Encord,我们在与伦敦国王学院胃肠病学团队的合作中应用了这种精确的方法,帮助他们将标签效率提高了 16 倍,您可以在此处阅读更多信息。
不会随着时间的推移而变得更聪明
除了使用预先训练的模型之外,智能地结合启发式方法和其他统计方法(我们称之为“数据算法”)来标记、采样、审查和增强数据可以大大提高人工生成标签的投资回报率。现有软件没有应用这些智能“技巧”,这意味着每个生产标签的边际成本保持不变。不应该。随着您的运营规模扩大,它应该会下降,甚至崩溃。
我们已经看到团队尝试在现有的管道中采用其中一些方法。然而,每个数据算法可能需要数天甚至数周的时间才能实现,并且常常会导致令人讨厌的依赖问题。后者可能会耗费大量时间——我们直接知道将 CUDA 的确切版本与 PyTorch 匹配、与 torchvision 匹配、与正确的 Linux 发行版匹配是多么令人沮丧……你明白了。
结论
如果上述任何一点引起您的共鸣,那么可能是时候开始寻找培训数据软件供应商了。虽然相对于在开源工具之上构建而言,购买或转换的前期成本似乎很高,但长期收益通常会超过成本几个数量级。专门构建的培训数据软件可确保满足所有利益相关者的需求,帮助您缩短上市时间并提高投资回报率。如果您是一家专业人工智能公司或投资人工智能的公司,培训数据是您业务的核心,也是您 IP 的重要组成部分。最好充分利用它。