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