您的位置: 首頁(yè) >互聯(lián)網(wǎng) >

使用Python和Dask進(jìn)行數(shù)據(jù)科學(xué),分析和分布式機(jī)器學(xué)習(xí)的Nvidia GPU進(jìn)行數(shù)據(jù)科學(xué) 分析和分布式機(jī)器學(xué)習(xí)的Nvidia GPU

2019-03-24 14:45:34 編輯: 來(lái)源:
導(dǎo)讀 使用Python和Dask進(jìn)行數(shù)據(jù)科學(xué),分析和分布式機(jī)器學(xué)習(xí)的Nvidia GPUNvidia希望將GPU的成功范圍從圖形和深度學(xué)習(xí)擴(kuò)展到完整的數(shù)據(jù)科學(xué)體驗(yàn)。

使用Python和Dask進(jìn)行數(shù)據(jù)科學(xué),分析和分布式機(jī)器學(xué)習(xí)的Nvidia GPU

Nvidia希望將GPU的成功范圍從圖形和深度學(xué)習(xí)擴(kuò)展到完整的數(shù)據(jù)科學(xué)體驗(yàn)。開(kāi)源Python庫(kù)Dask是關(guān)鍵。

人工智能

英特爾在量子計(jì)算領(lǐng)域提供AI突破

人工智能的進(jìn)步在孤島和文化問(wèn)題中得到了充分發(fā)揮

調(diào)查:在企業(yè)中管理AI和ML

Facebook首次推出AI工具來(lái)解決復(fù)仇色情問(wèn)題

IBM通過(guò)分享AI人臉識(shí)別(CNET)照片激起爭(zhēng)議

企業(yè)無(wú)法獲得AI網(wǎng)絡(luò)安全工具的工作方式(TechRepublic)

Nvidia長(zhǎng)期以來(lái)不僅僅是一家硬件公司。由于其GPU廣泛用于運(yùn)行機(jī)器學(xué)習(xí)工作負(fù)載,因此機(jī)器學(xué)習(xí)已成為Nvidia的重中之重。在本周的GTC活動(dòng)中,Nvidia提出了許多相關(guān)要點(diǎn),旨在建立機(jī)器學(xué)習(xí)并擴(kuò)展到數(shù)據(jù)科學(xué)和分析。

Nvidia希望“將軟件與硬件相結(jié)合,以提供將數(shù)據(jù)轉(zhuǎn)化為洞察力和智能所需的計(jì)算能力。”Nvidia首席執(zhí)行官Jensen Huang強(qiáng)調(diào)了芯片架構(gòu),系統(tǒng),算法和應(yīng)用之間的協(xié)作方面。

另外:

因此,Nvidia專注于構(gòu)建GPU開(kāi)發(fā)人員生態(tài)系統(tǒng)。根據(jù)Huang的說(shuō)法,GPU開(kāi)發(fā)者生態(tài)系統(tǒng)正在快速增長(zhǎng):開(kāi)發(fā)人員數(shù)量從去年的80萬(wàn)增長(zhǎng)到120多萬(wàn)。您可以構(gòu)建一個(gè)開(kāi)發(fā)人員生態(tài)系統(tǒng)嗎?開(kāi)源軟件。

Nvidia在GTC上宣布了用于GPU加速數(shù)據(jù)科學(xué)的CUDA-X AI SDK。Nvidia稱CUDA-X AI是一個(gè)加速數(shù)據(jù)科學(xué)的端到端平臺(tái),涵蓋了數(shù)據(jù)科學(xué)工作流程的許多部分。目標(biāo)是使用GPU盡可能地并行化這些任務(wù),從而加快它們的速度。

CUDA-X AI的一個(gè)關(guān)鍵部分是RAPIDS。RAPIDS是一套開(kāi)源軟件庫(kù),用于完全在GPU上執(zhí)行端到端數(shù)據(jù)科學(xué)和分析管道。RAPIDS的一個(gè)關(guān)鍵部分是Dask。Dask是一個(gè)開(kāi)源框架,其目標(biāo)是本地?cái)U(kuò)展Python。

