智東西(公眾號:zhidxcom)
編輯 | 韋世瑋

智東西6月9日消息,近日GTIC 2021嵌入式AI創(chuàng)新峰會在北京圓滿收官!在這場全天座無虛席、全網(wǎng)直播觀看人數(shù)逾150萬次的高規(guī)格產(chǎn)業(yè)峰會上,來自產(chǎn)業(yè)鏈上下游的16位大佬共聚一堂,圍繞嵌入式AI的軟硬件生態(tài)創(chuàng)新、家居AIoT、移動機(jī)器人和工業(yè)制造產(chǎn)業(yè)4大版塊地圖,帶來了深入淺出的分享。

在峰會上,多位嘉賓都提到了AI落地場景的碎片化。上海睿賽德電子科技有限公司RT-Thread人工智能總監(jiān)楊武認(rèn)為,解決碎片化的最好方法,是采用一套物聯(lián)網(wǎng)操作系統(tǒng)。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向
▲睿賽德電子人工智能總監(jiān)楊武

在題為《讓設(shè)備更聰明:物聯(lián)網(wǎng)操作系統(tǒng)推動嵌入式AI開發(fā)》的演講中,楊武談到,當(dāng)下,隨著AI模型本身對算力的渴求直線上升,盡管人們不斷用輕量化技術(shù)進(jìn)行模型壓縮,但一旦騰出一點(diǎn)點(diǎn)空間,人們就想用它解決更多問題。

在這種背景下,突破算力瓶頸需要專用處理器,AI芯片市場一片火熱。但同時(shí),這也導(dǎo)致智能物聯(lián)產(chǎn)業(yè)進(jìn)一步呈現(xiàn)碎片化態(tài)勢。對于算法開發(fā)者來說,在端側(cè)進(jìn)行AI開發(fā)面臨的首要問題,就是上手太難,尤其在算法部署方面力不從心。

為了支持AI算法在嵌入式設(shè)備中的便捷部署,睿賽德電子公司推出一套支持嵌入式AI落地的軟件包,并更進(jìn)一步推出RT-Thread AIKit軟件包——一套易用、開放的邊緣AI落地解決方案,這一方案能讓開發(fā)者感到集成運(yùn)用AI算法模型就跟普通代碼庫一樣簡單。

以下為楊武演講實(shí)錄整理:

一、物聯(lián)網(wǎng)碎片化帶來難題,操作系統(tǒng)的三大發(fā)展趨勢

物聯(lián)網(wǎng)很熱。我們放到一個(gè)更大的時(shí)間軸來看,在PC時(shí)代,人需要給電腦精確的指令,我們把這些設(shè)備連網(wǎng),再加上移動設(shè)備,可以用一種新的UI觸摸的方式來讓它關(guān)注我們需要的活動,把我們的數(shù)據(jù)和信息放進(jìn)去。

今天非常方便了,我們做各種事情,無論工作、生活、娛樂、消費(fèi)都可以在手機(jī)上隨時(shí)隨地解決。

如果放眼周邊,這個(gè)世界跟它還是有很多割裂沒有聯(lián)系起來的地方,我們很希望在下一步,這個(gè)世界上一切東西都能為人類活動提供更加智能的支持。

所謂的智能就是設(shè)備要變聰明,最簡單的辦法是裝一個(gè)芯片,另外聯(lián)網(wǎng),這樣才能隨時(shí)隨地感知到它,控制它,這樣我們就提出了物聯(lián)網(wǎng)的概念。

物聯(lián)網(wǎng)這個(gè)概念早在1996年就被提出來了,真正大發(fā)展在15年以后,近幾年它已經(jīng)非常火了。

這導(dǎo)致的結(jié)果是,互聯(lián)網(wǎng)數(shù)據(jù)本身就已經(jīng)是海量數(shù)據(jù)了,如果到物聯(lián)網(wǎng),這個(gè)數(shù)據(jù)量進(jìn)一步爆炸。如果我們想駕馭好海量數(shù)據(jù),很明顯要靠人工智能,靠人去處理的話會很吃力。

