当前位置: 首页 > 科技观察

机器学习的中流砥柱:模型构建的基础工具有哪些?

时间:2023-03-17 21:08:39 科技观察

本文转载自公众号“读心术”(ID:AI_Discovery)人工智能(AI)和机器学习(ML)已经“渗透”到各行各业。推动人工智能在商业中的应用。了解各种平台和产品可能是一个挑战。机器学习基础设施空间拥挤、混乱且复杂。许多平台和工具涵盖了整个模型构建工作流程的多种功能。为了了解它的生态,我们可以将机器学习的工作流程大致分为三个阶段:数据准备、模型构建和生产。了解工作流程每个阶段的目标和挑战,有助于正确选择最适合企业业务需求的机器学习基础设施平台。机器学习基础架构平台图机器学习工作流程的每个主要阶段都有许多垂直功能。其中一些功能是更大的端到端平台的一部分,而其他功能则是某些平台的主要焦点。本文将带你进入机器学习的第二阶段——模型构建。什么是模型构建?模型构建的第一步是了解业务需求。该模型需要解决哪些业务需求?此步骤发生在机器学习工作流的规划和构思阶段。在此阶段,类似于软件开发生命周期,数据科学家收集需求、考虑可行性并制定数据准备、模型构建和生产计划。他们还使用这些数据来探索在规划阶段考虑的各种模型构建实验。机器学习基础设施平台图形特征探索和选择数据科学家探索各种数据输入选项以选择特征作为该实验过程的一部分。特征选择是为机器学习模型寻找特征输入的过程。对于新模型,了解可用的数据输入、它们的重要性以及不同特征之间的关系可能是一个漫长的过程。在这里,可以就更多可解释的模型、更短的训练时间、特征获取的成本和过度拟合的缓解做出许多决定。寻找正确和合适的特征是一个不断迭代的过程。在特征提取方面的机器学习基础设施公司包括:Alteryx/FeatureLab、Paxata(DataRobot)。模型管理数据科学家可以尝试各种建模方法。对于某些任务,某些类型的模型比其他模型更适合(例如,基于树的模型更易于解释)。作为构思阶段的一部分,模型是有监督的、无监督的、分类的还是回归的是显而易见的。但是建模方法、超参数和特征的选择取决于实验。一些自动化机器学习(AutoML)平台尝试使用各种参数的不同模型,这有助于建立基线方法。即使手动完成,探索各种选项也可以为模型构建者提供有关模型可解释性的见解。实验跟踪虽然各种类型的模型之间有很多优点和权衡点,但一般来说,这个阶段涉及很多实验。许多平台可以跟踪这些实验、建模依赖关系和模型存储。这些功能可以大致归类为模型管理。一些平台主要专注于实验跟踪。其他一些拥有训练或服务组件的公司拥有模型管理组件,可以比较各种模型的性能、跟踪训练/测试数据集、调整和优化超参数、存储评估指标,并启用详细的沿袭和版本控制。类似于软件的Github,这些模型管理平台应该支持版本控制、沿袭和可再现性。各种模型管理平台之间的权衡是集成成本。一些更轻量级的平台虽然只提供实验跟踪,但可以很容易地与当前环境集成并导入到数据科学笔记本中。其他平台需要更繁重的集成,并需要模型构建者迁移到他们的平台以进行集中模型管理。在机器学习工作流程的这个阶段,数据科学家通常会花时间在笔记本中构建和训练模型,将模型权重存储在模型存储库中,然后在验证集上评估模型结果。现阶段,有很多平台可以提供训练所需的计算资源。模型还有许多存储选项,具体取决于团队存储模型对象的方式。ML基础设施AutoML:H20、SageMaker、DataRobot、GoogleCloudML、MicrosoftML模型管理中的ML基础设施公司:DominoDataLabs、SageMakerML基础设施公司在超参数选项:Sigopt、WeightsandBiases、SageMakerExperiments机器学习基础设施公司在跟踪:权重和Bias、CometML、MLFlow、Domino、Tensorboard模型评估一旦在具有选定特征的训练数据集上训练了实验模型,就可以在测试集上对其进行评估。在此阶段,数据科学家试图了解模型的性能以及需要改进的地方。一些更高级的机器学习团队拥有自动化回测框架,允许他们利用历史数据来评估模型性能。每个实验都试图击败或超过基线模型的性能,并考虑计算成本、可解释性和泛化能力的权衡。在一些更受监管的行业中,此评估过程还可以包括由外部审计师执行的合规性和审计,以确保模型的可重复性、性能和要求。用于模型评估的ML基础设施工具/架构:FiddlerAI、Tensorboard、StealthStartups用于预生产验证的ML基础设施:FiddlerAI、ArizeAI管理上述所有内容的平台许多以AutoML或模型构建为中心的公司只选择一个平台并使用它为了一切。因此,许多平台竞相成为公司在数据准备、模型构建和生产中使用的唯一AI平台,此类公司包括DataRobot、H20、SageMaker等。集合分为低代码解决方案和以开发人员为中心的解决方案解决方案。Datarobot似乎专注于允许商业智能(BI)或财务(Finance)团队从事数据科学项目的无代码/低代码选项。这与SageMaker和H20公司形成鲜明对比,后者似乎迎合了当今更常见的数据科学组织——数据科学家或开发者第一团队。这两种情况下的市场都很大,可以共存,但值得注意的是,并非所有机器学习基础设施公司都向相同的人或团队销售产品。最近,该领域的许多新进入者可以被视为针对机器学习基础设施食物链特定部分的优秀解决方案。一个更好的类比是软件工程领域,其中软件解决方案GitHub、集成开发环境(IDE)和生产监控并不都是相同的端到端系统。它们是不同的软件并非没有原因,它们提供非常不同的功能并且具有明显的区别。挑战在软件开发的同时,由于缺乏对训练模型的数据的版本控制,模型的可再现性通常被视为一项挑战。理解模型的性能存在许多挑战。您如何比较实验并确定哪个模型版本可以很好地平衡性能和权衡?稍微差一点的模型是一种权衡,但它更容易解释。一些数据科学家使用内置模型可解释性特征或使用SHAP/LIME探索特征重要性。另一个性能挑战是不知道实验阶段的模型性能如何转化为现实世界。这可以在很大程度上通过确保训练数据集中的数据是模型可能在生产中看到的数据的代表性分布来缓解,以防止过度拟合训练数据集。这就是交叉验证和回溯测试框架发挥作用的地方。接下来发生了什么?对于数据科学家来说,确定何时将模型投入生产的标准非常重要。如果已经在生产中部署了预先存在的模型,则可能是时候使用具有更高性能的新版本了。无论如何,设定标准对于将实验转移到现实环境中至关重要。训练模型后,模型图像/权重将存储在模型存储库中。此时,负责将模型部署到生产中的数据科学家或工程师通常可以使用模型并将其用于服务。在某些平台上,部署甚至可以更简单,部署的模型可以使用外部服务可以调用的RESTAPI进行配置。