Intel Deep Learning SDK
除了支持不同開發(fā)者所偏好的深度學習框架之外,英特爾本身也會推出Intel Deep Learning SDK。
藉由當中提供的簡易使用接口,數(shù)據(jù)科學家與軟件開發(fā)人員可發(fā)展各種深度學習的應(yīng)用方案。
例如,透過SDK里面的訓練工具,我們能夠進行深度學習模型的設(shè)定、準備、設(shè)計;若要將已經(jīng)訓練好深度學習的模型,自動進行優(yōu)化與部署的程序,也可以運用SDK包含的部署工具來幫忙。
英特爾處理器內(nèi)建新的原始指令,強化深度學習效能
針對各種深度學習框架提供優(yōu)化之余,英特爾在旗下的處理器產(chǎn)品當中,也內(nèi)建了多種鏈接庫來提升AI應(yīng)用系統(tǒng)的效能。
Math Kernel Library(MKL)
MKL是英特爾發(fā)展了22年的鏈接庫,里面集合了許多原始的數(shù)學運算指令,可加速在工程、財務(wù)、科學等領(lǐng)域的模擬與分析處理,2016年之后,由于增加了MKL-DNN的鏈接庫,因此也能提升機器學習與深度學習的效能。目前內(nèi)建MKL的處理器,包含個人計算機用途的Core,以及服務(wù)器等級的Xeon、Xeon Phi。
這套鏈接庫提供了低階的C與Fortran程序語言接口,能執(zhí)行多種通用運算,例如,矩陣的乘法、分解、快速傅立葉變換、隨機數(shù)生成、向量函數(shù)等,能支持多種操作系統(tǒng)平臺的應(yīng)用程序開發(fā),例如,Windows(微軟Visual Studio),以及Linux與OS X(Eclipse)。
Math Kernel Library for Deep Neural Networks(MKL-DNN)
透過深度學習框架開發(fā)的應(yīng)用程序,若要執(zhí)行在Intel Architecture的處理器環(huán)境,英特爾提供了一套開放原始碼的效能強化鏈接庫,稱為Math Kernel Library for Deep Neural Networks(MKL-DNN)。
它與英特爾的MKL鏈接庫之間,有很大淵源。
因為,MKL-DNN是2017版MKL所延伸出來的產(chǎn)物,當中包含了高度向量化與穿插式的建構(gòu)模塊,而且是透過C與C++程序語言的接口,實作出卷積類神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的架構(gòu),并且不只能在C和C++這兩種開發(fā)環(huán)境運用,也可用于Python和Java等高階程序語言。
針對深度學習應(yīng)用系統(tǒng)當中所進行的運算密集式工作, MKL-DNN也能對相關(guān)的框架提供加速處理,英特爾特別強調(diào)可支持上述提及的Caffe、Theano、Torch、Tensorflow等深度學習專用的鏈接庫。

從服務(wù)器到個人計算機的處理器,都內(nèi)建新鏈接庫,強化AI效能
除了提供優(yōu)化程序代碼,英特爾在處理器平臺上,也內(nèi)建了原始指令:專供深度神經(jīng)網(wǎng)絡(luò)使用的數(shù)學核心鏈接庫MKL-DNN,以及用于深度學習訊息傳遞應(yīng)用的機器學習規(guī)模擴展鏈接庫MLSL。
Machine Learning Scaling Library(MLSL)
在Intel AI Day活動當中,英特爾也預(yù)告將推出一套新的鏈接庫,稱為Machine Learning Scaling Library(MLSL),可在深度學習系統(tǒng)的多節(jié)點互連架構(gòu)下,進行規(guī)模擴展的應(yīng)用,可支持32個節(jié)點以上所組成的深度學習系統(tǒng)。有了MLSL之后,深度學習系統(tǒng)可針對不同節(jié)點之間的訊息傳遞作業(yè),進行抽象化的處理。
MLSL是架構(gòu)在現(xiàn)有平行運算系統(tǒng)所慣用的MPI(Message Passing Interface)之上,可運用其他用于訊息溝通的鏈接庫,而在訊息溝通的模式上,用戶若要擴展到更大的系統(tǒng)使用規(guī)模,MLSL也將對此提供優(yōu)化。MLSL本身也提供通用的API接口,可支持上述的各種深度學習軟件框架。
此外,由于MLSL與深度學習系統(tǒng)的多臺節(jié)點擴展應(yīng)用有關(guān),因此能否適用不同的網(wǎng)絡(luò)互連方式,也很重要。MLSL目前可支持的聯(lián)機規(guī)格,有標準的以太網(wǎng)絡(luò)、InfiniBand,以及英特爾發(fā)展的次世代互連網(wǎng)絡(luò)架構(gòu)Omni-Path Architecture(OPA)。
Data Analytics Acceleration Library(DAAL)
目前英特爾針對AI應(yīng)用所持續(xù)發(fā)展的鏈接庫,除了上述的MKL,還有Data Analytics Acceleration Library(DAAL),這套在2015年推出的鏈接庫,可針對基于Intel Architecture處理器平臺的個人計算機、服務(wù)器,提升大數(shù)據(jù)分析作業(yè)的執(zhí)行效能。
這套鏈接庫包含多種經(jīng)過優(yōu)化的算法建構(gòu)模塊,能夠支持數(shù)據(jù)分析過程中的每個階段,像是前置處理、轉(zhuǎn)換、分析、建模、驗證、抉擇,并且在脫機、在線串流與分布式等不同的數(shù)據(jù)分析環(huán)境里面執(zhí)行。
DAAL的發(fā)展上,也考慮到常見的大數(shù)據(jù)平臺應(yīng)用需求,目前已可強化Hadoop、Spark、R、Matlab系統(tǒng)的數(shù)據(jù)存取效率。同時,DAAL也內(nèi)建數(shù)據(jù)管理機制,協(xié)助應(yīng)用系統(tǒng)得以從多種來源存取到數(shù)據(jù),例如檔案、內(nèi)存內(nèi)的緩沖區(qū)、SQL數(shù)據(jù)庫、HDFS文件系統(tǒng)。
DAAL與MKL同樣皆可針對大數(shù)據(jù)的處理,不過,若遇到數(shù)據(jù)量大到內(nèi)存無法全部加載的情況,DAAL本身能運用特制的算法來因應(yīng)——將資料切割為塊狀,而不是全部放進內(nèi)存。
在程序語言的部分,DAAL提供高階的C++、Java與Python接口,可用來處理多種數(shù)據(jù)分析需求,像是主成分分析、回歸、分類、群集與購物籃分析。透過這個鏈接庫,你可以利用指定的算法來訓練出模型,然后評定數(shù)據(jù)集在這模型中的分數(shù)。
下篇:英特爾AI策略全解析(3):與谷歌合作發(fā)展云服務(wù)
電子發(fā)燒友App


















評論