色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

LibTorch-based推理引擎優化內存使用和線程池

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-31 14:27 ? 次閱讀

由喜馬拉伊·莫漢拉爾·喬里瓦爾、皮埃爾-伊夫·阿基蘭蒂、維韋克·戈溫丹、哈米德·舒賈納澤里、安基思·古納帕勒、特里斯坦·賴斯撰寫

大綱大綱

在博客文章中,我們展示了如何優化基于 LibTorrch 的推論引擎,通過減少記憶用量和優化線狀組合戰略來最大限度地增加吞吐量。 我們將這些優化應用到音頻數據模式識別引擎,例如音樂和語音識別或聲波指紋。 本博客文章中討論的優化使得內存使用率減少了50%,推論端到端的延遲度減少了37.5%。 這些優化適用于計算機視覺和自然語言處理。

音頻識別推斷

音頻識別(AR)引擎可用于識別和識別聲音模式。 例如,識別鳥類與錄音的種類和種類,區分音樂與歌手的聲音,或檢測顯示建筑物有異常故障的聲音。 為了識別有興趣的聲音,AR引擎將音頻處理到4個階段:

文件校驗:AR 引擎驗證輸入音頻文件。

采掘:從音頻文件中的每個部分提取特征。

推斷: LibTorrch 使用 CPU 或加速器進行推論。就我們的情況而言,在 Elastic Cloud 計算( EC2) 實例中,使用 Intel 處理器進行推論。

后處理:后處理模式解碼結果并計算用來將推斷輸出轉換成標記或記錄謄本的分數。

在這4個步驟中,推論是計算最密集的,根據模型的復雜性,推論可以占管道處理時間的50%,這意味著現階段的任何優化都會對整個管道產生重大影響。

最優化音頻識別引擎, 使用 conconconconconcondal 貨幣... 并不簡單

輸入數據是一個音頻文件,由幾個短聲段組成(圖1中的S1至S6),輸出數據與按時間戳訂購的標記或記錄謄本相對應。

wKgZomTv-CGAN5HEAAGCUuVN5SA551.jpg

圖1 圖1:有段邊框的音頻文件示例

每一部分可以獨立和不按部就班的方式處理,這樣就有機會同時處理各部分,同時處理各部分,優化總體推論量,最大限度地利用資源。

實例的平行化可以通過多行( phread: std:: threads, OpenMP) 或多處理來實現。 多處理的多行的好處是能夠使用共享的內存。 它使開發者能夠通過共享線條的數據來盡量減少線條上的數據重復; 我們的 AR 模型( 以我們為例) ( AR 模型) 。圖2 圖2此外,記憶力的減少使我們能夠通過增加引擎線的數量,同時運行更多的管道,以便利用我們亞馬遜EC2實例中的所有小CPU(VCPU)。c5.4 寬度我們的情況是,它提供了16 VCPUs。 理論上,我們期望看到我們的AR引擎的硬件利用率更高,輸送量更高。

wKgaomTv-CWAMT4uAAEudbJ52UE106.jpg

圖2 圖2:多讀 AR 引擎

但是,我們發現這些假設是錯誤的。 事實上,我們發現應用程序的線條數量增加導致每個音頻段端到端的延遲度增加,引擎輸送量減少。 比如,將同值貨幣從1個線條增加到5個線條導致延緩度增加4x,這對減少吞吐量產生了相應的影響。 事實上,衡量標準顯示,在管道內,單是推斷階段的延遲度就比單一線線條基線高出3x。

使用一個剖面文件 我們發現CPU旋轉時間由于CPU 過度訂閱會影響系統和應用性能,我們可能因此增加。 鑒于我們對應用程序多軌執行的控制,我們選擇更深入地潛入堆棧,并找出與 LibTorrch 默認設置的潛在沖突。

深入了解LibTorch的多行及其對同貨幣的影響

LibTorch 平行執行CPU的推斷依據是:全環線串聯集合執行實例是跨業務和內部平行,可視模型的特性選擇。在這兩種情況下,都有可能設定線索數在每個線性孔中 優化潛伏和吞吐量

為了測試LibTorrch的平行默認執行設置是否對我們的推論延緩期產生了反作用,我們用一個35分鐘的音頻文件對一臺16 vCPus機器進行了實驗,將LibTorrch的連接線條常數保持在1(因為我們的模型沒有使用操作間線條庫 ) 。 我們收集了以下數據,如圖3和圖4所示。

wKgZomTv-GGAZqRGAAFl_Bxjf6o762.jpg

圖3 圖3:不同數量引擎線索的 CPU 利用率

