日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模型压缩高达75%,推理速度提升超20%,百度Paddle Lite v2.3正式发布

發布時間:2024/10/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模型压缩高达75%,推理速度提升超20%,百度Paddle Lite v2.3正式发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如今,諸如計算機視覺、智能語音交互等基于深度學習的AI技術,在滿足日常應用層面上已經非常成熟。比如,人臉識別閘機在機場、地鐵、辦公樓、學校等地方隨處可見。什么都不用帶,只要刷個臉就行,方便快捷又省事!

當有人經過閘機時,可以在0.1-0.3秒內完成人臉實時跟蹤,并在0.2秒內完成高安全性的靜默活體檢測及人臉比對,如此高效的響應速度,你知道是怎么做到的嗎?

目前深度學習在各個領域輕松碾壓傳統算法,不過真正用到實際項目中卻面臨兩大問題:計算量巨大;模型占用很高的內存(深度學習模型可能會高達幾百M)。

為了更好地應對這些實際業務需求,解決終端系統資源有限等問題,百度深度學習平臺飛槳(PaddlePaddle)對端側推理引擎Paddle Lite進行了新一輪升級,v2.3版本正式全新上線!

Paddle Lite v2.3新功能包括:

  • 支持“無校準數據的訓練后量化”方法,模型壓縮高達75%;

  • 優化網絡結構和OP,ARM CPU推理速度最高提升超20%;

  • 簡化模型優化工具操作流程,支持一鍵操作,用戶上手更容易。

此次升級帶來了以下幾個方面的變化:

?支持“無校準數據的訓練后量化”方法?

?模型壓縮高達75%?

在手機等終端設備上部署深度學習模型,通常要兼顧推理速度和存儲空間。一方面要求推理速度越快越好,另一方面要求模型更加的輕量化。為了解決這一問題,模型量化技術尤其關鍵。

模型量化是指使用較少比特數表示神經網絡的權重和激活,能夠大大降低模型的體積,解決終端設備存儲空間有限的問題,同時加快了模型推理速度。將模型中特定OP權重從FP32類型量化成INT8/16類型,可以大幅減小模型體積。經驗證,將權重量化為INT16類型,量化模型的體積降低50%;將權重量化為INT8類型,量化模型的體積降低75%。?

Paddle Lite結合飛槳量化壓縮工具PaddleSlim,為開發者提供了三種產出量化模型的方法:量化訓練、有校準數據的訓練后量化和無校準數據的訓練后量化。

其中“無校準數據的訓練后量化”是本次Paddle Lite新版本重要新增內容之一。

圖1三種產出量化模型方法的處理示意圖

“無校準數據的訓練后量化”方法,在維持精度幾乎不變的情況下,不需要樣本數據,對于開發者來說使用更簡便,應用范圍也更廣泛。

當然,如果希望同時減小模型體積和加快模型推理速度,開發者可以嘗試采用PaddleSlim“有校準數據的訓練后量化”方法和“量化訓練”方法。

PaddleSlim除了量化功能以外,還集成了模型壓縮中常用的剪裁、蒸餾、模型結構搜索、模型硬件搜索等方法。更多詳細的介紹,請參見Github:

https://github.com/PaddlePaddle/PaddleSlim

下面以MoblieNetV1、MoblieNetv2和ResNet50模型為例,介紹本方法所獲得的效果。

圖2 “無校準數據的訓練后量化”方法產出的量化模型體積對比圖

由圖2可知,INT16格式的量化模型,相比FP32,模型體積降低50%;INT8 格式的量化模型,相比FP32,模型體積降低75%。

圖3 “無校準數據的訓練后量化”方法產出的量化模型準確率對比圖

由圖3可知,INT16格式的量化模型,相比FP32,準確率不變;INT8格式的量化模型,相比FP32,準確率僅微弱降低。

?ARM CPU推理速度最高提升超20%?

Paddle Lite v2.3在ARM CPU性能優化方面的主要更新包括:

  • 針對Kernel Size為3*3的Conv,實現Winograd方法,包括F(6,3)和F(2, 3)。因Winograd相比普通算法從計算量上有大幅減少,該實現可以明顯提升有相關OP的模型性能,比如ResNet50和SqueezeNet;

  • 針對Conv后激活為Relu6 或是LeakyRelu的模型,添加Conv+Relu6/LeakyRelu 融合,從而可以減少單獨的激活函數需要的訪存耗時;

  • 針對PaddlePaddle1.6 OP升級,如支持任意Padding的Conv和Pooling,Paddle Lite增加相關支持。該工作使得Tensorflow模型轉換時,一個Tensorflow Conv 對應一個Paddle Conv, 而非Padding+Conv 兩個OP,從而可以提升Tensorflow模型的推理性能。

圖4給出了Caffe框架的MobileNetV1、MobileNetV2 和ResNet50三個模型在Paddle Lite,NCNN和MNN框架上的推理時延對比圖。

圖4 Caffe框架模型的推理時延對比

由圖4可知,Paddle Lite性能整體優于其他框架。如ResNet50模型,在高通驍龍845上,Paddle Lite相比其他框架,比MNN快10.259%,比NCNN快17.094%。

對于ONNX 公開模型如ShuffleNet、SqueezeNet和ResNet50, 在Paddle Lite、MNN和NCNN框架進行推理時延對比,其結果如圖5所示。

