欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

什么是DASK?

榮姿康2年前13瀏覽0評論

Dask是一個靈活的開源庫,適用于Python的并行和分布式計算。


什么是DASK?


Dask是一個開源庫,旨在為現有Python堆棧提供并行性。Dask與Python庫(如NumPy數組、PandasDataFrame和scikit-learn)集成,無需學習新的庫或語言,即可跨多個核心、處理器和計算機實現并行執行。


Dask由兩部分組成:


  • 用于并行列表、數組和DataFrame的API集合,可原生擴展Numpy、NumPy、Pandas和scikit-learn,以在大于內存環境或分布式環境中運行。Dask集合是底層庫的并行集合(例如,Dask數組由Numpy數組組成)并運行在任務調度程序之上。
  • 一個任務調度程序,用于構建任務圖形,協調、調度和監控針對跨CPU核心和計算機的交互式工作負載優化的任務。


Dask包含三個并行集合,即DataFrame、Bag和數組,每個均可自動使用在RAM和磁盤之間分區的數據,以及根據資源可用性分布在集群中多個節點之間的數據。對于可并行但不適合Dask數組或DataFrame等高級抽象的問題,有一個“延遲”函數使用Python裝飾器修改函數,以便它們延遲運行。這意味著執行被延遲,并且函數及其參數被放置到任務圖形中。


Dask的任務調度程序可以擴展至擁有數千個節點的集群,其算法已在一些全球最大的超級計算機上進行測試。其任務調度界面可針對特定作業進行定制。Dask可提供低用度、低延遲和極簡的序列化,從而加快速度。


在分布式場景中,一個調度程序負責協調許多工作人員,將計算移動到正確的工作人員,以保持連續、無阻塞的對話。多個用戶可能共享同一系統。此方法適用于HadoopHDFS文件系統以及云對象存儲(例如Amazon的S3存儲)。


該單機調度程序針對大于內存的使用量進行了優化,并跨多個線程和處理器劃分任務。它采用低用度方法,每個任務大約占用50微秒。


為何選擇DASK?


Python的用戶友好型高級編程語言和Python庫(如NumPy、Pandas和scikit-learn)已經得到數據科學家的廣泛采用。


這些庫是在大數據用例變得如此普遍之前開發的,沒有強大的并行解決方案。Python是單核計算的首選,但用戶不得不為多核心或多計算機并行尋找其他解決方案。這會中斷用戶體驗,還會讓用戶感到非常沮喪。


過去五年里,對Python工作負載擴展的需求不斷增加,這導致了Dask的自然增長。Dask是一種易于安裝、快速配置的方法,可以加速Python中的數據分析,無需開發者升級其硬件基礎設施或切換到其他編程語言。啟動Dask作業所使用的語法與其他Python操作相同,因此可將其集成,幾乎不需要重新寫代碼。

此外,由于擁有強大的網絡建設堆棧,Python受到網絡開發者的青睞,Dask可利用該堆棧構建一個靈活、功能強大的分布式計算系統,能夠擴展各種工作負載。Dask的靈活性使其能夠從其他大數據解決方案(如Hadoop或ApacheSpark)中脫穎而出,而且它對本機代碼的支持使得Python用戶和C/C++/CUDA開發者能夠輕松使用。


Dask已被Python開發者社區迅速采用,并且隨著Numpy和Pandas的普及而增長,這為Python提供了重要的擴展,可以解決特殊分析和數學計算問題。


Dask的擴展性遠優于Pandas,尤其適用于易于并行的任務,例如跨越數千個電子表格對數據進行排序。加速器可以將數百個PandasDataFrame加載到內存中,并通過單個抽象進行協調。


如今,Dask由一個開發者社區管理,該社區涵蓋數十家機構和PyData項目,例如Pandas、Jupyter和Scikit-Learn。Dask與這些熱門工具的集成促使采用率迅速提高,在需要Pythonic大數據工具的開發者中采用率約達20%。

