36Kr四川 / 王涵
Always Follow the M.
天下苦AI開發和部署久矣。
由於x86和ARM架構的不相容性,AIoT開發和部署企業往往只能選擇單一生態進行應用,否則就需要採用兩套系統,難以進行快速的開發和部署。
打造跨生態的、能相容Android、鴻蒙和Linux的、一站式AIoT應用快速開發和部署平臺的呼聲不絕。
2020年,一個從教學出發的AI開發專案“AidLearning”在不增加硬體成本投入的情況下,還能解決產品受制於Android單一生態、缺乏強大AI支援能力的問題,並擴充套件Linux系統服務功能,引起了北京裕興軟體有限公司(下稱“北京裕興”)注意。他們深入瞭解後發現,除了這些功能,這款產品還能在泛AI的場景中進行多樣開發。伴隨著北京裕興對該專案商業化的強烈需求,成都阿加犀智慧科技有限公司(下稱“阿加犀”)誕生了。
2021年12月17日,由AidLearning進階而來的智慧物聯網(AloT)應用開發和部署平臺AidLux1.0版本,在官網及國內各大應用商城上線,首個基於ARM架構的跨生態(Android/鴻蒙+Linux)一站式AIoT應用快速開發和部署平臺正式亮相。該平臺除了保持對個人使用者免費使用的特性,在支援商業化的大型專案使用、開發和部署上也更加完善。
AIoT開發和部署產品賽道出現了一匹黑馬。
ARM架構下的跨生態平臺
AI開發最初的桎梏,來自於底層框架“二選一”的軟體生態環境。
目前的開發裝置以PC端的X86架構為主,搭載的Linux系統生態成熟、相容軟體多,但X86平臺硬體往往功耗高、便攜性差、價格昂貴;移動端的ARM架構處理器功耗低、效能高、便攜性強、價格便宜,但搭載的Android系統開發功能受限,AIoT應用開發門檻高、生態碎片化,且支援度相對落後,應用部署困難。
ARM曾釋出兩款針對移動終端的AI晶片架構,但由於生態不完整、軟體系統不完善,以及對Linux系統不相容,企業只能“望ARM興嘆”。
阿加犀基於ARM架構,推出能同時支援Linux和Android的跨生態平臺AidLux:打破以往借用虛擬機器實現跨系統的模式,透過共享 Linux 核心實現Android 和 Linux 系統融合,形成可獨立使用又能相互通訊的跨 Android和Linux系統平臺,實現了1+1﹥2的效果,兼具了ARM架構的便捷、高性價比和低成本。
同時,AidLux帶來了Android+Linux生態優勢疊加,兼具Android系統應用豐富、互動性強和Linux系統安全性、穩定性好的優勢,實現了跨生態無縫互動。無需開發者手動對系統進行切換,就能帶來Android和完整的原生Linux使用體驗。
基於ARM架構的跨生態平臺
此外,AidLux在終端部署方面也具有優勢。Android與鴻蒙系統支援的ARM 64位智慧終端,都能透過APK包安裝方式,快速部署AidLux到ARM架構的手機、平板、電腦和板卡等智慧終端,避免了複雜的安裝步驟,也不需要根據不同的品牌或機型選擇複雜的安裝包。
AidLux支援多種智慧終端
安裝後的使用操作方面,AidLux平臺不僅保留了ARM的低功耗,同時由於自己內部的系統完備,能支援多終端協同訪問,保證不同框架的指令能自動適配其他終端應用,只需要在PC端透過瀏覽器即可實現手機、平板和ARM智慧終端的遠端使用與管理。
AidLux支援多終端協同訪問
多元共生的獨特ARM架構,解決了AI開發的第一道門檻。
阿加犀首席科學家顧實教授的學生還曾反饋“AI開發準備工作太過繁瑣冗長”,這引起了他的思考:“要是有平臺能自動配置好程式設計工具、AI框架及科學計算依賴庫等各種必要軟體就好了。”
第二道門檻出現了。
速效雙增的整合式應用
Valorem Reply的全球創新、研究與孵化總監、前微軟MVP&RD René Schulte(雷內舒爾特)曾表示,AI開發的程式碼前置與呼叫解決方案將成為頂級技術趨勢之一。
顧實對此表示:“持續降低AI應用開發技術門檻是阿加犀的首要任務。”因此,AidLux在實驗過程中,就定下了目標:從框架、語言庫、應用系統包、外接裝置、硬體組織等方面進行系統提升。
首先解決的是語言的選用問題:無論是隻擅長一種語言的程式設計師,還是多語言協作開發的團隊,都能在AidLux上進行操作。
常規Al應用開發需要C++、Java、Python、Linux等不同工程師相互配合,而在AidLux平臺,開發者僅需使用Python一種程式語言即可進行開發,並支援將其他平臺(PC、伺服器)上使用Python開發的AI應用直接遷移至AidLux除錯執行。同時,AidLux也支援多種開發語言及對應程式設計框架,如C/C++、Python、Java、JavaScript、Ruby、PHP、Go、Shell等。
AidLux便捷的使用過程
應用軟體部分,AidLux支援上百萬個Android軟體和數萬個Linux軟體,既可以使用應用中心安裝,也可以使用命令列安裝。這些軟體既包括使用者熟知的微信、QQ、計算器、相簿、相機和音樂等,也包括Linux常用的git、mysql、hadoop、nginx、Apache、Vim、ssh、wizard、vscode、jupyter、chromium、ROS等。
顧實教授表示:“像使用應用商城一樣呼叫語言和軟體,是我們接受最多的需求,也是我們測試下來最符合當代開發者習慣的呼叫方式。這種體量的軟體庫,能滿足99%的開發需求,不再到處尋找未知風險的應用。”
AidLux支援上百萬個Android軟體和數萬個Linux軟體
除了語言和應用,AI開發還極其依賴開發環境和框架,AidLux集成了全球10大主流AI框架(TensorFlow、PyTorch、Caffe、MXNet、MNN、NCNN、MindSpore、PaddlePaddle、TNN、OpenCV),並做了全面的環境部署和適配,開發者無需配置,開箱即用。
AidLux整合的全球10大主流AI框架
解決了複雜的開發工具和環境,另一道難題也隨之出現:模型封裝。
不同模型格式檔案和外設驅動檔案,都有各自對應封裝與解析的編碼和框架,往往造成“系統功能一小半,封裝工具千千萬”的情況。
對此,AidLux推出了aidlite介面,對各種深度學習框架統一封裝,對於pb、h5、pt、tflite、onnx、ncnn等模型格式檔案,開發者只需呼叫統一介面解析推理,AidLux提供智慧匹配,為使用者適配最合適的AI框架,解決開發者必須針對不同框架編寫不同版本推理程式碼的煩惱。
同時,內建外設極速互連模組,支援豐富的介面與外設,如USB、LAN、WiFi、4G/5G、藍芽、GPS、陀螺儀、RS232、RS485、Arduino、機械臂、高畫質攝像機、深度相機和網路相機等。對不同外接裝置的高容納,意味著滿足更多的裝置適配和需求場景,對不同行業的相容度更好。
AidLux的內建外設極速互連模組
在功能上,AidLux封裝的aidlite還實現了模型加密的功能,使用Fernet演算法對模型進行的加密,消除了開發者對於模型外洩、被第三方私自使用的擔憂。
aidlite的模型加密功能
當然,簡化的不只是開發和封裝,還有AI示例和圖形化“零”程式碼開發的過程。
AidLux內建了豐富的AI應用示例,開發者們可以根據自己的需求,借鑑參考使用,啟發無限靈感。以及內建全新打造的圖形化開發工具Wizard,支援拖拽式AI應用開發,自動生成程式碼,提供了設計、編碼、測試全流程支援,使使用者聚焦於業務邏輯的實現,節省開發時間。
AidLux的AI應用示例
AidLux的圖形化開發工具Wizard
然而,隨著採用AidLux進行AI開發應用越來越深入,對邊緣端算力的要求也越來越加碼,很多慕名而來的客戶卻面臨著無法承載過高能耗的痛點,“算力需求過高的開發系統猶如銷金窟”。
阿加犀又開始了新的技術攻關,這一次他們選擇從算力下手。
“每個FLOP,都是客戶的成本”
矽谷知名投資顧問公司A16Z曾表示:“看一個產品能否落地,除了看功能,還需要看它的算力成本是否過高。”這和顧實教授的看法不謀合而:“每個FLOP,都是客戶的成本,我們除了在軟體上要做到精而全,還希望軟硬結合來釋放更多算力,節約更多成本。”
普遍意義的AI開發,意味著極高的算力需求:演算法的先進性,演算法的複雜度(每多一個過程,所需算力增加),構成AI的區塊數量等因子,都決定了算力的高低。但阿加犀卻認為,可以透過智慧加速來解決這個問題。
對此,阿加犀著手進行自主AI智慧加速技術研發,可實現CPU+GPU+NPU智慧加速,執行量化後的AI工程檔案整體效能提升15%-30%,可以充分呼叫和發揮裝置的AI計算能力。
AidLux的CPU+GPU+NPU智慧加速
從技術層面和特性層面解讀,AidLux是一個劃時代的獨特產品,背後承載著阿加犀團隊對於簡化AI開發流程、降低AI開發門檻、改變AI開發世界版圖的想法。
從底層框架看,AidLux選擇了在CPU裡披襟斬棘的ARM架構,而非傳統AI開發工具常用的x86架構;從作業系統看,AidLux率先提出並構建了Android/鴻蒙+linux的融合架構,並已經實現了在多智慧終端的遠端使用與管理;從應用場景來看,AidLux已經應用在智慧工業、物聯網、通訊質檢、影片終端、智慧家居、教育等場景。
移遠通訊是全球領先的物聯網整體解決方案供應商,在模組產品智慧化生產過程中,AidLux平臺助力其打造全球更先進的模組質檢整體解決方案。較傳統的質檢方案,AidLux平臺提供的跨OS融合、 AI視覺、自監督演算法等先進技術,助力移遠智慧工廠實現突破,打造更高效、更經濟的自研質檢整體解決方案。同時,AidLux平臺也助力移遠高階智慧模組在工業智慧製造領域順利落地應用,實現了移遠高階智慧模組檢測自有工廠生產的物聯網模組。
劃時代“吃螃蟹的人”
阿加犀不是第一個提出做跨生態的ARM架構開發者平臺,卻是第一個做到的企業。
“2018年,我們幾個極客朋友在一起頭腦風暴,從第一性原理出發,順著邏輯推演未來AI產業的場景。物聯網業未來的趨勢必然是移動終端越來越多,對接裝置越來越豐富多樣,從熵的角度來看,如果是一個封閉的生態系統,支援他們的系統複雜性就會越來越高,穩定性會越來越差。因此我們必須做一個開放的生態,就像地球支撐生命一樣,有海洋,有陸地,還有空氣,讓這些元素能夠便捷為生命所用。對應到AI的開放生態,就是“敏捷”適應各種開發需求,最好能夠自動轉碼,讓開發者們更便捷地釋放他們的創造性。”顧實教授一邊展示如何用AidLux快速生成掃地機器人的程式,一邊感嘆:“但我們當時怎麼也找不到能解決這個問題的產品,就想著乾脆就自己做一個。”
顧實教授和他的幾個極客朋友成立了研發小分隊,分別從架構、框架、語言方面下手,搭建早期的AidLearning平臺。
“發了幾個月就有300萬次使用量,迭代反饋都爆了。好多人發郵件說,有了MindSpore也要上PaddlePaddle框架才行、能用hadoop那也要能用jupyter才公平。這裡要感謝一直支援我們的使用者小夥伴們,正是因為他們的熱情和層迭不斷的需求,催著我們以一種打雞血的狀態不斷更新版本,應用相容性上也做得非常全面。後來北京裕興找到我們說要商務合作的時候,我們出去(在行業裡)一看,原來在AIOT落地敏捷開發痛點這個產業需求方向上,我們已經跑得比誰都快了。”
對阿加犀而言,除了當“第一個吃螃蟹的人”,未來AidLux還要做泛AI的更多場景開發功能。“不只是智慧家居和工業檢測,AI教育、智慧城市、智慧物流、智慧交通、智慧零售和機器人都會是我們生態的發展方向。”
AI教育、無人機、機器人相關行業的意向客戶紛至沓來,投資機構也爭相面談下一步機會。
畢竟對業界來說,AidLux的普及,意味著基礎的框架和語言可能逐漸被“零”程式碼代替。
時代變化,AIoT開發和部署產品賽道衝出一匹黑馬!
編輯 / 雷 茂
新經濟在於不設限