欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為Spark ML算法提供GPU加速度

jf_pJlTbmA9 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

Spark MLlib是Apache Spark用于大規(guī)模machine learning并且提供了許多流行的機(jī)器學(xué)習(xí)算法的內(nèi)置實(shí)現(xiàn)。這些實(shí)現(xiàn)創(chuàng)建于十年前,但沒(méi)有利用現(xiàn)代計(jì)算加速器,如 NVIDIA GPU 。

為了解決這一差距,我們最近開(kāi)源了 Spark RAPIDS ML(NVIDIA/spark-rapids-ml) ,一個(gè) Python 包,為 Py Spark ML 應(yīng)用程序提供 GPU 加速。通過(guò)這樣做,我們實(shí)現(xiàn)了以下關(guān)鍵目標(biāo):

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

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

體系結(jié)構(gòu):利用 NVIDIA 已經(jīng)完成的大量工作來(lái)加速傳統(tǒng)的 ML 算法。

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

主成分分析

K- 均值聚類(lèi)

帶脊和彈性網(wǎng)正則化的線性回歸

隨機(jī)森林分類(lèi)和回歸

該版本還包括以下內(nèi)容的 Spark ML API 兼容版本:

K 最近鄰

我們之所以最初選擇算法,是因?yàn)槲覀兊牡谌齻€(gè)目標(biāo):盡可能使用現(xiàn)有的 NVIDIA 加速 ML 庫(kù)。

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

RAPIDS cuML 還對(duì) Spark ML 中沒(méi)有的一些流行算法進(jìn)行了 GPU 加速的分布式實(shí)現(xiàn),我們已經(jīng)包括了 k 個(gè)最近鄰居,作為為這些算法提供 Spark ML API 兼容性的概念證明。

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

圖 1 。 Spark RAPIDS ML 和 cuML 集成

圖 1 顯示, GPU cuML ML 與 cuML 的集成使用 Spark 的 Barrier RDD 同步和通信機(jī)制,在正在運(yùn)行的 Spark cluster 上引導(dǎo) cuML s 的分布式算法實(shí)現(xiàn),每個(gè) RAPIDS 工作者映射到每個(gè) Spark 一個(gè) Spark ]任務(wù)上。算法計(jì)算和工作人員之間的通信被推遲到 cuML 。對(duì)于后者, cuML 依賴(lài)于 NCCL 和 UCX 庫(kù)來(lái)加速 GPU 之間的通信, Spark RAPIDS ML 也使用這些通信。

易于采用的 API

作為核心設(shè)計(jì)目標(biāo), Spark RAPIDS ML API 旨在將代碼更改降至最低,以方便 Spark ML 開(kāi)發(fā)人員采用,并促進(jìn)現(xiàn)有 Spark ML 應(yīng)用程序的遷移。

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

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 導(dǎo)入 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)

更一般地說(shuō),支持算法的 Spark RAPIDS ML 加速版本實(shí)現(xiàn)了 Spark ML 對(duì)應(yīng)的估計(jì)器模型 API 。它們具有匹配的(在名稱(chēng)和數(shù)據(jù)類(lèi)型上)構(gòu)造函數(shù)參數(shù)、 getter 和 setter 以及模型屬性和方法,在各種算法的底層 cuML 實(shí)現(xiàn)所支持的范圍內(nèi)。

相應(yīng)的擬合和變換方法接受帶有 VectorUDT 的 Spark 數(shù)據(jù)幀、 Spark SQL 數(shù)組或標(biāo)量特征列(帶有Float或Double元素類(lèi)型)。目前,僅支持密集向量。

加快速度并節(jié)省成本

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

基準(zhǔn)測(cè)試在 Databricks 的 AWS 托管 Spark 服務(wù)上的三個(gè)節(jié)點(diǎn) Spark cluster (一個(gè)驅(qū)動(dòng)程序,兩個(gè)執(zhí)行器)中運(yùn)行,具有以下硬件配置:

在 CPU 集群中,m5.2xlarge執(zhí)行器和驅(qū)動(dòng)程序節(jié)點(diǎn)各有八個(gè)CPU內(nèi)核和32 GB RAM。

在 GPU 集群中, g5.2x 大型執(zhí)行器節(jié)點(diǎn)的 CPU 和 RAM 與 m5.2x 大型節(jié)點(diǎn)相同,還有 NVIDIA 24-GBA10GPU 。

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

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

