chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

利用Apache Spark和RAPIDS Apache加速Spark實踐

星星科技指導員 ? 來源:NVIDIA ? 作者:William Benton ? 2022-04-26 17:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是描述預測客戶流失的端到端藍圖的系列文章的第三部分。在前幾期文章中,我們已經討論了機器學習系統(tǒng)的一些挑戰(zhàn),這些挑戰(zhàn)直到您投入生產時才會出現(xiàn):在 第一期付款 中,我們介紹了我們的用例,并描述了一個加速的數據聯(lián)合管道;在 第二期 中,我們展示了高級分析如何適應機器學習生命周期的其余部分。

在第三期文章中,我們將介紹應用程序的分析和聯(lián)合組件,并解釋如何充分利用 Apache Spark 和 RAPIDS Apache 加速器 Spark 的一些最佳實踐。

架構( Architecture )評審

An architecture diagram showing a federation and analytics application that takes five database tables and produces one table and a set of reports, a model training application that takes the federated table and the reports and produces a model, and a production inference application that serves the model.

圖 1 :我們的藍圖架構的高級概述。

回想一下,我們的 blueprint 應用程序(圖 1 )包括一個聯(lián)邦工作負載和一對分析工作負載。

聯(lián)合工作負載 生成了一個關于每個客戶的非規(guī)范化寬數據表,這些數據來自于五個與客戶賬戶不同方面相關的規(guī)范化觀察表的數據匯總。

第一次分析工作量 為每個特性生成一個機器可讀的值分布和域的摘要報告。

第二次分析工作量 生成一系列關于客戶結果的說明性業(yè)務報告 我們的第一期 包含有關聯(lián)合工作負載的其他詳細信息, 我們的第二期 包含有關分析工作負載的其他詳細信息。

我們將這三個工作負載作為一個具有多個階段的 Spark 應用程序來實現(xiàn):

應用程序將 HDFS 中多個表(存儲為拼花文件)的原始數據聯(lián)合到一個寬表中。

因為寬表比原始數據小得多,所以應用程序然后通過合并到較少的分區(qū)并將數值轉換為適合 ML 模型訓練的類型來重新格式化寬輸出。此階段的輸出是 ML 模型訓練的源數據。

然后,應用程序針對合并和轉換的寬表運行分析工作負載,首先生成機器可讀的摘要報告,然后生成匯總和數據立方體報告的集合。

性能注意事項

并行執(zhí)行

50 多年來,提高并行執(zhí)行的適用性一直是計算機系統(tǒng)高性能最重要的考慮因素之一 ( 我們有點武斷地選擇在 1967 年確定 托馬蘇洛算法 的開發(fā),它為無處不在的超標量處理奠定了基礎,因為在這一點上,對并行性的關注變得實用而不僅僅是理論上的。)在分析員、數據科學家、數據和 ML 工程師以及應用程序開發(fā)人員的日常工作中,對并行性的關注通常表現(xiàn)為以下幾種方式之一;我們現(xiàn)在來看看。

向外擴展時,在集群上執(zhí)行工作

如果您使用的是橫向擴展框架,請盡可能在集群上而不是在單個節(jié)點上執(zhí)行工作。在 Spark 的情況下,這意味著在執(zhí)行器上執(zhí)行 Spark 作業(yè)中的代碼,而不是在驅動程序上執(zhí)行串行代碼。 一般來說,在驅動程序中使用 Spark 的 API 而不是宿主語言代碼將使您獲得大部分的成功,但是您需要確保所使用的 Spark API 實際上是在執(zhí)行器上并行執(zhí)行的。

操作集合,而不是元素;在列上,而不是行上

開發(fā)并行性和提高性能的一般最佳實踐是使用一次對集合執(zhí)行操作的專用庫,而不是一次對元素執(zhí)行操作。在 Spark 的情況下,這意味著使用數據幀和列操作,而不是迭代 rdd 分區(qū)中的記錄;在 Python 數據生態(tài)系統(tǒng)和 RAPIDS 。 ai 中,這意味著使用在單個庫調用中對整個數組和矩陣進行操作的 矢量化操作 ,而不是在 Python 中使用顯式循環(huán)。最關鍵的是,這兩種方法也適用于 GPU 加速。

分攤 I / O 和數據加載的成本

I / O 和數據加載成本很高,因此在盡可能多的并行操作中分攤它們的成本是有意義的。 我們可以通過直接降低數據傳輸成本和在數據加載后盡可能多地處理數據來提高性能。在 Spark 中,這意味著使用列格式,在從穩(wěn)定存儲導入時只過濾一次關系,并在 I / O 或無序操作之間執(zhí)行盡可能多的工作。

