機(jī)器學(xué)習(xí)處理器怎樣選擇合適的
掃描二維碼
隨時(shí)隨地手機(jī)看文章
并非所有機(jī)器學(xué)習(xí)模型都需要按幾個(gè)TOPS的順序進(jìn)行處理。了解應(yīng)用程序的性能,延遲和準(zhǔn)確性需求是選擇處理器進(jìn)行機(jī)器學(xué)習(xí)的關(guān)鍵第一步。
機(jī)器學(xué)習(xí)已成為解決機(jī)器視覺(jué)和其他嵌入式計(jì)算問(wèn)題的流行方法。雖然經(jīng)典機(jī)器學(xué)習(xí)算法需要人工干預(yù)來(lái)從數(shù)據(jù)中提取特征,但機(jī)器學(xué)習(xí)算法或網(wǎng)絡(luò)模型學(xué)習(xí)如何提取數(shù)據(jù)中的重要特征并對(duì)該數(shù)據(jù)進(jìn)行智能預(yù)測(cè)。
在智能家用電器如智能烤箱中,機(jī)器學(xué)習(xí)可用于對(duì)烤箱內(nèi)的食物進(jìn)行分類,并相應(yīng)地設(shè)定烤箱的烹飪溫度和時(shí)間。在工廠中,機(jī)器學(xué)習(xí)可用于檢測(cè)產(chǎn)品中的缺陷,或者可用于預(yù)測(cè)性維護(hù),以幫助預(yù)測(cè)電機(jī)的剩余使用壽命或檢測(cè)電機(jī)操作中的異常。在車輛中,它可用于檢測(cè)道路上的汽車,行人,交通標(biāo)志等。它也可以用于進(jìn)行自然語(yǔ)言翻譯的設(shè)備。
機(jī)器學(xué)習(xí)有兩個(gè)主要部分:培訓(xùn)和推理。機(jī)器學(xué)習(xí)的訓(xùn)練部分是算法的學(xué)習(xí)階段。訓(xùn)練網(wǎng)絡(luò)模型的目的是使模型學(xué)習(xí)最佳可能的參數(shù)值,以可預(yù)測(cè)地解決給定問(wèn)題。有兩種方法可以訓(xùn)練機(jī)器學(xué)習(xí)模型:監(jiān)督或無(wú)監(jiān)督。
在監(jiān)督訓(xùn)練方法中,模型學(xué)習(xí)基于若干教學(xué)輸,輸出對(duì)示例將輸入映射到輸出,用于訓(xùn)練算法的數(shù)據(jù)已經(jīng)用正確答案標(biāo)記并且可能的輸出已知。它涉及標(biāo)記的訓(xùn)練數(shù)據(jù)集,前向傳遞算法,誤差計(jì)算和后向傳遞算法。
前向傳遞算法涉及從輸入數(shù)據(jù)中提取特征和預(yù)測(cè)信息。在監(jiān)督訓(xùn)練方法中,將預(yù)測(cè)與實(shí)際信息進(jìn)行比較,并計(jì)算誤差?;陬A(yù)測(cè)誤差結(jié)果,調(diào)整網(wǎng)絡(luò)參數(shù)以便在下一次迭代中做出更好的預(yù)測(cè)。
機(jī)器學(xué)習(xí)模型訓(xùn)練計(jì)算量很大;因此,這些模型使用功能強(qiáng)大的圖形處理單元(GPU)和現(xiàn)場(chǎng)可編程門陣列(FPGA)在臺(tái)式機(jī)或云端運(yùn)行。
一旦模型被訓(xùn)練以預(yù)測(cè)信息,其參數(shù)值被凍結(jié)并且被部署到現(xiàn)場(chǎng)以“推斷”它接收的任何新數(shù)據(jù)的結(jié)果。這是機(jī)器學(xué)習(xí)的第二部分:推理。在推理階段,只有前向傳遞算法運(yùn)行,提取重要特征和預(yù)測(cè)信息。因?yàn)椴恍枰`差計(jì)算,后向傳遞算法或多次迭代(因?yàn)椴恍枰W(wǎng)絡(luò)參數(shù)調(diào)整),所以與訓(xùn)練相比,推理的計(jì)算強(qiáng)度要小得多。從而,與云中的運(yùn)行推理相比,使用嵌入式處理器的邊緣機(jī)器學(xué)習(xí)推理變得非常流行,因?yàn)榭深A(yù)測(cè)性,隱私,網(wǎng)絡(luò)帶寬,延遲和功耗的固有優(yōu)勢(shì)。
在嵌入式系統(tǒng)中,推理可以在各種片上處理單元上運(yùn)行,如中央處理單元(CPU),GPU,數(shù)字信號(hào)處理器,F(xiàn)PGA邏輯,專用加速器或這些選項(xiàng)的任意組合。機(jī)器學(xué)習(xí)推理功能通常報(bào)告為每秒兆(兆卡,千兆或萬(wàn)億)操作(MOPS,GOPS或TOPS)。
選擇嵌入式處理器以在邊緣運(yùn)行機(jī)器學(xué)習(xí)推理
如今有多種選擇,可能很難選擇合適的設(shè)備或設(shè)備組合來(lái)進(jìn)行推理。GPU在神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練方面的成功可能導(dǎo)致人們誤以為GPU也是運(yùn)行推理的最佳選擇。存在將給定設(shè)備的性能與可以執(zhí)行許多TOPS的GPU進(jìn)行比較的趨勢(shì)。但是,TOPS可能不是應(yīng)該考慮的唯一參數(shù)。
首先,引用的TOPS數(shù)字是理論上的。對(duì)于許多設(shè)備,內(nèi)存訪問(wèn)和數(shù)據(jù)總線基礎(chǔ)設(shè)施無(wú)法擴(kuò)展到核心或子系統(tǒng)處理功能;因此,在系統(tǒng)上實(shí)現(xiàn)的實(shí)際吞吐量可以遠(yuǎn)低于理論上引用的吞吐量。將理論上可實(shí)現(xiàn)的TOPS視為比較的唯一參數(shù)并不是一個(gè)好主意。可實(shí)現(xiàn)的吞吐量(可低至理論計(jì)算性能的20%)是更相關(guān)的度量。某些設(shè)備可能在不同的網(wǎng)絡(luò)模型中表現(xiàn)不佳,而其他設(shè)備可能具有吞吐量作為分辨率,批量大小等的函數(shù)。批處理可能適用于云環(huán)境或培訓(xùn),但許多嵌入式應(yīng)用程序具有不允許的延遲限制批量輸入框架。比較TOPS時(shí),
并非所有機(jī)器學(xué)習(xí)模型都需要按幾個(gè)TOPS的順序進(jìn)行處理。許多應(yīng)用程序可以在MOPS或GOPS的性能預(yù)算內(nèi)解決。了解應(yīng)用程序的性能,延遲和準(zhǔn)確性需求是關(guān)鍵的第一步。
用于基于視覺(jué)的對(duì)象分類任務(wù)的流行卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,如GoogLeNet或InceptionNet,ResNet,ResNext和DenseNet,被設(shè)計(jì)用于桌面或云。在嵌入式處理器上原樣使用它們可能需要大量的GOPS / TOPS,這反過(guò)來(lái)會(huì)增加系統(tǒng)成本和功率要求。隨著時(shí)間的推移,機(jī)器學(xué)習(xí)網(wǎng)絡(luò)模型技術(shù)已發(fā)展為嵌入式處理器友好型。諸如高效網(wǎng)絡(luò)配置,修剪,稀疏性和定點(diǎn)量化等技術(shù)已經(jīng)證明可以顯著降低性能要求(數(shù)量級(jí)),對(duì)精度的影響可以忽略不計(jì)。
例如,基于CNN的對(duì)象分類任務(wù)在224 x 224像素大小的圖像上具有1,000個(gè)類以從ImageNet數(shù)據(jù)庫(kù)檢測(cè),對(duì)于非嵌入友好網(wǎng)絡(luò)模型上的單個(gè)圖像可能花費(fèi)大于1 GOPS。采用嵌入式處理器友好技術(shù)時(shí),操作次數(shù)可降至《200 MOPS,精度降低最小。如果準(zhǔn)確度是可接受的,那么使用嵌入式友好型網(wǎng)絡(luò)模型將需要6個(gè)GOPS來(lái)每秒對(duì)30個(gè)這樣的圖像進(jìn)行分類,而不是+30 GOPS。在這種情況下,提供6個(gè)GOPS的設(shè)備就足夠了。除非你仔細(xì)選擇特定于應(yīng)用程序的嵌入式處理器,否則使用提供不必要的高性能的設(shè)備最終會(huì)增加系統(tǒng)成本和功耗。
其他需要考慮的因素包括系統(tǒng)集成,器件特性和器件的長(zhǎng)期可用性。要降低總體成本,請(qǐng)尋找集成應(yīng)用程序所需外圍設(shè)備和接口的設(shè)備。例如,如果你的應(yīng)用程序是基于機(jī)器視覺(jué)的智能工廠的工業(yè)應(yīng)用程序,必須通過(guò)工業(yè)以太網(wǎng)協(xié)議或其他協(xié)議進(jìn)行通信,則集成的片上系統(tǒng)可能是最有效的解決方案。TI Sitara AM57x處理器等器件,可根據(jù)特定應(yīng)用要求提供特定應(yīng)用的性能,集成必要的外設(shè)接口,支持所需的工業(yè)協(xié)議,滿足工業(yè)級(jí)半導(dǎo)體要求以及長(zhǎng)期承諾支持,可能是更好的系統(tǒng)級(jí)選擇。
最后但同樣重要的是,還應(yīng)該考慮軟件開(kāi)發(fā)成本。能夠提供成熟軟件開(kāi)發(fā)套件以及良好工程支持的供應(yīng)商可以幫助降低風(fēng)險(xiǎn),降低開(kāi)發(fā)成本并實(shí)現(xiàn)可以按時(shí)交付的更優(yōu)質(zhì)產(chǎn)品。
來(lái)源:朗銳智科