由于Python是大多數(shù)數(shù)據(jù)科學(xué)工作的首選語(yǔ)言,因此您可以看到為什么Nvidia選擇將其作為其戰(zhàn)略的關(guān)鍵部分。ZDNet與Dask創(chuàng)作者M(jìn)atthew Rocklin進(jìn)行了問(wèn)答,他最近開(kāi)始為Nvidia工作。

擴(kuò)展PYTHON

Rocklin說(shuō),Dask是從PyData生態(tài)系統(tǒng)(Pandas,NumPy,Scikit-Learn,Jupyter等)發(fā)展而來(lái)的。PyData深受數(shù)據(jù)科學(xué)家的喜愛(ài),因?yàn)樗俣瓤?主要用C / C ++編寫),非專家很容易使用。問(wèn)題是PyData通常不能很好地?cái)U(kuò)展,這是數(shù)據(jù)集大小增加時(shí)的一個(gè)限制。

此外:Streamlio,一個(gè)用于云時(shí)代的開(kāi)放核心流數(shù)據(jù)結(jié)構(gòu)

Dask旨在擴(kuò)展現(xiàn)有的PyData項(xiàng)目,并將它們引入并行計(jì)算,而無(wú)需完全重寫。Rocklin在Anaconda Inc(當(dāng)時(shí)名為Continuum)工作時(shí)開(kāi)始使用Dask,但Dask很快成長(zhǎng)為一個(gè)社區(qū)項(xiàng)目,其中包括來(lái)自大多數(shù)主要PyData庫(kù)的貢獻(xiàn)者。

數(shù)據(jù)科學(xué)工作負(fù)載可能需要一段時(shí)間才能執(zhí)行。加速它們是Dask的意思,這就是它被Nvidia采用的原因。

(圖片來(lái)源:Nvidia)

Anaconda投資該項(xiàng)目是因?yàn)樗麄冇性S多喜歡Pandas,Scikit-Learn和朋友的客戶,但他們正在努力應(yīng)對(duì)更大的數(shù)據(jù)量。Rocklin表示,顯然社區(qū)和市場(chǎng)需要使PyData處理更大的規(guī)模,但也存在許多技術(shù)和社會(huì)挑戰(zhàn):

“我們不得不在生態(tài)系統(tǒng)中堵塞大數(shù)據(jù)方面缺少的漏洞。大數(shù)據(jù)空間中有許多技術(shù)當(dāng)時(shí)并不是Python中可用的:像Parquet,Orc和Avro這樣的數(shù)據(jù)格式,數(shù)據(jù)存儲(chǔ)系統(tǒng),如HDFS,GCS,S3,YARN等部署解決方案。“

他繼續(xù)補(bǔ)充說(shuō),在Python生態(tài)系統(tǒng)中,許多技術(shù)幾乎沒(méi)有支持,使它們?cè)诿嫦蛐阅艿沫h(huán)境中并不真正有用。Dask開(kāi)始專注于單節(jié)點(diǎn)重型工作站用例。目標(biāo)是將Python擴(kuò)展到現(xiàn)代CPU的所有核心,并將數(shù)據(jù)大小限制從可用RAM(~100GB)的數(shù)量擴(kuò)展到單個(gè)工作站上的可用磁盤數(shù)量(~10TB)。

當(dāng)時(shí),這被視為高生產(chǎn)力的最佳點(diǎn)。羅克林表示,“Dask是Python原生的,易于使用,很多群體都有Numpy / Pandas / Scikit學(xué)習(xí)這種規(guī)模的風(fēng)格問(wèn)題(這是大多數(shù)人)非常喜歡它。”

