目前,人工智能基礎性算法已經較為成熟,各大廠商紛紛發(fā)力建設算法模型工具庫,并將其封裝為軟件框架,供開發(fā)者使用,可以說軟件框架是算法的工程實現(xiàn)。企業(yè)的軟件框架實現(xiàn)有閉源和開源兩種形式:蘋果公司等少數企業(yè)選擇閉源方式開發(fā)軟件框架,目的是打造技術壁壘;目前業(yè)內主流軟件框架基本都是開源化運營。
基于深度學習的推斷的計算量相對訓練過程小很多,但仍涉及到大量的矩陣卷積、非線性變換等運算,為了滿足在終端側限定設備性能及功耗等因素的場景下,業(yè)界也開發(fā)了眾多開源的終端側軟件框架。
Caffe2go 是早出現(xiàn)的終端側推斷軟件框架,能夠讓深層神經網絡在手機上高效的運行。由于終端側的 GPU 設備性能有限,Caffe2go是基于 CPU 的優(yōu)化進行設計。
TensorFlow Lite 可以運行在 Android 和 iOS 平臺,結合 Android 生態(tài)的神經網絡運行時能夠實現(xiàn)較為高效的 AI 移動端應用速度。
NCNN 是騰訊開源的終端側 AI 軟件框架,支持多種訓練軟件框架的模型轉換,是主要面向CPU的AI模型應用,無第三方依賴具有較高的通用性,運行速度突出,是國內目前較為廣泛使用的終端側 AI 軟件框架。
Core ML 是蘋果公司開發(fā)的 iOS AI軟件框架,能夠對接 Caffe、PyTorch、MXNet、TensorFlow 等絕大部分 AI 模型,并且自身提供了常用的各種手機端 AI 模型組件,目前也匯集了眾多開發(fā)者及貢獻力量。
Paddle-mobile 是百度自研的移動端深度學習軟件框架,主要目的是將 Paddle 模型部署在手機端,其支持 iOS GPU 計算。但目前功能相對單一,支持較為有限。
TensorRT是英偉達(NVIDIA)開發(fā)的深度學習推斷工具,已經支持 Caffe、Caffe2、TensorFlow、MXNet、PyTorch 等主流深度學習庫,其底層針對NVIDIA顯卡做了多方面的優(yōu)化,可以和CUDA編譯器結合使用。
目前主要產業(yè)巨頭均推出了基于自身技術體系的訓練及推斷軟件框架,但由于目前產業(yè)生態(tài)尚未形成,深度學習模型表示及存儲尚未統(tǒng)一,訓練軟件框架及推斷軟件框架尚未形成一一對應關系,技術生態(tài)爭奪將繼續(xù)持續(xù)。