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