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

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

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

3天內不再提示

Yolo系列模型的部署、精度對齊與int8量化加速

jf_pmFSk4VX ? 來源:GiantPandaCV ? 2023-11-23 16:40 ? 次閱讀

Yolo系列模型的部署、精度對齊與int8量化加速

大家好,我是海濱。寫這篇文章的目的是為宣傳我在23年初到現在完成的一項工作---Yolo系列模型在TensorRT上的部署與量化加速,目前以通過視頻的形式在B站發布(不收費,只圖一個一劍三連)。

麻雀雖小但五臟俱全,本項目系統介紹了YOLO系列模型在TensorRT上的量化方案,工程型較強,我們給出的工具可以實現不同量化方案在Yolo系列模型的量化部署,無論是工程實踐還是學術實驗,相信都會對你帶來一定的幫助。

B站地址(求關注和三連):https://www.bilibili.com/video/BV1Ds4y1k7yr/

Github開源地址(求star):https://github.com/thb1314/mmyolo_tensorrt/

當時想做這個的目的是是為了總結一下目標檢測模型的量化加速到底會遇到什么坑,只是沒想到不量化坑都會很多。

比如即使是以FP32形式推理,由于TensorRT算子參數的一些限制和TRT和torch內部實現的不同,導致torch推理結果會和TensorRT推理結果天然的不統一,至于為什么不統一這里賣個關子大家感興趣可以看下視頻。

下面說一下我們這個項目做了哪些事情

YOLO系列模型在tensorrt上的部署與精度對齊

該項目詳細介紹了Yolo系列模型在TensorRT上的FP32的精度部署,基于mmyolo框架導出各種yolo模型的onnx,在coco val數據集上對齊torch版本與TensorRT版本的精度。

在此過程中我們發現,由于TopK算子限制和NMS算子實現上的不同,我們無法完全對齊torch和yolo模型的精度,不過這種風險是可解釋且可控的。

詳解TensorRT量化的三種實現方式

TensorRT量化的三種實現方式包括trt7自帶量化、dynamic range api,trt8引入的QDQ算子。

Dynamic range api會在采用基于MQbench框架做PTQ時講解。

TensorRT引入的QDQ算子方式在針對Yolo模型的PTQ和QAT方式時都有詳細的闡述,當然這個過程也沒有那么順利。

在基于PytorchQuantization導出的含有QDQ節點的onnx時,我們發現盡管量化版本的torch模型精度很高,但是在TensorRT部署時精度卻很低,TRT部署收精度損失很嚴重,通過可視化其他量化形式的engine和問題engine進行對比,我們發現是一些層的int8量化會出問題,由此找出問題量化節點解決。

詳解MQbench量化工具包在TensorRT上的應用

我們研究了基于MQbench框架的普通PTQ算法和包括Adaround高階PTQ算法,且啟發于Adaround高階PTQ算法。

我們將torch版本中的HistogramObserver引入到MQBench中,activation采用HistogramObserverweight采用MinMaxObserver,在PTQ過程中,weight的校準前向傳播一次,activation的校準需要多次因此我們將weight的PTQ過程和activation的PTQ過程分開進行,加速PTQ量化。實踐證明,我們采用上述配置的分離PTQ量化在yolov8上可以取得基本不掉點的int8量化精度。

針對YoloV6這種難量化模型,分別采用部分量化和QAT來彌補量化精度損失

在部分量化階段,我們采用量化敏感層分析技術來判斷哪些層最需要恢復原始精度,給出各種metric的量化敏感層實現。

在QAT階段,不同于原始Yolov6論文中蒸餾+RepOPT的方式,我們直接采用上述部分量化后的模型做出初始模型進行finetune,結果發現finetune后的模型依然取得不錯效果。

針對旋轉目標檢測,我們同樣給出一種端到端方案,最后的輸出就是NMS后的結果。通過將TensorRT中的EfficientNMS Plugin和mmcv中旋轉框iou計算的cuda實現相結合,給出EfficientNMS for rotated box版本,經過簡單驗證我們的TRT版本與Torch版本模型輸出基本對齊。

以上就是我們這個項目做的事情,歡迎各位看官關注b站和一劍三連。同時,如果各位有更好的想法也歡迎給我們的git倉庫提PR。

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

    關注

    23

    文章

    4599

    瀏覽量

    92639
  • 模型
    +關注

    關注

    1

    文章

    3171

    瀏覽量

    48711
  • 精度
    +關注

    關注

    0

    文章

    257

    瀏覽量

    19998

原文標題:Yolo系列模型的部署、精度對齊與int8量化加速

