大型數據科學項目的生產力工具

分析用於現實工業類型項目的不同生產力工具

大型數據科學項目的生產力工具

> 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)


分享到:


相關文章: