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

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

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

3天內不再提示

利用NVIDIA模型分析儀最大限度地提高深度學習的推理性能

電子設計 ? 來源: 電子設計 ? 作者: 電子設計 ? 2020-10-21 19:01 ? 次閱讀

你已經建立了你的深度學習推理模型并將它們部署到 NVIDIA Triton Inference Serve 最大化模型性能。 你如何進一步加快你的模型的運行速度? 進入 NVIDIA模型分析器 ,一個收集模型計算需求的工具。

沒有這些信息,在理解在GPU上運行多少模型方面就存在知識差距。 通過收集冷熱儲存需求,您可以使用它們通知模型的調度,以獲得幾個好處:

最大化模型吞吐量—確保放置在每個GPU上的模型總和不超過可用內存和GPU利用率的特定閾值,例如100%。這樣可以最大限度地提高硬件的吞吐量。

優化硬件使用—檢查GPU內存需求,以便在較少硬件上運行更多型號。您可以使用此數據來確定每個GPU可以加載的最大模型數,而不是優化吞吐量,從而減少所需的硬件,或者權衡吞吐量的權衡。

提高了可靠性—通過了解在GPU上加載的模型不會超出其能力,消除內存不足錯誤。

此外,還有兩個關鍵的非調度好處:

有效的模式—比較和對比不同的模型,將計算需求作為一個額外的數據點來衡量模型的性能。這有助于生成更輕量級的模型,并減少推理所需的內存量。

更好的硬件尺寸—使用內存需求確定運行模型所需的確切硬件數量。

總之,理解推理模型的計算要求提供了從模型創建和硬件大小到模型的可靠、高效運行的大量好處。 下面我們來看看ModelAnalyzer,看看它如何為最高性能的推理解決方案做出貢獻。

獲取模型分析器Docker容器

在使用推理服務器容器之前,必須安裝一些軟件,如Docker。 有關更多信息,請參見 安裝Docker和NVIDIA Docke 一節進去 NVIDIA Docker:GPU服務器應用程序部署容易.

模型分析器作為Helm圖表、Docker容器或獨立命令行接口運行。 對于本教程,您可以從源代碼the構建Docker容器 triton-inference-server/model_analyzer Github回購。

git clone https://github.com/triton-inference-server/model_analyzer.git
cd model_analyzer
docker build -t memory-analyzer

要為您的模型運行容器,請確保端口8000、8001和8002可用。 然后,運行以下命令,替換大寫參數

docker run -v /var/run/docker.sock:/var/run/docker.sock /
-v /ABSOLUTE/PATH/TO/MODELS:ABSOLUTE/PATH/TO/MODELS /
-v /ABSOLUTE/PATH/TO/EXPORT/DIRECTORY:/results --net=host /
memory-analyzer:ANALYZER-VERSION /
--batch BATCH-SIZES /
--concurrency CONCURRENCY-VALUES /
--model-names MODEL-NAMES /
--triton-version TRITON-VERSION /
--model-folder /ABSOLUTE/PATH/TO/MODELS /
--export --export-path /results/

這里有一個示例命令供參考:

docker run -v /var/run/docker.sock:/var/run/docker.sock /
-v /home/user/models: /home/user/models /
-v /home/user/results:/results --net=host /
memory-analyzer:latest /
--batch 1,2,4 /
--concurrency 1,2,4 /
--model-names chest_xray,covid19_xray/
--triton-version 20.02-py3 /
--model-folder /home/user/models /
--export --export-path /results/

容器完成后,每個模型、批處理大小和并發值的度量將導出到您選擇的目錄中。 信息是通過在系統運行時收集度量來收集的,因此在一個孤立的GPU或僅運行模型分析器的系統上運行它是理想的。

使用計算需求進行優化

下面是如何使用這些度量來優化系統性能。 我們討論了兩個使用醫學推斷模型的案例研究:

第一個案例研究探討了如何將間歇性運行的系統的硬件最小化,例如需要在最小硬件上運行許多模型的低成本醫療提供商。

