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

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

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

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向
▲睿賽德電子人工智能總監楊武

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

在這種背景下,突破算力瓶頸需要專用處理器,AI芯片市場一片火熱。但同時,這也導致智能物聯產業進一步呈現碎片化態勢。對于算法開發者來說,在端側進行AI開發面臨的首要問題,就是上手太難,尤其在算法部署方面力不從心。

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

以下為楊武演講實錄整理:

一、物聯網碎片化帶來難題,操作系統的三大發展趨勢

物聯網很熱。我們放到一個更大的時間軸來看,在PC時代,人需要給電腦精確的指令,我們把這些設備連網,再加上移動設備,可以用一種新的UI觸摸的方式來讓它關注我們需要的活動,把我們的數據和信息放進去。

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

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

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

物聯網這個概念早在1996年就被提出來了,真正大發展在15年以后,近幾年它已經非常火了。

這導致的結果是,互聯網數據本身就已經是海量數據了,如果到物聯網,這個數據量進一步爆炸。如果我們想駕馭好海量數據,很明顯要靠人工智能,靠人去處理的話會很吃力。

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

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

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

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向

世界發展的趨勢不可阻擋,物聯網有一個無比廣闊的應用場景,各種地方都需要。

分散而廣泛的場景很自然會導致它們需求的設備不同,需要的處理能力不一樣,需要占用的智能化資源不一樣。同樣,這對聯網的需求也是不一樣的,需要傳輸的數據量不同,對于可靠性的要求、連接響應的時間都會不一樣。

有可能只是偶然傳一些數據,關注低功耗,不要占用太多的能量,也可能需要響應非常迅速,比如自動駕駛應用。

這樣很自然給開發者出了一個小難題,我做一個設備時用的是這家芯片、這家網絡、這種技術棧,當我接新設備的時候,可能還要換一個芯片平臺,換一個技術棧,十分碎片化。

解決碎片化問題最好的辦法是智能操作系統。裸機的前后臺模式已經應對不了業務的復雜程度,操作系統能承上啟下對于開發者來說,意味著有標準的API,有標準可重復的軟件包生態,各種組件可以拿過來用。

最近各個巨頭都在殺進這個市場,我們在這個領域也已經耕耘多年,得到更大的發展機會。

據我們觀察,針對這個市場,物聯網操作系統有幾點發展趨勢,一是平臺要有一致性,業務開發時有接口一致的平臺方便積累和復用。

二是開源中立,過去紛紛擾擾之下大家對這塊非常敏感,對于一個廠商關起大門搞的東西,大家都是比較謹慎的態度。

三是生態服務要完整,不是拿來玩的,我是拿來做業務的,最好能讓我非常省心且關注我應該要做的這塊業務,這樣整個工作才能很好地開展。

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

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向

二、神經網絡的端到端優勢,對芯片算力提出挑戰

大趨勢不講那么多,接下來聚焦今天的主題。人工智能在物聯網領域既然這么重要,我們在端側做人工智能時都會碰到什么樣的問題?

人工智能雖然紅火了這些年,但它真正業務落地的大舞臺就是在物聯網端側AI嵌入領域。這里面有非常龐大的應用場景,分散很厲害。

另外,物聯網的設備數量巨大,且還在迅速增長,但服務器能有多少臺?通過部署人工智能到設備中,產生的業務量非常驚人。

行業有過一個預測,我們僅僅做設備的預測性維護,使得我們能夠提升設備資產利用率,由此在未來五年產生的經濟價值大概在2.7萬億美元左右,市場非常龐大。

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

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

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向

我們講人工智能是一個很寬泛的詞,今天行業主流講的就是用基于神經網絡的深度學習模型,來解決對數據模式下產生的交互感知、信息加工,甚至是基于數據做一些決策判斷工作。

神經網絡具有端到端的優勢,同時也有非常低的門檻,不像過去沒有一個非常堅強的數據工具鏈,基于模式識別很難識別它。

神經網絡有個特點是,有多少人工就有多少智能,有多少標注好的數據,你訓練好的模型就有多厲害。