圖 2 和圖 3 總結(jié)了各種算法的基準(zhǔn)測(cè)試結(jié)果。選擇數(shù)據(jù)集和算法參數(shù)來(lái)表示高度計(jì)算密集型的 ML 工作負(fù)載。

圖 3 中的成本效益圖顯示了由基準(zhǔn)運(yùn)行時(shí)間和 Databricks 的計(jì)算成本模型( DBU 加上 CPU EC2 實(shí)例成本)確定的 CPU 計(jì)算成本與 Amazon 計(jì)算成本的比率。雖然 GPU 集群每小時(shí)的成本更高,但對(duì)于這些基準(zhǔn)測(cè)試來(lái)說(shuō),它的端到端成本效益要高得多,因?yàn)樗粌H能補(bǔ)償更快的運(yùn)行時(shí)間。

有關(guān)更多信息和重現(xiàn)這些結(jié)果的步驟,請(qǐng)參閱NVIDIA/spark-rapids-mlGitHub。

GPU-to-CPU-speedup-factors.png 圖 3 。 GPU – CPU 加速系數(shù)和相應(yīng)的成本效益

接下來(lái)的步驟

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5080

    瀏覽量

    103822
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4785

    瀏覽量

    129409
  • 人工智能
    +關(guān)注

    關(guān)注

    1796

    文章

    47773

    瀏覽量

    240513
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    加速度計(jì)加速度速度傳感器加速度傳感器
    硬創(chuàng)客
    發(fā)布于 :2021年09月27日 18:27:08

    加速度、速度、位移的算法

    現(xiàn)在使用ADXL363在做加速度傳感器。目前算法出了問(wèn)題。加速度準(zhǔn)確,可是速度、位移不準(zhǔn)確。測(cè)試時(shí)使用的正弦波。我想請(qǐng)問(wèn)一下,怎么計(jì)算速度
    發(fā)表于 01-16 11:36

    請(qǐng)問(wèn)什么是靜態(tài)加速度?

    在用ADXL362測(cè)加速度,datasheet說(shuō)可測(cè)因傾斜產(chǎn)生的靜態(tài)加速度,不大明白。既然是靜止,怎么還會(huì)有加速度呢?該怎么理解這句話?
    發(fā)表于 09-28 15:24

    請(qǐng)問(wèn)ADI362如何得到線性加速度的值

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

    加速度傳感器的原理

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

    加速度傳感器原理

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

    加速度傳感器是什么

    何謂加速度傳感器?加速度是指單位時(shí)間內(nèi)產(chǎn)生的速度,測(cè)量加速度的IC就叫加速度傳感器。通過(guò)測(cè)量加速度
    發(fā)表于 03-15 00:46

    請(qǐng)問(wèn)怎么通過(guò)MPU6050的x,,y,z軸加速度,計(jì)算出合加速度

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

    加速度傳感器介紹

    何謂加速度傳感器?加速度是指單位時(shí)間內(nèi)產(chǎn)生的速度,測(cè)量加速度的IC就叫加速度傳感器。通過(guò)測(cè)量加速度
    發(fā)表于 05-15 05:57

    介紹加速度計(jì)和陀螺儀的數(shù)學(xué)模型和基本算法

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

    介紹加速度計(jì)和陀螺儀的數(shù)學(xué)模型和基本算法

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

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

    作為交流響應(yīng)的加速度傳感器,正如它的名稱(chēng),它的輸出是交流耦合的。此類(lèi)傳感器不能用來(lái)測(cè)試靜態(tài)的加速度,比如重力加速度和離心加速度。他們僅適合測(cè)量動(dòng)態(tài)事件。而直流響應(yīng)的
    發(fā)表于 07-10 08:52 ?7180次閱讀

    三軸加速度傳感器原理_三軸加速度傳感器應(yīng)用

    本文首先介紹了三軸加速度傳感器原理,其次介紹了三軸加速度傳感器優(yōu)點(diǎn),最后介紹了三軸加速度傳感器應(yīng)用。
    發(fā)表于 10-17 15:19 ?1.9w次閱讀

    加速度傳感器是什么

    何謂加速度傳感器? 加速度是指單位時(shí)間內(nèi)產(chǎn)生的速度,測(cè)量加速度的IC就叫加速度傳感器。 通過(guò)測(cè)量加速度
    的頭像 發(fā)表于 06-30 10:13 ?2163次閱讀
    <b class='flag-5'>加速度</b>傳感器是什么