為何DASK在應用GPU后表現更出色


在架構方面,CPU僅由幾個具有大緩存內存的核心組成,一次只可以處理幾個軟件線程。相比之下,GPU由數百個核心組成,可以同時處理數千個線程。


GPU可提供曾經深奧難測的并行計算技術。


Dask+NVIDIA:推動可訪問的加速分析


NVIDIA了解GPU為數據分析提供的強大性能。因此,NVIDIA致力于幫助數據科學、機器學習和人工智能從業者從數據中獲得更大價值。鑒于Dask的性能和可訪問性,NVIDIA開始將其用于RAPIDS項目,目標是將加速數據分析工作負載橫向擴展到多個GPU和基于GPU的系統。

得益于可訪問的Python界面和超越數據科學的通用性,Dask發展到整個NVIDIA的其他項目,成為從解析JSON到管理端到端深度學習工作流程等新應用程序的不二選擇。以下是NVIDIA使用Dask正在進行的許多項目和協作中的幾個:


RAPIDS


RAPIDS是一套開源軟件庫和API,用于完全在GPU上執行數據科學流程,通常可以將訓練時間從幾天縮短至幾分鐘。RAPIDS基于NVIDIA?CUDA-XAI?構建,并結合了圖形、機器學習、高性能計算(HPC)等方面的多年開發經驗。

雖然CUDA-X功能強大,但大多數數據分析從業者更喜歡使用Python工具集(例如前面提到的NumPy、Pandas和Scikit-learn)來試驗、構建和訓練模型。Dask是RAPIDS生態系統的關鍵組件,使數據從業者能夠更輕松地通過基于Python的舒適用戶體驗利用加速計算。


NVTabular


NVTabular是一個特征工程和預處理庫,旨在快速輕松地處理TB級表格數據集。它基于Dask-cuDF庫構建,可提供高級抽象層,從而簡化大規模高性能ETL運算的創建。NVTabular能夠利用RAPIDS和Dask擴展至數千個GPU,消除等待ETL進程完成這一瓶頸。


BlazingSQL


BlazingSQL是一個在GPU上運行的速度超快的分布式SQL引擎,也是基于Dask-cuDF構建的。它使數據科學家能夠輕松將大規模數據湖與GPU加速的分析連接在一起。借助幾行代碼,從業者可以直接查詢原始文件格式(例如HDFS和AWSS3等數據湖中的CSV和ApacheParquet),并直接將結果傳輸至GPU顯存。


BlazingSQL背后的公司BlazingDBInc是RAPIDS的核心貢獻者,并與NVIDIA進行了大量合作。


cuStreamz


在NVIDIA內部,我們正在使用Dask為我們的部分產品和業務運營提供動力。我們使用Streamz、Dask和RAPIDS構建了cuStreamz,這是一個100%使用原生Python的加速流數據平臺。借助cuStreamz,我們能夠針對某些要求嚴苛的應用程序(例如GeForceNOW、NVIDIAGPUCloud和NVIDIADriveSIM)進行實時分析。雖然這是一個新興項目,但與使用支持Dask的cuStreamz的其他流數據平臺相比,TCO已顯著降低。


DASK用例


Dask能夠高效處理數百TB的數據,因此成為將并行性添加到ML處理、實現大型多維數據集分析的更快執行以及加速和擴展數據科學制作流程或工作流程的強大工具。因此,它可以用于HPC、金融服務、網絡安全和零售行業的各種用例。例如,Dask與Numpy工作流程一起使用,在地球科學、衛星圖像、基因組學、生物醫學應用程序和機器學習算法中實現多維數據分析。


借助PandasDataFrame,Dask可以在時間序列分析、商業智能和數據準備方面啟用應用程序。Dask-ML是一個用于分布式和并行機器學習的庫,可與Scikit-Learn和XGBoost一起使用,以針對大型模型和數據集創建可擴展的訓練和預測。開發者可以使用標準的Dask工作流程準備和設置數據,然后將數據交給XGBoost或Tensorflow。


