社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

构建机器学习工具一年得到的四个教训

InfoQ • 3 年前 • 395 次点击  
作者 | Humanloop
译者 | Sambodhi
策划 | 蔡芳芳

关于如何构建机器学习工具、未来的需求和为什么领域专家在人工智能的未来中扮演重要的角色,我们想与大家分享一些最令人惊讶的经验。

在过去的一年里, Humanloop 一直在开发 一种用于训练和部署自然语言处理模型的新工具。我们已经帮助律师、客服人员、市场营销人员和软件开发人员团队快速训练出能够理解语言的人工智能模型,并立即使用它们。在使用主动学习时,我们开始将注意力集中在减少注释数据的需求上,但是很快发现需要更多。

我们真正需要的是一组新的工具和工作流,从第一原则出发,这些工具和工作流是用来处理人工智能工作挑战的。这里有一些我们学到的东西。

1主题专家的影响力不亚于数据科学家

2011 年初,对深度学习专业知识的需求如此之高,以至于 Geoff Hinton 能够以 4400 万美元的价格将自己卖给谷歌。今天不再是这样了。

2011 年的许多难题都已商业化。通过导入库,你可以使用最先进的模型,并且大多数研究的突破性成果都会很快被纳入。尽管我已经拿到了深度学习的博士学位,但我仍然对标准模型在广泛的使用案例中的开箱即用表现感到惊讶。

构建机器学习服务仍然很难,但最大的挑战是获取正确的数据。

或许,令人惊讶的是,机器学习技术方面的支持已经不如领域的专业知识有用。

举例来说,我们与一个团队合作,他们想知道 80000 多项历史法律判决的结果。手工处理这些文件是完全不可行的,那要花上几十万美元的律师时间。要解决这个问题,光靠数据科学家时不行的。一位律师是我们真正需要的。

在数据科学中,传统的工作流程将数据注释看作模型训练的第一步。我们知道,将数据注释 / 数据管护(data curation)放在工作流的中心位置实际上会让你更快的得到结果。由主题专家担任领导角色,与数据科学家更容易合作。而且我们也看到,这会产生更高的数据质量和更高的模型质量。

两位律师组成的团队为 Humanloop 平台上的数据进行了注释,并用主动学习自动并行的方式来训练模型。仅用了几个小时,律师们就训练出了一个模型,它能提供所有 80000 项判决结果,而这些结果完全不需要数据科学家的参与。

不只是律师,我们见过医生团队为训练医疗聊天机器人所作的注释;金融分析师为命名实体识别所作的标记,以及科学家对数据进行注释,以便大规模检索论文。

2第一次迭代总是在标签分类上

机器学习模型的训练通常从标记数据集开始。在我们最初构建 Humanloop 平台时,我们认为选择一个标签分类法是在项目开始时做的事情,然后就完成了。

如果不探索数据,大多数团队都低估了定义好的标签分类是多么困难。

我们很快意识到,一旦团队开始注释数据,他们就会发现最初对于他们想要的分类的猜测是错误的。这些数据中常常会有他们从未考虑过的分类,或者是一些非常罕见的,所以最好将它们合并到一个更大的分类。团队会惊讶的发现,对于即使是简单的分类,常常很难对其含义达成一致意见。

在项目开始后,数据科学家、项目经理和标注员之间几乎总是在讨论如何更新标签分类的问题。

将数据整理置于机器学习工作流的中心,可以让不同的利益相关者快速达成一致。为简化这一过程,我们为项目经理增加了在注释期间编辑其标签分类的能力。Humanloop 模型和主动学习系统可以自动遵循对标签的任何修改。让团队能够对示例数据点进行标记、评论和讨论。

3快速反馈的投资回报率很高

对于我们创建的主动学习平台,一个出乎意料的好处就是,它可以让项目快速原型化并消除风险。在 Humanloop 平台上,通过团队的注释,对模型进行了实时训练,并提供了模型性能的统计数据。

许多机器学习项目都会失败。根据 algorithmia 的数据,多达 80% 的项目从未投产。出现这种情况通常是因为目标不明确,输入的数据质量太差,无法预测输出,或者模型陷入困境,等待生产。高层管理人员变得不愿意为不确定性很高的项目投入资源,因而错失了很多好机会。

尽管我们没有计划,但我们意识到团队正在利用 Humanloop 的早期快速反馈来评估项目的可行性。他们可以上传小的数据集,然后给一些例子贴上标签,这样就能了解到他们的项目会有多好。这就是说,一些可能会失败的项目没有继续进行,而另一些项目很快就会获得更多的资源,因为团队知道它们会成功。这类早期探索通常由完全没有机器学习背景的产品经理来完成。

4机器学习工具应当以数据为中心,但以模型为依托

目前大部分训练和部署机器学习(MLOps)的工具都是针对传统软件构建的。它们专注于代码而非数据,它们的目标是很窄的机器学习开发管道。有一些 MLOps 工具可以用于监控、特征存储、模型版本、数据集版本、模型训练、评估存储等等。几乎没有任何一种工具可以方便地查看和理解系统所学到的数据。

吴恩达(Andrew Ng)和 Andreij Kaparthy 等人最近一直在呼吁使用以数据为中心的机器学习工具。人们完全同意,机器学习要求团队更多地关注他们的数据集,但是我们发现这些工具的最佳版本需要与模型紧密结合。

在 Humanloop 平台上,我们看到的大部分好处来自数据和模型之间的相互作用

  1. 在探索阶段:该模型显示出罕见的分类,并提供有关分类学习难度的反馈。

  2. 在训练阶段:模型找到具有最高价值的数据标注,使模型以较少的标签获得高性能模型。

  3. 在审查阶段:该模型使得发现错误注释变得更加容易。Humanloop 平台显示出模型的预测与领域专家的标注员不一致的例子,并且具有很高的置信度。发现和纠正错误的数据点往往是提高模型性能的最有效途径。

结合数据和模型构建过程在机器学习开发过程的每一个阶段都有好处。对模型进行注释学习后,部署不再是一个“瀑布”时刻。模型是不断学习的,可以轻松地保持更新。

一年来,我们认为我们已经在建立让机器学习变得更简单的新工具方面取得了重大进展,首先是自然语言处理。如今,很多行业的专家都对人工智能模型的训练做出了贡献,并且很高兴看到基于 Humanloop 的新应用程序。

作者介绍:

Humanloop 是一家从事机器学习和人工智能的初创公司,该公司的产品 Humanloop 是一个训练和部署自然语言处理的人工智能数据标记工具,为用户的模型提供 API,用户可以使用该工具更好地可视化和理解其数据,从而拓展客户人力资源。

原文链接:

https://humanloop.com/blog/4-lessons-from-a-year-building-tools-for-machine-learning

今日好文推荐
被“监控”的打工人:因算法裁定“效率低下”,近150名员工遭解雇
携程试点每周两天居家办公反响热烈,76%的员工主动报名
华为再提“炸掉研发金字塔”;腾讯实习生叫板总裁,要求“务必回复”;某知名公司被曝1780元裁掉身患绝症的十年老员工 | Q资讯
终于!RocketMQ发布5.0版本:架构大重构,代码变更比例高达60%


InfoQ 写作平台欢迎所有热爱技术、热爱创作、热爱分享的内容创作者入驻!

还有更多超值活动等你来!

扫描下方二维码

填写申请,成为作者

开启你的创作之路吧~

点个在看少个 bug 👇

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/118630
 
395 次点击