圖5 ONNX框架模型的推理時延對比

由圖5可知,Paddle Lite性能整體優于其他框架。如ShuffleNet模型,在高通驍龍845上,Paddle Lite相比其他框架,比MNN快21.185%,比NCNN快26.36%。?

Tensorflow公開模型,比如MnasNet、 MobileNetV1和ResNet101,Paddle Lite與MNN推理框架在推理時延性能指標上進行對比,結果如圖6所示。

圖6 Tensorflow框架模型的推理時延對比

由圖6可知,Paddle Lite性能整體優于MNN框架。如MnasNet模型,在高通驍龍855上,Paddle Lite比MNN快12.06%;在高通驍龍845上,Paddle Lite比MNN快18.91%;在高通驍龍835上,Paddle Lite比MNN快18.61%。

新版本更詳細的性能數據,請參見GitHub的Benchmark。

?簡化模型優化工具操作流程?

?支持一鍵操作,用戶上手更容易?

對于第三方來源(Tensorflow、Caffe、ONNX)模型,一般需要經過兩次轉化才能獲得Paddle Lite的優化模型。先使用x2paddle工具將第三方模型轉化為PaddlePaddle格式,再使用模型優化工具轉換為Padde Lite支持的模型。同時,轉換后的Paddle Lite模型,通常包括模型結構和參數兩個文件。操作繁瑣,用戶體驗不太好。

針對上述問題,Paddle Lite v2.3對原模型優化工具model_optimize_tool 進行了升級,推出版模型優化工具——opt。opt包括以下三個亮點:

  • 提供一鍵式腳本(auto_transformer.sh),支持一鍵完成從各類框架模型到Paddle Lite模型(含OP算子融合、內存復用等優化操作)的所有優化處理操作;

  • 優化后的模型最終只生成一個.nb文件,此文件包含模型網絡結構和參數信息。同時提供加載模型.nb文件的API接口:set_model_from_file(nb_path),接口的具體內容請見【Model Load API】。原有的模型加載方式仍然支持;

  • 提供豐富的日志信息,比如支持查看某個模型用到哪些算子;還支持查看Paddle Lite支持哪些硬件,以及這些硬件分別支持哪些算子(如圖7所示),進而了解Paddle Lite對模型的支持情況。

圖7 日志信息

關于opt的更詳細介紹,請參見GitHub的opt工具介紹與使用。

?其他升級?

1.文檔官網升級

為了提高文檔可讀性、改善文檔的視覺效果、方便用戶快速查找文檔并輕松上手使用Paddle Lite,對Paddle Lite文檔進行了全面升級。文檔目錄清晰可見,搜索功能更強大、為用戶提供了更好的閱讀體驗。

圖8 新文檔界面示意圖

同時,Paddle Lite v2.3完善了部分文檔內容,并新增一些使用文檔,如“有校準數據的訓練后量化方法”、“無校準數據的訓練后量化方法”使用文檔等。

2.Paddle Lite Demo倉庫的案例升級

對現有Paddle Lite Demo倉庫的案例進行了內容升級,并新增了Demo。例如在Android Demo中,新增人臉檢測(face-detection)Demo、YOLOv3目標檢測Demo和人像分割(Human-Segment)Demo。用戶可以方便地根據Demo進行實驗并參考實現新應用的開發。另外,在Paddle Lite倉庫下的CXX Demo庫,新增了口罩識別案例,為此次疫情做些力所能及的貢獻。感興趣的小伙伴們可以在Paddle Lite倉庫下載口罩識別Demo,進行實驗。

圖9 人臉檢測-Android Demo

圖10 人像分割- Android Demo

圖11 口罩識別展示

同時,為了提高API接口易用性,升級了C++ API接口和Java API接口。在Java API接口,新增設置和返回數據類型,以支持不同類型的輸入。如果您想了解更多關于Paddle Lite的相關內容,請參閱以下文檔。

Paddle Lite的Github鏈接:

https://github.com/PaddlePaddle/Paddle-Lite

Paddle Lite的文檔鏈接:

https://paddle-lite.readthedocs.io/zh/latest/index.html

Paddle Lite Demo的鏈接:

https://github.com/PaddlePaddle/Paddle-Lite-Demo

Paddle Lite口罩識別Demo:

https://github.com/PaddlePaddle/Paddle-Lite/tree/develop/lite/demo/cxx

Benchmark:

https://paddle-lite.readthedocs.io/zh/latest/benchmark/benchmark.html

auto_transformer.sh:

https://github.com/PaddlePaddle/Paddle-Lite/blob/release/v2.3/lite/tools/auto_transform.sh

Model Load API:

https://paddle-lite.readthedocs.io/zh/latest/api_reference/cxx_api_doc.html#set-model-from-file-model-dir

opt工具介紹與使用:

https://paddle-lite.readthedocs.io/zh/latest/user_guides/model_optimize_tool.html

PaddlePaddle的Github鏈接:

https://github.com/paddlepaddle

如果使用過程中遇到任何問題,大家可通過Paddle Lite官方QQ群與開發人員進行技術交流及問題反饋。

飛槳Paddle Lite官方QQ群(群號696965088):

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的模型压缩高达75%,推理速度提升超20%,百度Paddle Lite v2.3正式发布的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。