99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何用基于NVIDIA GPU的RAPIDS cuML實現(xiàn)取代KRR?

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單細胞測量技術(shù)發(fā)展迅速,徹底改變了生命科學。我們已經(jīng)從測量幾十個細胞擴展到數(shù)百萬個細胞,從一種模式擴展到多個高維模式。單個細胞水平上的大量信息為訓練機器學習模型提供了一個很好的機會,幫助我們更好地理解 intrinsic link of cell modalities ,這可能會對合成生物學和 drug target discovery 產(chǎn)生變革。

這篇文章介紹了模態(tài)預測,并解釋了我們?nèi)绾斡没?NVIDIA GPU 的 RAPIDS cuML 實現(xiàn)取代基于 CPU 的 TSVD 和內(nèi)核嶺回歸( KRR ),從而加速了 NeurIPS Single-Cell Multi-Modality Prediction Challenge 的獲勝解決方案。

使用 cuML ,只修改了六行代碼,我們加速了基于 scikit 學習的獲勝解決方案,將訓練時間從 69 分鐘縮短到 40 秒:速度提高了 103.5 倍!即使與 PyTorch 中開發(fā)的復雜深度學習模型相比,我們觀察到 cuML 解決方案對于這種預測挑戰(zhàn)來說更快更準確。

多虧了單細胞技術(shù),我們可以測量同一單細胞內(nèi)的多種形態(tài),如 DNA 可達性( ATAC )、 mRNA 基因表達( GEX )和蛋白質(zhì)豐度( ADT )。圖 1 顯示了這些模式之間的內(nèi)在聯(lián)系。只有可獲得的 DNA 才能產(chǎn)生 mRNA ,而 mRNA 又被用作生產(chǎn)蛋白質(zhì)的模板。

當期望從一個模態(tài)預測另一個模態(tài)時,模態(tài)預測的問題自然出現(xiàn)。在 2021 NeurIPS challenge 中,我們被要求預測從 ATAC 到 GEX 以及從 GEX 到 ADT 的信息流。

若一個機器學習模型能夠做出好的預測,那個么它一定已經(jīng)了解了細胞的復雜狀態(tài),它可以為細胞生物學提供更深入的見解。擴展我們對這些調(diào)控過程的理解,對于藥物靶點的發(fā)現(xiàn)也具有革命性意義。

模態(tài)預測是一個多輸出回歸問題,它提出了獨特的挑戰(zhàn):

High cardinality.例如, GEX 和 ADT 信息分別以長度為 13953 和 134 的矢量描述。

Strong bias.數(shù)據(jù)收集自 10 個不同的捐贈者和 4 個地點。培訓和測試數(shù)據(jù)來自不同的站點。捐贈者和站點都強烈影響數(shù)據(jù)的分布。

稀疏、冗余和非線性。模態(tài)數(shù)據(jù)稀疏,列高度相關(guān)。

在這篇文章中,我們專注于 GEX 到 ADT 預測的任務,以證明單個 – GPU 解決方案的效率。我們的方法可以擴展到使用多節(jié)點多 GPU 架構(gòu)的具有更大數(shù)據(jù)量和更高基數(shù)的其他單細胞模態(tài)預測任務。

使用 TSVD 和 KRR 算法進行多目標回歸

作為基線,我們使用了密歇根大學鄧凱文教授的 NeurIPS 模態(tài)預測挑戰(zhàn)“ GEX 到 ADT ”的 first-place solution 。核心模型的工作流程如圖 2 所示。訓練數(shù)據(jù)包括 GEX 和 ADT 信息,而測試數(shù)據(jù)只有 GEX 信息。

任務是預測給定 GEX 的測試數(shù)據(jù)的 ADT 。為了解決數(shù)據(jù)的稀疏性和冗余性,我們應用截斷奇異值分解( TSVD )來降低 GEX 和 ADT 的維數(shù)。

特別是,兩種 TSVD 模型分別適用于 GEX 和 ADT :

對于 GEX , TSVD 適合訓練和測試的級聯(lián)數(shù)據(jù)。

對于 ADT , TSVD 僅適合訓練數(shù)據(jù)。

