思想领袖

机器学习开发的成功需要新的范式 – 思想领袖

mm
将 Unite.AI 添加到您在 Google 上的首选来源

作者:Victor Thu,Datatron 总裁 Datatron

使用机器学习的项目不能像传统软件项目一样处理。必须快速行动,以便测试、修复问题和再次测试。换句话说,必须能够快速失败,并且尽早在过程中这样做。等到后期发现问题可能会非常昂贵和耗时。

AI 需要新的方法

使用传统方法开发软件时,使用决策逻辑。为了尽可能准确,您会加入使软件正常运行的逻辑。通常不需要在应用程序逻辑开发完成后进行更改,除了修复错误。这是一个非常有条理的开发过程;您通过确保每一步都是准确的,然后再继续下一步。这种策略已经被证明是软件开发的有效方法。

但是,您不能使用相同的策略来处理 AI/ML 项目,因为它根本行不通。相反,您需要能够快速迭代,以便在 ML 项目中取得成功。由于 ML 需要初始训练,并且是一个过程,因此您应该以这样的认识来对待它:它不会在第一次部署时就准确。

这个过程需要多次迭代。现实是,您的第一个模型 99% 的时间都会遇到意外的结果。即使您在实验室中花费数月训练您的模型,但是一旦它遇到真实世界的数据和流量,它也会不可避免地发生变化。

不要追求立即的完美

因此,为了测试模型并确定需要哪些修改,您必须能够迅速将其投入生产。然后,您可以进行任何必要的调整,重新发布并改进它。因此,您不应该在测试模型之前将太多精力投入到使其完美无缺;第一次尝试不会是完美的,没人应该期望它是完美的。

在实验室中开发模型时,从 92% 到 95% 的准确率提高可能对某些用例来说并不重要。为什么?只有模型训练数据的一小部分被用于训练您的 AI 模型。您可能会花费大量时间和金钱来获得额外的准确率,同时放弃了您的模型可能带来的好处。

ML 部署的有效步骤

由于模型可能会失败或产生不正确的预测,ML 科学家有时会犹豫是否将模型投入生产。这在一定程度上是可以理解的。您需要一个系统,使您能够实时查看事件。通过这种方法,您可以立即停止和更新您的模型,然后迅速发布新的模型。这种方法比陷入“分析瘫痪”更有效地将机器学习模型投入生产。

最好直接发布模型,让它获得一些实际经验。这并没有消除数据科学家在一开始就尽可能准确地创建模型的必要性。但是,一旦您完成了初始版本,您就应该立即开始收集重要的数据。

作为这一过程的一部分,您可能希望以 A/B 测试模式或影子模式运行您的模型,以便与真实世界的数据进行比较。这样,您可以基本上比较不同模型的性能,并在选择哪个模型进行推广或降级之前拥有大量的数据和证据。

另一个最佳实践是构建本地模型,而不是专注于创建单个全局模型来预测宏观环境中的行为。使用本地模型,您可以使用特定情况的数据,使模型在每种情况下表现如预期。这样可以节省时间、数据和精力,相比之下,一个全面的模型需要大量的这些资源来确保其正常运行。

确定定制运动鞋的需求可以作为一个例子。基于纽约市的人口,全球模型可能适用于北美其他地区。但是,它可能无法准确代表该国其他地区的需求。一个本地化模型的策略将使您获得更高的利润率,而这些利润率现在正在丧失。

模型当然需要定期更新。与传统软件不同,传统软件可以设置好并留着不动,模型需要在其生命周期内进行持续更新。如果不定期迭代,ML 模型会随着时间的推移而恶化。这必须在模型的生命周期内仔细监控。

机器学习的新范式

将机器学习模型与传统软件进行比较是不明智的。然而,ML 专家可以从快速部署技术中受益,就像软件工程师从 DevOps 中受益一样。对于 ML 项目,您需要一个系统,使您能够快速发布模型。您必须能够比较不同的模型,有效地比较一个活跃的模型和一个不活跃的模型。上述最佳实践将帮助您避免分析瘫痪,快速和早期地失败,以便您可以扩大机器学习。

Victor Thu 是 Datatron 的总裁。 在他的整个职业生涯中,Victor 专注于产品营销、上市策略和产品管理,在 C 级和董事职位上为诸如 Petuum、VMware 和 Citrix 等公司工作。