騰訊優圖開源深度學習推理框架TNN,助力AI開發降本增效

 

 

從學界到工業界,開源已經成爲AI領域的一個關鍵詞。一方面,它以授人以漁的方式爲AI構建了一個開放共進的生態環境,幫助行業加速AI應用落地;另一方面,在解決行業實際問題時持續更新和迭代,源源不斷地給AI領域輸送重要的技術養料和創造力,可以說開源是AI落地和繁榮不可或缺的源動力。

 

6月10日,騰訊優圖實驗室宣佈正式開源新一代移動端深度學習推理框架TNN,通過底層技術優化實現在多個不同平臺的輕量部署落地,性能優異、簡單易用。基於TNN,開發者能夠輕鬆將深度學習算法移植到手機端高效的執行,開發出人工智能 APP,真正將 AI 帶到指尖。

 

輕量級部署,TNN助力深度學習提速增效

深度學習對算力的巨大需求一直制約着其更廣泛的落地,尤其是在移動端,由於手機處理器性能弱、算力無法多機拓展、運算耗時長等因素常常導致發熱和高功耗,直接影響到app等應用的用戶體驗。騰訊優圖基於自身在深度學習方面的技術積累,並借鑑業內主流框架優點,推出了針對手機端的高性能、輕量級移動端推理框架TNN。

TNN在設計之初便將移動端高性能融入核心理念,對2017年開源的ncnn框架進行了重構升級。通過GPU深度調優、ARM SIMD深入彙編指令調優、低精度計算等技術手段,在性能上取得了進一步提升。以下是MNN, ncnn, TNN框架在多款主流平臺的實測性能:

 

 

 

 

 

 

 

 

 

 

 

 

TNN在麒麟970、驍龍835、驍龍845,驍龍615平臺實測性能數據

注:縱軸單位:ms  測試分支:MNN:1.0.0(2020.05.07), ncnn:20200413, TNN: master(2020.06.10)

測試模型:https://github.com/alohali/benchmark-models

 

低精度計算的運用對TNN的性能提升發揮了重要作用。在神經網絡計算中,浮點精度在許多研究和業務落地成果上都被證明存在一定冗餘,而在計算、內存資源都極爲緊張的移動端,消除這部分冗餘極爲必要。TNN引入了INT8、 FP16、 BFP16等多種計算低精度的支持,相比大部分僅提供INT8支持的框架,不僅能靈活適配不同場景,還讓計算性能大大提升。TNN通過採用8bit整數代替float進行計算和存儲,模型尺寸和內存消耗均減少至1/4,在計算性能上提升50%以上。同時引入arm平臺BFP16的支持,相比浮點模型,BFP16使模型尺寸、內存消耗減少50%,在中低端機上的性能也提升約20%。驍龍615平臺實測:

 

 

通用、輕便是TNN框架的另一大亮點。長久以來,不同框架間的模型轉換都是AI項目應用落地的痛點。TNN設計了與平臺無關的模型表示,爲開發人員提供統一的模型描述文件和調用接口,支持主流安卓、iOS等操作系統,適配CPU、 GPU、NPU硬件平臺。企業一套流程就能部署到位,簡單易用、省時省力。同時, TNN通過ONNX可支持TensorFlow, PyTorch, MXNet, Caffe等多種訓練框架,目前支持ONNX算子超過80個,覆蓋主流CNN網絡。TNN所有算子均爲源碼直接實現,不依賴任何第三方,接口易用,切換平臺僅需修改調用參數即可。

 

開源文化興起,AI底層技術助推產業發展

事實上,作爲騰訊旗下頂級AI實驗室,騰訊優圖長期致力於AI基礎設施的研發和推進。此前,騰訊優圖已開發了Rapidnet 前向計算框架、RapidAIoT 邊緣計算框架,實現了業界首個專注移動端的推斷框架ncnn的開源,並在業界受到廣泛推崇。從2017年開源至今,ncnn在GitHub上star(8.9k)和 fork(2.3k)數均領先於其它各大推理框架。

 

據悉,TNN已於3月中旬在騰訊內部開源,爲騰訊QQ、QQ空間、騰訊微視、騰訊雲、天天P圖等多款產品和服務中持續提供技術能力,釋放出更多效能。

 

“TNN已在GitHub上開源,歡迎業界人士參與協同共建,共同打造更優的移動端推理框架。“騰訊優圖實驗室副總經理吳永堅介紹,騰訊優圖後續將在現有CV業務的基礎上研發更多的AI推理模型,如語音、NLP等相關業務,同時開展針對CPU、GPU服務器端的服務,爲業界公司提供更廣泛的優化服務。 作爲產業發展的高速公路,以深度學習框架、組件爲代表的AI基礎設施將是未來的主流趨勢,騰訊優圖也將以此爲着力點,助推產業發展。吳永堅表示,騰訊優圖還將持續開發模型訓練組件、模型壓縮組件、基礎算法組件,並擇機開源,希望從框架到平臺、到算法,打造一體化的AI基礎設施,降低AI門檻,加速產業發展。

 

隨着以開源爲代表的新代碼文化的興起,騰訊近年來在開源領域表現亮眼:在全球最大的代碼託管平臺GitHub上,騰訊發佈的開源項目已經超過一百個,涵蓋雲原生、大數據、AI、雲計算、安全、硬件等多個熱門的技術方向。

 

通過開源協同,騰訊將各個事業羣最底層和共性的技術能力進行梳理和拉通,在業務實踐和海量用戶檢驗下,優質的內部開源項目不僅在公司層面推廣複用,同時也對外貢獻整個開源社區。僅在Github上,騰訊的開源項目就收穫了30w+star數,躋身國際上有影響力的開源企業之一。

 

在開源的道路上,騰訊不僅將內部優質項目持續對外開放,也積極與開源社區協同合作,發揮中國企業的科技力量,推動開源和開放進一步升級。

 

開源地址:https://github.com/Tencent/TNN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章