DASK+RAPIDS:在企業中實現創新


許多公司正在同時采用Dask和RAPIDS來擴展某些重要的業務。NVIDIA的一些大型合作伙伴都是各自行業的領導者,他們正在使用Dask和RAPIDS來為數據分析提供支持。以下是最近一些令人興奮的例子:


CapitalOne


CapitalOne的使命是“變革銀行業務”,投入巨資進行大規模數據分析,為客戶提供更好的產品和服務,并提高整個企業的運營效率。憑借一大群對Python情有獨鐘的數據科學家,CapitalOne使用Dask和RAPIDS來擴展和加速傳統上難以并行化的Python工作負載,并顯著減少大數據分析的學習曲線。


美國國家能源研究科學計算中心(NERSC)


NERSC致力于為基礎科學研究提供計算資源和專業知識,是通過計算加速科學發現的世界領導者。該使命的一部分是讓研究人員能夠使用超級計算來推動科學探索。借助Dask和RAPIDS,超級計算背景有限的研究人員和科學家可以輕松訪問其新的超級計算機“Perlmutter”的驚人功能。他們利用Dask創建一個熟悉的界面,讓科學家掌握超級計算能力,推動各領域取得潛在突破。


沃爾瑪實驗室


作為零售領域巨頭,沃爾瑪利用海量數據集更好地服務客戶、預測產品需求并提高內部效率。借助大規模數據分析來實現這些目標,沃爾瑪實驗室轉而使用Dask、XGBoost和RAPIDS,將訓練時間縮短100倍,實現快速模型迭代和準確性提升,從而進一步發展業務。借助Dask,數據科學家可以利用NVIDIAGPU的能力解決他們最棘手的問題。


DASK在企業中的應用:日益壯大的市場


隨著其在大型機構中不斷取得成功,越來越多的公司開始滿足企業對Dask產品和服務的需求。以下是一些正在滿足企業Dask需求的公司,它們表明市場已進入成熟期:


Anaconda


像SciPy生態系統的大部分內容一樣,Dask從AnacondaInc開始,在那里受到關注并發展為更大的開源社區。隨著社區的發展和企業開始采用Dask,Anaconda開始提供咨詢服務、培訓和開源支持,以簡化企業的使用。作為開源軟件的主要支持者,Anaconda還聘請了許多Dask維護人員,為企業客戶提供對該軟件的深入理解。


Coiled


由Dask維護人員(例如Dask項目主管和前NVIDIA員工MatthewRocklin)創立的Coiled提供圍繞Dask的托管解決方案,以在云和企業環境中輕松運行,還提供幫助優化機構內Python分析的企業支持。他們公開托管的托管部署產品為同時使用Dask和RAPIDS提供了一種強大而直觀的方式。


Quansight


Quansight致力于幫助企業從數據中創造價值,提供各種服務,推動各行各業的數據分析。與Anaconda類似,Quansight為使用Dask的企業提供咨詢服務和培訓。借助PyData和NumFOCUS生態系統,Quansight還為需要在開源軟件中增強功能或修復問題的企業提供支持。


為何DASK對數據科學團隊很重要


這一切都與加速和效率有關。開發交互式算法的開發者希望快速執行,以便對輸入和變量進行修補。在運行大型數據集時,內存有限的臺式機和筆記本電腦可能會讓人感到沮喪。Dask功能開箱即用,即使在單個CPU上也可以提高處理效率。當應用于集群時,通常可以通過單一命令在多個CPU和GPU之間執行運算,將處理時間縮短90%。Dask可以啟用非常龐大的訓練數據集,這些數據集通常用于機器學習,可在無法支持這些數據集的環境中運行。


Dask擁有低代碼結構、低用度執行模型,并且可輕松集成到Python、Pandas和Numpy工作流程中,因此Dask正迅速成為每個Python開發者的必備工具。