Connect with us

AI 入门 101

自助式与自定义机器学习模型?

mm
Off the shelf vs custom models

什么时候构建比购买现成解决方案更好?

公司可以采用不同的方法来开发模型。从完全托管的ML服务到自定义模型,取决于业务需求、可用的专业知识和规划约束,他们必须做出选择:是否应该从头开始开发自定义解决方案?还是应该选择现成的服务?

对于机器学习工作负载的所有阶段,必须就如何将不同的拼图碎片组合在一起做出决定。从数据收集、准备和可视化到特征工程、模型训练和评估,机器学习工程师反复问自己同样的问题:会是从头开始实现的自定义解决方案,还是现成的服务?

但是,什么时候构建比购买现成解决方案更好?两种方法之间的主要区别在于预处理工作、开发速度和所需的专业知识。

确定使用现成或自定义机器学习模型时需要考虑的因素?

预处理工作

机器学习项目面临着各种挑战,但也许最大的挑战是训练数据的可用性。训练数据的缺乏可能会在项目开始之前就将其停止。在项目开始之前,它可能会面临从数据收集、数据标记、清理和预处理工作中产生的巨大预处理成本。这是许多机器学习项目失败的陷阱:预处理最终占用了80%的分配资源,而很少的资源留给实际的模型训练和评估。

现成解决方案可以缓解预处理工作的压力和痛苦。它们的设计目的是仅需少量配置就能执行最常见的操作。它们最好的地方在于:现成解决方案适用于机器学习工作负载的所有阶段。

另一方面,自定义实现通常需要更多的预处理工作。这并不意味着它们应该被完全否定:它们仍然需要对机器学习的某个阶段进行细化,以适应所解决问题的具体情况。特别“脏”的数据集可能需要某种特殊的清理规则。同时,特定的特征集可能需要自定义特征工程,就像神经网络架构可能需要稍微调整。在这种情况下,从头开始构建的自定义解决方案可能会满足所有需求。

开发速度

现成解决方案专注于配置而不是实现。机器学习团队将专注于如何将不同的拼图碎片组合在一起,而不是什么应该做。这一方法使公司、研究人员和工程师能够快速实现原型和概念验证。通过利用现有的知识,现成解决方案可以节省开发时间,而不是重新发明轮子。

从头开始实现的自定义解决方案以其较慢的开发速度而闻名。这是由于它们增加的维护需求:工程师必须弄清楚什么如何的解决方案。同样,解决方案越复杂,需要的时间资源就越多,以确保其在生产中的可扩展性和可用性。从这个角度来看,自定义解决方案和时间努力是直接成比例的:解决方案越复杂,需要的时间就越多。

通常,然而,真相在中间:现有的代码库将被重构和适应当前项目的需求。这种情况就像著名的迁移学习方法一样应用于模型训练。

专业知识

就像机器学习有多个层次一样,机器学习模型可以在多个专业知识层次上开发,从无代码接口到从头开始构建模型。

现成解决方案需要很少的机器学习专业知识。通过使用直观的接口,甚至拖放方法,任何人(从业务分析师到软件工程师)都可以构建和部署某种机器学习模型。虽然这种简单的模型开发方法可能适用于原型设计目的,但不太可能满足生产系统的需求。

仍然需要专业知识来正确配置、设置和维护现成解决方案在生产环境中的性能。变通方法、代码补丁、连接到不同的API接口以及处理部署问题都是确保模型在生产环境中性能的常见任务。

自定义解决方案通常在基础设施层次上实现,没有办法避免:专业知识绝对是必要的。根据公司规模和项目目标,可能需要多学科团队来维护生产系统。数据科学家、机器学习工程师和业务分析师共同合作以理解推理结果并维护生产模型。

您应该使用什么:现成或自定义机器学习模型?

机器学习解决方案将由许多个别组件和服务组成,这些组件和服务需要作为一个连贯的解决方案来共同工作。它从来不是关于100%自定义或100%现成,因为不同的业务问题需要不同的解决方案。通常,机器学习解决方案是通过现成服务来提取一般见解,并结合自定义模型以提高准确性和建模领域特定知识而构建的。

诀窍在于知道何时实现自定义解决方案以及项目的哪些部分可以利用现成服务的好处。这在很大程度上取决于所解决的问题的类型、业务需求、可用的数据以及开发环境的总体约束。

有关更多关于人工智能和技术趋势的信息,请参阅Josh Miramant,Blue Orange Digital的CEO,提供数据驱动的解决方案,用于供应链医疗保健文档自动化等。

您可能还喜欢:

使用NLP对社交媒体上的评论进行分类

语言处理如何通过Google的开源BERT模型得到增强

Josh Miramant 是 Blue Orange Digital 的 CEO 和创始人,Blue Orange Digital 是一家位于纽约市和华盛顿特区的顶级数据科学和机器学习机构。 Miramant 是一位受欢迎的演讲者、未来学家和企业公司及初创公司的战略商业与技术顾问。他帮助组织优化和自动化其业务,实施数据驱动的分析技术,并理解新技术(如人工智能、大数据和物联网)的影响。