在 NVIDIA ,我們正在推動數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和人工智能的變革。推動我們前進(jìn)的一些主要趨勢如下:
Python 作為最常用的數(shù)據(jù)分析語言的崛起
對高可用性分布式計(jì)算的需求增加
需要更多的計(jì)算能力
開源軟件成為業(yè)界主流
這些趨勢的交叉點(diǎn)是 達(dá)斯克。 ,一個(gè)開源庫,旨在為現(xiàn)有的 Python 堆棧提供并行性。在這篇文章中,我們將討論 Dask ,它是什么,我們?nèi)绾卧?NVIDIA 中使用它,以及為什么它在大型企業(yè)中有如此大的潛力。最后,我們強(qiáng)調(diào)了對企業(yè) Dask 支持的日益增長的需求,以及像 盤繞 、 水蟒 和 全視距 這樣的公司正在滿足小型和大型客戶的需求。
Dask :應(yīng)對伸縮 Python 的歷史挑戰(zhàn)
蟒蛇很慢。 Python 最初是由 Guido Van Rossum 在 1989 年作為一個(gè)假日愛好項(xiàng)目開發(fā)的,它并不打算處理它今天在一些計(jì)算量最大的組織中所做的 tb 級生產(chǎn)工作負(fù)載。怎么搞的?
Python 是一種高度可用的語言,它將 Fortran 和 CUDA 等高性能語言和 api 與輕量級、用戶友好的 api 相連接。通過將可訪問性與性能相結(jié)合,它已被科學(xué)家、主題專家和其他可能沒有傳統(tǒng)計(jì)算機(jī)科學(xué)背景的數(shù)據(jù)從業(yè)人員所采用。成功的項(xiàng)目如 NumPy 、 學(xué)習(xí)工具 scikit ,尤其是 [ZBK5 號] 改變了我們對數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)的可訪問性的看法。
在大數(shù)據(jù)用例變得如此流行之前,這些項(xiàng)目并沒有一個(gè)強(qiáng)大的并行解決方案。 Python 是單核計(jì)算的選擇,但是用戶不得不為多核或多機(jī)器并行尋找其他解決方案。這導(dǎo)致了用戶體驗(yàn)的中斷和挫折感。
許多偉大的開發(fā)人員試圖解決這種挫折。類似 Hadoop 的 mrjob 和 Apache 的 PySpark 這樣的庫允許您將計(jì)算與 Python 并行化,但用戶體驗(yàn)與 NumPy 、 pandas 和 scikit Learning 等收藏夾的體驗(yàn)不同。這就創(chuàng)建了一種模式,工作必須兩次完成:在 pandas 中開發(fā)您的想法,然后在 PySpark 和 MLlib 公司 中重構(gòu),以實(shí)現(xiàn)規(guī)模化工作。通常,這項(xiàng)工作由兩個(gè)獨(dú)立的團(tuán)隊(duì)完成,在不同團(tuán)隊(duì)通信以排除錯(cuò)誤時(shí),會減慢部署速度并創(chuàng)建開銷。
輸入 Dask 。 這種在 Python 中擴(kuò)展工作負(fù)載的日益增長的需求導(dǎo)致了 Dask 在過去五年中的自然增長。同樣受到 web 開發(fā)人員的歡迎, Python 有一個(gè)健壯的網(wǎng)絡(luò)棧, Dask 利用它來構(gòu)建一個(gè)靈活、高效、分布式的計(jì)算系統(tǒng),能夠擴(kuò)展各種工作負(fù)載。 Dask 的靈活性有助于它在其他大數(shù)據(jù)解決方案(如 Hadoop 或 ApacheSpark )中脫穎而出。其對本機(jī)代碼的支持使得它特別容易用于 Python 用戶和 C / C ++ +/ CUDA 開發(fā)人員。
Dask 很快被 Python 開發(fā)人員社區(qū)采用。今天, Dask 是由一個(gè)開發(fā)人員社區(qū)管理的,他們跨越了幾十個(gè)機(jī)構(gòu)和 PyData 項(xiàng)目,比如 pandas 、 Jupyter 和 scikitlearn 。 Dask 與這些流行工具的集成使得采用率迅速上升,在需要 Pythonic 大數(shù)據(jù)工具的開發(fā)人員中,采用率約為 20% 。