在鄧的解決方案中, GEX 的維度從 13953 大幅降低到 300 , ADT 從 134 大幅降低到 70 。

主成分 300 和 70 的數(shù)量是通過交叉驗證和調(diào)整獲得的模型的超參數(shù)。然后將訓練數(shù)據(jù)的 GEX 和 ADT 的簡化版本與 RBF 核一起饋送到 KRR 中。根據(jù)鄧的方法,在推理時,我們使用經(jīng)過訓練的 KRR 模型執(zhí)行以下任務:

預測測試數(shù)據(jù)的 ADT 的簡化版本。

應用 TSVD 的逆變換。

恢復測試數(shù)據(jù)的 ADT 預測。

model-overview.png

圖 2.模型概述。塊表示輸入和輸出數(shù)據(jù),塊旁邊的數(shù)字表示尺寸。

通常, TSVD 是對稀疏數(shù)據(jù)執(zhí)行降維的最常用選擇,通常在特征工程期間使用。在這種情況下, TSVD 用于減少特征( GEX )和目標( ADT )的尺寸。目標的降維使下游多輸出回歸模型更加容易,因為 TSVD 輸出在列之間更加獨立。

選擇 KRR 作為多輸出回歸模型。與 SVM 相比, KRR 同時計算輸出的所有列,而 SVM 一次預測一列,因此 KRR 可以像 SVM 一樣學習非線性,但速度更快。

使用 cuML 實現(xiàn) GPU 加速解決方案

cuML 是 RAPIDS 庫之一。它包含一套 GPU 加速機器學習算法,可提供許多高度優(yōu)化的模型,包括 TSVD 和 KRR 。您可以將基線模型從 scikit 學習實現(xiàn)快速調(diào)整為 cuML 實現(xiàn)。

I在下面的代碼示例中,我們只需要更改六行代碼,其中三行是導入。為簡單起見,省略了許多預處理和實用程序代碼。

Baseline sklearn implementation:

from sklearn.decomposition import TruncatedSVD from sklearn.gaussian_process.kernels import RBF from sklearn.kernel_ridge import KernelRidge tsvd_gex = TruncatedSVD(n_components=300) tsvd_adt = TruncatedSVD(n_components=70) gex_train_test = tsvd_gex.fit_transform(gex_train_test) gex_train, gex_test = split(get_train_test) adt_train = tsvd_adt.fit_transform(adt_train) adt_comp = tsvd_adt.components_ y_pred = 0 for seed in seeds: gex_tr,_,adt_tr,_=train_test_split(gex_train, adt_train, train_size=0.5, random_state=seed) kernel = RBF(length_scale = scale) krr = KernelRidge(alpha=alpha, kernel=kernel) krr.fit(gex_tr, adt_tr) y_pred += (krr.predict(gex_test) @ adt_comp) y_pred /= len(seeds)

RAPIDS cuML implementation:

from cuml.decomposition import TruncatedSVD from cuml.kernel_ridge import KernelRidge import gctsvd_gex = TruncatedSVD(n_components=300) tsvd_adt = TruncatedSVD(n_components=70) gex_train_test = tsvd_gex.fit_transform(gex_train_test) gex_train, gex_test = split(get_train_test) adt_train = tsvd_adt.fit_transform(adt_train)adt_comp = tsvd_adt.components_.to_output('cupy')y_pred = 0 for seed in seeds: gex_tr,_,adt_tr,_=train_test_split(gex_train, adt_train, train_size=0.5, random_state=seed)krr = KernelRidge(alpha=alpha,kernel='rbf')krr.fit(gex_tr, adt_tr)gc.collect()y_pred += (krr.predict(gex_test) @ adt_comp) y_pred /= len(seeds)

cuML 內(nèi)核的語法與 scikit learn 略有不同。我們沒有創(chuàng)建獨立的內(nèi)核對象,而是在 KernelRidge 的構(gòu)造函數(shù)中指定了內(nèi)核類型。這是因為 cuML 還不支持高斯過程。

