前言:
AI在汽車行業(yè)的應(yīng)用日益深化,如何將機(jī)器學(xué)習(xí)領(lǐng)域的先進(jìn)模型(如虛擬傳感器)集成到ECU軟件中,已成為業(yè)界面臨的核心挑戰(zhàn)。
本文基于ETAS最新的Embedded AI工具,將介紹一種創(chuàng)新路徑,旨在賦能工程師高效的開發(fā)、優(yōu)化并將ML模型成功部署在當(dāng)前嵌入式控制器ECU。文章也將探討這一變革性方法如何重塑開發(fā)工程師的角色,并加速AI技術(shù)在汽車領(lǐng)域的普及進(jìn)程。
一、實(shí)際案例
舉一項(xiàng)具體功能為例進(jìn)行闡述:基于數(shù)據(jù)驅(qū)動(dòng)的ML模型預(yù)測(cè)傳統(tǒng)燃油發(fā)動(dòng)機(jī)的進(jìn)氣質(zhì)量 (Air Mass) ,并最終運(yùn)行于ECU控制器。借此案例,我們會(huì)更完整展示ETAS嵌入式AI工具鏈的通用工作流程。
通常,能夠復(fù)現(xiàn)真實(shí)物理傳感器功能特性的軟件模型,被稱為虛擬傳感器。在示例中,建模數(shù)據(jù)來(lái)源于發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)架,其細(xì)節(jié)在此不作贅述。我們的關(guān)注點(diǎn)將集中于從測(cè)量數(shù)據(jù)出發(fā),經(jīng)由自動(dòng)化ML模型構(gòu)建,最終生成面向發(fā)動(dòng)機(jī)控制器的高度優(yōu)化C代碼這一完整工作流。

圖1:進(jìn)氣質(zhì)量估算模型
二、ML模型開發(fā)
對(duì)許多在日常工作中不常接觸此類任務(wù)的工程師而言,運(yùn)用現(xiàn)代機(jī)器學(xué)習(xí)算法創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)模型是一項(xiàng)不小的挑戰(zhàn)。因此,一款工具能夠妥善處理測(cè)量數(shù)據(jù)適配、算法選擇,并將復(fù)雜繁多的模型參數(shù)等抽象簡(jiǎn)化,就顯得尤為重要。理想工具應(yīng)聚焦于工程師能夠輕松面對(duì)核心問題。

圖2:ML模型類型
工程師需要明晰哪些系統(tǒng)參數(shù)可能對(duì)目標(biāo)建模變量產(chǎn)生重要影響,哪些數(shù)據(jù)適用于解決當(dāng)前問題。尤其在處理瞬態(tài)測(cè)量數(shù)據(jù)與模型時(shí),龐大的數(shù)據(jù)量及其采樣率更是關(guān)鍵考量因素。
ETAS的ASCMO工具為上述各個(gè)環(huán)節(jié)均提供了有力支持,助力工程師輕松構(gòu)建初始模型。
標(biāo)準(zhǔn)工作流程如下:
選擇測(cè)量文件:確定初始測(cè)量文件,并指定影響系統(tǒng)行為的相關(guān)參數(shù),以及待建模的目標(biāo)輸出。
調(diào)整采樣時(shí)間:優(yōu)化采樣率,在充分捕捉所有相關(guān)效應(yīng)的同時(shí),避免數(shù)據(jù)量過(guò)大影響建模速度。
模型構(gòu)建與訓(xùn)練:通過(guò)特有的Automated Machine Learning功能自動(dòng)化機(jī)器學(xué)習(xí),探索所選系統(tǒng)輸入與輸出之間的依賴關(guān)系。
2.1 選擇測(cè)量文件
選定目標(biāo)測(cè)量文件后,ASCMO將顯示其中包含的所有信號(hào)列表。工程師從中選取所需信號(hào),并將其定義為“輸入”或“輸出”。此外,也可在此階段指定合適的采樣時(shí)間。