圖 1 Python 開發(fā)人員使用的大數(shù)據(jù)工具(》 100%
Dask 和 NVIDIA :推動無障礙加速分析
NVIDIA 了解 GPUs 提供給數(shù)據(jù)分析的能力。這就是為什么我們一直在努力幫助你從數(shù)據(jù)中獲得最大的信息。在了解 Dask 的強(qiáng)大功能和可訪問性之后,我們開始在 RAPIDS 項(xiàng)目上使用 Dask ,目標(biāo)是將加速數(shù)據(jù)分析工作負(fù)載水平擴(kuò)展到多個(gè) GPUs 和 GPU – 系統(tǒng)。
由于可訪問的 Python 接口和數(shù)據(jù)科學(xué)以外的多功能性, Dask 在整個(gè) NVIDIA 中擴(kuò)展到其他項(xiàng)目,成為從解析 JSON 到管理端到端深度學(xué)習(xí)工作流的新應(yīng)用程序的自然選擇。以下是我們使用 Dask 的許多正在進(jìn)行的項(xiàng)目和合作中的一些。
RAPIDS
RAPIDS 是一套開源軟件庫和 api ,用于完全在 GPUs 上執(zhí)行數(shù)據(jù)科學(xué)管道,通常將培訓(xùn)時(shí)間從幾天縮短到幾分鐘。基于 NVIDIA CUDA -X AI , RAPIDS 結(jié)合了多年來在圖形、機(jī)器學(xué)習(xí)、高性能計(jì)算( HPC )等領(lǐng)域的發(fā)展。
雖然 CUDA -X 的功能非常強(qiáng)大,但大多數(shù)數(shù)據(jù)分析從業(yè)者更喜歡使用 Python 工具集(如 NumPy 、 pandas 和 scikit learn )進(jìn)行實(shí)驗(yàn)、構(gòu)建和培訓(xùn)模型。 Dask 是 RAPIDS 生態(tài)系統(tǒng)的重要組成部分,通過基于 Python 的舒適用戶體驗(yàn),使您更容易利用加速計(jì)算。
NVTabular
NVTabular 是一個(gè)功能工程和預(yù)處理庫,旨在快速、輕松地操作 TB 的表格數(shù)據(jù)集。它建立在 Dask-cuDF 庫之上,提供了一個(gè)高級抽象層,簡化了大規(guī)模高性能 ETL 操作的創(chuàng)建。通過使用 RAPIDS 和 Dask , NVTabular 可以擴(kuò)展到數(shù)千個(gè) GPUs ,消除了等待 ETL 進(jìn)程完成的瓶頸。
BlazingsQL
BlazingsQL 是 GPUs 上的一個(gè)非常快速的分布式 SQL 引擎,也是基于 Dask-cuDF 構(gòu)建的。它使數(shù)據(jù)科學(xué)家能夠輕松地將大型數(shù)據(jù)湖連接到 GPU —加速分析 。只需幾行代碼,就可以在 HDFS 和 Amazon S3 這樣的數(shù)據(jù)湖中直接查詢原始文件格式,如 CSV 和 apacheparquet ,然后直接將結(jié)果導(dǎo)入 GPU 內(nèi)存。
BlazingDB , Inc 。是 BlazingSQL 背后的公司,是 RAPIDS 的核心貢獻(xiàn)者,并與 NVIDIA 進(jìn)行了大量合作。
庫斯特里姆
在 NVIDIA ,我們在內(nèi)部使用 Dask 為我們的部分產(chǎn)品和業(yè)務(wù)運(yùn)營提供燃料。使用 斯特雷姆茲 、 Dask 和 RAPIDS ,我們構(gòu)建了 庫斯特里姆 ,一個(gè)使用 100% 原生 Python 的加速流數(shù)據(jù)平臺。有了 cuStreamz ,我們可以對一些最苛刻的應(yīng)用程序進(jìn)行實(shí)時(shí)分析,比如 GeForce NOW 、 NVIDIA GPU Cloud ( NGC )和 NVIDIA Drive SIM 。雖然這是一個(gè)年輕的項(xiàng)目,但我們已經(jīng)看到使用支持 Dask 的 cuStreamz 的其他流媒體數(shù)據(jù)平臺的總體擁有成本顯著降低。
Dask 和 RAPIDS :促進(jìn)企業(yè)創(chuàng)新
許多公司都在采用 Dask 和 RAPIDS 來擴(kuò)展其一些最重要的業(yè)務(wù)。 NVIDIA 的一些最大的合作伙伴,行業(yè)的領(lǐng)導(dǎo)者,正在使用 Dask 和 RAPIDS 來支持他們的數(shù)據(jù)分析。下面是一些最近令人興奮的例子。
大寫一
Capital One 以“改變銀行業(yè)為己任”,在大規(guī)模數(shù)據(jù)分析方面投入巨資,為客戶提供更好的產(chǎn)品和服務(wù),提高整個(gè)企業(yè)的運(yùn)營效率。借助一個(gè)對 Python 友好的大型數(shù)據(jù)科學(xué)家社區(qū), 大寫一使用 Dask 和 RAPIDS 可以擴(kuò)展和加速傳統(tǒng)上難以并行化的 Python 工作負(fù)載,并顯著減少大數(shù)據(jù)分析的學(xué)習(xí)曲線。
國家能源研究科學(xué)計(jì)算中心
致力于為基礎(chǔ)科學(xué)研究提供計(jì)算資源和專業(yè)知識, NERSC 是通過計(jì)算加速科學(xué)發(fā)現(xiàn)的世界領(lǐng)先者。這項(xiàng)任務(wù)的一部分是讓研究人員能夠使用超級計(jì)算機(jī)來推動科學(xué)探索。有了 Dask 和 RAPIDS , 他們最新的超級計(jì)算機(jī)“ Perlmutter ” 的不可思議的功能就可以很容易地被那些在超級計(jì)算方面背景有限的研究人員和科學(xué)家所利用。通過使用 Dask 創(chuàng)建一個(gè)熟悉的界面,他們將超級計(jì)算的能力交給了科學(xué)家,推動了跨領(lǐng)域的潛在突破。
橡樹嶺國家實(shí)驗(yàn)室
在全球大流行的情況下,橡樹嶺國家實(shí)驗(yàn)室( ORNL )正在通過建立一個(gè)“虛擬實(shí)驗(yàn)室”來推動創(chuàng)新的邊界,以對抗 COVID-19 的藥物發(fā)現(xiàn)。 使用 Dask 、 RAPIDS 、 BlazingSQL 和 NVIDIA GPUs , 研究人員可以利用他們筆記本電腦上的 Summit 超級計(jì)算機(jī)來篩選小分子化合物,以確定它們與 SARS-CoV-2 主要蛋白酶結(jié)合的能力。有了這樣一個(gè)靈活的工具集,工程師們能夠在不到兩周的時(shí)間內(nèi)啟動并運(yùn)行這個(gè)定制的工作流,并且可以看到次秒級的查詢結(jié)果。
沃爾瑪實(shí)驗(yàn)室
作為零售業(yè)的巨頭,沃爾瑪利用大量的數(shù)據(jù)集來更好地為客戶服務(wù),預(yù)測產(chǎn)品需求,提高內(nèi)部效率。依靠大規(guī)模數(shù)據(jù)分析來實(shí)現(xiàn)這些目標(biāo), 沃爾瑪實(shí)驗(yàn)室轉(zhuǎn)向了達(dá)斯克、 XGBoost 和 RAPIDS 可將培訓(xùn)時(shí)間減少 100 倍,從而實(shí)現(xiàn)快速模型迭代和精度改進(jìn),以進(jìn)一步推動其業(yè)務(wù)。利用 Dask ,他們向數(shù)據(jù)科學(xué)家開放了 NVIDIA GPUs 的能力,以解決他們最棘手的問題。
企業(yè)中的達(dá)斯克:一個(gè)成長中的市場
雖然企業(yè)中的實(shí)踐者通常很容易嘗試開源軟件,但在生產(chǎn)中使用該軟件則更具挑戰(zhàn)性。隨著新興的、有希望的開源技術(shù),企業(yè)可能會推出自己的部署來解決現(xiàn)實(shí)世界中的業(yè)務(wù)問題。隨著開源軟件的成熟和發(fā)展,公司紛紛涌現(xiàn),開始滿足企業(yè)級部署、集成和支持的需求。
隨著其在大型機(jī)構(gòu)中的日益成功,我們已經(jīng)開始看到更多的公司滿足企業(yè)對 Dask 產(chǎn)品和服務(wù)的需求。以下是一些正在滿足企業(yè)需求的公司,標(biāo)志著一個(gè)成熟市場的開始。
水蟒
與 SciPy 生態(tài)系統(tǒng)的一大部分一樣, Dask 從 水蟒公司, 開始,在那里它獲得了發(fā)展,并逐漸發(fā)展成為一個(gè)更大的開源社區(qū)。隨著社區(qū)的發(fā)展和企業(yè)開始采用 Dask , Anaconda 開始提供咨詢服務(wù)、培訓(xùn)和開源支持,以簡化企業(yè)的使用。作為開源軟件的主要支持者, Anaconda 還雇傭了許多 Dask 維護(hù)人員,為企業(yè)客戶提供了對軟件的深入理解。
盤繞
由 Dask 項(xiàng)目負(fù)責(zé)人和前 NVIDIA 員工 Matthew Rocklin 等 Dask 維護(hù)人員創(chuàng)建, 盤繞 提供了一個(gè)圍繞 Dask 的托管解決方案,使其在云環(huán)境和企業(yè)環(huán)境中都變得容易,同時(shí)還提供企業(yè)支持,幫助優(yōu)化機(jī)構(gòu)內(nèi)的 Python 分析。最近 正式發(fā)布 ,他們的 公共托管托管部署產(chǎn)品 為今天使用 Dask 和 RAPIDS 提供了一種既健壯又直觀的方法。
全視距
致力于幫助企業(yè)從其數(shù)據(jù)中創(chuàng)造價(jià)值, 全視距 提供多種服務(wù),推動跨行業(yè)的數(shù)據(jù)分析。與 Anaconda 一樣, Quansight 為使用 Dask 的企業(yè)提供咨詢服務(wù)和培訓(xùn)。 Quansight 擁有 PyData 和 NumFOCUS 生態(tài)系統(tǒng),它還為需要在開源軟件中進(jìn)行增強(qiáng)或缺陷修復(fù)的企業(yè)提供支持。
結(jié)論
Dask 是一個(gè)功能強(qiáng)大且可訪問的開源項(xiàng)目,它允許數(shù)據(jù)分析從業(yè)者輕松地?cái)U(kuò)展 Python 工作負(fù)載。由于它的承諾和易用性, Dask 已經(jīng)在數(shù)據(jù)科學(xué)家中引起了極大的興趣,并且開始在企業(yè)環(huán)境中顯示出驚人的結(jié)果。在 NVIDIA 上,我們相信 Dask 的變革能力,我們將其作為 RAPIDS 套件中的一個(gè)主要組件根深蒂固,允許通過 Python 接口訪問加速計(jì)算的能力。
隨著 Dask 的不斷成熟,我們開始看到越來越多的公司滿足對 Dask 管理部署和對企業(yè)支持的需求。這一成熟標(biāo)志著數(shù)據(jù)分析行業(yè)的重大進(jìn)步,推動更廣泛的受眾獲得可訪問的高性能分析,并使改變游戲規(guī)則、數(shù)據(jù)驅(qū)動的創(chuàng)新成為必然。
關(guān)于作者
Jacob Schmitt 是 NVIDIA 企業(yè)數(shù)據(jù)科學(xué)產(chǎn)品團(tuán)隊(duì)的產(chǎn)品營銷經(jīng)理,他幫助企業(yè)用戶連接到強(qiáng)大的數(shù)據(jù)科學(xué)解決方案。在加入 NVIDIA 之前,他是 Capital One 機(jī)器學(xué)習(xí)中心的產(chǎn)品經(jīng)理,推動了諸如 Dask 和 RAPIDS 等強(qiáng)大開源庫的采用和擴(kuò)展。
Matthew Rocklin 是 Coiled 的首席執(zhí)行官,這家公司使 Python 更容易擴(kuò)展以解決數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)問題。 Matt 還是一個(gè)長期的開源維護(hù)者,特別關(guān)注 Dask 。在開始盤繞之前,馬特帶領(lǐng) Dask + RAPIDS 團(tuán)隊(duì)進(jìn)入 NVIDIA 。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5708瀏覽量
110165 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
67文章
8569瀏覽量
137320
發(fā)布評論請先 登錄
NVIDIA重點(diǎn)展示推動AI走向物理世界的關(guān)鍵突破
NVIDIA NVQLink推動量子計(jì)算迎來轉(zhuǎn)折點(diǎn)
Oracle和NVIDIA合作加速向量搜索和企業(yè)數(shù)據(jù)處理
NVIDIA加速計(jì)算平臺助力從地球到太空的AI應(yīng)用
生命科學(xué)領(lǐng)先企業(yè)采用 NVIDIA BioNeMo 平臺加速 AI 驅(qū)動的藥物研發(fā)
使用Dask和NVIDIA推動無障礙加速分析
評論