另外,我們也希望生活能有更加自然的人機(jī)交互。例如我今天出門定個(gè)鬧鐘,已經(jīng)不太習(xí)慣去點(diǎn)屏幕,而是直接跟手機(jī)說一聲“幫我設(shè)定一個(gè)7點(diǎn)的鬧鐘”,或是更自然的人機(jī)交互,各種設(shè)備在觀察并支持著我,我甚至不用去說。

再往前走一步,下了班我坐在自己車上,DMS攝像頭會看到我的表情,連接上網(wǎng)就能知道我今天碰到的糟心事,于是它給我放了一首舒緩的音樂。

這個(gè)世界變得很有意思,一方面很方便,另外一方面也很嚇人。為什么嚇人?安全和隱私讓人擔(dān)心,尤其自然交互里面需要采集比較多的生物特征,比如人臉、指紋、聲紋,這些東西一旦泄漏之后,沒辦法修改,后果很嚴(yán)重。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向

世界發(fā)展的趨勢不可阻擋,物聯(lián)網(wǎng)有一個(gè)無比廣闊的應(yīng)用場景,各種地方都需要。

分散而廣泛的場景很自然會導(dǎo)致它們需求的設(shè)備不同,需要的處理能力不一樣,需要占用的智能化資源不一樣。同樣,這對聯(lián)網(wǎng)的需求也是不一樣的,需要傳輸?shù)臄?shù)據(jù)量不同,對于可靠性的要求、連接響應(yīng)的時(shí)間都會不一樣。

有可能只是偶然傳一些數(shù)據(jù),關(guān)注低功耗,不要占用太多的能量,也可能需要響應(yīng)非常迅速,比如自動駕駛應(yīng)用。

這樣很自然給開發(fā)者出了一個(gè)小難題,我做一個(gè)設(shè)備時(shí)用的是這家芯片、這家網(wǎng)絡(luò)、這種技術(shù)棧,當(dāng)我接新設(shè)備的時(shí)候,可能還要換一個(gè)芯片平臺,換一個(gè)技術(shù)棧,十分碎片化。

解決碎片化問題最好的辦法是智能操作系統(tǒng)。裸機(jī)的前后臺模式已經(jīng)應(yīng)對不了業(yè)務(wù)的復(fù)雜程度,操作系統(tǒng)能承上啟下對于開發(fā)者來說,意味著有標(biāo)準(zhǔn)的API,有標(biāo)準(zhǔn)可重復(fù)的軟件包生態(tài),各種組件可以拿過來用。

最近各個(gè)巨頭都在殺進(jìn)這個(gè)市場,我們在這個(gè)領(lǐng)域也已經(jīng)耕耘多年,得到更大的發(fā)展機(jī)會。

據(jù)我們觀察,針對這個(gè)市場,物聯(lián)網(wǎng)操作系統(tǒng)有幾點(diǎn)發(fā)展趨勢,一是平臺要有一致性,業(yè)務(wù)開發(fā)時(shí)有接口一致的平臺方便積累和復(fù)用。

二是開源中立,過去紛紛擾擾之下大家對這塊非常敏感,對于一個(gè)廠商關(guān)起大門搞的東西,大家都是比較謹(jǐn)慎的態(tài)度。

三是生態(tài)服務(wù)要完整,不是拿來玩的,我是拿來做業(yè)務(wù)的,最好能讓我非常省心且關(guān)注我應(yīng)該要做的這塊業(yè)務(wù),這樣整個(gè)工作才能很好地開展。

四是國產(chǎn)化不可逆,這兩年特別是華為被限制之后,已經(jīng)開始有這個(gè)趨勢了。如果未來國際形勢恢復(fù)了,我們是不是又能回到全球一體化?如果有人家從80年代就已經(jīng)開始做,一直持續(xù)到現(xiàn)在有了非常成熟的系統(tǒng),我們是不是還要自己搞或用國產(chǎn)的系統(tǒng)?

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向

二、神經(jīng)網(wǎng)絡(luò)的端到端優(yōu)勢,對芯片算力提出挑戰(zhàn)

大趨勢不講那么多,接下來聚焦今天的主題。人工智能在物聯(lián)網(wǎng)領(lǐng)域既然這么重要,我們在端側(cè)做人工智能時(shí)都會碰到什么樣的問題?

人工智能雖然紅火了這些年,但它真正業(yè)務(wù)落地的大舞臺就是在物聯(lián)網(wǎng)端側(cè)AI嵌入領(lǐng)域。這里面有非常龐大的應(yīng)用場景,分散很厲害。

另外,物聯(lián)網(wǎng)的設(shè)備數(shù)量巨大,且還在迅速增長,但服務(wù)器能有多少臺?通過部署人工智能到設(shè)備中,產(chǎn)生的業(yè)務(wù)量非常驚人。

行業(yè)有過一個(gè)預(yù)測,我們僅僅做設(shè)備的預(yù)測性維護(hù),使得我們能夠提升設(shè)備資產(chǎn)利用率,由此在未來五年產(chǎn)生的經(jīng)濟(jì)價(jià)值大概在2.7萬億美元左右,市場非常龐大。

我講的AI落地是把AI算法在端側(cè)運(yùn)行,如果有的設(shè)備把采集數(shù)據(jù)扔到云端,把分析結(jié)果拿回來再做一些相應(yīng)的處理,這是不是人工智能在端側(cè)的應(yīng)用?廣泛來說是的,但這并不難,真正有挑戰(zhàn)性的是我們在端側(cè)干的事情。

為什么要在端側(cè)干這個(gè)事情?人臉隨意被人采集過去,你心里不擔(dān)心嗎?最好數(shù)據(jù)就在端側(cè)處理完,不要把原始的圖片傳回去,也不要把特征信息傳過去,只要把授權(quán)發(fā)回到云端,這樣比較好。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向

我們講人工智能是一個(gè)很寬泛的詞,今天行業(yè)主流講的就是用基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型,來解決對數(shù)據(jù)模式下產(chǎn)生的交互感知、信息加工,甚至是基于數(shù)據(jù)做一些決策判斷工作。

神經(jīng)網(wǎng)絡(luò)具有端到端的優(yōu)勢,同時(shí)也有非常低的門檻,不像過去沒有一個(gè)非常堅(jiān)強(qiáng)的數(shù)據(jù)工具鏈,基于模式識別很難識別它。

神經(jīng)網(wǎng)絡(luò)有個(gè)特點(diǎn)是,有多少人工就有多少智能,有多少標(biāo)注好的數(shù)據(jù),你訓(xùn)練好的模型就有多厲害。

當(dāng)然算法的設(shè)計(jì)能力是很重要的一環(huán),在算法模型上做整個(gè)行業(yè)從沒有的大差距其實(shí)不太容易。但是你有一份非常強(qiáng)悍的數(shù)據(jù)集,你有可能在某一個(gè)細(xì)分領(lǐng)域做得非常突出。

更重要的是,神經(jīng)網(wǎng)絡(luò)是基于大量的累加運(yùn)算,大規(guī)模的并行運(yùn)算,對于處理器算力的需求非常高,通用處理器搞不定這個(gè)事情?,F(xiàn)在摩爾定律的發(fā)展已經(jīng)很平緩了,模型本身對算力的需求還在直線上升,3到4個(gè)月模型就能翻一倍。

盡管有更多輕量化的技術(shù)壓縮它,但每當(dāng)我們的技術(shù)騰出一點(diǎn)點(diǎn)空間時(shí),我們就想用它來解決更大的問題,或者把現(xiàn)有問題解決得更好。