另一個區(qū)別是當前版本的 cuML 實現(xiàn)需要顯式垃圾收集。在這個特定的循環(huán)中創(chuàng)建了某種形式的引用循環(huán),并且在沒有垃圾收集的情況下不會自動釋放對象。有關(guān)更多信息,請參閱 /daxiongshu/rapids_nips_blog GitHub 存儲庫中的完整筆記本。

后果

我們將 TSVD + KRR 的 cuML 實施與 CPU 基線和挑戰(zhàn)中的其他頂級解決方案進行了比較。 GPU 解決方案在單個 V100 GPU 上運行, CPU 解決方案在雙 20 核 Intel Xeon CPU 上運行。競爭的度量是均方根誤差( RMSE )。

我們發(fā)現(xiàn), TSVD + KRR 的 cuML 實現(xiàn)比 CPU 基線快 103 倍,由于管道中的隨機性,分數(shù)略有下降。然而,比分仍然比比賽中的任何其他車型都好。

我們還將我們的解決方案與兩種深度學習模型進行了比較:

第四名解決方案:Multilayer Perceptron (MLP)

第二名解決方案:Graph Neural Network (GNN)

這兩個深度學習模型都在 PyTorch 中實現(xiàn),并在單個 V100 GPU 上運行。這兩個深度學習模型都有許多層,需要訓練數(shù)百萬個參數(shù),因此容易對該數(shù)據(jù)集進行過度擬合。相比之下, TSVD + KRR 只需訓練少于 30K 的參數(shù)。圖 4 顯示,由于其簡單性, cuML TSVD + KRR 模型比深度學習模型更快、更準確。

performance-training-comparison.png

圖 4.績效和培訓時間對比。橫軸為對數(shù)刻度。

結(jié)論

由于其閃電般的速度和用戶友好的 API , RAPIDS cuML 對于加速單細胞數(shù)據(jù)的分析非常有用。通過少量的代碼更改,您可以提升現(xiàn)有的 scikit 學習工作流。

此外,在處理單細胞模態(tài)預測時,我們建議從 cuML TSVD 開始,以減少下游任務的數(shù)據(jù)維度和 KRR ,從而實現(xiàn)最佳加速。