第二個案例研究探討了使用最少的硬件來最大化這些相同模型的吞吐量,例如在一致的基礎上運行許多模型的大型急診室。

這兩個案例研究都是手動完成這些步驟的,因此我們最后討論了將模型元數據納入自動調度的下一步。 對于這兩項研究,為了簡化分析,我們使用總結的數據,對每個模型使用2的模型批處理大小和4的并發。

馬克斯記憶用法(%) 馬克斯GPU使用(%) 最大GPU內存(MB)
0 9 309

表1。 只運行TritonServer的內存使用。

Model Batch 流率 馬克斯記憶用法(%) 馬克斯GPU使用(%) 最大GPU內存(MB)
classification_breast 2 4 1381.6推斷/秒 1 23 1461
classification_chest 2 4 172.4推斷/秒 11 56 5035
分類_瑪利亞 2 4 586推斷/秒 2 43 1851
節段_CT_Colon_Tumo 2 4 33.6推斷/秒 60 60 6955
segmentation_ct_胰腺 2 4 29.6推斷/秒 51 79 6955
節段_CT_脾 2 4 32推斷/秒 54 54 6955
肝段 2 4 28推斷/秒 53 76 11051
分段_MRI_腦_腫瘤 2 4 4推斷/秒 48 48 8579
分段_MRI_海馬 2 4 30.8推斷/秒 52 52 6955

表2。 每個運行模型的內存使用情況。

通常,有幾種潛在的方法:

每個GPU放置一個模型。 這意味著這9種型號的9個GPU。 例如,如果要在DGX上運行,這種方法將需要兩個不能充分利用的DGX。

把所有的模型放在一個GPU上。 這只需要一個GPU,但會導致“內存不足”錯誤。

在每個GPU上放置任意數量的模型。 這涉及到以前方法的問題。 如果每個GPU放置兩個模型,則只需要5個GPU。 然而,記憶錯誤仍然是一個風險,例如,如果你把肝臟分割和腦腫瘤分割模型放在一個GPU上。 同時,其他GPU沒有得到充分或最佳的利用,例如當您將乳房和胸部x射線分類放在一個GPU上時。

另一種選擇是什么?

案例研究:盡量減少間歇系統的硬件

想象一下,你有一個系統,你知道它只會斷斷續續地出現,所以你想在最少的硬件上安裝盡可能多的模型。 在這種情況下,GPU內存是瓶頸。 您可以為Triton Server減去309MB的內存,以單獨獲得模型的GPU內存,然后查看在GPU上的一個服務器上可以容納多少模型。

表3顯示,可以匹配的模型只使用四個16GB GPU與以下配置,這協調了最小的GPU可能為這些模型,需要53GB的內存。

GPU # 模特兒典型 帶有服務器的GPU內存(MB
1 分類_胸部,節段_CT_結腸_腫瘤 11681
2 classification_breast,segmentation_live 12203
3 分類_瘧疾,節段_MRI_海馬,節段_CT_脾 15143
4 節段_CT_胰腺,節段_MRI_腦_腫瘤 15225

表3。 最小硬件的示例配置。

使用這種配置,您的GPU數量最少,同時保證沒有內存錯誤。 這是一個很好的設置,用于間歇性地運行模型,當吞吐量不需要達到最大值時。

案例研究:最大限度地提高一致的、關鍵的系統的性能

對于此設置,最大吞吐量是優先級,因此必須確保吞吐量不會因為所有模式的并發負載而下降。 查看所有指標,以確保內存利用率、GPU利用率和GPU內存總量不超過機器的計算資源。

As total GPU utilization adds up to 491% and would therefore require a minimum of five GPUs, compared to total memory utilization (332%, or four GPUs) or total GPU memory (52 GB, or four GPUs), GPU utilization is the bottleneck and a great place to start.

表4假設GPU利用率閾值為100%,并顯示了一個只有6個16GB GPU的示例配置。

