當前位置:
首頁 > 新聞 > 深度學習框架大PK:TNN決戰MNN,ncnn依舊經典

深度學習框架大PK:TNN決戰MNN,ncnn依舊經典

新智元報道

編輯:舒婷、白峰

【新智元導讀】6月10日,騰訊優圖實驗室開源了一款深度學習推理框架TNN,高效解鎖計算機視覺演算法。開發者社區內,許多用戶將其與ncnn,MNN等開源框架作比較。

近年來,開發者社區中,「開源」成了新流行趨勢。

尤其是深度學習框架,自騰訊2017年將ncnn開源之後,各大AI實驗室都「慷慨」的將自己的框架開源,以實現較為快速的創新。

今年6月10日,騰訊又宣布基於ncnn設計的深度學習推理框架TNN也將開源。TNN開源後,許多開發者都將其與ncnn,MNN等開源框架作比較。

? ?

TNN性能略勝一籌,「劍指」移動端;MNN通用性表現更佳

TNN設計之初一方面是為了提高算力,另一方面強調了對移動設備的支持。不然用戶就沒必要放棄生態很好的MNN和大家都熟悉的ncnn來使用TNN了。

TNN是基於ncnn開發的,對其進行重構升級。除了算力顯著的提升以外,基於TNN開發者還可以將深度學習演算法移植到手機端,開發移動端的AI產品。

為了比較MNN,ncnn和TNN的性能,在以下的主流平台做了測試:

? ?

? ? ?? ? ?

?

? ?

可以看到性能方面TNN還是有優勢的。但是有些環境下的測試其實和MNN還是不相上下,阿里的開發團隊也說,TNN的性能激勵了MNN的提高,但相比當年2000ms到700ms的飛越還是差點意思。

TNN性能提升的關鍵是低精度計算,之前講的沒有辦法移植到移動端的本質原因是手機處理器比較薄弱,因此框架適應中低端機是非常重要的。TNN在這方面做的很好,在中低端機上的性能提升約20%。

通用、輕便也是TNN框架的亮點之一,解決了一部分不同框架間的模型轉換問題。但是TNN的模型轉換需要基於ONNX,而不像MNN那樣直接支持。操作上只是多了一步,通用性上又大打折扣了。

通用性上MNN的優勢也不容置喙,MNN在通用性上下了很大的功夫,你看支持的運算元數目就可以知道這算是MNN的一個工作重點。

運算元實現上,MNN在計算後端的支持也是最廣的。除了ARM v8.2,MNN在GPU運算元的支持上也遠超於其他兩個框架。

? ?

? ?

再講講開源的一個重要問題:代碼可讀性。儘管CPU的代碼框架上,TNN和ncnn非常像,但是風格和結構遠超ncnn,更加的易讀。這點MNN也做得很不錯,MNN和TNN在代碼各結構上還是有很多相似點。這些相似點讓MNN到TNN做代碼遷移變的沒有那麼複雜。

總的來說,ncnn作為2017年第一個開源的框架,非常經典。在TNN和MNN的性能差距不大的情況下,選擇哪個框架就屬於因人而異的事情,各有各的優勢。

從ncnn開始,深度學習框架開源已成大趨勢

雖然企鵝最近因為一些花邊新聞老是被調侃,但是深度學習框架開源這方面,真的要感謝這個傻白甜鵝在2017年7月開源的ncnn。幾乎開啟了深度學習框架開源的「熱潮」。

在業界各方人士三年不懈努力(內卷)下,VGG16 在 RK3399 上單核心的推理速度從 2000 ms 壓榨到了 700 ms 。這之中也正是因為開源,才能夠集眾人智慧,得到如此卓越的性能提升。

ncnn作為元老級別的框架,本身就是為移動平台優化的高性能神經網路推理計算來開發的。從設計之初,ncnn就在手機上進行部署和使用深思熟慮。ncnn當前在許多騰訊應用程序中使用,包括我們熟悉的微信、QQ等。

? ?

?

MNN也是具有重大意義的一個開源框架。MNN是一個高效,輕量的深度學習框架。它支持深度模型推理與訓練,尤其是在端側的推理與訓練性能在其中領先領先。目前,MNN已經在阿里巴巴的手機淘寶,手機天貓,優酷,釘釘,閑魚等20個應用中使用。

MNN對於性能的提升有著卓越的貢獻,因此也成為開發者的框架首選。

?

? ?

TNN作為2020年鵝廠開源的一款移動端推理框架,具有高性能、輕量級的特點,擁有跨平台、高性能、模型壓縮、代碼裁剪等眾多優勢。目前TNN已經在手機QQ、微視、P圖等應用中落地。

?

? ?

除了這三個主流的框架,還有一些也經常被使用的框架,例如PPL。但是PPL現在還沒有開源,可能商湯還是想「有所保留」的。其實ncnn開源的時候PPL就出來說過他們的性能更好,PPL其實也是被開發者們經常使用的框架之一了。

? ?

? ?

百度開源了一個叫做Padle-Lite的框架。Paddle-Mobile是一個開放源代碼的深度學習框架,旨在簡化在移動,嵌入式和IoT設備上的推理。它與PaddlePaddle和其他來源的預訓練模型兼容。

?

? ?

開源框架甚至有雷總的身影,小米主體業務還是在硬體方面,開源框架確實很稀奇。MACE是一個深度學習推理框架,針對Android,iOS,Linux和Windows設備上的移動異構計算進行了優化。

? ?

?

最後,方便大家使用,放上開源框架大禮包:

ncnn:https://github.com/Tencent/ncnn

MNN:https://github.com/alibaba/MNN

TNN:https://github.com/Tencent/TNN

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

MACE:https://github.com/XiaoMi/mace

當然大家有什麼好的開源框架也可以在評論區分享分享。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 新智元 的精彩文章:

重磅!2020北京智源大會完整日程公布,4天19場高端AI論壇邀你參加
美國「統治」ICML 2020!中國大陸入選論文數僅為美國1/6,原因竟與春節有關