在 NVIDIA ,我們正在推動(dòng)數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)和人工智能的變革。推動(dòng)我們前進(jìn)的一些主要趨勢(shì)如下:
Python 作為最常用的數(shù)據(jù)分析語言的崛起
對(duì)高可用性分布式計(jì)算的需求增加
需要更多的計(jì)算能力
開源軟件成為業(yè)界主流
這些趨勢(shì)的交叉點(diǎn)是 達(dá)斯克。 ,一個(gè)開源庫,旨在為現(xiàn)有的 Python 堆棧提供并行性。在這篇文章中,我們將討論 Dask ,它是什么,我們?nèi)绾卧?NVIDIA 中使用它,以及為什么它在大型企業(yè)中有如此大的潛力。最后,我們強(qiáng)調(diào)了對(duì)企業(yè) Dask 支持的日益增長(zhǎng)的需求,以及像 盤繞 、 水蟒 和 全視距 這樣的公司正在滿足小型和大型客戶的需求。
Dask :應(yīng)對(duì)伸縮 Python 的歷史挑戰(zhàn)
蟒蛇很慢。 Python 最初是由 Guido Van Rossum 在 1989 年作為一個(gè)假日愛好項(xiàng)目開發(fā)的,它并不打算處理它今天在一些計(jì)算量最大的組織中所做的 tb 級(jí)生產(chǎn)工作負(fù)載。怎么搞的?
Python 是一種高度可用的語言,它將 Fortran 和 CUDA 等高性能語言和 api 與輕量級(jí)、用戶友好的 api 相連接。通過將可訪問性與性能相結(jié)合,它已被科學(xué)家、主題專家和其他可能沒有傳統(tǒng)計(jì)算機(jī)科學(xué)背景的數(shù)據(jù)從業(yè)人員所采用。成功的項(xiàng)目如 NumPy 、 學(xué)習(xí)工具 scikit ,尤其是 [ZBK5 號(hào)] 改變了我們對(duì)數(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ī)?;ぷ鳌Mǔ?,這項(xiàng)工作由兩個(gè)獨(dú)立的團(tuán)隊(duì)完成,在不同團(tuán)隊(duì)通信以排除錯(cuò)誤時(shí),會(huì)減慢部署速度并創(chuàng)建開銷。
輸入 Dask 。 這種在 Python 中擴(kuò)展工作負(fù)載的日益增長(zhǎng)的需求導(dǎo)致了 Dask 在過去五年中的自然增長(zhǎng)。同樣受到 web 開發(fā)人員的歡迎, Python 有一個(gè)健壯的網(wǎng)絡(luò)棧, Dask 利用它來構(gòu)建一個(gè)靈活、高效、分布式的計(jì)算系統(tǒng),能夠擴(kuò)展各種工作負(fù)載。 Dask 的靈活性有助于它在其他大數(shù)據(jù)解決方案(如 Hadoop 或 ApacheSpark )中脫穎而出。其對(duì)本機(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 :推動(dòng)無障礙加速分析
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è)高級(jí)抽象層,簡(jiǎn)化了大規(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ù)湖中直接查詢?cè)嘉募袷?,?CSV 和 apacheparquet ,然后直接將結(jié)果導(dǎo)入 GPU 內(nèi)存。
BlazingDB , Inc 。是 BlazingSQL 背后的公司,是 RAPIDS 的核心貢獻(xiàn)者,并與 NVIDIA 進(jìn)行了大量合作。
庫斯特里姆
在 NVIDIA ,我們?cè)趦?nèi)部使用 Dask 為我們的部分產(chǎn)品和業(yè)務(wù)運(yùn)營(yíng)提供燃料。使用 斯特雷姆茲 、 Dask 和 RAPIDS ,我們構(gòu)建了 庫斯特里姆 ,一個(gè)使用 100% 原生 Python 的加速流數(shù)據(jù)平臺(tái)。有了 cuStreamz ,我們可以對(duì)一些最苛刻的應(yīng)用程序進(jìn)行實(shí)時(shí)分析,比如 GeForce NOW 、 NVIDIA GPU Cloud ( NGC )和 NVIDIA Drive SIM 。雖然這是一個(gè)年輕的項(xiàng)目,但我們已經(jīng)看到使用支持 Dask 的 cuStreamz 的其他流媒體數(shù)據(jù)平臺(tái)的總體擁有成本顯著降低。
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)營(yíng)效率。借助一個(gè)對(duì) Python 友好的大型數(shù)據(jù)科學(xué)家社區(qū), 大寫一使用 Dask 和 RAPIDS 可以擴(kuò)展和加速傳統(tǒng)上難以并行化的 Python 工作負(fù)載,并顯著減少大數(shù)據(jù)分析的學(xué)習(xí)曲線。
國(guó)家能源研究科學(xué)計(jì)算中心
致力于為基礎(chǔ)科學(xué)研究提供計(jì)算資源和專業(yè)知識(shí), NERSC 是通過計(jì)算加速科學(xué)發(fā)現(xiàn)的世界領(lǐng)先者。這項(xiàng)任務(wù)的一部分是讓研究人員能夠使用超級(jí)計(jì)算機(jī)來推動(dòng)科學(xué)探索。有了 Dask 和 RAPIDS , 他們最新的超級(jí)計(jì)算機(jī)“ Perlmutter ” 的不可思議的功能就可以很容易地被那些在超級(jí)計(jì)算方面背景有限的研究人員和科學(xué)家所利用。通過使用 Dask 創(chuàng)建一個(gè)熟悉的界面,他們將超級(jí)計(jì)算的能力交給了科學(xué)家,推動(dòng)了跨領(lǐng)域的潛在突破。
橡樹嶺國(guó)家實(shí)驗(yàn)室
在全球大流行的情況下,橡樹嶺國(guó)家實(shí)驗(yàn)室( ORNL )正在通過建立一個(gè)“虛擬實(shí)驗(yàn)室”來推動(dòng)創(chuàng)新的邊界,以對(duì)抗 COVID-19 的藥物發(fā)現(xiàn)。 使用 Dask 、 RAPIDS 、 BlazingSQL 和 NVIDIA GPUs , 研究人員可以利用他們筆記本電腦上的 Summit 超級(jí)計(jì)算機(jī)來篩選小分子化合物,以確定它們與 SARS-CoV-2 主要蛋白酶結(jié)合的能力。有了這樣一個(gè)靈活的工具集,工程師們能夠在不到兩周的時(shí)間內(nèi)啟動(dòng)并運(yùn)行這個(gè)定制的工作流,并且可以看到次秒級(jí)的查詢結(jié)果。
沃爾瑪實(shí)驗(yàn)室
作為零售業(yè)的巨頭,沃爾瑪利用大量的數(shù)據(jù)集來更好地為客戶服務(wù),預(yù)測(cè)產(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)一步推動(dòng)其業(yè)務(wù)。利用 Dask ,他們向數(shù)據(jù)科學(xué)家開放了 NVIDIA GPUs 的能力,以解決他們最棘手的問題。
企業(yè)中的達(dá)斯克:一個(gè)成長(zhǎng)中的市場(chǎng)
雖然企業(yè)中的實(shí)踐者通常很容易嘗試開源軟件,但在生產(chǎn)中使用該軟件則更具挑戰(zhàn)性。隨著新興的、有希望的開源技術(shù),企業(yè)可能會(huì)推出自己的部署來解決現(xiàn)實(shí)世界中的業(yè)務(wù)問題。隨著開源軟件的成熟和發(fā)展,公司紛紛涌現(xiàn),開始滿足企業(yè)級(jí)部署、集成和支持的需求。
隨著其在大型機(jī)構(gòu)中的日益成功,我們已經(jīng)開始看到更多的公司滿足企業(yè)對(duì) Dask 產(chǎn)品和服務(wù)的需求。以下是一些正在滿足企業(yè)需求的公司,標(biāo)志著一個(gè)成熟市場(chǎng)的開始。
水蟒
與 SciPy 生態(tài)系統(tǒng)的一大部分一樣, Dask 從 水蟒公司, 開始,在那里它獲得了發(fā)展,并逐漸發(fā)展成為一個(gè)更大的開源社區(qū)。隨著社區(qū)的發(fā)展和企業(yè)開始采用 Dask , Anaconda 開始提供咨詢服務(wù)、培訓(xùn)和開源支持,以簡(jiǎn)化企業(yè)的使用。作為開源軟件的主要支持者, Anaconda 還雇傭了許多 Dask 維護(hù)人員,為企業(yè)客戶提供了對(duì)軟件的深入理解。
盤繞
由 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ù),推動(dòng)跨行業(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 的不斷成熟,我們開始看到越來越多的公司滿足對(duì) Dask 管理部署和對(duì)企業(yè)支持的需求。這一成熟標(biāo)志著數(shù)據(jù)分析行業(yè)的重大進(jìn)步,推動(dòng)更廣泛的受眾獲得可訪問的高性能分析,并使改變游戲規(guī)則、數(shù)據(jù)驅(qū)動(dòng)的創(chuàng)新成為必然。
關(guān)于作者
Jacob Schmitt 是 NVIDIA 企業(yè)數(shù)據(jù)科學(xué)產(chǎn)品團(tuán)隊(duì)的產(chǎn)品營(yíng)銷經(jīng)理,他幫助企業(yè)用戶連接到強(qiáng)大的數(shù)據(jù)科學(xué)解決方案。在加入 NVIDIA 之前,他是 Capital One 機(jī)器學(xué)習(xí)中心的產(chǎn)品經(jīng)理,推動(dòng)了諸如 Dask 和 RAPIDS 等強(qiáng)大開源庫的采用和擴(kuò)展。
Matthew Rocklin 是 Coiled 的首席執(zhí)行官,這家公司使 Python 更容易擴(kuò)展以解決數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)問題。 Matt 還是一個(gè)長(zhǎng)期的開源維護(hù)者,特別關(guān)注 Dask 。在開始盤繞之前,馬特帶領(lǐng) Dask + RAPIDS 團(tuán)隊(duì)進(jìn)入 NVIDIA 。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5644瀏覽量
109899 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8558瀏覽量
137069
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA加速計(jì)算平臺(tái)助力從地球到太空的AI應(yīng)用
生命科學(xué)領(lǐng)先企業(yè)采用 NVIDIA BioNeMo 平臺(tái)加速 AI 驅(qū)動(dòng)的藥物研發(fā)
利用NVIDIA Cosmos開放世界基礎(chǔ)模型加速物理AI開發(fā)
NVIDIA技術(shù)推動(dòng)化學(xué)和材料科學(xué)發(fā)展
序禎達(dá)生物利用NVIDIA Parabricks技術(shù)加速多組學(xué)分析
NVIDIA與合作伙伴推動(dòng)物理AI發(fā)展
藍(lán)牙技術(shù)如何構(gòu)建無障礙生態(tài)
NVIDIA RTX AI加速FLUX.1 Kontext現(xiàn)已開放下載
海爾LED TV產(chǎn)品榮獲DEKRA德凱歐盟無障礙指令證書
NVIDIA全棧加速代理式AI應(yīng)用落地
NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新
NVIDIA攜手微軟加速代理式AI發(fā)展
NVIDIA Cosmos加速機(jī)器人和自動(dòng)駕駛汽車物理AI發(fā)展
NVIDIA加速的Apache Spark助力企業(yè)節(jié)省大量成本
使用Dask和NVIDIA推動(dòng)無障礙加速分析
評(píng)論