GPU # 模特兒典型 內存使用(%) GPU使用(%) 帶有服務器的GPU內存(MB
1 節段_CT_Colon_Tumo 60 60 6955
2 肝段 54 76 11051
3 classification_chest,classification_breast 12 79 2939
4 segmentation_ct_pancreas 51 79 6955
5 級化_級,細分_級 56 97 8497
6 Segmentation_MRI_海馬,segmentation_mri_brain_tumo 100 100 15225

表4。 最大吞吐量的示例配置。

這與每個模型的批處理大小和并發值相同。 通過調整,使用不同的批處理大小和并發值來最大化吞吐量,內存和GPU利用率會有更高的變化,從而節省更多的資源。 此外,如果您的系統可以犧牲一些吞吐量,您可以使用更少的硬件,只需占用內存或GPU利用率的100。

進一步用例:自動調度

雖然這兩個案例研究顯示了優化系統運行的手工操作,但最有可能的用例是將這些數據自動納入調度。 調度規則將放在計算需求之上,例如在模型運行時不要使用超過80%的GPU或80%的GPU內存。 這樣的規則是你的模式,模型的使用計算元數據收集。

有了計算機需求,您就可以確定什么對您最重要,并從硬件中獲得最大的性能。

結局推論

使用Triton Server工具Model Analyzer,您可以輕松高效地描述您的模型,使您能夠最大限度地提高硬件的性能。 無論您使用命令行接口、Docker容器還是Helm圖表,ModelAnalyzer都會收集模型的計算需求,允許您最大化性能并最小化運行模型所需的硬件。

正如將9個GPU減少到4個或6個GPU的案例研究所顯示的,將這些數據合并到您的調度中是非常強大的。 對數據的進一步探索提供了對批處理大小和并發如何影響模型的洞察,使您能夠使用Triton Server以最大的性能運行模型。

Model Analyzer 是開源的,在GitHub上可用。

關于作者

關于大衛·亞斯特雷姆斯基
大衛·亞斯特雷姆斯基是NVIDIA的軟件實習生,從事克拉拉部署工作。 他是一名碩士學位學生,在賓夕法尼亞大學學習計算機科學,對醫療AI充滿熱情,未來人人都能獲得高質量的醫療保健。


審核編輯 黃昊宇

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

    關注

    0

    文章

    1479

    瀏覽量

    52018
  • NVIDIA
    +關注

    關注

    14

    文章

    4940

    瀏覽量

    102817
  • 深度學習
    +關注

    關注

    73

    文章

    5493

    瀏覽量

    120979