使用 /daxiongshu/rapids_nips_blog GitHub 存儲庫上的代碼嘗試這個 RAPIDS cuML 實現(xiàn)。

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

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106457
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    35168

    瀏覽量

    280183
  • 電池
    +關(guān)注

    關(guān)注

    84

    文章

    11081

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    NVIDIA火熱招聘GPU高性能計算架構(gòu)師

    這邊是NVIDIA HR Allen, 我們目前在上海招聘GPU高性能計算架構(gòu)師(功能驗證)的崗位,有意向的朋友歡迎發(fā)送簡歷到 allelin@nvidia
    發(fā)表于 09-01 17:22

    NVIDIA-SMI:監(jiān)控GPU的絕佳起點

    nvidia-smi可執(zhí)行文件位于虛擬機管理程序上。如果在同一部署中您選擇在GPU上使用作為傳遞,那么GPU正在尋找訪客上的NVIDIA驅(qū)動程序,因此
    發(fā)表于 09-04 15:18

    購買哪款Nvidia GPU

    。Nvidia的NV 24核,224 GB RAM,1.4 GB臨時存儲。這是相當昂貴的(每月費用超過3,400美元),除非我承諾1年或3年的承諾,略有減少。我認為如果我購買GPU服務器,從長遠來看可能會更便
    發(fā)表于 09-26 15:30

    NVIDIA網(wǎng)格GPU-PSOD的支持結(jié)構(gòu)

    they blamed it on the nvidia gpu but they dont know if its a driver or hardware issue.Can a ticket be open
    發(fā)表于 10-10 16:15

    Nvidia GPU風扇和電源顯示ERR怎么解決

    問題最近在Ubuntu上使用Nvidia GPU訓練模型的時候,如果機器鎖屏一段時間再打開的時候鼠標非??D,或者說顯示界面非??D,使用nvidia-smi查看發(fā)現(xiàn),訓練模型的GPU
    發(fā)表于 12-30 06:44

    在Ubuntu上使用Nvidia GPU訓練模型

    問題最近在Ubuntu上使用Nvidia GPU訓練模型的時候,沒有問題,過一會再訓練出現(xiàn)非??D,使用nvidia-smi查看發(fā)現(xiàn),顯示GPU的風扇和電源報錯:解決方案自動風扇控制在
    發(fā)表于 01-03 08:24

    探求NVIDIA GPU極限性能的利器

    1、探求 NVIDIA GPU 極限性能的利器  在通常的 CUDA 編程中,用戶主要通過 CUDA C/C++ 或 python 語言實現(xiàn) CUDA 功能的調(diào)用。在 NVIDIA
    發(fā)表于 10-11 14:35

    NVIDIA推出RAPIDS開源GPU加速平臺

    HPE、IBM、Oracle、開源社區(qū)、創(chuàng)業(yè)公司采用RAPIDS,顯著提升端到端預測數(shù)據(jù)分析能力。
    的頭像 發(fā)表于 10-17 14:36 ?4624次閱讀

    Nvidia宣布推出了一套新的開源RAPIDS

    在德國慕尼黑舉行的GPU技術(shù)會議上,高性能GPU和人工智能領(lǐng)域的領(lǐng)導者Nvidia宣布推出了一套新的開源RAPIDS庫,用于GPU加速的分析
    的頭像 發(fā)表于 03-25 15:38 ?2626次閱讀

    GTC2022大會亮點:RAPIDSNVIDIA備受歡迎的NVIDIA SDK之一

    GTC2022大會亮點:RAPIDSNVIDIA備受歡迎的NVIDIA SDK之一,僅次于用于深度學習的cuDNN。
    的頭像 發(fā)表于 03-24 16:43 ?1485次閱讀
    GTC2022大會亮點:<b class='flag-5'>RAPIDS</b>是<b class='flag-5'>NVIDIA</b>備受歡迎的<b class='flag-5'>NVIDIA</b> SDK之一

    NVIDIA RAPIDS加速器可將工作分配集群中各節(jié)點

    近期,該團隊在 GPU 助力的服務器上測試了適用于 Apache Spark 的 NVIDIA RAPIDS 加速器,該軟件可將工作分配到集群中的各節(jié)點。
    的頭像 發(fā)表于 04-01 14:15 ?1426次閱讀

    具有RAPIDS cuMLGPU加速分層DBSCAN

      我們將通過快速示例演示 HDBSCAN 的 RAPIDS cuML 實現(xiàn)中當前支持的功能,并將提供我們在 GPU實現(xiàn)的一些實際示例和
    的頭像 發(fā)表于 04-18 16:15 ?5041次閱讀
    具有<b class='flag-5'>RAPIDS</b> <b class='flag-5'>cuML</b>的<b class='flag-5'>GPU</b>加速分層DBSCAN

    AutoML技術(shù)提高NVIDIA GPURAPIDS速度

      AutoGluon AutoML 工具箱使培訓和部署尖端技術(shù)變得很容易 復雜業(yè)務問題的精確機器學習模型。此外, AutoGluon 與 RAPIDS 的集成充分利用了 NVIDIA GPU 計算的潛力,使復雜模型的訓練速度提
    的頭像 發(fā)表于 04-26 16:01 ?2657次閱讀
    AutoML技術(shù)提高<b class='flag-5'>NVIDIA</b> <b class='flag-5'>GPU</b>和<b class='flag-5'>RAPIDS</b>速度

    使用 RAPIDS 進行更快的單細胞分析

    使用 RAPIDS-singlecell 進行 GPU 加速的單細胞 RNA 分析
    的頭像 發(fā)表于 07-05 16:30 ?1023次閱讀
    使用 <b class='flag-5'>RAPIDS</b> 進行更快的單細胞分析

    RAPIDS cuDF將pandas提速近150倍

    NVIDIA GTC 2024 上,NVIDIA 宣布,RAPIDS cuDF 當前已能夠為 950 萬 pandas 用戶帶來 GPU 加速,且無需修改代碼。
    的頭像 發(fā)表于 11-20 09:52 ?665次閱讀
    <b class='flag-5'>RAPIDS</b> cuDF將pandas提速近150倍