wKgZomTv-GiABBdJAAFLRrdlQ78245.jpg

圖4 圖4: 不同數量引擎線索的處理時間

圖4中的執行時間是處理給定音頻文件所有部分的端到端處理時間。 我們有4個不同配置的 LibTorrch 內部線條內部配置為 1 、 4 、 8 、 16, 并且我們將每條線內配置的引擎線數從1 改為 16。 如圖3所示, CPU的利用率隨著所有 LibTorrch 內部配置的引擎線數的增加而增加。 但是, 如圖4所示, CPU 利用率的增加并沒有轉化為較低的執行時間。 我們發現, 在除1個案例之外的所有案例中, 發動機線條數量增加, 執行時間也隨之增加。 例外的是, 整個線條內庫規模增加1 的情況是一個例外。

解決全球線索池問題

與全球線索庫使用過多的線索導致性能退化,并造成訂閱過多問題。全球連托全球聯線人才庫,很難與多過程發動機的性能相匹配。

將LibTorrch全球線條庫拆解, 簡單到將操作內部/操作間平行線線設置為 1, 如下表所示:

:set_num_threads(1) // 禁用內部線條庫 :set_ num_interop_threads(1) 。 / 禁用內部線條庫 。

如圖4所示,當LibTorch全球線條池被禁用時,最低處理時間是測量的。

這一解決方案在若干情況下改善了AR發動機的吞吐量。 然而,在評價長數據集(在負荷測試中超過2小時的Audio文件)時,我們發現發動機的記憶足跡開始逐漸增加。

優化內存使用

我們用兩個小時長的音頻文件對系統進行了負荷測試,發現觀察到的內存增加是多軌LibTorch推論中內存破碎的結果。我們用這個方法解決了這個問題。杰梅洛c,這是一個通用的商場(3)執行,強調避免分散和可縮放的貨幣支持。使用 Jemalloc我們的峰值內存使用率平均下降了34%,平均內存使用率下降了53%。

wKgZomTv-IOAAjlIAAE0FISO-Hs693.jpg

圖5 圖5:使用有 Jemalloc 和沒有 Jemalloc 的同一輸入文件,隨著時間的推移內存使用量

摘要摘要

為了優化基于 libTorrch 的多軌 LibTorrch 推斷引擎的性能,我們建議核實LibTorrch 中不存在過量訂閱問題。 就我們而言,多軌引擎中的所有線條都是共享 LibTorrch 全球線條庫,這造成了一個過量訂閱問題。 這一點通過讓全球線條庫失效而得到糾正: 我們通過將線條設為 1 來禁用內部和內部全球線條庫。 為了優化多軌引擎的內存, 我們建議使用 Jemalloc 來作為記憶分配工具, 而不是默認的時鐘功能 。

審核編輯:湯梓紅

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

    關注

    68

    文章

    10854

    瀏覽量

    211583
  • 內存
    +關注

    關注

    8

    文章

    3019

    瀏覽量

    74003
  • 線程池
    +關注

    關注

    0

    文章

    57

    瀏覽量

    6844
  • pytorch
    +關注

    關注

    2

    文章

    807

    瀏覽量

    13200
收藏 人收藏

    評論

    相關推薦

    Java中的線程包括哪些

    線程是用來統一管理線程的,在 Java 中創建和銷毀線程都是一件消耗資源的事情,線程可以重復
    的頭像 發表于 10-11 15:33 ?809次閱讀
    Java中的<b class='flag-5'>線程</b><b class='flag-5'>池</b>包括哪些

    針對Arm嵌入式設備優化的神經網絡推理引擎

    專門針對Arm嵌入式設備優化的神經網絡推理引擎Tengine + HCL,不同人群的量身定制
    發表于 01-15 08:00

    線程是如何實現的

    線程的概念是什么?線程是如何實現的?
    發表于 02-28 06:20

    關于RT-Thread內存管理的內存簡析

    :支持線程掛起。內存無空閑內存塊時,申請線程會被掛起,直到有可用內存塊。簡單理解,就是將相同大
    發表于 04-06 17:02

    線程線程

    線程通常用于服務器應用程序。 每個傳入請求都將分配給線程池中的一個線程,因此可以異步處理請求,而不會占用主線程,也不會延遲后續請求的處理
    的頭像 發表于 02-28 09:53 ?787次閱讀
    多<b class='flag-5'>線程</b>之<b class='flag-5'>線程</b><b class='flag-5'>池</b>

    線程線程怎么釋放

    線程分組看,pool名開頭線程占616條,而且waiting狀態也是616條,這個點就非常可疑了,我斷定就是這個pool開頭線程導致的問題。我們先排查為何這個
    發表于 07-31 10:49 ?2274次閱讀
    <b class='flag-5'>線程</b><b class='flag-5'>池</b>的<b class='flag-5'>線程</b>怎么釋放

    Spring 的線程應用

    我們在日常開發中,經常跟多線程打交道,Spring 為我們提供了一個線程方便我們開發,它就是 ThreadPoolTaskExecutor ,接下來我們就來聊聊 Spring 的線程
    的頭像 發表于 10-13 10:47 ?620次閱讀
    Spring 的<b class='flag-5'>線程</b><b class='flag-5'>池</b>應用

    什么是內存

    使用時就會變得非常快 捷,大大提高程序運行效率。 在計算機中,有很多使用“”這種技術的地方,除了內存,還有連接線程
    的頭像 發表于 11-08 16:26 ?897次閱讀
    什么是<b class='flag-5'>內存</b><b class='flag-5'>池</b>

    高并發內存項目實現

    本項目實現了一個高并發內存,參考了Google的開源項目tcmalloc實現的簡易版;其功能就是實現高效的多線程內存管理。由功能可知,高并發指的是高效的多
    的頭像 發表于 11-09 11:16 ?712次閱讀
    高并發<b class='flag-5'>內存</b><b class='flag-5'>池</b>項目實現

    了解連接線程內存、異步請求

    可被重復使用像常見的線程內存、連接、對象都具有以上的共同特點。 連接
    的頭像 發表于 11-09 14:44 ?1308次閱讀
    了解連接<b class='flag-5'>池</b>、<b class='flag-5'>線程</b><b class='flag-5'>池</b>、<b class='flag-5'>內存</b><b class='flag-5'>池</b>、異步請求<b class='flag-5'>池</b>

    線程基本概念與原理

    一、線程基本概念與原理 1.1 線程概念及優勢 C++線程簡介
    的頭像 發表于 11-10 10:24 ?528次閱讀

    線程的基本概念

    線程的基本概念 不管線程是什么東西!但是我們必須知道線程被搞出來的目的就是:提高程序執行效
    的頭像 發表于 11-10 16:37 ?520次閱讀
    <b class='flag-5'>線程</b><b class='flag-5'>池</b>的基本概念

    內存主要解決的問題

    程 序占有的資源數量。 經常使用的技術包括內存線程和連接等,其中尤以
    的頭像 發表于 11-13 15:23 ?700次閱讀
    <b class='flag-5'>內存</b><b class='flag-5'>池</b>主要解決的問題

    線程的創建方式有幾種

    線程是一種用于管理和調度線程的技術,能夠有效地提高系統的性能和資源利用率。它通過預先創建一組線程并維護一個工作隊列,將任務提交給線程
    的頭像 發表于 12-04 16:52 ?856次閱讀

    什么是動態線程?動態線程的簡單實現思路

    因此,動態可監控線程一種針對以上痛點開發的線程管理工具。主要可實現功能有:提供對 Spring 應用內線程
    的頭像 發表于 02-28 10:42 ?639次閱讀
    主站蜘蛛池模板: 国产高清免费观看| 亚洲三级视频| 日本xxx护士与黑人| 伦理79电影网在线观看| 精品亚洲麻豆1区2区3区| 国产精品久久久久久久人人看| bl(高h)文| 中文字幕在线视频免费观看| 一本之道高清在线3线观看| 亚洲国产剧情中文视频在线| 无限资源在线观看高清| 文中字幕一区二区三区视频播放| 日本九九热在线观看官网| 日韩高清一区二区三区不卡| 妻子的妹妹在线| 日韩毛片大全| 日韩高清在线亚洲专区| 色婷婷五月综合久久中文字幕| 日韩爽爽影院在线播放| 日本久久道一区二区三区| 全球真实小U女视频合集| 日本无码人妻精品一区二区视频| 骚妇BB双飞插| 午夜黄视频| 亚洲人美女肛交真人全程| 一区二区三区国产| 2019天天射干网站| JAVASCRIPTJAVA水多多| 成人麻豆日韩在无码视频| 国产AV高清怡春院| 国产人妻人伦精品98| 狠狠爱亚洲五月婷婷av| 久久婷婷五月综合色情| 男人国产AV天堂WWW麻豆| 青青久在线视频免费观看| 色裕插插插影视| 亚洲春色AV无码专区456| 影音先锋 av天堂| 99热久久久无码国产精品性麻豆 | 久久这里只有精品视频9| 久久免费看少妇高潮A片JA|