AI 入门 101
自定义机器学习模型与现成解决方案的比较?

什么时候构建比购买现成解决方案更好?
公司可以采用不同的方法来开发模型。从完全托管的机器学习服务到自定义模型,取决于业务需求、可用的专业知识和规划约束,他们必须做出选择:他们应该从头开始开发自定义解决方案,还是选择现成的服务?
对于机器学习工作负载的所有阶段,必须就如何将不同的拼图碎片组合在一起做出决定。从数据收集、准备和可视化到特征工程、模型训练和评估,机器学习工程师反复问自己同样的问题:它将是一个从头开始实现的自定义解决方案,还是一个现成的服务?
但是,什么时候构建比购买现成解决方案更好?两种方法之间的主要区别在于预处理工作、开发速度和所需的专业知识。
在决定使用现成或自定义机器学习模型时需要考虑什么?
预处理工作
机器学习项目面临着各种挑战,但最大的挑战可能是训练数据的可用性。缺乏训练数据可能会在项目开始之前就停止它。在项目开始之前,它可能会面临从收集数据、标记数据、清理和预处理工作中产生的巨大预处理成本。这是许多机器学习项目失败的陷阱:预处理工作占用了80%的分配资源,而实际模型训练和评估的资源很少。
现成解决方案可以缓解预处理工作的负担。它们的设计目的是只需进行少量配置就可以执行最常见的操作。它们最好的地方是:现成解决方案适用于机器学习工作负载的所有阶段。
另一方面,自定义实现通常需要更多的预处理工作。这并不意味着它们应该被完全否定:它们仍然需要对某个机器学习阶段进行微调,以适应所解决问题的具体情况。特别脏的数据集可能需要某种特殊的清理规则。同时,特定的特征集可能需要自定义特征工程,就像神经网络架构可能需要稍微调整。在这种情况下,从头开始构建的自定义解决方案可能能够满足所有需求。
开发速度
现成解决方案专注于配置而不是实现。与其分配资源来弄清楚应该做什么,机器学习团队将专注于如何将不同的拼图碎片组合在一起。这一方法使公司、研究人员和工程师能够快速实现原型和概念验证。与其重新发明轮子,现成解决方案使得利用现有知识成为可能,从而节省了开发时间。
从头开始实现的自定义解决方案以其较慢的开发速度而闻名。这是由于它们增加的维护需求:工程师必须弄清楚解决方案的什么和如何。同样,解决方案越复杂,需要的时间资源就越多,以确保其在生产环境中的可扩展性和可用性。从这个角度来看,自定义解决方案和时间努力是直接成比例的:解决方案越复杂,需要的时间就越多。
通常,然而,真相在中间:现有的代码库将被重构和适应当前项目的需求。这种情况是众所周知的迁移学习方法的模型训练。
专业知识
就像机器学习有多个层次一样,机器学习模型可以在多个专业知识层次上开发,从无代码界面到从头开始构建模型。
现成解决方案需要很少的机器学习专业知识。通过使用直观的界面,甚至拖放方法,任何人(从业务分析师到软件工程师)都可以构建和部署某种机器学习模型。虽然这种简单的模型开发方法可能适用于原型设计目的,但不太可能满足生产系统的要求。
仍然需要专业知识来正确配置、设置和维护现成解决方案在生产环境中的性能。变通方法、代码补丁、连接到不同的API接口和处理部署问题是常见的任务,需要确保模型在生产环境中的性能。
自定义解决方案通常在基础设施层面实施,没有办法避免:专业知识绝对是必要的。根据公司规模和项目目标,可能需要多学科团队来维护生产系统。数据科学家、机器学习工程师和业务分析师共同努力来理解推理结果并维护生产模型。
您应该使用什么:现成或自定义机器学习模型?
机器学习解决方案将由许多个别组件和服务组成,这些组件和服务需要组合成一个连贯的解决方案。它从来不是关于100%自定义或100%现成,因为不同的业务问题需要不同的解决方案。通常,机器学习解决方案是通过现成服务和自定义模型的混合来构建的,现成服务用于提取一般见解,自定义模型用于提高准确性和建模特定领域知识。
诀窍是知道何时实现从头开始的自定义解决方案,以及项目的哪些部分可以利用现成服务的优势。这在很大程度上取决于所解决的问题类型、业务需求、可用的数据和开发环境的总体约束。
有关更多关于人工智能和技术趋势的信息,请参阅Josh Miramant,Blue Orange Digital的数据驱动解决方案的CEO,用于供应链、医疗保健文档自动化等。
您可能还喜欢:












