|
學(xué)嵌入式要很聰明嗎_嵌入式系統(tǒng)的編程方式正在發(fā)生根本轉(zhuǎn)變 設(shè)計(jì)人員準(zhǔn)備擁抱AI,
最近業(yè)界一直在大力推動(dòng)將人工智能(AI)嵌入到嵌入式系統(tǒng)中。其中一些是用于基于云的AI,如亞馬遜的Alexa語(yǔ)音服務(wù),但越來(lái)越多的引進(jìn)集中在基于硬件的AI上。許多供應(yīng)商已經(jīng)發(fā)布了處理器和協(xié)處理器,在其上提供加速或?qū)S镁矸e計(jì)算硬件來(lái)支持邊緣運(yùn)行類神經(jīng)網(wǎng)絡(luò)軟件。這樣,嵌入式系統(tǒng)就能夠在無(wú)需云連接的情況下開始執(zhí)行AI算法。
這一趨勢(shì)對(duì)嵌入式系統(tǒng)開發(fā)人員意義重大。越來(lái)越多的處理器提供AI表明,嵌入式系統(tǒng)的編程方式正在發(fā)生根本轉(zhuǎn)變。這與45年前微處理器的問世一樣,又是一場(chǎng)意義重大的范式轉(zhuǎn)變。
差不多在我剛上大學(xué)那會(huì)兒,英特爾推出了第一款商用微處理器4004,而在我當(dāng)工程師的第一年,看到處理器時(shí)鐘速率飆升到1MHz!在微處理器到來(lái)之前,復(fù)雜系統(tǒng)的控制需要通過使用晶體管和簡(jiǎn)單的邏輯門,設(shè)計(jì)不靈活的梯形邏輯和狀態(tài)機(jī)來(lái)實(shí)現(xiàn)。但使用4004,開發(fā)人員創(chuàng)建的硬件設(shè)計(jì),只需要更改內(nèi)存器件的內(nèi)容,即可對(duì)其進(jìn)行配置和改變用途。突然間,硬件設(shè)計(jì)簡(jiǎn)化了,系統(tǒng)設(shè)計(jì)也同步加速了,甚至可以切實(shí)實(shí)現(xiàn)更快、更復(fù)雜的行為。用軟件代碼取代專用邏輯,成為嵌入式系統(tǒng)設(shè)計(jì)的核心方法;沒能快速跟上潮流的開發(fā)人員發(fā)現(xiàn)自己被邊緣化了,只能接手小眾應(yīng)用。
AI有可能對(duì)當(dāng)今的嵌入式系統(tǒng)設(shè)計(jì)人員產(chǎn)生同樣影響。系統(tǒng)操作變得愈加苛刻,系統(tǒng)行為也變得愈加復(fù)雜,這使得處理器編程的簡(jiǎn)易性變得比其性能特征更為重要。同時(shí),人們對(duì)復(fù)雜系統(tǒng)行為的需求一直在增加,這對(duì)開發(fā)人員編寫可靠代碼來(lái)滿足需求形成考驗(yàn)。
這就成為了AI的切入點(diǎn)。開發(fā)人員可以使用AI來(lái)“教”嵌入式系統(tǒng)完成任務(wù),而不是試圖設(shè)計(jì)算法來(lái)實(shí)現(xiàn)所需任務(wù)。如果使用傳統(tǒng)的嵌入式編程技術(shù),為相機(jī)系統(tǒng)編寫代碼,讓其可以可靠檢測(cè)視野中的所有人臉,是項(xiàng)艱巨且容易出錯(cuò)的任務(wù)。然而,借助AI系統(tǒng),通過訓(xùn)練托管的AI來(lái)完成任務(wù),然后在加裝AI的處理器上實(shí)現(xiàn)由此得到的神經(jīng)網(wǎng)絡(luò),可以快速取得驚人成果。
對(duì)于傳統(tǒng)的嵌入式開發(fā)人員,這使他們面臨一個(gè)與70年代中期的邏輯設(shè)計(jì)人員所面臨的相同選擇:學(xué)習(xí)新方法,或去冒出局的風(fēng)險(xiǎn)。
令人高興的是,眼下的情況有些不同。開發(fā)人員不需要成為AI專家就可將AI應(yīng)用到其設(shè)計(jì)任務(wù)中,就像他們不必知道如何編寫機(jī)器代碼來(lái)對(duì)微處理器編程一樣。開發(fā)人員只需知道如何使用AI工具,了解何時(shí)應(yīng)用何種方法來(lái)實(shí)現(xiàn)其設(shè)計(jì)目標(biāo)即可。
但是,這要求開發(fā)人員去獲得新的技能并拓展新的思維方式。他們需要學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)、AI訓(xùn)練方法以及如何將系統(tǒng)行為劃分為AI和算法域等課題。當(dāng)系統(tǒng)的關(guān)鍵操作特性是派生得到且未定義的,且其中間操作是隱蔽的,以至不能用傳統(tǒng)的軟件去分析系統(tǒng)時(shí),他們還需要知道如何測(cè)試、調(diào)試和驗(yàn)證系統(tǒng)行為。
AI系統(tǒng)工作是通過設(shè)置神經(jīng)網(wǎng)絡(luò)的權(quán)重來(lái)實(shí)現(xiàn)期望的結(jié)果,同時(shí)其可能含有隱藏層。由于這兩個(gè)屬性,我們很難用傳統(tǒng)方法對(duì)其進(jìn)行分析和調(diào)試。
此外,情況會(huì)繼續(xù)變得復(fù)雜。目前,嵌入式AI將主要是針對(duì)早期訓(xùn)練階段定義的相對(duì)固定的網(wǎng)絡(luò)進(jìn)行實(shí)現(xiàn)。但隨著AI邊緣處理的性能不斷提高和成本下降,未來(lái)的嵌入式AI系統(tǒng)會(huì)越來(lái)越多地被設(shè)計(jì)為自我訓(xùn)練。因此,嵌入式開發(fā)人員設(shè)計(jì)的系統(tǒng)最初將相對(duì)簡(jiǎn)單且沒有什么差異,但隨著時(shí)間的推移,其將沿著具體安裝所特有的路徑演進(jìn),同時(shí)也仍需要母公司進(jìn)行維護(hù)、調(diào)試和升級(jí)。
AI將引發(fā)嵌入式系統(tǒng)設(shè)計(jì)方式的大規(guī)模轉(zhuǎn)變,開發(fā)人員現(xiàn)在就應(yīng)該著手準(zhǔn)備。這種轉(zhuǎn)變不會(huì)一蹴而就,它也不會(huì)以同樣的方式影響所有的嵌入式系統(tǒng),因此行業(yè)有時(shí)間適應(yīng)。但這種轉(zhuǎn)變似乎不可避免,并且可能會(huì)長(zhǎng)期影響幾乎所有的應(yīng)用領(lǐng)域,就像過去40年來(lái)從邏輯設(shè)計(jì)向處理器編程的轉(zhuǎn)變一樣。那些希望自己的設(shè)計(jì)項(xiàng)項(xiàng)都可圈可點(diǎn)的人,需要開始學(xué)習(xí)如何嵌入AI了。 |
|