大型数据科学项目的生产力工具

分析用于现实工业类型项目的不同生产力工具

大型数据科学项目的生产力工具

> Photo by imgix on Unsplash

用于数据科学的基本生产力工具,例如Jupyter Notebook和R Studio,是用于小型数据科学和机器学习项目的良好工具。 在这些类型的项目中,数据集通常非常简单,因此甚至可以在合理的时间内在便携式计算机上执行模型的建立,测试和评估。 以下是使用Jupyter Notebook和R Studio进行的小型项目的两个示例:

· 用来预测游轮船员人数的机器学习模型:可以在这里找到数据集和Jupyter笔记本:用来预测游轮船员人数的ML模型。

· 用于模拟贷款状态的机器学习模型:数据集,R脚本和示例输出可在此处找到:用于预测贷款状态的蒙特卡洛模拟。

在现实世界的数据科学项目中,数据集可能非常复杂,并且要执行的任务可能涉及计算密集型问题,例如图像处理,语音分析,或者使用具有数百个功能和数千个特征的复杂数据集构建深度学习模型 的意见。 这些类型的问题需要使用先进的生产率工具来解决问题。 本文将讨论大型数据科学项目的生产力工具。

大型数据科学项目的生产力工具

1.高性能计算

可以使用高性能计算(HPC)设施执行高强度数据科学项目。 HPC是包含多个节点的计算机集群。 HPC可以串行或并行执行计算。 为了使用HPC资源,数据科学家必须掌握以下技能:

a)命令行或类似UNIX的界面(Linux):与计算机服务器进行交互时需要此界面。 HPC有几种基于UNIX的操作系统。 我最喜欢的是Ubuntu。 从下面的链接中找到有关Ubuntu的更多信息:

Ubuntu提供了一个类似于Windows的UNIX系统,非常易于使用,尤其是对于不熟悉命令行的个人。

以下是一些对HPC必不可少的基本UNIX命令:

# make a new director

$ mkdir

# what is my current directory

$ pwd

# change director

$ cd

# lists your files in current working directory

$ ls

# copy file1 and save as file2

$ cp file1 file2

# delete a file1

$ rm file1

# search the string "r2 score" in file1

$ grep "r2 score" file1

# launch an editor that lets you create and edit a file

$ emacs file1

有关基本UNIX命令的更多信息,请参见:http://mally.stanford.edu/~sr/computing/basic-unix.html

b)有关批处理调度程序的知识:这是在HPC群集上非交互地运行作业所必需的。 假设我们想在允许MPI(节点之间的通信)进行消息传递的HPC计算机上运行机器学习模型。 假设我们模型的python代码存储在名为" my_script.py"的文件中。 要在HPC群集上运行它,我们可以在与Python脚本相同的目录中创建以下批处理脚本,我们将其称为" myjob.sh",如下所示:

#!/bin/bash#SBATCH --nodes = 3

#SBATCH --tasks-per-node = 32

#SBATCH --time = 02:00:00

#SBATCH --job-name = my_script.pymodule load pythonsrun -n 96 python my_script.py

要在HPC上以批处理模式运行" my_script.py",我们使用sbatch命令从命令行提交批处理脚本,然后等待其运行完成:

% sbatch myjob.sh

执行作业后,将在服务器上的当前工作目录中创建一个输出文件。 然后可以将输出文件用于后期处理和分析。 某些服务器配备了可通过图形用户界面进行后期分析和结果可视化的软件。 如果此功能不可用,则可以将输出文件传输到本地桌面以进行后期分析。 有许多软件应用程序可用于在本地目录和服务器上的目录之间传输文件。 一个例子就是PuTTY,它是一个免费的开源终端仿真器,串行控制台和网络文件传输应用程序。 它支持多种网络协议,包括安全副本(SCP)和安全外壳(SSH):https://www.putty.org/。

对于小型公司而言,构建HPC计算平台可能非常昂贵。 它还需要一支HPC技术人员团队来操作和维护该设施,并为数据科学家提供技术支持和培训。 由于大多数公司无法维护这些设施,因此他们更倾向于将云服务作为满足其数据科学和机器学习项目需求的生产力工具。

2.云服务

在云计算中,三个主要提供商是Amazon,Microsoft和IBM。 下图显示了不同的云机器学习服务的比较,它们的功能及其差异。

大型数据科学项目的生产力工具

> Image source: altexsoft

如上图所示,平台是否可以提供内置算法,使您可以构建,测试和部署机器学习模型。 AWS和Azure是用于构建和部署机器学习模型的最受欢迎的云平台。 数据科学家应尝试学习如何使用云服务。 下图显示,AWS,Azure和Linux(UNIX)是2020年最需要的技能之一。这些都是针对高强度数据科学和机器学习项目的生产力工具。

大型数据科学项目的生产力工具

> Image by Benjamin O. Tayo

总而言之,我们已经讨论了用于大规模数据科学项目的基本生产力工具。 随着越来越多的公司将高级生产力工具用于其数据科学和机器学习需求,对数据科学职业感兴趣的任何人都必须学习诸如HPC之类的高级生产力工具和AWS或Azure等云服务的基础知识 。

(本文翻译自Benjamin Obi Tayo Ph.D.的文章《Productivity Tools for Large-scale Data Science Projects》,参考:https://medium.com/towards-artificial-intelligence/productivity-tools-for-large-scale-data-science-projects-64810dfbb971)


分享到:


相關文章: