作者:Litchll
ResNet模型
前言
我們自己訓練一個ResNet模型,并在以下三個環境中進行性能的對比。
AIStudio CPU: 2 Cores 8GB Memory
AIStudio GPU: V100 16GB VMem
Edgeboard
訓練模型
模型使用AIStudio 進行訓練,RESNET、MOBILE訓練和預測代碼有興趣的同學請手動移步到百度AI社區相關帖子里查看詳細內容。百度AI社區——EdgeBoard板塊。
測試結果
我們執行預測,忽略掉預處理的速度,僅僅計算模型前向傳播的時間。
對于AIstudio平臺,我們計算以下代碼的運行時間
對于Edgeboard上面的PaddleMobile,我們計算以下代碼的運行時間
以下為兩個模型的評測數據
ResNet
Edgeboard:
CPU:
GPU:
Mobile_Net
Edgeboard:
GPU:
CPU:
總結:
下表為兩個模型預測速度的對比,從中來看,其速度相對于V100的GPU甚至還有一定的優勢,讓人難以相信。個人的分析是由于以下幾個原因
Paddle-mobile較為啟動預測,與AIstudio的完整版Paddlepaddle相比有啟動效率上的優勢,AIstudio啟動預測可能較慢。
整個預測模型batch size相當于1,發揮不出GPU的優勢。
部署預算按三年算的話,GPU V100價格大概是10萬,CPU 1萬, EdgeBoard 5千,性價比還是蠻高的。如果大家對Edgeboard感興趣的話,可自行到百度AI市場購買體驗,我在這里不做過多贅述。
我在進行模型預測的時候,使用鉗表對功率進行了大概的估計(條件有限),鉗表的讀數在0.6A-8A之間變化。結合使用的12V適配器,我大概估計Edgeboard的功耗為8W.
以8W的功耗,在單張圖片的預測速度上面領先了幾十倍功耗的GPU與CPU。Edgeboard的表現還是令我比較驚喜。本來想繼續移植一個前段時間的大尺度的分割網絡Unet進行嘗試,想繼續試試他最大可以跑的模型大小,但似乎Edgeboard目前還不支持分割,存在了一定遺憾。
另外我在進行調試的時候,發現過有幾個發布版本的固件不是很穩定,有些op有些問題。還發現了Edgeboard在我的兩臺筆記本電腦上網絡不是很穩定,經常出現相互無法ping通的情況,更換PC后正常,暫時還沒發現為什么。
Edgeboard是我第一款接觸的嵌入式神經網絡加速設備。Paddle-mobile也是我接觸的第一個移動端神經網絡框架,也是我接觸的第一個基于FPGA實現的加速框架。從我了解這個框架到現在僅僅不到半年的時間,已經發布了多個模型轉換工具,降低了開發難度,并且支持EasyDL這種方式。雖然目前仍然有一些不成熟的坑需要填,不過相信在軟件的迭代下面,它能成為一個很好的嵌入式原型設計平臺。
Mobile-SSD模型
這次我們自己訓練一個Mobilenet-SSD模型,增加了不同輸入維度的情況下,模型運行效率的對比
AIStudio CPU: 2 Cores 8GB Memory
AIStudio GPU: V100 16GB VMem
Edgeboard
訓練模型
模型使用AIStudio提供的官方工程進行訓練,Mobilenet-SSD訓練和預測代碼有興趣的同學請手動移步到百度AI社區相關帖子里查看詳細內容。百度AI社區——EdgeBoard板塊。
運行預測
我們執行預測,忽略掉預處理的速度,僅僅計算模型前向傳播的時間。
對于AIstudio平臺,我們計算以下代碼的運行時間
對于Edgeboard上面的PaddleMobile,我們計算以下代碼的運行時間
以下圖片為預測結果,由于時間有限,沒有很細致去訓練模型,僅僅對比了模型運行的速度。
下表為模型在不同維度下的預測速度的對比,從中來看,其速度相對于V100的GPU基本處于同一個數量級,遠遠領先與CPU
在之前的文章里我們提到,本來想繼續移植一個前段時間的大尺度的分割網絡Unet進行嘗試,想繼續試試他最大可以跑的模型大小,但似乎Edgeboard目前還不支持分割,所以我們更換了目標檢測網絡進行嘗試。在mobilenet-SSD這個模型上,Edgeboard最大可以跑到700*700的輸入維度,并且能保持在16fps之上(不包含輸入圖像的語出過程),基本上具有實時性。
之前我提到的,在我的兩臺筆記本電腦上網絡不是很穩定,經常出現相互無法ping通的情況,目前經過試驗之后,發現問題為板子的網卡在與不支持千兆的網卡進行通信時候,不能正確的協商,仍然使用千兆模式,使用以下命令固定為百兆即可正常連接
ethtool -s eth0 speed 100 duplex full
Edgeboard是我第一款接觸的嵌入式神經網絡加速設備。Paddle-mobile也是我接觸的第一個移動端神經網絡框架,也是我接觸的第一個基于FPGA實現的加速框架。從我了解這個框架到現在僅僅不到半年的時間,已經發布了多個模型轉換工具,降低了開發難度,并且支持EasyDL這種方式。雖然目前仍然有一些不成熟的坑需要填,不過相信在軟件的迭代下面,它能成為一個很好的嵌入式原型設計平臺。
評論