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