数据科学的发展日新月异,机器学习的角色正从数据科学的混合角色过渡到更多的工程或面向分析的角色,主要是以下的因素促成了这种变化:
- 机器学习模型更多地被应用到生产系统中,需要数据科学家具有比以前更深入的技术技能。
- 商业产品和用户行为的变化步伐加快,对自动化的需求也增加。
- 还有出于数据合规和监管的要求,增加了对数据的可追溯性和可解释性的预测和决策的需求。
这些变化的因素也导致了数据科学家使用的工具发生了变化。使得他们更多的利用云,自动化,可解释性和可重复过程的方向去发展。
基于云的机器学习。云基础架构和Kubernetes改变了数据科学家进行机器学习的方式。从能够将预构建的解决方案用作Saas应用程序,到能够在Kubernetes上运行完整的机器学习堆栈。
AutoML和编排。AutoML简化了训练模型,提供了一种自动的方法来进行数据准备,特征工程,超参数优化或模型的选择。
可解释且可重复的ML。在过去几年中,出现了一些库和工具来帮助理解模型预测及其背后的权重并赋予其含义。如whatiftools,Lime,Shap或Manifold之类的工具可以帮助数据科学家来实现这一目标。
基于云的机器学习
向云和Kubernetes的迁移是时下的主流方向,这推动了机器学习工程师对更多DevOps或数据操作功能的需求。
深度学习的快速发展推动了机器学习的进步,但深度学习需要更多的计算资源,它的利用率随工作负载变化很大,这迫使Tensorflow执行程序在Kubernetes上运行来支持更弹性和可扩展的基础架构。
另一个因素是机器学习在生产环境中的重要性日益提高。这种转变又增加了在原型堆栈和生产之间紧密结合的需求,并借助各种云的平台,比如AWS SageMaker、Google Cloud ML Engine。这些工具提供了如模型部署和API配置之类的功能,从而简化了流程将模型推向生产的过程。
AutoML和机器学习工作流程
具有生产型机器学习系统的重要性的提高反过来加速了从培训到部署的整个机器学习价值链对自动化的需求。自动化允许更快地迭代和改进模型。
AutoML提供了围绕模型训练过程的自动化层,可以处理其一些重复的任务。它可以处理如超参数优化,功能和模型选择之类的任务。现在,像Tpot或AutoKeras之类的库,以及大多数云提供商的机器学习即服务都将AutoML作为其解决方案的一部分。
对自动化的需求也增加了对工具进行编排的不同部分的需求。工作流工具如,Airflow,Kubeflow,MLFlow和MetaFlow是用于帮助实现这一目标的一些关键工具。他们负责将整个机器学习过程作为一条流水线来处理,帮助协调从数据采集到模型服务的端到端流程。
可解释且可重复的ML
合规和监管影响了我们构建机器学习模型的方式。他们推动了可解释和可复制的模型。
在可解释的方面,已经出现了一系列工具,可以帮助数据科学家从其模型中获得意义。这些工具评估不同的方案,分析变量如何互操作,并提供仪表板以帮助解释模型预测。whatiftools,Lime,Shap或Manifold是应对这一挑战的工具。
除了提供可靠的方法来调试模型的优点外,可复制性是受法规影响的另一个方面。总有可能使用工作流工具创建可重复的机器学习管道,但仍出现了一些特定的工具来简化这个过程。
DVC,Dolt,Weight and Biases(WANDB)和Dags Hub等是一些专门的工具,使构建模型,可重复的方式更简单。DVC负责模型和数据集的版本控制,而Dolt严格限于数据集本身。WANDB和Dags Hub则专注于跟踪模型构建/训练的权重和结果。
总结
机器学习工具,已经不仅仅局限于利用一些预测库和Jupyter笔记本。现在,进行数据科学需要掌握更广泛的工具集,其中包括云,工作流工具,解释和版本控制工具。这些增加的现代化工具应有助于数据科学开展更多的工程或业务功能。