圖3:已加載測(cè)量文件的信號(hào)選擇界面(附采樣時(shí)間等選項(xiàng))
預(yù)覽功能可直觀顯示所選信號(hào)的數(shù)據(jù)是否處于預(yù)期范圍并呈現(xiàn)合理變化趨勢(shì)。信號(hào)選擇支持過(guò)濾與保存,極大簡(jiǎn)化了測(cè)量文件的管理,為之后其他項(xiàng)目的復(fù)用性提供了便利。
2.2 調(diào)整采樣時(shí)間
為應(yīng)對(duì)各種潛在情況,測(cè)量數(shù)據(jù)常以高分辨率采集,這也導(dǎo)致了數(shù)據(jù)量龐大,可能在后續(xù)建模中成為障礙,增加計(jì)算時(shí)間與PC內(nèi)存消耗。同時(shí),過(guò)高的分辨率還可能引入與真實(shí)物理關(guān)系無(wú)關(guān)的噪聲。因此,審慎考量適當(dāng)?shù)牟蓸訒r(shí)間及必要的濾波手段,對(duì)確保模型精度至關(guān)重要。
為此,ASCMO提供了調(diào)整采樣時(shí)間以及使用濾波器去除數(shù)據(jù)噪聲的選項(xiàng)。

圖4:可能存在噪聲或采樣率過(guò)高的測(cè)量值
2.3 模型構(gòu)建與訓(xùn)練
在ASCMO中構(gòu)建模型主要有兩種策略
其一為手動(dòng)流程,雖能提供最大靈活性,但要求工程師深入了解各種AI機(jī)器學(xué)習(xí)算法、其應(yīng)用場(chǎng)景及相關(guān)參數(shù);
另一種則是自動(dòng)化機(jī)器學(xué)習(xí)策略,旨在將尋找最佳模型類型并自動(dòng)化配置繁瑣任務(wù)。由于搜索空間可能異常龐大,通常需要在嘗試多種模型以挑選最優(yōu)解所耗費(fèi)的時(shí)間,與缺乏先驗(yàn)知識(shí)之間進(jìn)行權(quán)衡。
對(duì)于數(shù)據(jù)驅(qū)動(dòng)建模及機(jī)器學(xué)習(xí)算法經(jīng)驗(yàn)尚淺的工程師而言,尋找合適的模型及最優(yōu)配置仍非易事。ASCMO內(nèi)置了一套核心思路,其設(shè)計(jì)原則是:在提供充分的模型探索的同時(shí),避免因選項(xiàng)過(guò)多而使工程師無(wú)所適從。
為獲得更精確的模型,經(jīng)驗(yàn)豐富的工程師也可以手動(dòng)測(cè)試不同模型類型,并利用大量可調(diào)參數(shù)評(píng)估其質(zhì)量。而對(duì)于不熟悉此類模型或希望提升效率的工程師,ASCMO的“AutoML”功能運(yùn)用優(yōu)化啟發(fā)式算法,為特定建模問題自動(dòng)尋找最優(yōu)模型類型及其配置,此過(guò)程的耗時(shí)取決于問題的復(fù)雜度、測(cè)量數(shù)據(jù)量以及系統(tǒng)輸入的數(shù)量。
自動(dòng)化機(jī)器學(xué)習(xí)模型探索的結(jié)果,以模型誤差與模型復(fù)雜度構(gòu)成的帕累托前沿圖(Pareto Front)呈現(xiàn)。右側(cè)顯示當(dāng)前選定模型的詳細(xì)信息。圖5所示當(dāng)前選定模型為一個(gè)采用“GRU”類型、包含3層的循環(huán)神經(jīng)網(wǎng)絡(luò),其RMSE值約為22。

圖5:不同模型的帕累托前沿圖(模型誤差 vs. 模型復(fù)雜度)。誤差越低,模型通常越復(fù)雜。
為驗(yàn)證模型質(zhì)量,必須使用獨(dú)立的測(cè)試或驗(yàn)證數(shù)據(jù)集,對(duì)模型推理結(jié)果與實(shí)際測(cè)量值進(jìn)行對(duì)比。ASCMO支持導(dǎo)入任意附加數(shù)據(jù)集以測(cè)試模型,并包含協(xié)助選取合適測(cè)試數(shù)據(jù)的功能。只有當(dāng)模型能夠良好泛化,可靠的預(yù)測(cè)未知行為時(shí),才真正具備應(yīng)用價(jià)值。