然而,他繼續(xù)補(bǔ)充說(shuō),人們擴(kuò)展到更大的數(shù)據(jù)集的能力似乎是無(wú)法滿足的,所以大約一年后,Dask被擴(kuò)展到分布式計(jì)算環(huán)境中工作,該環(huán)境具有或多或少與系統(tǒng)類似的擴(kuò)展屬性火花。

Apache Spark是一個(gè)非常受歡迎的數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)開(kāi)源平臺(tái),由Databricks提供商業(yè)支持。Spark支持內(nèi)存處理,并通過(guò)群集進(jìn)行擴(kuò)展。然而,Spark對(duì)許多Python用戶的問(wèn)題在于對(duì)Python的支持是有限的,并且部署和調(diào)優(yōu)集群并非易事。

另外:

Dask是為解決這個(gè)問(wèn)題而開(kāi)發(fā)的。那么Dask和Spark如何比較呢?羅克林說(shuō)這是他經(jīng)常遇到的一個(gè)問(wèn)題,所以經(jīng)常會(huì)有一個(gè)詳細(xì)的答案。外賣是Dask體積更小,重量更輕。Dask的功能少于Spark,并且旨在與其他Python庫(kù)一起使用。

DASK通過(guò)GPU幫助加速整個(gè)數(shù)據(jù)科學(xué)家的工作流程

最近,Rocklin加入了Nvidia,以幫助用Dask擴(kuò)展RAPIDS。他指出,Nvidia已經(jīng)做了一段時(shí)間了,但是想要更多的火力來(lái)支持Dask的努力:

“NVIDIA最近一直是開(kāi)源生態(tài)系統(tǒng)中的支持者,所以我對(duì)這個(gè)機(jī)會(huì)感到很興奮。借助RAPIDS,NVIDIA希望將GPU的成功范圍從圖形和深度學(xué)習(xí)擴(kuò)展到完整的數(shù)據(jù)科學(xué)體驗(yàn)。這意味著構(gòu)建GPU - 用于更廣泛任務(wù)的加速庫(kù)。“

Nvidia的T4 GPU。但是,如果沒(méi)有適當(dāng)?shù)能浖褩?,它將無(wú)法幫助您。

(圖片來(lái)源:Nvidia)

計(jì)劃的結(jié)果是能夠加速整個(gè)數(shù)據(jù)科學(xué)家的工作流程,而不僅僅是深度學(xué)習(xí)時(shí)的最終培訓(xùn)和預(yù)測(cè)部分。傳統(tǒng)的機(jī)器學(xué)習(xí)算法,數(shù)據(jù)幀操作,如groupby-aggregations,連接和時(shí)間序列操作。數(shù)據(jù)提取,如CSV和JSON解析。和陣列計(jì)算一樣,如圖像處理和圖形分析:

“當(dāng)我第一次聽(tīng)到這個(gè)時(shí),我非常懷疑。我一直認(rèn)為GPU僅適用于高度規(guī)則和計(jì)算密集的計(jì)算,就像在深度學(xué)習(xí)中發(fā)生的矩陣倍增一樣。

但是當(dāng)我看到NVIDIA已經(jīng)構(gòu)建時(shí)一個(gè)CSV解析器(一個(gè)高度不規(guī)則的計(jì)算),比我賣掉的Pandas標(biāo)準(zhǔn)快了20倍。這些機(jī)器出來(lái)的性能數(shù)字非常驚人。“

Rocklin說(shuō),今天RAPIDS使用Dask(和MPI)將這些庫(kù)中的一些擴(kuò)展到多個(gè)GPU和多個(gè)節(jié)點(diǎn)。就像Dask可以在分布式CPU集群中管理許多Pandas數(shù)據(jù)幀一樣,它也可以在GPU的分布式集群中管理許多GPU加速的Pandas數(shù)據(jù)幀。他繼續(xù)補(bǔ)充說(shuō),這最終比人們預(yù)期的更容易,原因有兩個(gè)。