通過抽象提高性能

一般來說,提高分析師和開發(fā)人員在應用程序、查詢和報表中使用的抽象級別,可以讓運行時和框架找到開發(fā)人員沒有(或無法)預料到的并行執(zhí)行機會。

使用 Spark 的數據幀

例如,在 Spark 中使用數據幀并主要針對高級數據幀 API 進行開發(fā)有許多好處,包括執(zhí)行速度更快、查詢的語義保持優(yōu)化、對存儲和 I / O 的需求減少,以及相對于使用基于 RDD 的代碼顯著改善了內存占用。但除了這些好處之外,還有一個更深層次的優(yōu)勢:因為數據幀接口是高級的,而且 Spark 允許插件改變查詢優(yōu)化器的行為,所以 RAPIDS Apache 加速器 Spark 有可能用在 GPU 上運行的等效但實際上更快的操作替換某些數據幀操作。

透明加速 Spark 查詢

用插件替換 Spark 的查詢規(guī)劃器的一些功能是抽象能力的一個特別引人注目的例子:在能夠在 GPU 上運行 Spark 查詢之前幾年編寫的應用程序仍然可以通過使用 Spark 3 。 1 和 RAPIDS 加速器來利用 GPU 加速。

保持清晰的抽象

盡管使用新的運行時加速未修改的應用程序的潛力是針對高級抽象進行開發(fā)的一個主要優(yōu)勢,但實際上,對于開發(fā)團隊來說,維護清晰的抽象很少比按時交付工作項目更重要。由于多種原因,抽象背后的細節(jié)常常會泄漏到產品代碼中;雖然這可能會引入技術債務并產生無數工程后果,但它也會限制高級運行時的適用性,以優(yōu)化干凈地使用抽象的程序。

考慮適合 GPU 加速的操作

為了從 Spark 中獲得最大的收益,在圍繞 Spark 的數據幀抽象的應用程序中償還技術債務(例如,通過將部分查詢實現(xiàn)為 RDD 操作)是有意義的。 不過,為了充分利用先進的基礎設施,在不破壞抽象的情況下考慮執(zhí)行環(huán)境的細節(jié)通常是有意義的。 為了從 NVIDIA GPU 和 RAPIDS Apache 加速器 Spark 獲得盡可能好的性能,首先要確保您的代碼不會圍繞抽象工作,然后考慮或多或少適合 GPU 執(zhí)行的類型和操作,這樣您就可以確保盡可能多的應用程序在 GPU 上運行。下面我們將看到一些這樣的例子。

類型和操作

并不是每一個操作都能被 GPU 加速。當有疑問時,運行作業(yè)時將 spark.rapids.sql.explain 設置為 NOT_ON_GPU 并檢查記錄到標準輸出的解釋總是有意義的。在本節(jié)中,我們將指出一些常見的陷阱,包括需要配置支持的十進制算法和操作。

小心十進制算術

十進制計算機算法支持高達給定精度限制的精確運算,可以避免和檢測溢出,并像人類在執(zhí)行鉛筆和紙張計算時那樣舍入數字。盡管十進制算法是許多數據處理系統(tǒng)(尤其是金融數據)的重要組成部分,但它對分析系統(tǒng)提出了特殊的挑戰(zhàn)。為了避免溢出,十進制運算的結果必須擴大到包括所有可能的結果;在結果比系統(tǒng)特定限制更寬的情況下,系統(tǒng)必須檢測溢出。在 cpu 上使用 Spark 的情況下,這涉及將操作委托給 Java 標準庫中的 BigDecimal 類 ,并且精度限制為 38 位十進制數字或 128 位。 Apache 的 RAPIDS 加速器 Spark 目前可以加速計算多達 18 位或 64 位的十進制值。

我們已經評估了客戶流失藍圖的兩種配置:一種使用浮點值表示貨幣金額(如我們在 第一期 中所描述的那樣),另一種使用十進制值表示貨幣金額(這是我們當前報告的性能數字所針對的配置)。由于其語義和健壯性,十進制算法比浮點算法成本更高,但只要所涉及的所有十進制類型都在 64 位以內,就可以通過 RAPIDS 加速器插件來加速。

配置 RAPIDS 加速器以啟用更多操作

