范喜凱
摘 要:近年來,在我國科學(xué)技術(shù)快速發(fā)展的進(jìn)程中,人工智能技術(shù)已經(jīng)廣泛應(yīng)用于各個領(lǐng)域,取得了一定的進(jìn)步,不僅能夠增強(qiáng)數(shù)據(jù)信息分析的直觀性,還能形成智能化輔助決策支持、智能化認(rèn)知的支持,具有一定的應(yīng)用價值。基于此,文章研究分析人工智能基礎(chǔ)軟硬件架構(gòu),提出關(guān)鍵技術(shù)建議,旨在為人工智能技術(shù)的良好應(yīng)用、長遠(yuǎn)發(fā)展提供保障。
關(guān)鍵詞:人工智能;基礎(chǔ)軟硬件架構(gòu);關(guān)鍵技術(shù)
中圖分類號:TP391.7 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-1064(2021)11-0-03
DOI:10.12310/j.issn.1674-1064.2021.11.007
1 人工智能基礎(chǔ)軟硬件架構(gòu)的設(shè)計措施
從本質(zhì)層面而言,人工智能屬于交叉類型的學(xué)科技術(shù)。目前,其在研究工作中主要涉及機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方面的內(nèi)容。其中,深度學(xué)習(xí)屬于機(jī)器學(xué)習(xí)研究的分支部分,是2006年由領(lǐng)域中的專家學(xué)者提出的,以深度神經(jīng)網(wǎng)絡(luò)為核心的實(shí)現(xiàn)措施。而深度神經(jīng)網(wǎng)絡(luò)在應(yīng)用過程中,需要有效地應(yīng)對數(shù)據(jù)問題、算法問題和算力問題。因此,應(yīng)結(jié)合實(shí)際情況合理設(shè)計相關(guān)的基礎(chǔ)軟硬件架構(gòu),并按照深度學(xué)習(xí)算法的計算機(jī)體系架構(gòu)實(shí)現(xiàn)特點(diǎn)、原理等,完善體系架構(gòu)的核心部分,確保能夠高效化應(yīng)用人工智能技術(shù)。軟硬件架構(gòu)的設(shè)計層次,如圖1所示,應(yīng)結(jié)合人工智能技術(shù)的應(yīng)用特點(diǎn)和實(shí)際情況完善各個層次的內(nèi)容。
1.1 基礎(chǔ)硬件層面的設(shè)計
基礎(chǔ)硬件層面指架構(gòu)中的人工智能芯片,從實(shí)際情況而言,深度學(xué)習(xí)需要很多重復(fù)執(zhí)行類型的矩陣乘法和激活函數(shù)的計算流程。而在使用通用類型CPU進(jìn)行重復(fù)計算期間,性價比很低,所以,應(yīng)設(shè)置專門使用的計算芯片材料。如AI計算芯片在應(yīng)用過程中,可以設(shè)置CPU的架構(gòu)、FPCA的架構(gòu)或者ASIC的架構(gòu),利用對AI內(nèi)的常用函數(shù)、計算硬件化的處理,加快硬件計算方面的計算速度,減少功耗數(shù)量。在此期間使用的關(guān)鍵性技術(shù),主要就是指令集技術(shù)、硬件實(shí)現(xiàn)技術(shù)、異構(gòu)計算技術(shù)、編譯器技術(shù)等。按照我國目前的人工智能軟硬件使用的安全需求,可設(shè)計定制類型的ASIC系統(tǒng),設(shè)計安全性的專用計算機(jī)硬件電路,保證所有系統(tǒng)安全運(yùn)行。
1.2 中間表示層面的設(shè)計
一般情況下,中間表示層面主要是利用深度神經(jīng)網(wǎng)絡(luò)模型編譯器的技術(shù)設(shè)計,可以借鑒LLVM的設(shè)計模式,創(chuàng)建底層的硬件框架和軟件框架,設(shè)置各類軟件框架相互的橋梁部分??蚣苤性O(shè)計的中間表示層部分,能夠有效應(yīng)對模型推理一側(cè)的問題,使其可以在各類硬件平臺中都能合理描述,完善NNVM/TVM和TensorFlowXLA兩種陣營,其中的模型交換格式屬于中間層次實(shí)現(xiàn)表示目的的定義部分??紤]到部分系統(tǒng)具有封閉性特點(diǎn),因此在框架設(shè)計過程中,可以使用開源類型的ONNX設(shè)置解決方案和計劃內(nèi)容。
1.3 合理設(shè)計軟件框架的層次
軟件框架層次設(shè)計的優(yōu)化性直接決定深度學(xué)習(xí)算法封裝的效果,是非常關(guān)鍵的部分。同時,其還能為應(yīng)用開發(fā)提供集成性的軟件工具包,主要涉及到訓(xùn)練部分和推理部分。一般情況下,對軟件框架的可用性和操作便利性產(chǎn)生影響的就是分布式訓(xùn)練因素和生態(tài)因素。目前,在技術(shù)應(yīng)用過程中,生態(tài)較為良好的云端訓(xùn)練框架是TensorFlow和PyTorch兩種框架,在應(yīng)用過程中也可以提供分布式訓(xùn)練的支持。目前,我國部分人工智能系統(tǒng)已經(jīng)具有豐富的生態(tài)功能,可以在設(shè)計深度學(xué)習(xí)軟件的過程中借鑒和使用。
1.4 重點(diǎn)設(shè)計基礎(chǔ)應(yīng)用技術(shù)層次
目前,我國人工智能技術(shù)開始向著商業(yè)化方向發(fā)展,可以將計算機(jī)視覺技術(shù)、智能語言處理技術(shù)和自然語言處理技術(shù)等作為基礎(chǔ)性部分。在軟硬件框架設(shè)計期間,需結(jié)合相應(yīng)的技術(shù)應(yīng)用特點(diǎn)和具體狀況,有效應(yīng)對智能信息感知問題、融合問題和決策問題,積極運(yùn)用相應(yīng)的關(guān)鍵性技術(shù),完善技術(shù)模式和機(jī)制,確保各項(xiàng)工作的高質(zhì)量實(shí)施[1]。
2 人工智能基礎(chǔ)軟硬件架構(gòu)的關(guān)鍵技術(shù)
2.1 一站式開發(fā)技術(shù)
由于在當(dāng)前人工智能軟硬件框架應(yīng)用領(lǐng)域,經(jīng)常會出現(xiàn)數(shù)據(jù)信息收集困難的現(xiàn)象、訓(xùn)練標(biāo)記門檻過高的問題、開發(fā)時間過長等現(xiàn)象,因此,需結(jié)合具體狀況使用一站式開發(fā)技術(shù),相關(guān)開發(fā)技術(shù)基本框架如圖2所示。
在采用一站式開發(fā)技術(shù)的過程中,其一,底層部分需要支持異構(gòu)計算平臺,能夠達(dá)到規(guī)模很大的分布式訓(xùn)練目標(biāo),并且具備較為完善的、性能良好的分布式通信系統(tǒng),可以增加吞吐量?;诜植际綌?shù)據(jù)一定的支持,可以同步處置模型和數(shù)據(jù),同時還需容器化地完成部署工作、運(yùn)維工作,加快移植的速度。其二,在開發(fā)設(shè)計深度學(xué)習(xí)框架的過程中,還需給予主流訓(xùn)練框架一定的支持,設(shè)置預(yù)留的框架接口,自定義訓(xùn)練的部分。訓(xùn)練期間,主要涉及數(shù)據(jù)信息的預(yù)處理、算法開發(fā)和模型訓(xùn)練等方面,要確保系統(tǒng)的良好應(yīng)用。其三,在算法開發(fā)的具體工作中,需要完善AI算法的框架部分,和傳統(tǒng)類型的機(jī)器學(xué)習(xí)算法之間相互兼容,可以提供在線交互算法開發(fā)的良好環(huán)境。
2.2 采用深度學(xué)習(xí)模型壓縮技術(shù)
一般情況下,在嵌入式與移動終端設(shè)備的算法處理工作中,由于計算和存儲資源受到一定的限制,要想確保算法的有效處理,就應(yīng)針對模型進(jìn)行壓縮和加速。其中,模型壓縮指的就是,通過數(shù)據(jù)及實(shí)踐已經(jīng)訓(xùn)練完成的模型精簡處理目的,獲得輕量性與精確性的網(wǎng)絡(luò)模型。壓縮處置后的模型結(jié)構(gòu)很小、參數(shù)信息很少,能夠減少計算成本和存儲成本。在此期間,就可以使用深度學(xué)習(xí)模型壓縮技術(shù),通過精細(xì)化的模型設(shè)計方式與模型剪裁方式、量化方式等進(jìn)行處置,將其劃分成前端類型和后段類型壓縮技術(shù)。
對于前端類型的壓縮技術(shù),在不對網(wǎng)絡(luò)結(jié)構(gòu)造成破壞的情況下,以原本的模型為基礎(chǔ)降低filter數(shù)量,或者減小網(wǎng)絡(luò)深度。而后端類型的壓縮技術(shù),目的是在最大程度上減小模型的規(guī)格,對原本的網(wǎng)絡(luò)結(jié)構(gòu)會產(chǎn)生一定的破壞。從訓(xùn)練模型壓縮和優(yōu)化的層面講,可以使用自動化的流程工具設(shè)計方式,將其分成模型壓縮與加速算法組件和超參數(shù)優(yōu)化組件這兩個結(jié)構(gòu),借鑒成功的案例,有效進(jìn)行權(quán)重的稀疏化處理、量化處理、網(wǎng)絡(luò)蒸餾處理等。將各類算法組件相互有機(jī)整合,減小精度方面的損失,不斷提升深度學(xué)習(xí)模型壓縮的自動化水平。
2.3 深度學(xué)習(xí)編譯器技術(shù)
對于TensorFlow、PyTorch而言,此類前端類型的學(xué)習(xí)框架模型,需要先將其轉(zhuǎn)變成計算圖IR,通過NNVM組件處理。對于原本的計算圖IR部分,則在設(shè)計過程中優(yōu)化計算圖,保證操作融合方面、內(nèi)存分配方面的優(yōu)化性,最終獲得最為優(yōu)化的計算圖。在計算圖方面,各個OP的獲取都應(yīng)使用張量表達(dá)語言描述計算表達(dá)方式,對需要擁有的硬件平臺,使用最小計算語言生成相關(guān)的schedule,這個步驟主要使用TVM組件處理。另外,在訓(xùn)練模型方面需要結(jié)合IR層面規(guī)定的標(biāo)準(zhǔn)要求表達(dá)和存儲,利用可以將源碼表達(dá)的數(shù)據(jù)結(jié)構(gòu)或者代碼進(jìn)行編譯器的處理。對于具備擴(kuò)充特點(diǎn)的中間表示層面,則需要將深度學(xué)習(xí)計算在內(nèi)的各類前端訓(xùn)練軟件框架打通,設(shè)置各類后端表達(dá)橋梁,有效應(yīng)對目前框架相互之間的移植問題[2]。
傳統(tǒng)編譯器在實(shí)際應(yīng)用的過程中缺乏深度學(xué)習(xí)算法基礎(chǔ)算子優(yōu)化,缺少在人工智能多種異構(gòu)計算芯片方面的適配性,只有合理擴(kuò)展傳統(tǒng)編譯器架構(gòu),有效應(yīng)對人工智能底層計算芯片和上層部分軟件框架相互之間的適配性問題和優(yōu)化問題。例如,采用先進(jìn)的CUDA編譯器技術(shù)、NNVM/TVM編譯器技術(shù),主要是將LLVM框架作為基礎(chǔ)進(jìn)行設(shè)計,可以直接在多種深度學(xué)習(xí)端的框架之內(nèi),對工作負(fù)載進(jìn)行編譯,使其成為具有一定優(yōu)化性的機(jī)器代碼,可以在高層圖中間表示中進(jìn)行深度學(xué)習(xí)工作負(fù)載的表示、優(yōu)化,還可以在各種類型硬件后端區(qū)域進(jìn)行計算圖的轉(zhuǎn)換處理、最高程度上減少內(nèi)存占用量、實(shí)現(xiàn)數(shù)據(jù)分布的優(yōu)化性處理、將各類計算模式相互融合。
NNVM在應(yīng)用期間可以進(jìn)行計算圖的生成,而TVM又能夠進(jìn)行張量運(yùn)算的映射,主要的應(yīng)用流程是:其一,通過組件實(shí)現(xiàn)TensorFlow、PyTorch等各類前端類型的學(xué)習(xí)框架模型轉(zhuǎn)變成為計算圖IR的目的,之后利用操作融合的方式、內(nèi)存分配優(yōu)化的方式等使得原計算圖IR更為優(yōu)化,獲得優(yōu)化以后的計算圖;其二,對優(yōu)化以后的計算圖內(nèi)部各個OP的獲取,主要通過張量表達(dá)語言的方式進(jìn)行Tensor計算表達(dá)式的描述,按照具體的硬件平臺需求,使用很小的計算原語生成schedule,明確如何針對底層部分的硬件進(jìn)行調(diào)度,這個步驟是利用TVM組件實(shí)現(xiàn);其三,將機(jī)器學(xué)習(xí)的Automated Optimizer作為基礎(chǔ),生成優(yōu)化的部分,最終就能夠生成硬件設(shè)備方面的二進(jìn)制程序,生成能夠進(jìn)行部署的module。如果主流方案中設(shè)置了GraphIR+TensorIR的雙層次優(yōu)化結(jié)構(gòu),那么就能夠有效應(yīng)對軟件框架抑制問題、硬件優(yōu)化的核心問題,因此需要按照具體情況科學(xué)設(shè)置雙層次優(yōu)化結(jié)構(gòu)。
除此之外,目前在工程領(lǐng)域中使用訓(xùn)練模型,都是結(jié)合IR層次提出的規(guī)定存儲與表達(dá),而IR又屬于翻譯器用作源碼表達(dá)的數(shù)據(jù)結(jié)構(gòu)亦或者是代碼,因此必須要按照具體的情況進(jìn)行IR處理,滿足技術(shù)的應(yīng)用要求。
2.4 深度學(xué)習(xí)樣本的增強(qiáng)技術(shù)措施
一般情況下,數(shù)據(jù)增強(qiáng)主要分成有監(jiān)督類型、無監(jiān)督類型兩種形式。前者主要是對單個樣本或是多個樣本數(shù)據(jù)信息進(jìn)行增強(qiáng),后者可以分為生成新數(shù)據(jù)、學(xué)習(xí)增強(qiáng)兩種形式。由于有監(jiān)督類型的數(shù)據(jù)增強(qiáng)技術(shù),主要通過以往的工作經(jīng)驗(yàn)制定完善的設(shè)計規(guī)則,經(jīng)常會出現(xiàn)各個任務(wù)存在過大差異性的問題、質(zhì)量不足的問題。所以,目前在系統(tǒng)設(shè)計工作中,主要使用無監(jiān)督類型的數(shù)據(jù)增強(qiáng)技術(shù),如借助模型學(xué)習(xí)數(shù)據(jù)信息的分布處理,隨機(jī)性生成和訓(xùn)練數(shù)據(jù)集分布狀態(tài)相同的圖片,生成對抗網(wǎng)絡(luò)CAN。
通常情況下有監(jiān)督的數(shù)據(jù)增強(qiáng)主要是通過研究者經(jīng)驗(yàn)規(guī)劃設(shè)計,很容易因?yàn)閭€人的主觀因素不能結(jié)合各種任務(wù)的差異性進(jìn)行設(shè)計,也可能會導(dǎo)致最終數(shù)據(jù)增強(qiáng)的多元化和質(zhì)量不足,在此情況下應(yīng)使用無監(jiān)督數(shù)據(jù)增強(qiáng)的方式。例如,利用模型學(xué)習(xí)數(shù)據(jù)的分布處理,隨機(jī)性生成和訓(xùn)練數(shù)據(jù)信息集合分布相同的圖片,可以采用最具有代表性的生成對抗網(wǎng)絡(luò)CAN措施操作。再如,利用模型學(xué)習(xí)出與目前任務(wù)相互適應(yīng)的數(shù)據(jù)增強(qiáng)措施,借鑒谷歌的數(shù)據(jù)增強(qiáng)成功經(jīng)驗(yàn),通過增強(qiáng)學(xué)習(xí)從數(shù)據(jù)自身之內(nèi)提取良好的圖像變換措施,對各類任務(wù)學(xué)習(xí)不同的數(shù)據(jù)增強(qiáng)方法。
2.5 創(chuàng)建嵌入式的邊緣智能化開發(fā)平臺
雖然開發(fā)一站式的開發(fā)平臺能夠有效完成數(shù)據(jù)中心訓(xùn)練的相關(guān)任務(wù),但是要想合理使用嵌入式端開展模型部署工作,還需開發(fā)面向邊緣的智能化計算平臺,可以將其劃分成為輕量級別、模型推理部署兩個部分,首先需要給予一站式開發(fā)平臺已經(jīng)完成訓(xùn)練模型的部署支持,有效應(yīng)對硬件框架方面的問題,創(chuàng)建模型中間表示的層次。
例如,F(xiàn)PGA在應(yīng)用的過程中具有一定靈活性,主要通過DNN加速設(shè)計的方式進(jìn)行硬件架構(gòu)神經(jīng)網(wǎng)絡(luò)的快速、高效化計算,按照自動化模型壓縮流程,合理設(shè)計軟件工具集,將模型深度壓縮工具作為整體平臺的核心部分,主要設(shè)計大模型剪枝工具、優(yōu)化工具、量化工具等,提升剪枝的效果、定點(diǎn)運(yùn)算的水平。
另外,重點(diǎn)使用神經(jīng)網(wǎng)絡(luò)編譯器技術(shù),使得神經(jīng)網(wǎng)絡(luò)算法能夠被編譯成為可以運(yùn)行、可以使用的指令流,在工具應(yīng)用的過程中營造良好支持環(huán)境,完成神經(jīng)網(wǎng)絡(luò)加載處理、資源管控、調(diào)度處理的操作。通過此類嵌入式平臺的開發(fā)設(shè)計,可以繼承到一站式的平臺內(nèi)部,算法框架層次將輕量級別的推理框架作為主要部分,可以將其當(dāng)作訓(xùn)練框架的精簡模式,通常只能完成推理,無需進(jìn)行訓(xùn)練操作。
3 結(jié)語
綜上所述,在人工智能技術(shù)基礎(chǔ)軟硬件開發(fā)和設(shè)計的過程中,為有效解決目前存在的問題,應(yīng)制定完善的軟件系統(tǒng)和硬件系統(tǒng)開發(fā)方案,按照目前存在的關(guān)鍵性技術(shù)問題針對性處理。同時,還需重點(diǎn)使用一站式開發(fā)技術(shù)、深度學(xué)習(xí)模型壓縮技術(shù)和深度學(xué)習(xí)編譯器技術(shù)等,增強(qiáng)軟硬件架構(gòu)的完善性。
參考文獻(xiàn)
[1] 陳小平.人工智能倫理體系:基礎(chǔ)架構(gòu)與關(guān)鍵問題[J].智能系統(tǒng)學(xué)報,2019,8(4):5-10.
[2] 于漢超,汪峰,蔣樹強(qiáng).中國人工智能發(fā)展的若干緊要問題[J].科技導(dǎo)報,2018,11(17):40-44.