圖6: 模型預(yù)測(cè)(藍(lán)色)與測(cè)量真值(黑色)的對(duì)比,——GRU模型,輸出Air-Mass隨時(shí)間變化
在帕累托前沿中,追求更低的模型誤差往往意味著要接受更高的模型復(fù)雜度(參數(shù)量)。當(dāng)計(jì)劃將此模型部署到嵌入式設(shè)備(如發(fā)動(dòng)機(jī)控制器ECU)時(shí),這是一個(gè)必須權(quán)衡的折衷方案。對(duì)于此類應(yīng)用,ETAS安全高效的專用代碼生成工具Embedded AI Coder巧妙的加入到當(dāng)前工作流程中。
一旦工程師選定合適模型,ASCMO便可將其導(dǎo)出為多種格式(例如也可用于仿真環(huán)境),這里提供一種專用格式,供Embedded AI Coder直接讀取和使用。同時(shí),為最大化操作便利性,這一操作也可直接從ASCMO菜單界面啟動(dòng),自動(dòng)生成高度優(yōu)化的嵌入式C代碼。

圖7: ASCMO的GUI菜單頁(yè)面中直接調(diào)用Embedded AI Coder
三、性能表現(xiàn)
微控制器MCU資源有限,且面臨嚴(yán)格的實(shí)時(shí)性約束。與其他商用C編譯器類似,Embedded AI Coder運(yùn)用多種技術(shù)優(yōu)化運(yùn)行時(shí)性能和內(nèi)存占用。
針對(duì)特定函數(shù)使用專用API。例如,一個(gè)優(yōu)化后的Saturation函數(shù)可比通用實(shí)現(xiàn)方式節(jié)省6個(gè)CPU周期。
許多矩陣點(diǎn)積運(yùn)算需要用到前序操作的部分?jǐn)?shù)據(jù)切片。工具會(huì)復(fù)用已加載至內(nèi)存中的數(shù)據(jù),而非完全重新加載,從而顯著節(jié)約硬件資源。
智能內(nèi)存劃分通過(guò)分析所有神經(jīng)網(wǎng)絡(luò)層,嘗試分配盡可能少的RAM,其策略是復(fù)用可用內(nèi)存區(qū)域而非總是申請(qǐng)新內(nèi)存。
此外,借助硬件資源預(yù)估功能,工程師可早期評(píng)估所選模型是否適合目標(biāo)MCU。
如圖8所示,從ASCMO的帕累托前沿導(dǎo)出了兩個(gè)備選模型。

圖8:用于嵌入式部署的兩種模型變體
圖9與圖10證實(shí)了預(yù)期:相對(duì)簡(jiǎn)單的模型比精度高的模型占用資源要少得多。

圖9:模型(2),RMSE較高,復(fù)雜度較低

圖10:模型(1),RMSE較低,復(fù)雜度較高
對(duì)硬件運(yùn)行資源使用情況的細(xì)致分析,有助于在模型構(gòu)建階段即進(jìn)行優(yōu)化。通過(guò)提供這些全面的能力,ETAS嵌入式AI工具鏈有效支持工程師進(jìn)行權(quán)衡決策,為特定項(xiàng)目需求選取最佳模型。
從ASCMO v5.16開始,AI Coder的硬件資源預(yù)估正式內(nèi)置在ASCMO的AutoML功能中,有助于在探索最優(yōu)模型和參數(shù)時(shí),預(yù)先考量目標(biāo)硬件的特定內(nèi)存與性能約束(RAM、ROM、Runtime)。這種預(yù)篩選機(jī)制確保ASCMO只推薦在給定約束條件下能提供最佳質(zhì)量的模型類型。

圖11:硬件資源限值在AutoML界面中作為可選項(xiàng)

