语境
数据科学的发展日新月异,机器学习的角色正从数据科学的混合角色过渡到更多的工程或面向分析的角色,通常称为A型和B型数据科学家。
一些变化正在促成这些变化:
- 将机器学习模型更多地嵌入到生产系统中,比以前需要更深入的技术技能
- 商业产品和用户行为的变化步伐加快,对自动化的需求也增加。
- 法规要求的增加,例如GDPR的"解释权",增加了对数据可追溯性以及对预测和决策的可解释性的需求
换模
这种变化的环境导致数据科学家使用的工具发生了变化。 这种发展促使数据科学家朝着利用云,自动化,可解释性和可重复过程的方向发展。
- 基于可能的机器学习:云基础架构和Kubernetes(K8S)改变了我们进行机器学习的方式。 从能够将预构建的解决方案用作Saas应用程序到能够在K8S上运行完整的机器学习堆栈。
- AutoML和编排:AutoML简化了训练模型,提供了一种自动方法来进行数据准备,特征工程,超参数优化或模型选择。
- 可解释且可重现的ML:在过去的几年中,出现了一些库和工具来帮助理解模型预测及其背后的权重并赋予其含义。 诸如whatiftools,Lime,Shap或Manifold之类的工具可以帮助您实现这一目标。
基于云的ML
向云和Kubernetes的迁移已逐渐发生,从而推动了机器学习工程师对更多DevOps或数据操作功能的需求。
人们对深度学习的兴趣日益浓厚,特别是Keras帮助使该学科民主化,这一举动更加突出了这一点。 深度学习可能特别需要资源。 它的利用率随工作负载的变化而变化,这迫使Tensorflow执行器在K8S上运行,从而支持对更弹性和可扩展的基础架构的需求
> SageMarker's web interface
促成此举的另一个因素是ML在生产中的重要性日益提高。 反过来,这种转变又增加了原型栈与生产之间紧密结合的需求,并借助各种Saas云产品(例如AWs sageMaker / Google Cloud ML Engine)……这些工具提供了诸如模型部署和API配置之类的功能,从而简化了流程 将模型推向生产的过程。
AutoML和机器学习工作流程
具有生产型机器学习系统的重要性的提高反过来加速了从培训到部署的整个机器学习价值链对自动化的需求。 自动化允许更快地迭代和改进模型。
AutoML提供了围绕模型训练过程的自动化层,可处理其某些重复性任务。 它可以处理诸如超参数优化,功能和模型选择之类的任务。 Tpot或AutoKeras等库以及大多数云提供商的ML产品现在都将AutoML作为其解决方案的一部分。
对自动化的需求也增加了对工具进行编排的不同部分的需求。 诸如Airflow,Kubeflow,MLFlow和MetaFlow之类的工作流工具是用于帮助实现这一目标的一些关键工具。 他们负责将整个机器学习过程作为一条流水线来处理,帮助协调从数据采集到模型服务的端到端流程。
可解释且可重现的ML
GDPR和其他法规已经影响了我们构建机器学习模型的方式。 他们推动了可解释和可复制的模型。
在可解释的方面,已经出现了一系列工具,可以帮助数据科学家更好地利用其模型。 这些工具评估不同的方案,分析变量如何互操作,并提供仪表板以帮助解释模型预测。 Whatiftool,Lime,SHAP和Manifold是为应对这一挑战而引入的一些工具。
除了提供可靠的方法来调试模型的优点外,可重复性是受法规影响的另一个方面。 总有可能使用工作流工具创建可重现的机器学习管道。 尽管如此,仍出现了一些特定的工具来简化该过程。
> Screenshot of Weight & Biases interface
DVC,Dolt,Weight and Biases(WANDB)和Dags Hub是一些专用工具,这些工具以可重现的方式使构建模型更简单。 DVC负责模型和数据集的版本控制,而Dolt严格限于数据集本身。 WANDB和Dags Hub则专注于跟踪模型构建/训练的权重和结果。
摘要
机器学习工具已经从仅仅能够利用一些预测库和Jupyter笔记本发生了很大的变化。 如今,进行数据科学需要掌握更广泛的工具集,其中包括云库,工作流工具,解释和版本控制工具。 这种增加的工具应有助于数据科学从其某些研究形象转移到更多的工程或业务功能上。
我提供的有关Hacking Analytics的更多信息:
- 成为Python的数据处理库Pandas的专家
- 笔记本时代—笔记本如何改变我们开发代码的方式
- 电子商务分析:数据结构和应用
- 在Azure上设置气流并连接到Ms sQL Server