企业在机器学习应用中需要吸取的经验和教训

在商业世界中,机器学习(ML)应用程序的持续宣传和炒作有其合理的原因。机器学习(ML)可能是当今最为普及的人工智能(AI)领域。虽然人工智能和机器学习紧密相关,但并不是可以互换的术语。机器学习已经融入到许多业务应用程序以及面向客户的服务中,并且可以自我学习的机器听起来很酷。

企业在机器学习应用中需要吸取的经验和教训

企业在机器学习应用中需要吸取的经验和教训

但是,正如许多IT主管说的那样,采用新技术可能会导致一些不切实际的期望。为此,一些机器学习和数据科学专家分享了企业和团队在采用机器学习技术时需要吸取的经验和教训。

1. 没有建立合适的团队

企业可能拥有足够的数据量和计算能力,但是如果团队中没有适合的人才,也会对业务发展造成影响。

Very公司数据科学业务负责人Jenn Gamble博士说:“我经常强调的一件事是,企业需要建立密切合作的跨学科团队来构建机器学习产品。而数据科学家很少自己做到这一点。”

机器学习(ML)的成功应用需要具备更多的能力和技能,Gamble指出以下是关键的技能:

  • 机器学习建模
  • 数据管道开发
  • 后端/API开发
  • 前端开发
  • 用户界面(UI)和用户体验(UX)
  • 产品管理

Gamble说:“没有人在这些领域中拥有所有技能,因此有必要将拥有不同技能的人集中在一起,并鼓励他们在整个过程中紧密合作。”

2. 没有在业务期望和技术现实之间架起桥梁

Gamble还建议负责实施机器学习(ML)计划的团队还要纳入与行业专家和最终用户紧密合作的工作人员,这些人并不一定是技术人员。

Gamble说,“重要的是要有人担任人工智能产品经理,与传统的产品经理一样,他们的工作将集中在如何使用最终机器学习技术上:最终用户是谁,他们的工作流程是什么,以及他们将根据所提供的信息做出什么决定。”

大多数IT专业人员都可以理解这个问题,无论他们拥有什么特殊的技能:在业务上期望机器学习(ML)能做什么和实现之间可能会有一些差距(或者是巨大的差距)。

Gamble说:“从机器学习建模的角度来看,将业务理解、数据理解、可能实现的功能结合在一起也增加了复杂性。正如许多优秀的产品经理都是软件工程师一样,我认为很多优秀的人工智能产品经理也是数据科学家,尽管这是一个新兴领域,走上这条路的人并不多,但我们将看到,对这一角色的需求将会继续增长。”

3. 对真相有太多的版本

机器学习的一个基本现实:模型或算法只取决于所提供的数据。

Indico公司首席执行官Tom Wilde说,“对于人工智能和机器学习来说,人们最好把它想像成一只非常聪明的鹦鹉,它对于为学习预期任务而提供的培训输入数据非常敏感。”

但这导致了不同的学习方式:人们(甚至是同一团队中的成员)如何感知特定业务流程或服务的现实可能存在很大的差异。

Indico公司使客户可以让多个人参与为模型建模而对培训数据进行标记的过程。他认为这就像投票一样:每个利益相关者在流程或任务中都有发言权。最近,该公司的一家客户有六个人参加了数据标记过程,虽然在短期内最终失败,但获得了长期利益。

Wilde说:“一旦建立了模型,他们发现模型的性能非常差,经过进一步调查,他们发现这六个人对如何标记训练样本有完全不同的看法。这反过来迫使他们就特定任务进行了非常有价值的对话,并使他们能够更好地对特定用例的‘基本事实'有着深入的理解。”

4. 认为训练数据才是终点

在生产过程中,企业可能会发现对最初的训练数据有点过于自信,并最终还是回到了起点。SigOpt公司工程主管Jim Blomo认为,即使是很好的训练数据也不一定更好执行。

Blomo说:“不能只是训练模型并相信它会执行。需要运行一个高度迭代的、科学的过程来使其正确执行,即使到那时,也可能仍会看到生产的高度可变性。模拟和验证过程以及持续的性能评估也是如此。”

企业通常会发现,用于预测生产模型性能的基准实际上需要在模型开发过程中进行更改和调整。建模者首先了解到的一点是,定义正确的度量标准是最重要的任务之一,并且在通常情况下,跟踪多个度量标准对于理解更完整的模型行为至关重要。

5. 重复传统的软件开发错误

机器学习也容易遇到困扰其他IT部门的同样问题。企业是否在无法协同工作的功能孤岛中建立了人工智能/机器学习团队?这将产生许多与传统软件项目相同的问题:考虑范围的扩大、期限的延长、工具的损坏,以及对企业文化的不利影响。

Algorithmia公司创始人Kenny Daniel说:“很多企业花费数年时间收集大量数据,雇佣了数据科学家团队,尽管投入大量人力和物力,却未能使任何模型投入生产。其错误的做法是让数据科学家让实施团队编写程序代码,期望数据科学家成为DevOps专家也是错误的。”

那么正确的做法是什么?采用与现代化和优化用于机器学习的软件管道相同的思维方式(例如DevOps思维方式)。

Daniel说,“建议企业学习传统软件世界中的DevOps经验和教训:创建自动化的、可重复的管道和工具,将底层的实现细节实现容器化和抽象化。”

Gamble说:“企业在构建机器学习产品时,仍然需要从软件开发中汲取的所有相同的原则和经验教训,例如DevOps原则、以用户为中心的设计等。许多数据科学家花费很多时间来学习机器学习,但是他们可能并不像软件工程师、产品经理或设计师那样精通这些主题。”