1. 程式人生 > >RAPIDS,為資料科學和機器學習而生

RAPIDS,為資料科學和機器學習而生

“資料分析和機器學習是高效能運算市場中最大的細分市場,不過目前尚未實現加速,全球最大的行業均在海量伺服器上執行機器學習演算法,目的在於瞭解所在市場和環境中的複雜模式,同時迅速、精準地做出將直接影響其基礎的預測 。”在10月10日召開的英偉達歐洲GTC大會上,NVIDIA創始人兼執行長黃仁勳在介紹英偉達新推出的針對資料科學和機器學習的GPU加速平臺RAPIDS時用了上述開場白。

“得益於CUDA及其全球生態系統以及與開源社群緊密合作,我們已建立了RAPIDS GPU加速平臺。該平臺已與全球最流行的資料科學庫及工作流無縫整合,可加速機器學習。如同深度學習一樣,我們正在不斷地為機器學習提速。”黃仁勳說。

RAPIDS,為資料科學提供50倍加速

正如黃仁勳所述,在資料分析和機器學習領域,在RAPIDS出現之前,資料科學家以及機器學習專家確實飽受算力限制導致的效率低下之苦。《DAY IN THE LIFE OF A DATA SCIENTIST》這張圖就很形象並且幽默的詮釋了資料科學家在面對算力限制所表現的無可奈何:在使用CPU時,由於CPU算力的限制,在資料模型訓練期間,資料科學家無處可去,只能把大把的時間浪費在喝咖啡上。而在使用了GPU加速之後,資料科學家們就基本就沒有時間去喝咖啡了。

而RAPIDS正是可以充分利用GPU的強大算力來為資料科學家提供支援的強有力的工具,它第一次為資料科學家提供了他們需要用來在GPU上執行整個資料科學的標準流水線工具。最初的RAPIDS基準分析利用了XGBoost機器學習演算法在NVIDIA DGX-2™ 系統上進行訓練,結果表明,與僅有CPU的系統相比,其速度能加快50倍。這可幫助資料科學家將典型訓練時間從數天減少到數小時,或者從數小時減少到數分鐘,具體取決於其資料集的規模。

RAPIDS,50倍加速的祕密

在近日舉行的RAPIDS媒體溝通會上,英偉達亞太區解決方案架構主管趙立威詳細介紹了RAPIDS。RAPIDS 構建於 Apache Arrow、pandas 和 scikit-learn 等流行的開源專案之上,包含CUDF、CUML、CUGRAPH、CUDNN等多款元件。而這些元件分別用於對資料科學計算的不同階段進行加速。

趙立威分別對這些元件進行了介紹,他表示,CUDF能夠快速的對資料進行解壓,並載入到ETL系統中去。CUDF還可以對資料進行過濾,合併以及特徵提取等所有ETL過程;它與Pandas的功能非常類似,甚至Pandas提供的所有呼叫、API,在CUDF裡都能找到對應的動作、API或者對應的演算法,因此,可以很容易的基於CUDF去實現Pandas裡面實現的所有的功能。CUML可以說是一個演算法庫,不管是分類、聚類、迴歸等這些演算法,都可以在CUML裡面找到。CUGRAPH是一個基於圖形的演算法工具,應該會在明年推出。這三套軟體工具,都是基於CUDA開發而來,也可以把它看成CUDA上面的一部分。CUDNN則是專門針對深度學習提供的,而那些耳熟能詳的深度學習框架基本都是通過CUDNN開發的。而在整個資料處理的流程中,資料一直可以儲存在記憶體中。因此,資料在經過大資料的處理過程以後,未來可以很容易與深度學習進行結合,並在記憶體中進行計算和操作。因此,RAPIDS才能夠為數字科學家提供50倍的效率提升。

RAPIDS,開源合作的產物

不過,雖然RAPIDS是由英偉達主導研發,但趙立威強調,開源是RAPIDS非常非常重要的一點。趙立威表示,這個開源包含兩層含義:第一,整個RAPIDS是英偉達與包括Anaconda、BlazingDB、Databricks、Quansight、scikit-learn、Ursa Labs 負責人兼 Apache Arrow 締造者 Wes McKinney 以及迅速增長的 Python 資料科學庫 pandas 等在內的眾多開源社群以及開源生態系統貢獻者緊密合作的產物。第二,RAPIDS平臺本身是開源的,英偉達希望通過這種方式,可以有更多開源開發者,來貢獻他們的程式碼、貢獻他們的智慧,不斷的豐富和完善整個平臺上面的基礎特性,服務更多的場景。

實際上,除了和眾多開源社群合作之外,眾多知名公司,如Hewlett Packard Enterprise、IBM和Oracle等與英偉達在GPU對資料分析的重要性方面日益達成共識,並對RAPIDS表現出越來越多的支援。而且,沃爾瑪、惠普等企業已經率先應用了RAPIDS開源GPU加速平臺,IBM等企業也表示期望利用RAPIDS來為客戶提供全新的機器學習工具。

不過,雖然RAPIDS是一款開源軟體,但如果想要充分享受RAPIDS帶來的超高加速體驗,最好的平臺當然是英偉達自家的DGX-2、DGX-1、DGX station以及HGX-1、HGX-2,不過,據英偉達相關人士透露,具有四個NVLink連線的Tesla GPU伺服器、以及遵循8卡的HGX-1或者16卡HGX-2參考架構的伺服器應該也都可以流暢執行RAPIDS。當然,在GTC上公佈的幾家OEM廠家的推薦機型也是RAPIDS的良好執行平臺。另外,通過NGC平臺,也能夠享受到RAPIDS帶來的加速體驗。還有,RAPIDS目前已經開放下載,有興趣的開發者朋友可以到www.rapids.ai 下載體驗。