精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為Spark ML算法提供GPU加速度

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

Spark MLlib是Apache Spark用于大規模machine learning并且提供了許多流行的機器學習算法的內置實現。這些實現創建于十年前,但沒有利用現代計算加速器,如 NVIDIA GPU

為了解決這一差距,我們最近開源了 Spark RAPIDS ML(NVIDIA/spark-rapids-ml) ,一個 Python 包,為 Py Spark ML 應用程序提供 GPU 加速。通過這樣做,我們實現了以下關鍵目標:

應用程序編程接口完全保留 Py Spark MLlib 基于 DataFrames 的 APISpark ML algorithms,保持與 Spark 的 Pipeline API 、 CrossValidation 等的兼容性。允許在基線 Spark ML 實現和 GPU 加速實現之間切換,只需最少的代碼更改(即最多更改 Python 包導入語句)。

加快速度并節省成本:為 Spark ML 算法展示 GPU 加速帶來的顯著性能提升和成本節約。

體系結構:利用 NVIDIA 已經完成的大量工作來加速傳統的 ML 算法。

您可以從NVIDIA/spark-rapids-mlApache v2 許可證下的 GitHub 存儲庫。初始版本為以下 Spark ML 算法提供了 GPU 加速度:

主成分分析

K- 均值聚類

帶脊和彈性網正則化的線性回歸

隨機森林分類和回歸

該版本還包括以下內容的 Spark ML API 兼容版本:

K 最近鄰

我們之所以最初選擇算法,是因為我們的第三個目標:盡可能使用現有的 NVIDIA 加速 ML 庫。

具體而言,我們選擇在OSS RAPIDS cuML library并為 Spark ML 中也提供的算法的現有 cuML 分布式實現提供 Py Spark API 包裝器。

RAPIDS cuML 還對 Spark ML 中沒有的一些流行算法進行了 GPU 加速的分布式實現,我們已經包括了 k 個最近鄰居,作為為這些算法提供 Spark ML API 兼容性的概念證明。

Spark-RAPIDS-ML-and-cuML-b.png

圖 1 。 Spark RAPIDS ML 和 cuML 集成

圖 1 顯示, GPU cuML ML 與 cuML 的集成使用 Spark 的 Barrier RDD 同步和通信機制,在正在運行的 Spark cluster 上引導 cuML s 的分布式算法實現,每個 RAPIDS 工作者映射到每個 Spark 一個 Spark ]任務上。算法計算和工作人員之間的通信被推遲到 cuML 。對于后者, cuML 依賴于 NCCL 和 UCX 庫來加速 GPU 之間的通信, Spark RAPIDS ML 也使用這些通信。

易于采用的 API

作為核心設計目標, Spark RAPIDS ML API 旨在將代碼更改降至最低,以方便 Spark ML 開發人員采用,并促進現有 Spark ML 應用程序的遷移。

以下代碼示例用于 KMean 的基線 Spark ML 和 Spark RAPIDS ML ,其中只有 Python 導入語句被更改.

py Spark 毫升

from pyspark.ml.clustering import KMeans

kmeans_estm = KMeans()
.setK(100)
.setFeaturesCol("features")
.setMaxIter(30)

kmeans_model = kmeans_estm.fit(pyspark_data_frame)

kmeans_model.write().save("saved-model")

transformed = kmeans_model.transform(pyspark_data_frame)

Spark _ RAPIDS _ ml

從 Spark _ RAPIDS _ ml 導入 KMeans

kmeans_estm = KMeans()
.setK(100)
.setFeaturesCol("features")
.setMaxIter(30)

kmeans_model = kmeans_estm.fit(pyspark_data_frame)

kmeans_model.write().save("saved-model")

transformed = kmeans_model.transform(pyspark_data_frame)

更一般地說,支持算法的 Spark RAPIDS ML 加速版本實現了 Spark ML 對應的估計器模型 API 。它們具有匹配的(在名稱和數據類型上)構造函數參數、 getter 和 setter 以及模型屬性和方法,在各種算法的底層 cuML 實現所支持的范圍內。

相應的擬合和變換方法接受帶有 VectorUDT 的 Spark 數據幀、 Spark SQL 數組或標量特征列(帶有Float或Double元素類型)。目前,僅支持密集向量。

加快速度并節省成本

在本節中,我們提供了初步的基準測試結果,比較了支持算法的 GPU 加速 Spark RAPIDS ML 版本和基于 CPU 的 Spark ML 版本。

基準測試在 Databricks 的 AWS 托管 Spark 服務上的三個節點 Spark cluster (一個驅動程序,兩個執行器)中運行,具有以下硬件配置:

在 CPU 集群中,m5.2xlarge執行器和驅動程序節點各有八個CPU內核和32 GB RAM。

在 GPU 集群中, g5.2x 大型執行器節點的 CPU 和 RAM 與 m5.2x 大型節點相同,還有 NVIDIA 24-GBA10GPU 。

基準測試是在適用于相應算法的 12-GB 合成數據集上運行的。它們是使用 sci-kit learn 的合成數據生成例程生成的,并以 Parquet 格式存儲在 Amazon S3 上。運行時用于從 Amazon S3 加擬合方法執行端到端數據加載。我們還使用了spark-rapids plugin以加速 GPU 運行的數據加載。

Running-time-in-seconds.png 圖 2 : 基于 CPU 的 Spark ML 和 GPU 加速 Spark RAPIDS ML 算法擬合方法的運行時間(秒)(對數刻度)