紅火的AI芯片市場,互聯(lián)網(wǎng)巨頭們從云端、手機(jī)端開始?xì)⑦M(jìn)來,芯片廠商不可能錯(cuò)過這一波,還有更多的創(chuàng)業(yè)公司涌進(jìn)來,用自己的理解去創(chuàng)造不同領(lǐng)域的加速產(chǎn)品。其中絕大部分人都是基于傳統(tǒng)的計(jì)算加速思路,還有一些走的是技術(shù)創(chuàng)新思路。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向三、算法端與開發(fā)端存在壁壘,通過物聯(lián)網(wǎng)操作系統(tǒng)統(tǒng)一

很高興今天剛剛看到知存科技做的存內(nèi)計(jì)算方向,可以落地實(shí)物化。還有用光計(jì)算,還有神經(jīng)擬態(tài)網(wǎng)絡(luò)完全模擬人腦的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)做人工智能,都非常有吸引力,但成熟度上跟基于計(jì)算加速的芯片方案比還有一定距離。

因?yàn)楣庥行酒覀冇貌黄饋?,尤其每一家把芯片搞出來之后,一定要給你一套工具鏈,換一個(gè)平臺就得現(xiàn)學(xué)一種,這個(gè)問題也蠻頭疼的。

端側(cè)開發(fā)工程師的知識領(lǐng)域,對于處理器、內(nèi)存、存儲等等擅長,但對神經(jīng)網(wǎng)絡(luò)、量化、調(diào)優(yōu)就沒什么概念,需要現(xiàn)學(xué)。而算法工程師對這些東西往往沒有足夠的概念,卻對調(diào)優(yōu)、量化非常熟悉。因此,我們要找一個(gè)第三方的人把雙方搞定。

目前在產(chǎn)業(yè)中實(shí)際做產(chǎn)品的那些人,包括接觸開發(fā)者學(xué)習(xí)時(shí),首要的問題是上手更難,好多陌生的東西要搞。這里面有一個(gè)端側(cè)+AI部署的統(tǒng)計(jì),基本都是還沒上手。

有什么解決路徑?做人工智能產(chǎn)品基本都是這么一個(gè)思路,看準(zhǔn)問題—算法—部署上去,跟業(yè)務(wù)集成一下,運(yùn)行監(jiān)控分析。

其中有兩個(gè)點(diǎn),一個(gè)是算法部署很折騰人,需要把上游的模型轉(zhuǎn)化、量化壓縮到比較小,如果從網(wǎng)上找一個(gè)開源模型,在我們的目標(biāo)平臺上是跑不通的,甚至不支持格式,你需要熟悉一套東西。

二是即使算法跑起來了,仍然跑得不夠快,這是很常見的問題。我們最好在算法設(shè)計(jì)階段考量我們的目標(biāo)是什么,不考慮這個(gè)目標(biāo)平臺的算法模型,在部署階段需要做很大的犧牲,通過裁減、量化,mAP可能降低20%也是很常見的事。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向

那么在產(chǎn)品開發(fā)過程中,物聯(lián)網(wǎng)操作系統(tǒng)供應(yīng)商該如何做?我們做了很多嘗試,我們有一套軟件包機(jī)制放到平臺上,你用一個(gè)配置工具把軟件包里用得上的相關(guān)東西拉下來,就可以使用它。

不過這樣明顯是不夠的,并沒有解決剛才說的一系列問題,只是給了你一個(gè)軟件包可以用起來。雖然像TensorFlow Lite、ONNX、Runtime等都有了,但還是要從數(shù)據(jù)配編譯器等弄起來。

那是不是可以給物聯(lián)網(wǎng)使用者提供一個(gè)更簡單的方法,讓他不要去面對這種紛繁復(fù)雜的碎片化世界,而是看到一個(gè)和諧統(tǒng)一的世界?

例如,不管上游用什么訓(xùn)練工具,通過我們的解決方案就能部署到一個(gè)目標(biāo)平臺上;只要這個(gè)平臺跑我們的操作系統(tǒng),就可以自然地承上啟下把碎片化的東西屏蔽掉。