首先,因?yàn)镈ask被設(shè)計(jì)為圍繞其他庫(kù)進(jìn)行并行化,所以它處理負(fù)載平衡和彈性等問(wèn)題,但是沒(méi)有強(qiáng)加任何適合NVIDIA需求的特定計(jì)算系統(tǒng),因?yàn)樗Mx自己的節(jié)點(diǎn)計(jì)算。

其次,Dask已經(jīng)擁有適用于Numpy,Pandas,Scikit-Learn和朋友的算法,并且其中許多算法對(duì)于等效的RAPIDS庫(kù)也是開(kāi)箱即用的,它們也復(fù)制了這些API。

分布式機(jī)器學(xué)習(xí)做與不做

但這真的很容易嗎?最近,Google Cloud AI的技術(shù)負(fù)責(zé)人Viacheslav Kovalevskyi警告不要使用分發(fā),除非絕對(duì)必要。我們想知道Rocklin對(duì)此的看法是什么,以及他認(rèn)為未來(lái)分布式機(jī)器學(xué)習(xí)面臨的最大挑戰(zhàn)和機(jī)遇。

另外:

羅克林指出,在這個(gè)領(lǐng)域有效地進(jìn)行計(jì)算仍然需要相當(dāng)多的專業(yè)知識(shí)。當(dāng)然,有很多機(jī)器學(xué)習(xí)問(wèn)題,比如深度學(xué)習(xí)應(yīng)用程序中使用的參數(shù)服務(wù)器,如果你分發(fā)而不是非常小心,你可能會(huì)遭受巨大的性能損失。

“童話區(qū)”:只是在問(wèn)題上投入更多硬件并不一定能讓機(jī)器學(xué)習(xí)更快。這一切都取決于問(wèn)題的類型。

(圖片來(lái)源:Viacheslav Kovalevskyi)

他補(bǔ)充說(shuō),使用集群會(huì)產(chǎn)生非常實(shí)際的人力和管理成本。集群很復(fù)雜,通常由數(shù)據(jù)科學(xué)之外的其他團(tuán)隊(duì)管理,難以調(diào)試,并且通常會(huì)在分析師和洞察者之間設(shè)置障礙。

Rocklin認(rèn)為,單個(gè)大型機(jī)器的生產(chǎn)效率很高,無(wú)論是從性能/硬件角度還是從人/管理障礙的角度來(lái)看。如果您可以在非分布式系統(tǒng)上解決問(wèn)題,那么這幾乎總是正確的選擇:

“然而,機(jī)器學(xué)習(xí)是一個(gè)廣泛的術(shù)語(yǔ)。從計(jì)算的角度來(lái)看,機(jī)器學(xué)習(xí)有很多種。有些東西適用于某些問(wèn)題,有些則不適用。很難做出一攬子陳述。

有很多問(wèn)題擴(kuò)展是非常自然的,并且?guī)缀鯖](méi)有性能損失。在我們的社會(huì)中有一些關(guān)鍵應(yīng)用真正需要大規(guī)模擴(kuò)展才能取得進(jìn)展(想想基因組學(xué),氣候變化,成像)。理想情況下我們?cè)谛?中等數(shù)據(jù)上使用的工具一臺(tái)機(jī)器可以和我們?cè)谇Ч?jié)點(diǎn)集群上使用的工具相同。“

下一步IT轉(zhuǎn)型

在實(shí)現(xiàn)邊緣計(jì)算之前您需要了解的內(nèi)容

這些是您的公司在沿著邊緣分析和處理路線前應(yīng)該問(wèn)的問(wèn)題。

閱讀更多

汽車,引擎和社交動(dòng)態(tài):DASK作為PYTHON世界的調(diào)度程序

