摘要:本文介紹一下TI在邊緣計(jì)算工作中所做的努力。
?發(fā)明“人工智能”這個(gè)term的老頭兒也不會(huì)想到人工智能在中國有多火。
不管是懂還是不懂,啥東西披上“人工智能“的面紗都能瞬間成為大項(xiàng)目。
學(xué)習(xí)AI 的年輕人認(rèn)識(shí)NVIDIA,可能不太知道DSP是啥玩意兒了。
我們上學(xué)那會(huì),NVIDIA僅僅是”顯卡“代名詞而已,DSP是絕對的天花板。
現(xiàn)在,貌似DSP都趕不上FPGA了,因?yàn)镕PGA加速AI應(yīng)用好像更快一點(diǎn)。
不過,TI沒有沉睡,相信下一次的浪潮會(huì)是他引領(lǐng)。
我的理由比較簡單--乘法比加法更需要實(shí)力(大家意會(huì))。
1.TI想讓AI模型在自己的DSP上跑一跑
AI最重要的就是模型,這個(gè)面紗不揭開,大家都以為神圣的不得了,本文也不揭開它,讓它繼續(xù)神圣。通用AI才是集模型之大成,通用AI取得飛躍之前,尤其是能夠拜托超級計(jì)算能力之前,現(xiàn)在仍然處于一個(gè)相對不那么高的階段。為了模仿人類學(xué)習(xí)的過程,大家用一大堆服務(wù)器,一大堆GPU(很貴,一般我們購買云服務(wù))從一大堆數(shù)據(jù)中訓(xùn)練出來一個(gè)模型,那么這個(gè)模型可以對你想要的事情進(jìn)行分類或者回歸(根本上來說,它倆應(yīng)該是統(tǒng)一的)。比如你讓這個(gè)模型分辨一下輸入的一張圖片中的動(dòng)物是貓還是狗。
當(dāng)然這只是初級的模型,要想實(shí)現(xiàn)ChatGPT等通用模型,那么所需要的硬件和數(shù)據(jù)就更多更多了。
但是根本上還是模型。
有的模型就很小,或者不太大,體積恰好可以放進(jìn)”邊緣計(jì)算“設(shè)備。例如華為的Atlas 500,或者很多廠家聲稱的Jetson XXX,這些設(shè)備可以跑一跑訓(xùn)練好的“模型”。
那么TI DSP呢?也能夠跑一跑。
我想說的是,邊緣計(jì)算跑一個(gè)模型浪費(fèi)不?
在古老的嵌入式系統(tǒng)領(lǐng)域,崇尚的是“夠用就好”,在AI時(shí)代,好像不怎么提了。
功耗?成本?統(tǒng)統(tǒng)不用考慮,因?yàn)楦渌_支相比,這個(gè)根本就不是個(gè)事。
其實(shí)AI時(shí)代需要冷靜一下,盡管AI寒冬的時(shí)候,那幾個(gè)堅(jiān)持下來的老頭兒的確是非常值得尊敬的。我們需要考慮,AI怎么樣才能為我們帶來最合適的科技舒適感。并不是說,處處都有人臉識(shí)別,每個(gè)汽車都裝一個(gè)激光雷達(dá),我們的生活就一下子提升到了24小時(shí)都是幸福指數(shù)拉滿的水平。畢竟我們只是一個(gè)時(shí)代的沙塵而已。
以前大家開玩笑說,汽車時(shí)速表上的一大部分空間是沒有用過的,現(xiàn)在可以說,自動(dòng)駕駛也沒有太多人敢于徹底放松地上車就享受它們。
arduino有一款板子,也可以跑簡單的AI模型,例如識(shí)別簡單的語音指令。
TI也有。它想實(shí)現(xiàn)的是把模型放在這個(gè)DSP上來執(zhí)行??瓷先ニ⒉惶袷且粋€(gè)DSP,而是一個(gè)ARM內(nèi)核的CPU而已。
?
有一篇技術(shù)文章講述了如何這么做
https://www.ti.com.cn/cn/lit/an/zhcabs1/zhcabs1.pdf?ts=1681788583275&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FTDA4VM
?
2.具有深度學(xué)習(xí)、視覺功能和多媒體加速器的雙核 Arm? Cortex?-A72 SoC 和 C7x DSP
?它是名字叫做TDA4VM
具有深度學(xué)習(xí)、視覺功能和多媒體加速器的雙核 Arm? Cortex?-A72 SoC 和 C7x DSP
適用于 L2、L3 和近場分析系統(tǒng)且采用深度學(xué)習(xí)的汽車片上系統(tǒng)
可以運(yùn)行Linux, QNX, RTOS
硬件上,有1 Deep learning accelerator, 1 Depth and Motion accelerator, 1 Vision Processing accelerator, 1 video encode/decode accelerator
2 個(gè)Arm Cortex-A72核
性能強(qiáng)大,但是怎么看怎么像是迎合AI應(yīng)用所做。
比如它可以做環(huán)視泊車,我們叫做全景影像??墒撬坪踹@也沒啥,現(xiàn)在街上的車輛,帶全景影像的好像很多,解決方案并不一定用的的TI的。
?3.TI的邊緣云計(jì)算[1]
如果在沒有嵌入式處理器供應(yīng)商提供的合適工具和軟件的支持下,既想設(shè)計(jì)高能效的邊緣人工智能(AI)系統(tǒng),同時(shí)又要加快產(chǎn)品上市時(shí)間,這項(xiàng)工作難免會(huì)冗長乏味。面臨的一系列挑戰(zhàn)包括選擇恰當(dāng)?shù)纳疃葘W(xué)習(xí)模型、針對性能和精度目標(biāo)對模型進(jìn)行訓(xùn)練和優(yōu)化,以及學(xué)習(xí)使用在嵌入式邊緣處理器上部署模型的專用工具。從模型選擇到在處理器上部署,TI可免費(fèi)提供相關(guān)工具、軟件和服務(wù),為您深度神經(jīng)網(wǎng)絡(luò)(DNN)開發(fā)工作流程的每一步保駕護(hù)航。
第1步:選擇模型
邊緣AI系統(tǒng)開發(fā)的首要任務(wù)是選擇合適的DNN模型,同時(shí)要兼顧系統(tǒng)的性能、精度和功耗目標(biāo)。GitHub上的TI邊緣AI Model Zoo等工具可助您加速此流程。
Model Zoo廣泛匯集了TensorFlow、PyTorch和MXNet框架中常用的開源深度學(xué)習(xí)模型。這些模型在公共數(shù)據(jù)集上經(jīng)過預(yù)訓(xùn)練和優(yōu)化,可以在TI適用于邊緣AI的處理器上高效運(yùn)行。TI會(huì)定期使用開源社區(qū)中的新模型以及TI設(shè)計(jì)的模型對Model Zoo進(jìn)行更新,為您提供性能和精度經(jīng)過優(yōu)化的廣泛模型選擇。
Model Zoo囊括數(shù)百個(gè)模型,TI模型選擇工具(如圖2所示)可以幫助您在不編寫任何代碼的情況下,通過查看和比較性能統(tǒng)計(jì)數(shù)據(jù)(如推理吞吐量、延遲、精度和雙倍數(shù)據(jù)速率帶寬),快速比較和找到適合您AI任務(wù)的模型。
第2步:訓(xùn)練和優(yōu)化模型
選擇模型后,下一步是在TI處理器上對其進(jìn)行訓(xùn)練或優(yōu)化,以獲得出色的性能和精度。憑借我們的軟件架構(gòu)和開發(fā)環(huán)境,您可隨時(shí)隨地訓(xùn)練模型。
從TI Model Zoo中選擇模型時(shí),借助訓(xùn)練腳本可讓您在自定義數(shù)據(jù)集上為特定任務(wù)快速傳輸和訓(xùn)練模型,而無需花費(fèi)較長時(shí)間從頭開始訓(xùn)練或使用手動(dòng)工具。訓(xùn)練腳本、框架擴(kuò)展和量化感知培訓(xùn)工具可幫助您優(yōu)化自己的DNN模型。
第3步:評估模型性能
在開發(fā)邊緣AI應(yīng)用之前,需要在實(shí)際硬件上評估模型性能。
TI提供靈活的軟件架構(gòu)和開發(fā)環(huán)境,您可以在TensorFlow Lite、ONNX RunTime或TVM和支持Neo AI DLR的SageMaker Neo運(yùn)行環(huán)境引擎三者中選擇習(xí)慣的業(yè)界標(biāo)準(zhǔn)Python或C++應(yīng)用編程接口(API),只需編寫幾行代碼,即可隨時(shí)隨地訓(xùn)練自己的模型,并將模型編譯和部署到TI硬件上。在這些業(yè)界通用運(yùn)行環(huán)境引擎的后端,我們的TI深度學(xué)習(xí)(TIDL)模型編譯和運(yùn)行環(huán)境工具可讓您針對TI的硬件編譯模型,將編譯后的圖或子圖部署到深度學(xué)習(xí)硬件加速器上,并在無需任何手動(dòng)工具的情況下實(shí)現(xiàn)卓越的處理器推理性能。
在編譯步驟中,訓(xùn)練后量化工具可以自動(dòng)將浮點(diǎn)模型轉(zhuǎn)換為定點(diǎn)模型。該工具可通過配置文件實(shí)現(xiàn)層級混合精度量化(8位和16位),從而能夠足夠靈活地調(diào)整模型編譯,以獲得出色的性能和精度。
不同常用模型的運(yùn)算方式各不相同。同樣位于GitHub上的TI邊緣AI基準(zhǔn)工具可幫助您為TI Model Zoo中的模型無縫匹配DNN模型功能,并作為自定義模型的參考。
評估TI處理器模型性能的方式有兩種:TDA4VM入門套件評估模塊(EVM)或TI Edge AI Cloud,后者是一項(xiàng)免費(fèi)在線服務(wù),可支持遠(yuǎn)程訪問TDA4VM EVM,以評估深度學(xué)習(xí)推理性能。借助針對不同任務(wù)和運(yùn)行時(shí)引擎組合的數(shù)個(gè)示例腳本,五分鐘之內(nèi)便可在TI硬件上編程、部署和運(yùn)行加速推理,同時(shí)收集基準(zhǔn)測試數(shù)據(jù)。
第4步:部署邊緣AI應(yīng)用程序
您可以使用開源Linux?和業(yè)界通用的API來將模型部署到TI硬件上。然而,將深度學(xué)習(xí)模型部署到硬件加速器上只是難題的冰山一角。
為幫助您快速構(gòu)建高效的邊緣AI應(yīng)用,TI采用了GStreamer框架。借助在主機(jī)Arm?內(nèi)核上運(yùn)行的GStreamer插件,您可以自動(dòng)將計(jì)算密集型任務(wù)的端到端信號(hào)鏈加速部署到硬件加速器和數(shù)字信號(hào)處理內(nèi)核上。?
?下圖是一個(gè)視頻的應(yīng)用
4.DSP還有機(jī)會(huì)嗎?
FPAG的結(jié)構(gòu)特點(diǎn)
片內(nèi)有大量的邏輯門和觸發(fā)器,多為查找表結(jié)構(gòu),實(shí)現(xiàn)工藝多為SRAM。規(guī)模大,集成度高,處理速度快,執(zhí)行效率高。能完成復(fù)雜的時(shí)序邏輯設(shè)計(jì),且編程靈活,方便,簡單,可多次重復(fù)編程。許多FPAG可無限重復(fù)編程。利用重新配置可減少硬件的開銷
DSP作為專門的微處理器,主要用于計(jì)算,優(yōu)勢是軟件的靈活性。適用于條件進(jìn)程,特別是復(fù)雜的多算法任務(wù)。采用數(shù)據(jù)和程序分離的哈佛結(jié)構(gòu)和改進(jìn)的哈佛結(jié)構(gòu),執(zhí)行指令速度更快。獨(dú)立的累加器及加法器,一個(gè)周期內(nèi)可同時(shí)完成相乘及累加運(yùn)算。
我們知道,AI算法的核心就是大量的乘加/乘累加。再傳統(tǒng)的FPGA中乘累加是依靠DSP模塊實(shí)現(xiàn)的。為了追求較高的靈活性,普通的DSP模塊就是一個(gè)或者兩個(gè)乘法器,外加一個(gè)加法器構(gòu)成。這樣就可以基于這種基本的DSP模塊配合FPGA的其它部分構(gòu)成各種不同的運(yùn)算算法。
但AI運(yùn)算不是一般的乘加,而是一種“張量”運(yùn)算。簡單的說就是一組數(shù)據(jù)先乘后加,乘加之間還有級聯(lián)。因此提升FPGA執(zhí)行AI算法的最好方法自然就是把DSP模塊升級為更加適應(yīng)AI張量運(yùn)算的模塊。
大量的乘法器,不同模塊之間的級聯(lián)通道,以及對應(yīng)的加法。這非常符合張量運(yùn)算先乘后加,多維運(yùn)算的運(yùn)算過程。這樣讓底層運(yùn)算結(jié)構(gòu)與算法高度匹配,就可以保證算法的執(zhí)行效率。
DSP的先天優(yōu)勢就是哈弗總線,以及單周期執(zhí)行乘加操作。
盡管人工智能目前所需的計(jì)算是“張量”,但是從它的理論提出來初期,就是用一個(gè)簡單的網(wǎng)絡(luò)結(jié)構(gòu)來代替的,因此才導(dǎo)致了必須使用特別巨大的計(jì)算資源和功耗來實(shí)現(xiàn)一個(gè)人類小孩就可以完成的分類操作。所以在GPU運(yùn)行算法發(fā)現(xiàn)之前,技術(shù)停滯了相當(dāng)長的一段時(shí)間。人類小孩并沒有利用身體之外的巨大計(jì)算資源來學(xué)習(xí)就能逐漸成長,所以要想實(shí)現(xiàn)比較低的計(jì)算資源完成比較復(fù)雜的運(yùn)算在未來的時(shí)候也許是可以的。這一點(diǎn),希望DSP通過結(jié)構(gòu)優(yōu)化能夠幫得上忙。
參考資料:
1.嵌入式邊緣AI應(yīng)用開發(fā)簡化指南 - 嵌入式處理 - 技術(shù)文章 - E2E? 設(shè)計(jì)支持
2.為什么不經(jīng)??吹嚼肈SP作為機(jī)器學(xué)習(xí)硬件加速器的文章或者新聞? - 知乎
3.人工智能計(jì)算領(lǐng)域的領(lǐng)導(dǎo)者 | NVIDIA文章來源:http://www.zghlxwxcb.cn/news/detail-420796.html
4.兩大FPGA公司的“AI技術(shù)路線”文章來源地址http://www.zghlxwxcb.cn/news/detail-420796.html
到了這里,關(guān)于TI在物聯(lián)網(wǎng)和AI邊緣計(jì)算中落伍了嗎?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!