圖12:此時(shí)Pareto Front顯示所有基于硬件資源考量后的可選模型
最終,工程師再根據(jù)實(shí)際需要和傾向性做出恰當(dāng)選擇。通常,明智的做法是在滿足精度要求的前提下,選擇盡可能簡(jiǎn)潔的模型。
四、部署到目標(biāo)硬件
如同ASCMO通過(guò)友好的用戶工作流抽象了機(jī)器學(xué)習(xí)的復(fù)雜性,Embedded AI Coder同樣致力于簡(jiǎn)化將機(jī)器學(xué)習(xí)模型轉(zhuǎn)化為資源高效、安全可靠的代碼的過(guò)程,以下章節(jié)將詳述此方面特性。
4.1 代碼集成
首先,生成的代碼需易于集成至任何現(xiàn)有的ECU軟件開發(fā)工具鏈中。如圖所示,所有集成指導(dǎo)均在README文檔中詳細(xì)說(shuō)明。

圖13:生成的代碼文件夾概覽。
/code/CMakeLists.txt 和 /code/CMakePresets.json 等附加文件,使得用戶能夠輕松地為任何設(shè)備及工具鏈集成并編譯代碼。若工程師部署了基于CI/CD流水線的服務(wù)器自動(dòng)化流程,亦可通過(guò)命令行調(diào)用該工具。

圖14:帶有詳細(xì)注釋的示例集成文件。
此外,針對(duì)使用MATLAB/Simulink等基于模型進(jìn)行軟件開發(fā)的用戶,AI Coder在生成代碼的同時(shí),可直接封裝成Simulink模塊庫(kù),直接拖入至模型開發(fā)和仿真環(huán)境。

圖15:多種代碼集成方式
4.2 安全與合規(guī)
生成代碼已滿足ISO26262等汽車功能安全標(biāo)準(zhǔn)的所有要求,在保證與原始ML模型行為一致的同時(shí),確保了內(nèi)存安全并符合MISRA規(guī)范。
Embedded AI Coder會(huì)對(duì)生成的代碼執(zhí)行自動(dòng)化測(cè)試與驗(yàn)證,這極大降低了軟件最終發(fā)布所需的工作量。

圖16:逐層驗(yàn)證流程
功能安全是汽車系統(tǒng)的重中之重,必須確保生成的C代碼能夠毫無(wú)例外的正確執(zhí)行ML模型。為此,Embedded AI Coder采用了自動(dòng)驗(yàn)證例程,對(duì)神經(jīng)網(wǎng)絡(luò)的各個(gè)獨(dú)立層以及ML模型的整體輸出進(jìn)行雙重核查。在代碼生成過(guò)程中,ML模型的每一步運(yùn)算首先會(huì)經(jīng)過(guò)獨(dú)立的驗(yàn)證例程。編碼器通過(guò)數(shù)值驗(yàn)證,確保生成的C代碼在每個(gè)獨(dú)立操作上產(chǎn)生的中間結(jié)果,均與原始模型對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層的結(jié)果一致。與此同時(shí),驗(yàn)證過(guò)程確保只訪問合法的內(nèi)存區(qū)域。
通過(guò)全局驗(yàn)證,對(duì)生成的ML模型輸出進(jìn)行數(shù)值等價(jià)性及內(nèi)存訪問合法性的最終檢查。數(shù)值等價(jià)性意味著,使用驗(yàn)證數(shù)據(jù)時(shí),由ETAS ASCMO模型計(jì)算出的結(jié)果與生成代碼計(jì)算出的結(jié)果完全相同,生成代碼在代碼生成過(guò)程中未引入任何副作用,其行為與原始模型精確一致。工程師將獲得一份驗(yàn)證報(bào)告,證明該ML模型的執(zhí)行符合功能安全要求,滿足量產(chǎn)項(xiàng)目所需的等級(jí)標(biāo)準(zhǔn)。

圖17:自動(dòng)化驗(yàn)證結(jié)果
五、嵌入式AI工具鏈總結(jié)與展望
以上展示了如何以簡(jiǎn)潔快速的方式生成高精度模型,并進(jìn)一步將其轉(zhuǎn)化為面向嵌入式系統(tǒng)(如控制器ECU)安全高效的C代碼。