當然算法的設計能力是很重要的一環,在算法模型上做整個行業從沒有的大差距其實不太容易。但是你有一份非常強悍的數據集,你有可能在某一個細分領域做得非常突出。

更重要的是,神經網絡是基于大量的累加運算,大規模的并行運算,對于處理器算力的需求非常高,通用處理器搞不定這個事情。現在摩爾定律的發展已經很平緩了,模型本身對算力的需求還在直線上升,3到4個月模型就能翻一倍。

盡管有更多輕量化的技術壓縮它,但每當我們的技術騰出一點點空間時,我們就想用它來解決更大的問題,或者把現有問題解決得更好。

紅火的AI芯片市場,互聯網巨頭們從云端、手機端開始殺進來,芯片廠商不可能錯過這一波,還有更多的創業公司涌進來,用自己的理解去創造不同領域的加速產品。其中絕大部分人都是基于傳統的計算加速思路,還有一些走的是技術創新思路。

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向三、算法端與開發端存在壁壘,通過物聯網操作系統統一

很高興今天剛剛看到知存科技做的存內計算方向,可以落地實物化。還有用光計算,還有神經擬態網絡完全模擬人腦的神經網絡結構做人工智能,都非常有吸引力,但成熟度上跟基于計算加速的芯片方案比還有一定距離。

因為光有芯片我們用不起來,尤其每一家把芯片搞出來之后,一定要給你一套工具鏈,換一個平臺就得現學一種,這個問題也蠻頭疼的。

端側開發工程師的知識領域,對于處理器、內存、存儲等等擅長,但對神經網絡、量化、調優就沒什么概念,需要現學。而算法工程師對這些東西往往沒有足夠的概念,卻對調優、量化非常熟悉。因此,我們要找一個第三方的人把雙方搞定。

目前在產業中實際做產品的那些人,包括接觸開發者學習時,首要的問題是上手更難,好多陌生的東西要搞。這里面有一個端側+AI部署的統計,基本都是還沒上手。

有什么解決路徑?做人工智能產品基本都是這么一個思路,看準問題—算法—部署上去,跟業務集成一下,運行監控分析。

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

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

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向

那么在產品開發過程中,物聯網操作系統供應商該如何做?我們做了很多嘗試,我們有一套軟件包機制放到平臺上,你用一個配置工具把軟件包里用得上的相關東西拉下來,就可以使用它。

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

那是不是可以給物聯網使用者提供一個更簡單的方法,讓他不要去面對這種紛繁復雜的碎片化世界,而是看到一個和諧統一的世界?

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

我們希望進一步整理人工智能的相關工作,不僅要讓它跑起來,而且在這個目標平臺上跑到一個最好的性能。

四、AIkit系統的優勢,生態開放發展

基于這樣的想法,我們著手做了AIkit,希望在Aikit的加持下,開發產品可以用這樣一個流程。

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

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

另外一種,我們可能有一組硬件是侯選的,我要評估一下誰跑得最好,需要把這個流程放到不同的平臺上。這時我們在第二步會有多個工程,在第四步寫的業務代碼由于使用我們的標準,可以在項目之間復用,不用每個項目再搞一遍。

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

目前這套插件已經可以拿到了,大家如果有需要的話可以關注使用一下。

RT-Thread楊武:端側AI的算法與開發困境,詳解操作系統創新方向

最后講一下我們的生態,應該開放,我們一起建設它,不管你是算法模型廠商還是一個硬件廠商,不管芯片還是開發板、核心板,或者做AI加速卡,我們的目標也是把它放到產品里去,讓產品的開發者把它用起來。

如果我們是做軟件數據服務周邊的廠商,最終目的讓產品開發者在產品落地場景里把我們的東西用起來,把價值在這個過程中兌現。

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

目前我們的生態還是不錯的,RT-Thread設備大概在10億臺左右,國內的開發者有10萬人左右,還在積極拓展這個社區。

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

芯片廠商也可以到社區里面發布一些項目,讓社區的力量一起參與進來,當然也歡迎來找我們合作。整個世界會在我們的一起努力下變得越來越美好。

以上是楊武演講內容的完整整理。