文章出處:【微信號:GiantPandaCV,微信公眾號:GiantPandaCV】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TensorRT-LLM低精度推理優化

    本文將分享 TensorRT-LLM 中低精度量化內容,并從精度和速度角度對比 FP8INT8。首先介紹性能,包括速度和精度。其次,介
    的頭像 發表于 11-19 14:29 ?152次閱讀
    TensorRT-LLM低<b class='flag-5'>精度</b>推理優化

    OrangePi KunPeng Pro部署AI模型介紹

    OrangePi Kunpeng Pro是一款香橙派聯合華為精心打造的高性能板卡,搭載了鯤鵬處理器,可提供8TOPS INT8計算能力,板卡設計很精致,板載資源也非常多:
    的頭像 發表于 11-16 11:03 ?206次閱讀
    OrangePi KunPeng Pro<b class='flag-5'>部署</b>AI<b class='flag-5'>模型</b>介紹

    理解LLM中的模型量化

    在本文中,我們將探討一種廣泛采用的技術,用于減小大型語言模型(LLM)的大小和計算需求,以便將這些模型部署到邊緣設備上。這項技術稱為模型量化
    的頭像 發表于 10-25 11:26 ?177次閱讀
    理解LLM中的<b class='flag-5'>模型</b><b class='flag-5'>量化</b>

    【飛凌嵌入式OK3576-C開發板體驗】rkllm模型量化構建

    ;目前 rk3576 平臺支持“w4a16”和“w8a8”兩種量化類型,rk3588 僅支持“w8a8量化類型; target_platform:
    發表于 08-27 22:50

    源2.0-M32大模型發布量化版 運行顯存僅需23GB 性能可媲美LLaMA3

    2.0-M32量化版是"源"大模型團隊為進一步提高模算效率,降低大模型部署運行的計算資源要求而推出的版本,通過采用領先的量化技術,將原
    的頭像 發表于 08-25 22:06 ?255次閱讀
    源2.0-M32大<b class='flag-5'>模型</b>發布<b class='flag-5'>量化</b>版 運行顯存僅需23GB 性能可媲美LLaMA3

    深度神經網絡模型量化的基本方法

    深度神經網絡模型量化是深度學習領域中的一種重要優化技術,旨在通過減少模型參數的精度(即從高精度浮點數如32位浮點數FP32降低到低
    的頭像 發表于 07-15 11:26 ?602次閱讀

    深度學習模型量化方法

    深度學習模型量化是一種重要的模型量化技術,旨在通過減少網絡參數的比特寬度來減小模型大小和加速
    的頭像 發表于 07-15 11:01 ?453次閱讀
    深度學習<b class='flag-5'>模型</b><b class='flag-5'>量化</b>方法

    【算能RADXA微服務器試用體驗】+ GPT語音與視覺交互:2,圖像識別

    BModel混合精度量化 ├── yolov8s_qtable_fp32 # TPU-MLIR編譯時,用于BM1684的INT8 BModel混合精度量化
    發表于 07-14 23:36

    esp-dl int8量化模型數據集評估精度下降的疑問求解?

    一 試著將模型進行了esp-dl上int16和int8量化,并在測試數據集上進行精度評估,其中int
    發表于 06-28 15:10

    使用esp-dl中的example量化我的YOLO模型時,提示ValueError: current model is not supported by esp-dl錯誤,為什么?

    使用esp-dl中的example量化我的YOLO模型時,提示:ValueError: current model is not supported by esp-dl 錯誤, 請看我的代碼和
    發表于 06-28 06:47

    模型端側部署加速,都有哪些芯片可支持?

    小型化、場景化需求的增加,推理逐步從云端擴展向端側。這種趨勢在PC和手機等終端產品上尤為明顯。 ? 大模型在端側部署加速 ? 大模型在端側部署
    的頭像 發表于 05-24 00:14 ?3964次閱讀

    yolov5量化INT8出錯怎么處理?

    model_deploy.py --mlir yolov5l.mlir --quantize INT8 --calibration_table yolov5l_cali_table --chip
    發表于 01-10 06:40

    邊緣側部署模型優勢多!模型量化解決邊緣設備資源限制問題

    電子發燒友網報道(文/李彎彎)大模型的邊緣部署是將大模型部署在邊緣設備上,以實現更快速、更低延遲的計算和推理。邊緣設備可以是各種終端設備,如智能手機、平板電腦、智能家居設備等。通過將大
    的頭像 發表于 01-05 00:06 ?3354次閱讀

    【愛芯派 Pro 開發板試用體驗】模型部署(以mobilenetV2為例)

    好,因為動態是在推理時去估計算子的數據范圍,誤差較大。 這里采用的是靜態的訓練后量化方式,通過提供一個和訓練集同分布的校準數據集,將算子的權重從FP32量化INT8 一些細節:仔細看看axmodel
    發表于 12-10 16:34

    OpenVINO? 2023.2 發布:讓生成式AI在實際場景中更易用

    在 2023.2 版本中,我們進一步優化此工作流程,并引入在 CPU 和集成顯卡上運行權重量化int8int4 精度的 LLM 的能力。權重
    的頭像 發表于 12-08 16:04 ?930次閱讀
    OpenVINO? 2023.2 發布:讓生成式AI在實際場景中更易用