我們希望進(jìn)一步整理人工智能的相關(guān)工作,不僅要讓它跑起來,而且在這個(gè)目標(biāo)平臺上跑到一個(gè)最好的性能。

四、AIkit系統(tǒng)的優(yōu)勢,生態(tài)開放發(fā)展

基于這樣的想法,我們著手做了AIkit,希望在Aikit的加持下,開發(fā)產(chǎn)品可以用這樣一個(gè)流程。

我們拿一個(gè)模型,不管買的還是訓(xùn)練的,放到我們的RT-Thread工程里,把格式轉(zhuǎn)換工作做完,我們會提供一套非常薄的封裝在Runtime,把數(shù)據(jù)結(jié)果拿回來寫業(yè)務(wù)層的代碼就可以了。

我們可能有兩種情況,一種是硬件平臺已經(jīng)定了,需要選一個(gè)最好的模型,第一個(gè)模型跑了效果不理想,我需要嘗試第二種模型。我們只需要把第三步重新運(yùn)行一下,看結(jié)果就行,這是非常方便的。

另外一種,我們可能有一組硬件是侯選的,我要評估一下誰跑得最好,需要把這個(gè)流程放到不同的平臺上。這時(shí)我們在第二步會有多個(gè)工程,在第四步寫的業(yè)務(wù)代碼由于使用我們的標(biāo)準(zhǔn),可以在項(xiàng)目之間復(fù)用,不用每個(gè)項(xiàng)目再搞一遍。

整體架構(gòu)的示意,具體想法給大家解釋一下。這個(gè)世界碎片化很嚴(yán)重,并不希望在玻璃碴子里面再扔一塊玻璃,我們希望把現(xiàn)有的有機(jī)整合起來,主要采用兩個(gè)插件的結(jié)構(gòu),對不同的硬件平臺、不同的軟件引擎用插件的形式整合起來,放到大框架里面,很自然給我們的開發(fā)者提供非常好的生態(tài)。

目前這套插件已經(jīng)可以拿到了,大家如果有需要的話可以關(guān)注使用一下。

RT-Thread楊武:端側(cè)AI的算法與開發(fā)困境,詳解操作系統(tǒng)創(chuàng)新方向

最后講一下我們的生態(tài),應(yīng)該開放,我們一起建設(shè)它,不管你是算法模型廠商還是一個(gè)硬件廠商,不管芯片還是開發(fā)板、核心板,或者做AI加速卡,我們的目標(biāo)也是把它放到產(chǎn)品里去,讓產(chǎn)品的開發(fā)者把它用起來。

如果我們是做軟件數(shù)據(jù)服務(wù)周邊的廠商,最終目的讓產(chǎn)品開發(fā)者在產(chǎn)品落地場景里把我們的東西用起來,把價(jià)值在這個(gè)過程中兌現(xiàn)。

我們非常希望搭建一個(gè)框架,不管算法模型廠商是否有效推你的產(chǎn)品,我們的生態(tài)里將會有一個(gè)算法模型市場,如果是芯片廠商,可以按照我們的開源結(jié)構(gòu)做插件,自然就能讓整個(gè)RT-Thread生態(tài)發(fā)展起來。

目前我們的生態(tài)還是不錯(cuò)的,RT-Thread設(shè)備大概在10億臺左右,國內(nèi)的開發(fā)者有10萬人左右,還在積極拓展這個(gè)社區(qū)。

同樣,希望關(guān)注AI的開發(fā)者可以來我們平臺上看一看,給我們提出更多需求,哪些是我們現(xiàn)在還沒做到位的。

芯片廠商也可以到社區(qū)里面發(fā)布一些項(xiàng)目,讓社區(qū)的力量一起參與進(jìn)來,當(dāng)然也歡迎來找我們合作。整個(gè)世界會在我們的一起努力下變得越來越美好。

以上是楊武演講內(nèi)容的完整整理。