圖18:ETAS 嵌入式AI工具鏈
ETAS嵌入式AI方案成功彌補(bǔ)了傳統(tǒng)汽車領(lǐng)域軟件開發(fā)及標(biāo)定工程師與機(jī)器學(xué)習(xí)新領(lǐng)域之間的鴻溝,可推進(jìn)AI在汽車電子中的創(chuàng)新應(yīng)用。
嵌入式ECU中AI模型的三大應(yīng)用場(chǎng)景
1. 虛擬傳感器 : 利用現(xiàn)有信號(hào)預(yù)測(cè)目標(biāo)物理量
用訓(xùn)練好的ASCMO模型替代物理傳感器,節(jié)省硬件成本
在物理傳感器失效時(shí),作為備份軟件傳感器,保障系統(tǒng)安全
對(duì)物理傳感器無(wú)法安裝或測(cè)量的信號(hào)進(jìn)行估算
應(yīng)用示例:NTC傳感器信號(hào)模擬、電機(jī)轉(zhuǎn)子位置估算等
2. 大幅縮短軟件標(biāo)定工作量
直接用訓(xùn)練好的ASCMO模型替代復(fù)雜的基于物理原理的ECU模型
獲得更優(yōu)的估計(jì)質(zhì)量,同時(shí)顯著減少標(biāo)定工作。避免了在極其復(fù)雜的模型中維護(hù)DCM文件、更新大量查找表及邏輯所帶來(lái)的人工和耗時(shí)
應(yīng)用示例:扭矩模型、進(jìn)氣量模型、氮氧化物(NOx)排放模型等
3. 預(yù)測(cè)性維護(hù)
利用系統(tǒng)在健康狀態(tài)下的穩(wěn)健信號(hào)數(shù)據(jù),訓(xùn)練ASCMO異常檢測(cè)自編碼器模型
檢測(cè)系統(tǒng)異常行為,從而預(yù)防損壞,并能夠提前通知用戶或運(yùn)維人員
應(yīng)用示例:運(yùn)動(dòng)部件的健康狀態(tài)監(jiān)測(cè)
-
控制器
+關(guān)注
關(guān)注
114文章
17791瀏覽量
193261 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20449瀏覽量
334114 -
AI
+關(guān)注
關(guān)注
91文章
39793瀏覽量
301454 -
ecu
+關(guān)注
關(guān)注
14文章
983瀏覽量
57277
原文標(biāo)題:ETAS 嵌入式AI 工具鏈
文章出處:【微信號(hào):ETASChina,微信公眾號(hào):ETAS易特馳】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ETAS全新的嵌入式AI解決方案
使用CUBEAI部署tflite模型到STM32F0中,模型創(chuàng)建失敗怎么解決?
如何在移動(dòng)和嵌入式設(shè)備上部署機(jī)器學(xué)習(xí)模型
嵌入式AI的相關(guān)資料下載
介紹在STM32cubeIDE上部署AI模型的系列教程
Pytorch模型如何通過(guò)paddlelite部署到嵌入式設(shè)備?
部署基于嵌入的機(jī)器學(xué)習(xí)模型
嵌入式邊緣AI應(yīng)用開發(fā)指南
如何通過(guò)cube-ai擴(kuò)展將機(jī)器學(xué)習(xí)模型部署到STM32H743ZIT6?
如何使用TensorFlow將神經(jīng)網(wǎng)絡(luò)模型部署到移動(dòng)或嵌入式設(shè)備上
【嵌入式AI入門日記】將 AI 模型移植到 RT-Thread 上(1)
深度學(xué)習(xí)算法在嵌入式平臺(tái)上的部署
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境
【深圳】嵌入式AI實(shí)戰(zhàn):半天上手,人形檢測(cè)模型部署+優(yōu)化全流程
基于ETAS嵌入式AI工具鏈將機(jī)器學(xué)習(xí)模型部署到量產(chǎn)ECU
評(píng)論