自動(dòng)駕駛數(shù)據(jù)閉環(huán)的原理和框架早已不是秘密,但是數(shù)據(jù)閉環(huán)在量產(chǎn)車上的落地仍然是一個(gè)難題。如何打造一套好的數(shù)據(jù)閉環(huán)系統(tǒng),盡可能高效、低成本地用數(shù)據(jù)驅(qū)動(dòng)的方式促進(jìn)自動(dòng)駕駛系統(tǒng)能力的提升成了大家關(guān)心的問題。
1. 如何提高數(shù)據(jù)閉環(huán)的效率
那么,如何提高數(shù)據(jù)閉環(huán)的效率?筆者在與各位行業(yè)專家交流后,按照數(shù)據(jù)閉環(huán)的流程,總結(jié)了以下幾點(diǎn)。
1.1 優(yōu)化車端數(shù)據(jù)采集的邏輯
工程師可以根據(jù)模型失效分析以及模型決策邊界分析,提前設(shè)定要采集的場景并制定采集邏輯,然后,在車端設(shè)置trigger層——數(shù)據(jù)回傳觸發(fā)器,再根據(jù)場景算法檢測,自動(dòng)化獲取所需要的場景數(shù)據(jù)集。
在設(shè)計(jì)車端trigger層的時(shí)候,要盡量提高準(zhǔn)確率和召回率——既要防止無價(jià)值的數(shù)據(jù)被回傳,又要防止有價(jià)值的數(shù)據(jù)被漏掉。
為了提高準(zhǔn)確率和召回率,工程師在新開發(fā)篩選邏輯時(shí),需要先用之前采集的數(shù)據(jù)做一些驗(yàn)證。例如,工程師可以查看按照新開發(fā)的篩選邏輯,哪些數(shù)據(jù)會(huì)被篩選出來、哪些不會(huì),另外也可以看篩選出來的數(shù)據(jù)是否符合預(yù)期,以及沒有被篩選出來的數(shù)據(jù)中有沒有系統(tǒng)需要的部分。假如篩選邏輯的效果符合預(yù)期,再將該篩選邏輯部署到車端。
另外,工程師在車端設(shè)置trigger層的時(shí)候,要考慮到單車的4/5G 帶寬以及流量問題,可以將不同的trigger按照重要程度分成不同的組,按照事件的優(yōu)先程度回傳數(shù)據(jù),盡量保證多傳重要程度高的數(shù)據(jù),例如可以優(yōu)先回傳稀缺場景的數(shù)據(jù)。
1.2 保證車端數(shù)據(jù)傳輸鏈路的通暢
在車端采集數(shù)據(jù)的時(shí)候,車內(nèi)需要有高效的數(shù)據(jù)傳輸鏈路,來保證數(shù)據(jù)傳輸?shù)乃俣燃叭萘?,假如只能通過傳統(tǒng)的CAN傳輸,那么能傳輸?shù)臄?shù)據(jù)量就會(huì)非常有限。此外車端還需要配備4/5G模塊,方便數(shù)據(jù)上傳到云端。
目前,市面上量產(chǎn)的很多車型基本具備了批量回傳數(shù)據(jù)的能力,尤其是高端車型。而一些中低端車型,在解決好了網(wǎng)絡(luò)問題后也可以批量回傳數(shù)據(jù)。
1.3 提高將數(shù)據(jù)場景化的能力
要從海量數(shù)據(jù)中提取真正有用的數(shù)據(jù),需要把數(shù)據(jù)場景化。
有自動(dòng)駕駛公司在關(guān)于數(shù)據(jù)閉環(huán)的文稿中提到:“場景是數(shù)據(jù)需求的基本單位,場景化是數(shù)據(jù)打通的中樞環(huán)節(jié),足夠強(qiáng)的場景提取能力,是一家自動(dòng)駕駛公司的重要技術(shù)壁壘?!?/p>
何為場景?場景就是構(gòu)成汽車駕駛環(huán)境的獨(dú)立變量的隨機(jī)組合,不同的場景組合在一起,就成了場景庫。有業(yè)內(nèi)專家將場景庫比作考生的“題庫”,題庫越豐富,考生做過的題越多,在考試中得到高分的概率越高。相應(yīng)地,場景庫越豐富,自動(dòng)駕駛系統(tǒng)能通過的場景越多,那么它在真實(shí)世界中的表現(xiàn)可能就會(huì)越好。
一般來說,場景庫里的場景可以根據(jù)odd——即自動(dòng)駕駛運(yùn)行設(shè)計(jì)域來劃分,odd主要包括時(shí)空、道路、道路參與者三部分。場景標(biāo)簽主要包括時(shí)間、天氣、能見度、城市、道路等級(jí)、道路狀況、交通流等,例如,“一輛車在雨天的傍晚行駛在高速公路上”就可以是一個(gè)場景。在此基礎(chǔ)上,每一個(gè)場景標(biāo)簽還可以進(jìn)一步細(xì)分,例如雨天還可以分為大雨、中雨、小雨等,細(xì)分程度取決于實(shí)際需求。所以說,場景庫基本是無限的。
一個(gè)場景標(biāo)簽可以從多段數(shù)據(jù)中提取,例如很多數(shù)據(jù)可能都是在下雨天氣下采集的;同一段數(shù)據(jù)也可以出現(xiàn)在多種場景中,此間的對(duì)應(yīng)關(guān)系取決于工程師如何定義場景。
也即是說,如何給數(shù)據(jù)打標(biāo)簽從而映射到場景庫里的一個(gè)個(gè)場景,每個(gè)場景的標(biāo)簽要細(xì)分到什么程度都是可調(diào)的,從某種意義上來講,這是公司將數(shù)據(jù)場景化的能力之一。因?yàn)橐粋€(gè)高質(zhì)量的場景庫離不開科學(xué)合理的分類,只有將場景科學(xué)合理地分類才能在增加場景庫豐富度的同時(shí)不過分增加冗余度。
目前,市面上有部分公開的場景庫可供從業(yè)者使用,這些公開的場景庫有相對(duì)標(biāo)準(zhǔn)地將數(shù)據(jù)映射到場景的方式。當(dāng)然了,自動(dòng)駕駛公司一般也會(huì)根據(jù)需求建立自己的場景庫或者在公開場景庫的基礎(chǔ)上添加數(shù)據(jù)來進(jìn)一步豐富場景庫。
在需要豐富場景庫的時(shí)候,工程師們可以根據(jù)時(shí)間、天氣、道路狀況、交通流等條件來做組合,對(duì)于目前的場景庫里欠缺的場景,設(shè)置相應(yīng)的采集條件來采集包含這些場景的數(shù)據(jù)。
具體來講,假如工程師希望盡可能多地采集早高峰時(shí)交通擁堵的數(shù)據(jù),那他可以把采集時(shí)間設(shè)置在上午8點(diǎn)至10點(diǎn);假如希望盡可能多地采集某個(gè)特定地點(diǎn)的數(shù)據(jù),那他可以根據(jù)地圖,把相應(yīng)地點(diǎn)做好標(biāo)記,在車輛經(jīng)過這個(gè)地方的時(shí)候觸發(fā)數(shù)據(jù)采集。后續(xù)希望采集其他場景的時(shí)候,工程師直接在配置文件里修改采集條件即可。
當(dāng)然了,這種采集方式,主要適合一些相對(duì)簡單的場景,或者是說比較容易枚舉的場景。
那些更復(fù)雜的,不太容易枚舉的場景,使用模型來采集可能是更合適的方式。比較常見的使用模型采集的方式就是我們常說的影子模式。
實(shí)際上,使用模型來采集數(shù)據(jù)并不局限于影子模式,也可以是用當(dāng)前的模型版本和前一模型版本的比較,或者采集條件不基于一些很簡單的規(guī)則疊加,而是基于更加復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,這樣收集來的數(shù)據(jù)可能跟已有的數(shù)據(jù)有更大的差異性。
某新能源主機(jī)廠專家告訴筆者,“長期來看,我認(rèn)為比較好的采集數(shù)據(jù)的方式是在云端訓(xùn)練出一個(gè)模型,這個(gè)模型可以比較好地判斷哪些數(shù)據(jù)對(duì)當(dāng)前的自動(dòng)駕駛系統(tǒng)是有價(jià)值的。然后,我們可以在車端部署這個(gè)模型的簡化版本,這個(gè)簡化版的模型負(fù)責(zé)篩選需要上傳到云端的數(shù)據(jù)。
“假如我們基于規(guī)則來篩選,就需要把規(guī)則設(shè)置成可配置的。因?yàn)榛谔囟ǖ囊?guī)則來篩選數(shù)據(jù)時(shí),一個(gè)規(guī)則用的時(shí)間越長,基于這個(gè)規(guī)則篩選出來的數(shù)據(jù)的價(jià)值就會(huì)越低。那么,我們就需要一直更改篩選規(guī)則,更改規(guī)則是越往后越難的,因?yàn)槿菀酌杜e的場景會(huì)越來越少。
“以后更好的方式大概率不是一直更改規(guī)則,而是用模型來判斷什么是有價(jià)值的數(shù)據(jù),然后根據(jù)已經(jīng)積累的數(shù)據(jù)不斷更新模型?!?/p>
1.4 靈活更新篩選邏輯
在車端更新數(shù)據(jù)篩選邏輯時(shí),當(dāng)前主流的方式是OTA和篩選邏輯配置文件下發(fā)相結(jié)合。一般來說,篩選邏輯配置文件下發(fā)適合較小的篩選邏輯改變,OTA適合較大的篩選邏輯改變,具體采用哪種方式要結(jié)合實(shí)際情況分析。
魔視智能產(chǎn)品經(jīng)理蘇林飛介紹到:“在國內(nèi),按照工信部裝備中心[2022]229號(hào)文件要求,汽車生產(chǎn)企業(yè)OTA需要提前向工信部報(bào)備。幾乎所有OEM的量產(chǎn)車的OTA流程都很繁瑣,首先在OTA前企業(yè)的研發(fā)部門需要向質(zhì)量部門匯報(bào)發(fā)起OTA的緣由,然后提交完整的測試和驗(yàn)證報(bào)告給質(zhì)量部門,質(zhì)量部門拿到OTA需求輸入后,內(nèi)部開啟ECR確定流程,明確變更的合理性,之后下發(fā)ECN。上述步驟完成后再開啟工信部流程,最后完成OTA。
“因此,汽車OTA頻率比較低。涉及到ADAS系統(tǒng)的OTA一般是以季度或者半年度為單位評(píng)估更新,極少數(shù)主機(jī)廠會(huì)月度更新?!?/p>
針對(duì)這一痛點(diǎn),智協(xié)慧同銷售副總裁牛國浩稱:“我們可以提供一套不需要通過OTA,直接使用傳統(tǒng)的車聯(lián)網(wǎng)通道來更新的數(shù)據(jù)采集機(jī)制,這套機(jī)制支持用戶把算子化的觸發(fā)數(shù)據(jù)采集的邏輯部署在車端。采用這套觸發(fā)機(jī)制的用戶可以以天為單位甚至是以小時(shí)為單位來更新數(shù)據(jù)采集邏輯?!?/p>
靈活更新數(shù)據(jù)采集邏輯有什么好處呢?
假如某OEM有10萬輛量產(chǎn)車,他們?cè)谶@些車上都部署了采集急剎車數(shù)據(jù)的邏輯,那么,只要急剎車邏輯被觸發(fā),相關(guān)數(shù)據(jù)都會(huì)被回傳到云端。不過,實(shí)際上,由于OEM來不及更新觸發(fā)邏輯,盡管采集到的急剎車數(shù)據(jù)很多,但真正對(duì)算法改進(jìn)有幫助的也許只有前100條,之后的急剎車數(shù)據(jù)可能都沒有新增信息;但如果采集邏輯的更新頻率大幅度提升,則數(shù)據(jù)的有效率會(huì)大幅度提升。
1.5 標(biāo)注自動(dòng)化,且標(biāo)注模型不斷進(jìn)化
盡量提高數(shù)據(jù)閉環(huán)整個(gè)流程中的自動(dòng)化比例,降低人工參與度,是提高效率的一個(gè)重要方式。尤其是標(biāo)注環(huán)節(jié),自動(dòng)化可以帶來很大的效率提升,同時(shí)也可以降低人員管理的難度。
目前,很多自動(dòng)駕駛公司都在開發(fā)自動(dòng)標(biāo)注系統(tǒng)。自動(dòng)標(biāo)注系統(tǒng)標(biāo)注好數(shù)據(jù)后,人基本只需要做質(zhì)檢工作——即檢驗(yàn)自動(dòng)標(biāo)注系統(tǒng)的工作質(zhì)量,例如目標(biāo)物體有沒有做好標(biāo)記、標(biāo)記的范圍是否準(zhǔn)確等。在質(zhì)檢階段,一些自動(dòng)化的質(zhì)檢算法也可以作為輔助從而減少人的工作量。
有了自動(dòng)標(biāo)注系統(tǒng),對(duì)于大部分通用場景來說,標(biāo)注工作產(chǎn)出成果的主要決定因素從人力資源轉(zhuǎn)到了計(jì)算資源和模型精度,計(jì)算資源可以很方便地在云端拓展,因此,標(biāo)注效率可以實(shí)現(xiàn)極大的提升。
很多公司采用場景重建的結(jié)果來實(shí)現(xiàn)自動(dòng)標(biāo)注。那么,如何基于場景重建的結(jié)果完成標(biāo)注任務(wù)呢?
以 BEV的靜態(tài)感知標(biāo)注為例,假設(shè)有一輛車,在一個(gè)路口右轉(zhuǎn)了一次,另外一輛車在路口直行了一次,還有一輛車反方向直行一次,那么我們把這些信息聚合起來,就可以重建出關(guān)于這個(gè)路口的基本完整的場景。
有了完整的場景后,當(dāng)需要標(biāo)注經(jīng)過這個(gè)路口的車輛的相關(guān)數(shù)據(jù)時(shí),可以拿需要標(biāo)注的圖像信息和重建好的場景信息匹配,從而實(shí)現(xiàn)對(duì)圖像的標(biāo)注。哪個(gè)是真值啊?重建好的場景 ?
類似的,BEV下的高度、光流、三維檢測等,都可以通過同樣的全息場景重建的方式來提取真值。
除了靜態(tài)環(huán)境的重建,我們還可以進(jìn)行動(dòng)態(tài)場景重建,或面向動(dòng)態(tài)的感知結(jié)果,根據(jù)這些結(jié)果拼成一個(gè)完整的、全息的4D世界信息,來給云端感知模型使用。
魔視智能產(chǎn)品經(jīng)理蘇林飛介紹到:“ 一些比較容易識(shí)別的物體——例如車輛、正常行走的行人等,模型可以識(shí)別出來,人只需要做一些質(zhì)檢工作,把自動(dòng)標(biāo)注系統(tǒng)沒有識(shí)別出來的物體手工標(biāo)記好,同時(shí)修正系統(tǒng)識(shí)別錯(cuò)誤的物體。
“引進(jìn)自動(dòng)標(biāo)注系統(tǒng)后,標(biāo)注的工作量大致可以降低80%。隨著自動(dòng)化標(biāo)注工具的進(jìn)步,標(biāo)注效率有望進(jìn)一步提升。”
然而,也有數(shù)據(jù)標(biāo)注服務(wù)供應(yīng)商表示,在單一企業(yè)的特定任務(wù)中,假如已經(jīng)把用于標(biāo)注的模型訓(xùn)練地很好,那這個(gè)模型確實(shí)可以幫助我們實(shí)現(xiàn)很高比例的預(yù)標(biāo)注——大概80%。但是,在面臨新的任務(wù)時(shí),原先訓(xùn)練好的模型可能不再適用,我們需要重新依賴人工標(biāo)注——80%的預(yù)標(biāo)注并不是一個(gè)普適性的比例,即使我們將語境限定在自動(dòng)駕駛的任務(wù)中。
在實(shí)操中,假如傳感器安裝的位置改變,可能就會(huì)影響數(shù)據(jù)的識(shí)別,預(yù)標(biāo)注的效果會(huì)相應(yīng)降低。假如我們能夠做出更通用的預(yù)標(biāo)注模型,在面臨不同場景時(shí)都能做到較高的預(yù)標(biāo)注程度,而不是每當(dāng)場景改變時(shí)都需要適配,那么標(biāo)注工作的效率將能大大提高。
1.6 模型訓(xùn)練部分自動(dòng)化
在模型訓(xùn)練環(huán)節(jié),可以借助Auto ML 等工具,設(shè)計(jì)一套自動(dòng)化訓(xùn)練引擎,將模型訓(xùn)練的部分工作自動(dòng)化。
當(dāng)前主流的公有云平臺(tái)基本都支持Auto ML。此外,在學(xué)術(shù)界和產(chǎn)業(yè)界人士的共同努力下,現(xiàn)在有一些關(guān)于如何在預(yù)定義搜索空間中選擇和組合不同的基本算子來生成穩(wěn)健且性能良好的神經(jīng)網(wǎng)絡(luò)架構(gòu)的公開的方法——例如谷歌的“神經(jīng)架構(gòu)搜索”(Neural Architecture Search,NAS)?;谶@些方法,工程師可以更方便地找到適用于特定任務(wù)的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
具體到數(shù)據(jù)閉環(huán)系統(tǒng)里的模型訓(xùn)練,我們可以在訓(xùn)練引擎中維護(hù)一個(gè)模型集合,這個(gè)集合包含了最優(yōu)的模型,也包含訓(xùn)練過程當(dāng)中產(chǎn)生的中間模型。因?yàn)樽詣?dòng)駕駛系統(tǒng)要解決的是一個(gè)多目標(biāo)優(yōu)化的問題,所以需要保存模型集合而不是單個(gè)模型。
保存好模型集合后,可以使用一個(gè)推理引擎對(duì)這些模型做評(píng)測,根據(jù)評(píng)測結(jié)果輸出一個(gè)候選模型的集合——即多目標(biāo)優(yōu)化里的Pareto front。
然后,從模型集合里采樣模型的參數(shù)和超參數(shù)——例如模型的層數(shù)、節(jié)點(diǎn)劃分的最小樣本數(shù)等,并對(duì)整個(gè)模型的參數(shù)做一些擾動(dòng),找到魯棒性較好的一組參數(shù),然后將這組參數(shù)和超參數(shù)一起作為初始化傳入訓(xùn)練引擎。訓(xùn)練引擎中包含了新采集和標(biāo)注好的數(shù)據(jù),這些新的數(shù)據(jù)(也可以加上舊數(shù)據(jù))可以用于模型的訓(xùn)練。
訓(xùn)練完成之后,將訓(xùn)練過程中產(chǎn)生的模型一起傳回整個(gè)模型集合。此時(shí),模型集合就是采用新數(shù)據(jù)訓(xùn)練過后更新的結(jié)果。
利用這樣的訓(xùn)練引擎,我們就可以將一部分模型訓(xùn)練的工作自動(dòng)化。
1.7 優(yōu)化模型訓(xùn)練和部署方式
在感知層面,BEV+Transformer架構(gòu)已成為業(yè)內(nèi)公認(rèn)的效果較好的神經(jīng)網(wǎng)絡(luò)架構(gòu)。針對(duì)此架構(gòu)做訓(xùn)練和部署上的優(yōu)化可以大大提高模型訓(xùn)練效率,節(jié)省模型部署需要的算力。
工程師可以借助企業(yè)自建的智算中心或者一些公有云,采用大規(guī)模多機(jī)訓(xùn)練,從而大大提高模型訓(xùn)練的速度。
據(jù)悉,業(yè)內(nèi)有團(tuán)隊(duì)通過優(yōu)化訓(xùn)練scheme從而減少epoch、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和算子、為Transformer定制混合精度訓(xùn)練等方式,先將感知模型的單機(jī)訓(xùn)練時(shí)間大幅縮短。然后,團(tuán)隊(duì)又充分利用云端算力,將單機(jī)訓(xùn)練改為80機(jī)并行訓(xùn)練,訓(xùn)練時(shí)間再度大幅縮短,最終達(dá)到優(yōu)化前的幾百分之一。
此外,我們還可以將基礎(chǔ)網(wǎng)絡(luò)能力的提升和模型的發(fā)布解耦,實(shí)現(xiàn)訓(xùn)練效率的提升。具體來說,可以讓工程師先設(shè)計(jì)一個(gè)骨干模型,這個(gè)骨干模型和數(shù)據(jù)挖掘、自動(dòng)標(biāo)注、自動(dòng)駕駛超算平臺(tái)等形成一個(gè)閉環(huán)。在這個(gè)環(huán)里,只要有持續(xù)的數(shù)據(jù)輸入,骨干模型的能力就可以持續(xù)地得到優(yōu)化。需要發(fā)布模型的時(shí)候,只需在骨干模型的基礎(chǔ)上做一些優(yōu)化,而無需從頭開始訓(xùn)練。
在模型部署層面, Transformers層通常是占用時(shí)長的大頭,工程師可以嘗試多種Transformers的變種構(gòu)建方法,找到一個(gè)模型效果好、運(yùn)行快的版本,從而減少模型推理所需的時(shí)間,還可以在盡量不影響模型效果的前提下,對(duì)模型的網(wǎng)絡(luò)骨干做剪枝,降低網(wǎng)絡(luò)骨干的運(yùn)行時(shí)間。
此外,在計(jì)算平臺(tái)上,通常會(huì)有不同的計(jì)算單元——包括GPU、DLA、CPU等。這幾種計(jì)算單元對(duì)不同算子的支持度各有不同,工程師可以把神經(jīng)網(wǎng)絡(luò)的不同構(gòu)件放到最適合它運(yùn)行的地方,然后統(tǒng)一調(diào)度三種計(jì)算硬件,讓三者協(xié)同發(fā)揮作用,加快模型的推理速度。
1.8 優(yōu)化工具鏈
要提高數(shù)據(jù)閉環(huán)的效率,高效方便的工具鏈必不可少。
根據(jù)小馬智行工具鏈負(fù)責(zé)人介紹:“小馬智行自創(chuàng)立伊始就著手打造了一套高效的、方便易用的工具鏈。借助這套工具鏈,我們可以高效地用數(shù)據(jù)驅(qū)動(dòng)模型的更新,同時(shí)也能夠很客觀地量化研發(fā)成果,從而高效地完成自動(dòng)駕駛系統(tǒng)的迭代。”
工具鏈主要包括了三大平臺(tái)——車云協(xié)同平臺(tái)、數(shù)據(jù)平臺(tái)、仿真平臺(tái)。
車云協(xié)同平臺(tái)主要連接車端和云端。
在車端,自動(dòng)駕駛公司可以做一個(gè)可視化的界面,這個(gè)界面可以作為在車端挖掘數(shù)據(jù)的輔助。同時(shí),這套平臺(tái)是車云協(xié)同的,云端的新版本模型可以通過OTA的方式更新到車端,車端抓取的數(shù)據(jù)也可以直接回傳到云端平臺(tái)。
借助車云協(xié)同平臺(tái),工程師可以在云端很方便地查看車端場景的回放以及一些參考指標(biāo)——例如安全員接管的頻率、急剎的頻率等。
此外,假如車輛在行駛過程中面臨一些難以應(yīng)對(duì)的情形,例如被一輛車擋住前路,車輛可以把信號(hào)發(fā)到云端來請(qǐng)求幫助。
數(shù)據(jù)平臺(tái)主要用來收集、管理需要用到的數(shù)據(jù)。
工程師可以借助數(shù)據(jù)平臺(tái)在車端采集數(shù)據(jù),待數(shù)據(jù)上傳到云端后,再做一些二次挖掘,充分發(fā)揮云端的大算力優(yōu)勢(shì),處理一些更復(fù)雜的場景挖掘的需求。
把高價(jià)值的場景挖掘出來以后,工程師就不用一段一段地再去看原始數(shù)據(jù),而是可以基于自己的某個(gè)需求,直接通過數(shù)據(jù)平臺(tái)去找相應(yīng)的數(shù)據(jù)。例如,工程師要找接管數(shù)據(jù),他/她只需要在場景庫里做一些篩選,就可以找到相應(yīng)數(shù)據(jù)。
仿真平臺(tái)主要會(huì)根據(jù)實(shí)際的路測數(shù)據(jù)來做仿真,生成仿真場景。
仿真得到的場景可以作為自動(dòng)駕駛系統(tǒng)測試的輔助,仿真測試可以替代很大一部分的實(shí)車測試,極大地節(jié)省測試時(shí)間,同時(shí)也能降低成本。
假如要測試自動(dòng)駕駛系統(tǒng)無保護(hù)左轉(zhuǎn)的能力,工程師可以借助場景庫里的無保護(hù)左轉(zhuǎn)場景創(chuàng)建一個(gè)無保護(hù)左轉(zhuǎn)的仿真任務(wù),然后測試自動(dòng)駕駛系統(tǒng)在這類場景下的表現(xiàn)。
借助仿真平臺(tái)的評(píng)測模塊,工程師可以看到仿真任務(wù)的具體效果——例如系統(tǒng)在哪些場景下通過了、在哪些場景下未通過。此外,平臺(tái)還會(huì)顯示更詳細(xì)的測試信息。對(duì)于系統(tǒng)通過了的場景,工程師可以看到多維度的評(píng)測結(jié)果,包括安全性、舒適性、效率等;對(duì)于未通過的場景,工程師可以看到失敗的原因——例如資源不夠、版本沖突等。
此外,仿真平臺(tái)也可以幫助豐富場景庫,補(bǔ)充現(xiàn)實(shí)環(huán)境中較難采到的場景。
仿真平臺(tái)里仿真場景的真實(shí)度和場景生成的速度是影響自動(dòng)駕駛迭代能力的重要因素之一。很多自動(dòng)駕駛公司都在研究如何提高仿真場景的真實(shí)度以及如何加快場景生成的速度。
據(jù)筆者了解,仿真的真實(shí)性可以通過提高“光影真實(shí)”以及“場景真實(shí)”來實(shí)現(xiàn)。
具體來說,工程師可以采用技術(shù)領(lǐng)先的渲染引擎來提高圖片的真實(shí)感,從而保證“光影真實(shí)”。
在生成仿真場景時(shí),工程師可以先用4D自動(dòng)標(biāo)注從真實(shí)場景里提取結(jié)構(gòu)化信息——包括動(dòng)態(tài)物體的4D軌跡、靜態(tài)場景的3D布局等,然后用渲染引擎對(duì)結(jié)構(gòu)化信息進(jìn)行渲染填充,形成仿真圖片。這樣一來,仿真平臺(tái)生成的場景就是在模擬真實(shí)世界可能發(fā)生的場景,保證了“場景真實(shí)”。
加快場景生成的速度主要可以通過提高算力來實(shí)現(xiàn),不過這樣也意味著成本的提升,因此公司一般會(huì)根據(jù)自身的需求酌情擴(kuò)大算力。
除了上述幾大平臺(tái),還有一些可以幫助提高數(shù)據(jù)閉環(huán)效率的工具。例如,公司可以建立一個(gè)服務(wù)器的集群,在執(zhí)行任務(wù)的時(shí)候,服務(wù)器集群可以根據(jù)工程師們提交的任務(wù)的優(yōu)先級(jí)動(dòng)態(tài)地執(zhí)行,從而提高計(jì)算資源利用率。
還有“用戶友好”的UI平臺(tái),借助這個(gè)UI平臺(tái),工程師需要基于數(shù)據(jù)集跑一些訓(xùn)練或者仿真的任務(wù)時(shí),直接在平臺(tái)上指定一個(gè)算法版本,再指定一個(gè)數(shù)據(jù)集,就能一鍵觸發(fā)這些任務(wù),大幅提高工作效率。
高效方便的工具鏈可以賦能數(shù)據(jù)閉環(huán)的整個(gè)鏈路——從數(shù)據(jù)采集、數(shù)據(jù)回傳、數(shù)據(jù)處理、數(shù)據(jù)標(biāo)注、模型訓(xùn)練到測試驗(yàn)證,讓數(shù)據(jù)在數(shù)據(jù)閉環(huán)系統(tǒng)內(nèi)高效流轉(zhuǎn),加快模型迭代速度,同時(shí)節(jié)省人力、提高效率。
隨著企業(yè)對(duì)數(shù)據(jù)閉環(huán)研發(fā)的深入,相應(yīng)的工具鏈往往也會(huì)隨之迭代,很多流程會(huì)變得越來越快。
小馬智行工具鏈負(fù)責(zé)人講道:“在小馬智行,當(dāng)算法工程師有新的需求時(shí)——例如他要采集(使用)無保護(hù)左轉(zhuǎn)的數(shù)據(jù),基本上一個(gè)小時(shí)內(nèi),他就可以提取出相關(guān)的數(shù)據(jù)。此前,我們已經(jīng)積累了大量的路測數(shù)據(jù),而且可以實(shí)時(shí)調(diào)度正在進(jìn)行路測的車輛去相應(yīng)場景幫助工程師采集數(shù)據(jù),所以我們的工程師需要相關(guān)數(shù)據(jù)時(shí),獲取速度可以非常快。
“依靠我們的工具鏈,工程師除了可以很快獲取數(shù)據(jù),完成其他工作也都很快。一般來說,針對(duì)特定的場景,工程師從獲取數(shù)據(jù)到模型訓(xùn)練到測試結(jié)果,整個(gè)過程短則一小時(shí)長則一天就能實(shí)現(xiàn)。
“我們大部分的步驟都是在云端進(jìn)行的,也都有非常方便的工具,大家可以通過一個(gè) web界面很方便地操作?!?/p>
2. 如何降低數(shù)據(jù)閉環(huán)的成本
提高數(shù)據(jù)閉環(huán)的效率是一方面,如何在保持高效的前提下,降低使用成本也是需要我們思考的問題。
長城沙龍智能化中心負(fù)責(zé)人楊繼峰在一次演講中提到:“從2020年到2023年,智駕系統(tǒng)的平臺(tái)硬件成本、數(shù)據(jù)閉環(huán)流量成本加起來,上漲了接近6-10倍?!?/p>
雖然大家已經(jīng)認(rèn)可數(shù)據(jù)閉環(huán)是通向高階自動(dòng)駕駛的“必由之路”,但是假如成本居高不下,那么量產(chǎn)落地就是一件不太現(xiàn)實(shí)的事情。
那么,如何降低數(shù)據(jù)閉環(huán)的成本呢?我們先來看數(shù)據(jù)閉環(huán)的成本來自于什么。
根據(jù)筆者與業(yè)內(nèi)專家交流得到的信息,數(shù)據(jù)閉環(huán)的成本一方面來自于工具鏈的開發(fā),維持研發(fā)團(tuán)隊(duì)需要一定的成本。在工具鏈之外,很大一部分成本體現(xiàn)在流量費(fèi)用、計(jì)算資源以及存儲(chǔ)資源上。
有業(yè)內(nèi)人士預(yù)測,數(shù)據(jù)閉環(huán)系統(tǒng)在量產(chǎn)車上落地后,量產(chǎn)車每天回傳的數(shù)據(jù)量大致在百兆量級(jí)。雖然自動(dòng)駕駛公司可以作為大客戶向通信運(yùn)營商要求折扣,但每兆流量成本很難低于普通客戶每兆流量成本的1/10。那么,假如車的數(shù)量很大,流量成本也將是一個(gè)很大的數(shù)字。
此外,做仿真、訓(xùn)練模型、存儲(chǔ)數(shù)據(jù)等都會(huì)需要服務(wù)器資源,筆者在跟行業(yè)專家的交流中了解到,有的公司數(shù)據(jù)存儲(chǔ)量會(huì)達(dá)到上百PB的量級(jí)。
服務(wù)器使用地越多,相應(yīng)地?cái)?shù)據(jù)閉環(huán)的效率可能會(huì)越高,但同時(shí)成本也會(huì)越高。據(jù)悉有自動(dòng)駕駛Tier1公司在服務(wù)器上每年的投入會(huì)達(dá)到大幾千萬的量級(jí)。
那么,降低成本就需要在節(jié)省流量費(fèi)用、節(jié)省存儲(chǔ)資源及計(jì)算資源上下功夫。
2.1 優(yōu)化數(shù)據(jù)采集、傳輸和存儲(chǔ)方案
要降低數(shù)據(jù)閉環(huán)的成本,首先要盡量從車端回傳“有效”的數(shù)據(jù),減少“無效”數(shù)據(jù)的回傳。那么,就需要提高車端篩選效率,前文已有關(guān)于如何提高車端篩選效率的討論,在此不再贅述。
在提高車端篩選效率外,還要在合適范圍內(nèi)盡量縮短回傳數(shù)據(jù)的時(shí)長。
智協(xié)慧同銷售副總裁牛國浩告訴筆者:“傳統(tǒng)的方案很難做到精準(zhǔn)抓取,一般會(huì)采相對(duì)較寬的視頻數(shù)據(jù),然后把這些數(shù)據(jù)全部上傳到云端。這樣既會(huì)浪費(fèi)流量,又會(huì)增加很多數(shù)據(jù)存儲(chǔ)壓力,同時(shí)還增加了后續(xù)的標(biāo)注、訓(xùn)練等工作量。我們可以把數(shù)據(jù)采集做得更精細(xì)。智協(xié)慧同的數(shù)據(jù)采集系統(tǒng)可以做到以觸發(fā)數(shù)據(jù)采集的時(shí)間節(jié)點(diǎn)為準(zhǔn),把車內(nèi)前后五秒鐘的數(shù)據(jù)——包括攝像頭的、雷達(dá)的、總線的數(shù)據(jù)進(jìn)行數(shù)據(jù)去重等操作后打成壓縮包然后傳到云端?!?/p>
此外,要盡量減少數(shù)據(jù)的存儲(chǔ)量,隨著時(shí)間的增加,部分之前采集的數(shù)據(jù)的價(jià)值會(huì)慢慢降低,我們需要篩選出有保存價(jià)值的數(shù)據(jù),丟掉沒有價(jià)值的數(shù)據(jù)。數(shù)據(jù)的價(jià)值的主要可以基于時(shí)間和場景兩個(gè)維度來衡量。
一方面,我們要盡可能保存新采集的數(shù)據(jù),將老的數(shù)據(jù)刪掉;另一方面,可以保留目前自動(dòng)駕駛系統(tǒng)應(yīng)對(duì)得還不夠好的場景的數(shù)據(jù),刪掉已經(jīng)應(yīng)對(duì)地足夠好的場景的數(shù)據(jù)。
減少數(shù)據(jù)的存儲(chǔ)量還可以通過將數(shù)據(jù)壓縮來實(shí)現(xiàn)。在云端,可以用高壓縮態(tài)的方式來存儲(chǔ)數(shù)據(jù),同時(shí)給每個(gè)數(shù)據(jù)包打好相應(yīng)的標(biāo)簽,這樣一來,用戶不需要打開數(shù)據(jù)包就可以知道這個(gè)數(shù)據(jù)包的關(guān)鍵信息。那么,用戶在存儲(chǔ)、查找以及使用數(shù)據(jù)的時(shí)候,可以更高效。
智協(xié)慧同銷售副總裁牛國浩提到:“智協(xié)慧同提供的自動(dòng)駕駛數(shù)據(jù)采集方案,相較于傳統(tǒng)數(shù)采方案成本大大降低,成本的降低主要通過在車端對(duì)結(jié)構(gòu)化數(shù)據(jù)實(shí)現(xiàn)高壓縮、管端高壓縮傳輸、云端超高壓縮存儲(chǔ)、云端存算分離幾個(gè)角度來實(shí)現(xiàn)。”
具體細(xì)節(jié)如下表所示。
2.2 用好仿真
目前,通過仿真生成的場景的真實(shí)度越來越高,仿真可以用來幫助工程師生成較難采集的corner case數(shù)據(jù),也可以作為自動(dòng)駕駛系統(tǒng)測試的輔助。
另外,當(dāng)需要更新模型時(shí),工程師可以先用現(xiàn)有的場景庫測試模型效果,無需從頭開始做實(shí)車測試,這樣可以大大節(jié)省測試驗(yàn)證的成本。
前文關(guān)于上述兩點(diǎn)有更詳細(xì)的描述,此處不再贅述。
當(dāng)然了,前文提到的自動(dòng)化標(biāo)注,通過優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)從而提高模型訓(xùn)練的效率等,都是降低數(shù)據(jù)閉環(huán)成本的方式。
特斯拉AI day上,一位主講人提到,“在數(shù)據(jù)驅(qū)動(dòng)的人工智能時(shí)代,產(chǎn)業(yè)界與學(xué)術(shù)界最大的差異是,學(xué)術(shù)界人士通常會(huì)保持?jǐn)?shù)據(jù)不變,在穩(wěn)定不變的數(shù)據(jù)集上不斷迭代新的算法,以求提高模型性能,然而產(chǎn)業(yè)實(shí)踐的核心在于尋找問題,產(chǎn)業(yè)界人士通常會(huì)主動(dòng)獲取相應(yīng)數(shù)據(jù),不斷地把新獲取的數(shù)據(jù)添加到訓(xùn)練集中,用數(shù)據(jù)來驅(qū)動(dòng)模型的更新。
“因此,產(chǎn)業(yè)界科技巨頭可以在數(shù)據(jù)驅(qū)動(dòng)的人工智能時(shí)代反過頭引領(lǐng)學(xué)術(shù)界。數(shù)據(jù)驅(qū)動(dòng)模式下,模型學(xué)到的信息全部來自于數(shù)據(jù),而不同的模型僅是在學(xué)習(xí)速度、效率等方面有差異。因此,數(shù)據(jù)的數(shù)量和質(zhì)量決定了模型的上限?!?/p>
落實(shí)到自動(dòng)駕駛領(lǐng)域,要實(shí)現(xiàn)自動(dòng)駕駛系統(tǒng)能力的提升,我們就需要盡可能多地采集“有價(jià)值”的數(shù)據(jù)。要盡可能多地采集“有價(jià)值”的數(shù)據(jù),就需要有更多用戶愿意使用自動(dòng)駕駛系統(tǒng)。
目前,國內(nèi)的自動(dòng)駕駛公司越來越注重“把場景打通”,讓消費(fèi)者真正能夠感受到自動(dòng)駕駛系統(tǒng)帶來的便利。只有用戶體驗(yàn)夠好,消費(fèi)者才會(huì)認(rèn)可自動(dòng)駕駛系統(tǒng),才會(huì)愿意使用自動(dòng)駕駛系統(tǒng),自動(dòng)駕駛公司才能收集到更多的數(shù)據(jù),后續(xù)的基于數(shù)據(jù)的系統(tǒng)迭代才有基礎(chǔ)。
隨著量產(chǎn)車上自動(dòng)駕駛系統(tǒng)的普及,數(shù)據(jù)閉環(huán)在量產(chǎn)車上的落地,國內(nèi)的自動(dòng)駕駛公司能夠采集到的數(shù)據(jù)越來越多,相信在不久的將來,我們可以看到自動(dòng)駕駛系統(tǒng)能力的顯著提升。
附錄:工具鏈需要自研嗎?
高效的工具鏈可以大大提升研發(fā)效率,同時(shí)也促使業(yè)界思考一個(gè)問題——工具鏈要自研還是對(duì)外采購?
據(jù)筆者了解,部分一線的研發(fā)人員希望自研工具鏈,因?yàn)楣ぞ哝満途唧w的研發(fā)流程息息相關(guān)。然而,在高層眼中,尤其是傳統(tǒng)主機(jī)廠的高層眼中,工具鏈只是一個(gè)工具,沒必要自研。而且,業(yè)內(nèi)有些供應(yīng)商非常愿意對(duì)外出售自己的工具鏈產(chǎn)品。
事實(shí)上,在互聯(lián)網(wǎng)領(lǐng)域,先自研某種“工具鏈”服務(wù)于內(nèi)部,成熟之后將其出售是一個(gè)常態(tài),例如阿里的聊天系統(tǒng)、會(huì)議系統(tǒng)等一開始都只是服務(wù)于內(nèi)部員工的,這些系統(tǒng)成熟之后,正好市面上其他公司有相關(guān)需求,都成為了對(duì)外銷售的產(chǎn)品。
目前,數(shù)據(jù)閉環(huán)的整個(gè)流程尚未完全成熟,相應(yīng)地,工具鏈也要隨著團(tuán)隊(duì)能力以及業(yè)務(wù)的變化而變化?;诖?,部分一線的研發(fā)人員認(rèn)為,對(duì)外購買的工具鏈會(huì)存在不夠靈活的問題,很難跟上團(tuán)隊(duì)的發(fā)展。實(shí)際操作中,一些接口可能無法匹配團(tuán)隊(duì)目前的需求,而且團(tuán)隊(duì)使用的數(shù)據(jù)格式也可能改變,那么工具鏈可能都需要有相應(yīng)改變,外購的工具鏈很難有較強(qiáng)的適應(yīng)性。
小馬智行工具鏈負(fù)責(zé)人告訴筆者:“工具鏈要發(fā)揮好作用,需要和研發(fā)流程很好地結(jié)合,讓工程團(tuán)隊(duì)和算法團(tuán)隊(duì)能用地快。這些不僅僅涉及到工具鏈,也涉及到這個(gè)公司如何組織團(tuán)隊(duì),如何設(shè)計(jì)研發(fā)的流程,工具鏈和使用工具鏈的團(tuán)隊(duì)需要一段時(shí)間的磨合。在建好工具鏈之后,還需要有團(tuán)隊(duì)一直維護(hù),根據(jù)需求的變化一直迭代?!?/p>
目前提供工具鏈產(chǎn)品的主要是供應(yīng)商,有研發(fā)人員認(rèn)為,供應(yīng)商和主機(jī)廠的視角有差異。具體來說,主機(jī)廠希望工具鏈產(chǎn)品能盡可能地滿足自家自動(dòng)駕駛研發(fā)的需求,那么在考量工具鏈產(chǎn)品的時(shí)候,會(huì)希望購買的工具鏈盡可能地和自家的研發(fā)流程適配。然而,站在供應(yīng)商的角度,供應(yīng)商希望提供的工具鏈產(chǎn)品比較“標(biāo)準(zhǔn)化”,以便盡可能多地滿足更多客戶的需求,假如為了滿足某一家客戶的需求而做一些特定的修改,那么產(chǎn)品會(huì)過于“定制化”,不利于推廣到其他家。
一個(gè)比較折中的方法可能是核心的部分自研,主機(jī)廠可以根據(jù)云端的架構(gòu)以及具體的業(yè)務(wù)劃分,選定需要自研的部分。尤其是,涉及到數(shù)據(jù)管理平臺(tái)的接口部分,需要自己來把控,盡量做到模塊化,這樣某一個(gè)模塊的變化對(duì)整體的影響可以盡量降低。
某新能源主機(jī)廠的專家告訴筆者:“具體哪些模塊要自研,哪些模塊可以從供應(yīng)商采購,其實(shí)是一個(gè)開放的問題。買的方式也可以靈活,假如供應(yīng)商愿意賣白盒產(chǎn)品,那么我們需要更改時(shí)可以比較方便地修改,我們自己的團(tuán)隊(duì)可以對(duì)這套工具做持續(xù)開發(fā),那么即使整套工具鏈都采購,也是可以接受的?!?/p>
“或者是說,供應(yīng)商可以把接口部分開放,我們內(nèi)部的團(tuán)隊(duì)做二次開發(fā)來定制這些接口,那么大部分的研發(fā)需求也可以被滿足。所以要不要自研,能不能外購工具鏈其實(shí)是比較開放的問題?!?/p>
作者: 張萌宇