圖 2 和圖 3 總結了各種算法的基準測試結果。選擇數據集和算法參數來表示高度計算密集型的 ML 工作負載。

圖 3 中的成本效益圖顯示了由基準運行時間和 Databricks 的計算成本模型( DBU 加上 CPU EC2 實例成本)確定的 CPU 計算成本與 Amazon 計算成本的比率。雖然 GPU 集群每小時的成本更高,但對于這些基準測試來說,它的端到端成本效益要高得多,因為它不僅能補償更快的運行時間。

有關更多信息和重現這些結果的步驟,請參閱NVIDIA/spark-rapids-mlGitHub。

GPU-to-CPU-speedup-factors.png 圖 3 。 GPU – CPU 加速系數和相應的成本效益

接下來的步驟

使用 Spark RAPIDS ML ,只需一行代碼更改即可顯著加快 Spark ML 應用程序的速度,并降低計算成本。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4940

    瀏覽量

    102818
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4702

    瀏覽量

    128708
  • 人工智能
    +關注

    關注

    1791

    文章

    46872

    瀏覽量

    237593
收藏 人收藏

    評論

    相關推薦

    ADI362如何得到線性加速度的值?

    我看到ST公司的加速度傳感器,可以同時輸出普通含有重力加速度的值以及濾波過后的線性加速度值。請問使用ADI362可以得到同樣的各個軸的線性加速度值嗎? 如果要使用外部濾波
    發表于 01-01 06:56

    加速度傳感器的工作原理#傳感器

    加速度加速度速度傳感器加速度傳感器
    硬創客
    發布于 :2021年09月27日 18:27:08

    加速度速度、位移的算法

    現在使用ADXL363在做加速度傳感器。目前算法出了問題。加速度準確,可是速度、位移不準確。測試時使用的正弦波。我想請問一下,怎么計算速度
    發表于 01-16 11:36

    請問什么是靜態加速度

    在用ADXL362測加速度,datasheet說可測因傾斜產生的靜態加速度,不大明白。既然是靜止,怎么還會有加速度呢?該怎么理解這句話?
    發表于 09-28 15:24

    請問ADI362如何得到線性加速度的值

    我看到ST公司的加速度傳感器,可以同時輸出普通含有重力加速度的值以及濾波過后的線性加速度值。請問使用ADI362可以得到同樣的各個軸的線性加速度值嗎? 如果要使用外部濾波
    發表于 10-09 16:11

    加速度傳感器的原理

    提供了可以檢測各個方向的加速度傳感器。以iOS設備例,我們利用了其三軸加速度傳感器(x,y,z軸代表方向如圖)的特性來分析。分別用以檢測人步行中三個方向的
    發表于 11-08 15:46

    加速度傳感器原理

    提供了可以檢測各個方向的加速度傳感器。以iOS設備例,我們利用了其三軸加速度傳感器(x,y,z軸代表方向如圖)的特性來分析。分別用以檢測人步行中三個方向的
    發表于 11-09 10:39

    加速度傳感器是什么

    何謂加速度傳感器?加速度是指單位時間內產生的速度,測量加速度的IC就叫加速度傳感器。通過測量加速度
    發表于 03-15 00:46

    請問怎么通過MPU6050的x,,y,z軸加速度,計算出合加速度

    如題,MPU6050采集出來的是三軸加速度,但是我現在想通過計算求出合加速度。要怎么計算呢?這是我自己寫的算法,合加速度a = a[0] / ((cos(angle[1])) * (c
    發表于 04-19 05:07

    加速度傳感器介紹

    何謂加速度傳感器?加速度是指單位時間內產生的速度,測量加速度的IC就叫加速度傳感器。通過測量加速度
    發表于 05-15 05:57

    介紹加速度計和陀螺儀的數學模型和基本算法

    本帖翻譯自IMU(加速度計和陀螺儀設備)在嵌入式應用中使用的指南。這篇文章主要介紹加速度計和陀螺儀的數學模型和基本算法,以及如何融合這兩者,側重算法、思想的討論
    發表于 08-06 08:04

    介紹加速度計和陀螺儀的數學模型和基本算法

    本帖翻譯自IMU(加速度計和陀螺儀設備)在嵌入式應用中使用的指南。這篇文章主要介紹加速度計和陀螺儀的數學模型和基本算法,以及如何融合這兩者,側重算法、思想的討論介紹本指南旨在向興趣者介
    發表于 08-09 06:46

    加速度傳感器的分類和原理是怎樣的?該如何正確選擇加速度傳感器?

    作為交流響應的加速度傳感器,正如它的名稱,它的輸出是交流耦合的。此類傳感器不能用來測試靜態的加速度,比如重力加速度和離心加速度。他們僅適合測量動態事件。而直流響應的
    發表于 07-10 08:52 ?7094次閱讀

    三軸加速度傳感器原理_三軸加速度傳感器應用

    本文首先介紹了三軸加速度傳感器原理,其次介紹了三軸加速度傳感器優點,最后介紹了三軸加速度傳感器應用。
    發表于 10-17 15:19 ?1.9w次閱讀

    加速度傳感器是什么

    何謂加速度傳感器? 加速度是指單位時間內產生的速度,測量加速度的IC就叫加速度傳感器。 通過測量加速度
    的頭像 發表于 06-30 10:13 ?2035次閱讀
    <b class='flag-5'>加速度</b>傳感器是什么