RAPIDS 加速器對于在 GPU 上執(zhí)行 MIG ht 表現(xiàn)出較差性能或返回與基于 CPU 的加速器略有不同的結果的操作持保守態(tài)度。因此,一些可以加速的操作在默認情況下可能不會加速,許多實際應用程序需要使這些操作能夠看到最佳性能。我們在 我們的第一期 中看到了這種現(xiàn)象的一個例子,其中我們必須通過將 true 設置為 true ,在 Spark 配置中顯式啟用浮點聚合操作。類似地,當我們將工作負載配置為使用十進制算法時,我們需要通過將 spark.rapids.sql.decimalType.enabled 設置為 true 來啟用十進制加速。

插件文檔 列出了配置支持或不支持的操作,以及在默認情況下啟用或禁用某些操作的原因。除了浮點聚合和十進制支持之外,生產 Spark 工作負載極有可能受益于以下幾類操作:

鑄造作業(yè) ,特別是從字符串到日期或數字類型,或從浮點類型到十進制類型。

某些 Unicode 字符不支持字符串大小寫(例如“ SELECT UPPER(name) FROM EMPLOYEES ”),更改大小寫也會更改字符寬度(以字節(jié)為單位),但許多應用程序不使用此類字符[或者通過將 Spark 。 RAPIDS 。 sql 。 compatibleops 。 enabled 設置為 true 來啟用它們和其他幾個。

從 CSV 文件中讀取特定類型;雖然插件( Spark 。 RAPIDS 。 sql 。 format 。 CSV 。 enabled )中當前默認啟用了讀取 CSV 文件,但讀取某些類型的無效值(尤其是數字類型、日期和小數)在 GPU 和 CPU 上會有不同的行為,因此需要單獨啟用每個類型的讀取。

加快從 CSV 文件接收數據

CSV 閱讀需要額外的注意:它是昂貴的,加速它可以提高許多工作的性能。然而,由于在 RAPIDS 加速器下讀取 CSV 的行為可能與在 cpu 上執(zhí)行時的 Spark 行為不同,并且由于實際 CSV 文件質量的巨大動態(tài)范圍,因此驗證在 GPU 上讀取 CSV 文件的結果尤為重要。一個快速但有價值的健全性檢查是確保在 GPU 上讀取 CSV 文件返回的空值數與在 CPU 上讀取相同的文件返回的空值數相同。當然,如果可能的話,使用像 Parquet 或 ORC 這樣的自文檔結構化輸入格式而不是 CSV 有很多好處。

避免查詢優(yōu)化的意外后果

RAPIDS 加速器將 物理查詢計劃 轉換為將某些操作符委派給 GPU 。 但是,在 Spark 生成物理計劃時,它已經對邏輯計劃執(zhí)行了幾個轉換,這可能涉及重新排序操作。 因此,開發(fā)人員或分析人員聲明的接近查詢或數據幀操作末尾的操作可能會從查詢計劃的葉移向根。

A diagram of a database query execution. The first step shows joining two input relations; the second step shows the output of joining these two relations; the third shows the result of filtering the join output, producing in relatively few records.

圖 2 : 一種執(zhí)行數據幀查詢的描述,該查詢連接兩個數據幀,然后過濾結果。 如果謂詞具有足夠的選擇性,則大多數輸出元組將被丟棄。

A diagram of a database query execution. The first step shows filtering the first input relation; the second step shows filtering the second input relation; and the third shows joining the results of filtering the two input relations, resulting in relatively few records.

圖 3 : 執(zhí)行數據幀查詢的描述,在連接結果之前過濾兩個輸入關系。 如果可以對每個輸入關系獨立地計算謂詞,那么此查詢執(zhí)行將產生與圖 2 中的查詢執(zhí)行相同的結果,效率將大大提高。

一般來說,這種轉換可以提高性能。 例如,考慮一個查詢,該查詢連接兩個數據幀,然后過濾結果: 如果可能的話,在執(zhí)行連接之前執(zhí)行過濾器通常會更有效。 這樣做將減少連接的基數,消除最終不必要的比較,減少內存壓力,甚至可能減少連接中需要考慮的數據幀分區(qū)的數量。 然而,這種優(yōu)化可能會產生違反直覺的后果: 如果向查詢計劃的根移動的操作僅在 CPU 上受支持,或者如果它生成的值的類型在 GPU 上不受支持,則主動查詢重新排序可能會對 GPU 的性能產生負面影響。 當這種情況發(fā)生時,在 CPU 上執(zhí)行的查詢計劃的百分比可能比嚴格需要的要大。 您通??梢越鉀Q這個問題,并通過將查詢劃分為兩個分別執(zhí)行的部分來提高性能,從而強制在查詢計劃的葉子附近僅 CPU 的操作僅在原始查詢的可加速部分在 GPU 上運行之后執(zhí)行。

結論

在第三期文章中,我們詳細介紹了如何充分利用 Apache Spark 和 Apache RAPIDS 加速器 Spark 。 大多數團隊都會通過干凈地使用 Spark 的數據幀抽象來實現(xiàn)最大的好處。 但是,一些應用程序可能會受益于細微的調整,特別是考慮 RAPIDS 加速器的執(zhí)行模型并避免不受支持的操作的保留語義的代碼更改。 未來幾期文章將討論數據科學發(fā)現(xiàn)工作流和機器學習生命周期的其余部分。

關于作者

William Benton在NVIDIA數據科學產品小組工作,他熱衷于使機器學習從業(yè)人員可以輕松地從先進的基礎架構中受益,并使組織可以管理機器學習系統(tǒng)。 在擔任過以前的職務時,他定義了與數據科學和機器學習有關的產品戰(zhàn)略和專業(yè)服務產品,領導了數據科學家和工程師團隊,并為與數據,機器學習和分布式系統(tǒng)有關的開源社區(qū)做出了貢獻。

審核編輯:郭婷

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

    關注

    2

    文章

    839

    瀏覽量

    39859
  • NVIDIA
    +關注

    關注

    14

    文章

    5570

    瀏覽量

    109379
  • 機器學習
    +關注

    關注

    66

    文章

    8546

    瀏覽量

    136523
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    全新軟件與模型優(yōu)化為NVIDIA DGX Spark注入強大動力

    自發(fā)布以來,NVIDIA 通過持續(xù)的軟件優(yōu)化以及與軟件合作伙伴和開源社區(qū)的緊密協(xié)作,不斷提升基于 Grace Blackwell 架構的 DGX Spark 的性能。這些舉措在推理、訓練和創(chuàng)意工作流方面都取得了顯著的成效。
    的頭像 發(fā)表于 01-09 10:17 ?297次閱讀

    NVIDIA DGX Spark桌面級AI超級計算機助力開發(fā)者構建AI模型

    開源 AI 正在加速各行各業(yè)的創(chuàng)新,NVIDIA DGX Spark 將幫助開發(fā)者將創(chuàng)新轉化為影響力。
    的頭像 發(fā)表于 01-09 09:49 ?227次閱讀

    如何在DGX Spark上運行NVIDIA Omniverse

    首先感謝 Vigor 同學第一時間的分享,以下是具體如何在 DGX Spark 上運行 Omniverse 的方法。
    的頭像 發(fā)表于 12-17 10:13 ?405次閱讀
    如何在DGX <b class='flag-5'>Spark</b>上運行NVIDIA Omniverse

    耐能攜手Spark迪維科推動AI技術在垂直產業(yè)的應用發(fā)展

    全球領先的邊緣 AI 芯片領域先行者Kneron耐能宣布與AI影像科技領導品牌 Spark全面開啟戰(zhàn)略合作。雙方將以Argo AI VMS為核心,攜手推動 AI 技術在各大垂直產業(yè)的應用發(fā)展。進一步延續(xù)雙方在智能監(jiān)控場景的成功經驗,并標志著從“安防科技”邁向“AI 基礎建設”的重要升級。
    的頭像 發(fā)表于 11-28 14:55 ?396次閱讀

    NVIDIA DGX Spark系統(tǒng)恢復過程與步驟

    在使用 NVIDIA DGX Spark 的過程中,可能會出現(xiàn)配置故障,而導致開發(fā)中斷的問題,本篇教程將帶大家了解如何一步步完成系統(tǒng)恢復。
    的頭像 發(fā)表于 11-28 09:46 ?4769次閱讀
    NVIDIA DGX <b class='flag-5'>Spark</b>系統(tǒng)恢復過程與步驟

    NVIDIA DGX Spark助力構建自己的AI模型

    2025 年 1 月 6 日,NVIDIA 正式宣布其 Project DIGITS 項目,并于 3 月 18 日更名為 NVIDIA DGX Spark,進一步公布了產品細節(jié)。DGX Spark
    的頭像 發(fā)表于 11-21 09:25 ?979次閱讀
    NVIDIA DGX <b class='flag-5'>Spark</b>助力構建自己的AI模型

    在NVIDIA DGX Spark平臺上對NVIDIA ConnectX-7 200G網卡配置教程

    在 NVIDIA DGX Spark 平臺上對 NVIDIA ConnectX-7 200G 網卡進行配置時,會遇到“4 個邏輯端口”現(xiàn)象。理解背后的真相是后續(xù)所有配置的基礎。本文將從此現(xiàn)象入手,逐步解析其原理,并提供從基礎配置到深度性能驗證的完整流程。
    的頭像 發(fā)表于 11-21 09:19 ?4917次閱讀
    在NVIDIA DGX <b class='flag-5'>Spark</b>平臺上對NVIDIA ConnectX-7 200G網卡配置教程

    NVIDIA DGX Spark快速入門指南

    NVIDIA DGX Spark 已正式向 AI 開發(fā)者交付,對于剛入手的全新 DGX Spark,該如何進行初始化設置?本篇文章將引導您完成 DGX Spark 首次設置。在初始設置的過程中,您
    的頭像 發(fā)表于 11-17 14:11 ?5530次閱讀
    NVIDIA DGX <b class='flag-5'>Spark</b>快速入門指南

    安泰新能源發(fā)布新一代智能跟蹤支架AT-Spark,為大型光伏電站提供一體化解決方案

    廈門2025年11月13日 /美通社/ -- 安泰新能源在其"Spark ON"全球發(fā)布會上,正式推出新一代智能太陽能跟蹤支架 AT-Spark 。該支架專為大型光伏電站設計,旨在滿足市場對更高
    的頭像 發(fā)表于 11-13 21:08 ?193次閱讀

    NVIDIA黃仁勛向SpaceX馬斯克交付DGX Spark

    革新于星艦基地開始。NVIDIA 創(chuàng)始人兼首席執(zhí)行官黃仁勛親手將全球迄今為止最小的 AI 超級計算機 NVIDIA DGX Spark 交付給埃隆·馬斯克,拉開了該產品上市的序幕。
    的頭像 發(fā)表于 10-21 11:12 ?805次閱讀

    NVIDIA DGX Spark新一代AI超級計算機正式交付

    NVIDIA 創(chuàng)始人兼首席執(zhí)行官黃仁勛在 SpaceX 向埃隆·馬斯克交付 DGX Spark。
    的頭像 發(fā)表于 10-21 10:41 ?896次閱讀

    NVIDIA DGX Spark桌面AI計算機開啟預訂

    DGX Spark 現(xiàn)已開啟預訂!麗臺科技作為 NVIDIA 授權分銷商,提供從產品到服務的一站式解決方案,助力輕松部署桌面 AI 計算機。
    的頭像 發(fā)表于 09-23 17:20 ?1120次閱讀
    NVIDIA DGX <b class='flag-5'>Spark</b>桌面AI計算機開啟預訂

    使用NVIDIA GPU加速Apache Spark中Parquet數據掃描

    的方式組織數據,這使得 Parquet 在查詢時僅讀取所需的列,而無需掃描整行數據,即可實現(xiàn)高性能的查詢和分析。高效的數據布局使 Parquet 在現(xiàn)代分析生態(tài)系統(tǒng)中成為了受歡迎的選擇,尤其是在 Apache Spark 工作負載中。
    的頭像 發(fā)表于 07-23 10:52 ?899次閱讀
    使用NVIDIA GPU<b class='flag-5'>加速</b><b class='flag-5'>Apache</b> <b class='flag-5'>Spark</b>中Parquet數據掃描

    NVIDIA加速Apache Spark助力企業(yè)節(jié)省大量成本

    隨著 NVIDIA 推出 Aether 項目,通過采用 NVIDIA 加速Apache Spark 企業(yè)得以自動加速其數據中心規(guī)模的分析工作負載,從而節(jié)省數百萬美元。
    的頭像 發(fā)表于 03-25 15:09 ?1034次閱讀
    NVIDIA<b class='flag-5'>加速</b>的<b class='flag-5'>Apache</b> <b class='flag-5'>Spark</b>助力企業(yè)節(jié)省大量成本

    NVIDIA 宣布推出 DGX Spark 個人 AI 計算機

    臺式超級計算機由 NVIDIA Grace Blackwell 驅動,為開發(fā)者、研究人員和數據科學家提供加速 AI 功能;系統(tǒng)由頭部計算機制造商(包括華碩、Dell Technologies、HP
    發(fā)表于 03-19 09:59 ?560次閱讀
       NVIDIA 宣布推出 DGX <b class='flag-5'>Spark</b> 個人 AI 計算機