說(shuō)到集群,并回到Dask和Spark之間的比較,在通過(guò)Dask API時(shí)會(huì)有另一個(gè)顯而易見(jiàn)的差異:它是一個(gè)較低級(jí)別的API。例如,調(diào)度任務(wù)等事情實(shí)施起來(lái)更加細(xì)微。它看起來(lái)像Dask可能是Python用戶分發(fā)其代碼(和數(shù)據(jù))的“快速而骯臟”的方式,但是這種權(quán)衡更傾向于使用細(xì)節(jié)。

再一次,就像PyTorch的情況一樣,答案就是這是一個(gè)功能,而不是一個(gè)bug。Rocklin表示,Dask的最初目標(biāo)是提供Numpy和Pandas的高級(jí)并行實(shí)現(xiàn),需要一個(gè)相當(dāng)復(fù)雜的任務(wù)調(diào)度器來(lái)處理負(fù)載平衡,彈性,任務(wù)放置,網(wǎng)絡(luò)通信等問(wèn)題。

此外:

他們發(fā)現(xiàn),對(duì)于大約一半的用戶來(lái)說(shuō),這很棒。他們正在進(jìn)行相當(dāng)傳統(tǒng)的業(yè)務(wù)分析或科學(xué)工作負(fù)載,并且不需要任何其他工作。然而,另一半正在進(jìn)行更加復(fù)雜的計(jì)算。對(duì)于他們來(lái)說(shuō),并行的Numpy / Pandas實(shí)現(xiàn)沒(méi)有用,但底層的任務(wù)調(diào)度器是:

“這就像我們制造了一輛豪華轎車,人們說(shuō)”太棒了!我只需要引擎“。那是因?yàn)樗麄冋诮ㄔ炫c預(yù)期完全不同的東西,比如火箭飛船或潛水艇或賽格威。他們想要內(nèi)部調(diào)度機(jī)器,但想把它插入他們自己的高度定制解決方案。這就是低級(jí)API的來(lái)源。

今天大多數(shù)用戶仍然從Dask的高級(jí)API開(kāi)始,然后他們遇到了復(fù)雜的問(wèn)題并轉(zhuǎn)向了低級(jí)API.Dask的設(shè)計(jì)使其易于來(lái)回切換,所以人們根據(jù)需要混合搭配。“

調(diào)度很難。Dask需要構(gòu)建調(diào)度功能,在某些情況下,人們選擇將其用作調(diào)度程序。

(圖片來(lái)源:Nvidia)

Rockin指出,今天的Python社區(qū)中有很大一部分的功能遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)的商業(yè)智能領(lǐng)域。他們正在發(fā)明新的模型,并構(gòu)建以前沒(méi)有真正構(gòu)建過(guò)的復(fù)雜系統(tǒng)。引擎(任務(wù)調(diào)度程序)仍然有用,但車輪,轉(zhuǎn)向柱和傳輸(數(shù)據(jù)框算法)不適用于他們想去的地方。

這是與Dask結(jié)束時(shí)要記住的事情。由于Java世界在YARN中有調(diào)度程序,并且云原生世界有Kubernetes,因此Python世界似乎也在使用Dask。羅克林表示,在Dask上工作是一項(xiàng)偉大的社交和社區(qū)建設(shè)實(shí)驗(yàn):

“我們和其他幾個(gè)團(tuán)體正試圖推動(dòng)整個(gè)PyData生態(tài)系統(tǒng),這在范圍上都是巨大的,并且還分裂成數(shù)百個(gè)不同的群體。我們花了很多時(shí)間建立共識(shí),弄清楚最終用戶需要什么,哪些機(jī)構(gòu)愿意參與,哪些機(jī)構(gòu)能夠并且愿意開(kāi)展這項(xiàng)工作。過(guò)去幾年來(lái),各種不同群體的籌備工作重新抬頭,令人興奮。 “


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!

最新文章

精彩推薦

圖文推薦

點(diǎn)擊排行

2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號(hào):閩ICP備19027007號(hào)-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。