收藏 人收藏

    評論

    相關推薦

    AI大模型深度學習的關系

    人類的學習過程,實現對復雜數據的學習和識別。AI大模型則是指模型的參數數量巨大,需要龐大的計算資源來進行訓練和推理
    的頭像 發表于 10-23 15:25 ?378次閱讀

    最大限度提高MSP430? FRAM的寫入速度

    電子發燒友網站提供《最大限度提高MSP430? FRAM的寫入速度.pdf》資料免費下載
    發表于 10-18 10:09 ?0次下載
    <b class='flag-5'>最大限度</b>地<b class='flag-5'>提高</b>MSP430? FRAM的寫入速度

    參數分析儀的技術原理和應用場景

    譜、紅外光譜、拉曼光譜等),它們利用樣品對光的吸收、發射或散射特性來進行分析。 質譜分析也是化學分析的一種重要手段,它通過測量樣品中離子的質量和相對豐度來確定化合物的組成。 力學
    發表于 10-17 14:42

    最大限度提高GSPS ADC中的SFDR性能:雜散源和Mitigat方法

    電子發燒友網站提供《最大限度提高GSPS ADC中的SFDR性能:雜散源和Mitigat方法.pdf》資料免費下載
    發表于 10-10 09:16 ?0次下載
    <b class='flag-5'>最大限度</b>地<b class='flag-5'>提高</b>GSPS ADC中的SFDR<b class='flag-5'>性能</b>:雜散源和Mitigat方法

    利用智能eFuses最大限度地縮短系統停機時間

    電子發燒友網站提供《利用智能eFuses最大限度地縮短系統停機時間.pdf》資料免費下載
    發表于 09-25 10:25 ?0次下載
    <b class='flag-5'>利用</b>智能eFuses<b class='flag-5'>最大限度</b>地縮短系統停機時間

    如何在C2000設備中最大限度利用GPIO

    電子發燒友網站提供《如何在C2000設備中最大限度利用GPIO.pdf》資料免費下載
    發表于 09-19 13:40 ?0次下載
    如何在C2000設備中<b class='flag-5'>最大限度</b>地<b class='flag-5'>利用</b>GPIO

    開箱即用,AISBench測試展示英特爾至強處理器的卓越推理性能

    近期,第五代英特爾?至強?可擴展處理器通過了中國電子技術標準化研究院組織的人工智能服務器系統性能測試(AISBench)。英特爾成為首批通過AISBench大語言模型(LLM)推理性能測試的企業
    的頭像 發表于 09-06 15:33 ?280次閱讀
    開箱即用,AISBench測試展示英特爾至強處理器的卓越<b class='flag-5'>推理性能</b>

    利用TI GaN中的集成電流檢測功能更大限度提高系統效率

    電子發燒友網站提供《利用TI GaN中的集成電流檢測功能更大限度提高系統效率.pdf》資料免費下載
    發表于 08-29 11:28 ?0次下載
    <b class='flag-5'>利用</b>TI GaN中的集成電流檢測功能更<b class='flag-5'>大限度</b><b class='flag-5'>提高</b>系統效率

    魔搭社區借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社區是中國最具影響力的模型開源社區,致力給開發者提供模型即服務的體驗。魔搭社區利用NVIDIA TensorRT-LLM,大大提高了大
    的頭像 發表于 08-23 15:48 ?391次閱讀

    Torch TensorRT是一個優化PyTorch模型推理性能的工具

    那么,什么是Torch TensorRT呢?Torch是我們大家聚在一起的原因,它是一個端到端的機器學習框架。而TensorRT則是NVIDIA的高性能深度
    的頭像 發表于 01-09 16:41 ?1549次閱讀
    Torch TensorRT是一個優化PyTorch<b class='flag-5'>模型</b><b class='flag-5'>推理性能</b>的工具

    Wi-SUN 可最大限度提高太陽能跟蹤器的性能

    的影響。通過利用盡可能多的能量,太陽能光伏跟蹤器成為一大關鍵,可最大限度提高太陽能發電廠的投資回報。 無線帶來了可擴展性和更大的靈活性 在每個太陽能發電廠部署中,選擇無線還是有線連接的跟蹤器要取決于具體的要求、規
    的頭像 發表于 01-07 08:38 ?664次閱讀
    Wi-SUN 可<b class='flag-5'>最大限度</b>地<b class='flag-5'>提高</b>太陽能跟蹤器的<b class='flag-5'>性能</b>

    如何最大限度減小電源設計中輸出電容的數量和尺寸?

    如何最大限度減小電源設計中輸出電容的數量和尺寸?
    的頭像 發表于 12-15 09:47 ?454次閱讀
    如何<b class='flag-5'>最大限度</b>減小電源設計中輸出電容的數量和尺寸?

    最大限度提高高壓轉換器的功率密度

    電子發燒友網站提供《最大限度提高高壓轉換器的功率密度.doc》資料免費下載
    發表于 12-06 14:39 ?308次下載

    用上這個工具包,大模型推理性能加速達40倍

    作者: 英特爾公司 沈海豪、羅嶼、孟恒宇、董波、林俊 編者按: 只需不到9行代碼, 就能在CPU上實現出色的LLM推理性能。 英特爾 ?Extension for Transformer 創新
    的頭像 發表于 12-01 20:40 ?1101次閱讀
    用上這個工具包,大<b class='flag-5'>模型</b><b class='flag-5'>推理性能</b>加速達40倍

    最大限度保持系統低噪聲

    最大限度保持系統低噪聲
    的頭像 發表于 11-27 16:58 ?411次閱讀
    <b class='flag-5'>最大限度</b>保持系統低噪聲