數據閉環——自動駕駛下半場的“入場券”
數據閉環1.0時代,人們還沒有準備好應對自動駕駛系統研發對大量數據的需求,各個模塊的自動化程度不夠高,效率也不夠高。
(資料圖片)
數據閉環2.0時代需要一套能快速處理大量數據的系統,讓數據在系統內更快地流轉,提高算法迭代的效率,讓車越開越聰明。
在7.21華為云智能駕駛創新峰會上,華為云自動駕駛開發平臺重磅發布,在盤古大模型的加持下,該平臺在corner case的解決能力、數據預處理能力、數據挖掘能力、數據標注能力方面,相比于傳統的數據閉環體系,都表現出了明顯提升。
1.1 盤古大模型助力corner case的解決
傳統解決corner case的方式主要是通過實車路采盡力采集到足夠多的相關數據,然后訓練模型,從而讓模型具備應對能力。這種方式成本較高而且效率較低,更何況,很多特殊場景出現的頻率特別低,實車很難采集到。
近年來,人們發現可以采用NeRF技術做場景重建,然后,通過調整一下參數如改變視角、改變光照、改變車輛行駛路徑的方法來模擬一些在真實世界里出現頻率較低的場景(合成數據),作為實車路采數據的補充。
早在2022年初,Waymo便開始將基于NeRF技術生成的合成數據用于自動駕駛的算法訓練中。
今年CVPR的highlight paper之一UniSim: A Neural Closed-Loop Sensor Simulator也是探索用NeRF技術做場景重建。在這篇文章中,來自無人駕駛卡車公司Waabi的作者將場景分為三部分:靜態背景(如建筑、道路和交通標志)、動態物體(如行人和汽車)和區域外物體(如天空和非常遠的道路),然后采用NeRF技術來分別建模靜態背景和動態物體。
作者發現,采用NeRF技術重建的場景不僅高度逼真,而且方便擴展,研發人員只需采集一次數據就可以做重建。
在國內,華為云基于盤古大模型開發的場景重建大模型也結合NeRF技術。該模型可基于采集的路采視頻數據做場景重建(合成數據),普通用戶很難用肉眼分清這些重建的場景跟真實場景有何區別。這些重建的場景數據作為真實路采數據的補充,可以用于提高感知模型的精度。
具體來說,場景重建大模型輸入的是一段一段的路采視頻,在模型對這些視頻做場景重建后,用戶可以編輯天氣、路況以及主車的姿態、位置、行駛軌跡等,然后生成新的視頻數據。
例如,用戶可以將原始視頻中的天氣從晴天改為雨天,也可以將白天換成黑夜(如下圖所示),還可以將寬闊平整的路面變成泥濘小道。
也就是說,用戶可以通過編輯場景元素來生成更多數據,而無需全部依靠路采。尤其是,對于一些不太方便采集的數據,例如極端天氣下的場景數據,用戶可以采用場景重建的方式來生成。
華為云的一位工程師告訴九章智駕:
對corner case的解決能力提高,意味著自動駕駛系統在車輛行駛中的參與度提高,用戶體驗更好,最終可以帶動自動駕駛的滲透率上升。
1.2 盤古大模型助力數據預處理
車端采集的數據一般需要經過預處理,然后再進入挖掘和標注流程。預處理的主要作用是給數據分類,去掉不需要的數據,保留重要場景的數據。
傳統的采用人工回放來給數據分類的方式非常耗時,假如用大模型來理解視頻的內容,自動給這些視頻數據分類,就可以大幅提高工作效率。
用模型來給視頻分類的難點在于,如何通過語義的方式解鎖視頻的場景,華為云基于盤古大模型開發的場景理解大模型可以對視頻數據做語義理解然后分類。用戶上傳視頻數據后,模型可以識別出關鍵信息,按照視頻類別、出現的時間進行標記,如下圖所示,同時支持組合檢索。
經測試,場景理解大模型對天氣、時間、物體等的識別精度都可達90%以上。
據悉,此種方案已在某主機廠項目中落地。工程師僅需調用華為云提供的API就可以用場景理解大模型來完成給視頻數據分類的工作。
1.3 盤古大模型助力數據挖掘
在車輛將路采數據回傳到云端后,工程師通常需要挖掘出價值較高的數據。傳統的基于標簽來挖掘長尾場景的方式一般只能分辨已知的圖像類別。
大模型有較強的泛化性,適合用于對長尾數據的挖掘。
2021年,OpenAI發布了CLIP模型(一種文字——圖像多模態模型),該模型可以擺脫對圖片標簽的依賴,在無監督預訓練之后將文本和圖像對應,從而基于文本對圖片進行分類。
這意味著,工程師可以采用這樣的文字-圖像多模態模型,用文字描述來檢索drive log中的圖像數據,例如,‘拖著貨物的工程車輛’、‘兩個燈泡同時亮著的紅綠燈’等長尾場景。
根據筆者與業內人士交流得到的信息,一些自動駕駛科技公司已經開始基于CLIP來實現以文搜圖,從而提高挖掘長尾數據的效率。
華為云基于盤古大模型開發了多模態檢索大模型,多模態檢索大模型除了可以實現以圖搜圖、以文搜圖外,還可以以文搜視頻。例如,工程師希望找到前車異常停止的視頻片段,可以直接用“前車異常停止”來搜索相關的視頻片段。
1.4 盤古大模型助力數據標注
根據估算,頭部自動駕駛公司每年大概要標注上百TB甚至是PB級的數據需要標注,標注成本高達上千萬甚至上億。
為了降低標注成本,同時提高標注效率,很多公司都在開發自動標注模型。
但目前,大部分公司的自動標注模型(小模型)都存在著不夠通用的問題。
在實踐中,工程師通常需要針對不同的場景訓練不同的標注模型(比如,標注紅綠燈的模型,不能用來標注車道線),重新訓練的過程可能需要消耗大量的數據及算力,成本較高。
在盤古大模型的基礎上,華為云開發了預標注大模型。借助預標注大模型,在面對新的場景時,工程師無需從頭開始訓練,僅需對基礎模型做“微調”,就可以得到針對新場景的預標注大模型。
根據華為云工程師的介紹,針對不同類型的自動駕駛場景,預標注大模型僅需用少量數據(幾百到幾千張圖片)做為期1-2周的訓練就能達到較為理想的預標注效果。
并且,針對2D、3D標注任務,預標注大模型可以實現高精度標注。采用預標注大模型做預標注后,標注公司基本只需要再做一些質檢,這樣可以顯著降低標注成本。
說一千道一萬,大模型最終還是要接受用戶的檢驗。那么,用戶該如何調用大模型呢?
實際上,再通用的大模型,也不會是萬能的。大模型的“大”,主要強調其在底層能力方面的通用性,而不是說它有能力解決“每一個細分場景的中每一個細節問題”。在具體落地的過程中,大模型往往要分多個層級,到最終的執行端,真正“干活”的可能是“中模型”,甚至是“小模型”。
在這里,我們以華為云發布的盤古大模型3.0為例來做個簡單的闡釋。
盤古大模型3.0是一個分層的解耦的開放架構,總共分為3層,如下圖所示:
最底層是L0級的基礎大模型,它包括語言大模型、視覺大模型、多模態大模型、預測大模型、科學計算大模型等5個大模型。L0級基礎大模模型對應的能力,類似于人的看、聽、說、讀、寫、算、思等基礎能力,是無論在哪個行業、無論干什么工作,都需要用到的。
在L0級模型的基礎上,華為云針對不同行業開發了L1級的行業大模型,包括政務大模型、金融大模型、制造大模型、礦山大模型等。每個L1級行業大模型都跟特定的行業強耦合。
在L0級基礎模型和L1級行業大模型的基礎上,華為云還給細分場景的用戶生成了一些解決特定問題的任務模型,即上圖中的L2級場景模型。本文第一章提到的預標注大模型、場景重建大模型等都屬于L2級場景模型。
除此之外,在L0級和L1級大模型的基礎上,華為云給用戶提供了模型開發套件,用戶可以用自己收集的數據對L2級的場景理解模型做微調,得到自己的場景模型。
以場景理解大模型為例,用戶可以直接調用華為云的API來使用場景理解大模型,也可以加入自有數據訓練自己的場景理解大模型。
由此看來,華為盤古大模型3.0的進化是“雙輪驅動”:一方面,華為云通過不斷地收集公開數據讓基礎大模型學習通用知識,并且讓行業大模型學習行業知識(據悉,華為云的每個行業大模型的訓練數據都超過了500億tokens);另一方面,用戶也可以不斷地收集適用于自己面對的場景的數據,提高微調后的場景大模型解決特定問題的能力。
在這種機制下,已訓練好的大模型,只需少量補充訓練樣本,就有可能快速遷移到新的場景,大大降低應用推廣成本和門檻,提升使用效率。
在實踐中,用戶要真正用好大模型的能力來為數據閉環賦能,還需要一系列的基礎設施。
目前,自動駕駛產業碎片化嚴重,即使是把范圍縮小到數據閉環系統,我們也會看到,在整個生態中,不同的供應商占據著各自的一小部分。體現在研發上,就是數據格式多種多樣、工具鏈的接口不一,主機廠和自動駕駛公司不得不做很多的適配工作,研發的協同效應較差。
如果能有一家供應商可以提供數據閉環工具鏈的全棧解決方案,那下游客戶在使用大模型做數據閉環時就會輕松許多。
在國內,華為云就是極個別具備自動駕駛數據閉環工具鏈全棧自研能力的云廠商之一。除了給用戶提供大模型的能力外,華為云也可以提供數智融合架構、ModelArtsAI開發生產線、昇騰AI云服務等一系列配套設施,用戶可以在華為云的自動駕駛開發平臺上同時實現數據加速、算法加速和算力加速。
3.1 數智融合架構實現數據加速
在實際使用中,“數據孤島”是困擾各位研發工程師的一大問題。數據孤島問題包括但不限于數據格式不一致、工具鏈接口不一、工具分散在不同的平臺導致協同困難等。
針對這些問題,華為云一方面盡力找到各家主機廠以及自動駕駛公司的需求“公約數”,將工具鏈打造得更加通用,省去很多適配工作;另一方面把數據生產線和AI生產線融合到一起,通過一個統一的原數據管理平臺實現數據的無縫流轉,在該平臺上,工程師可以很方便地在全域數據內使用預置AI算法,將盤古大模型以API和工作流的方式集成到整體的數智融合架構中,從而可以很方便地調用盤古大模型的能力。
3.2 ModelArts AI開發生產線實現算法加速
ModelArts AI開發生產線包含DataTurbo、TrainTurbo、InferTurbo 3部分,分別提供數據加載、模型訓練、模型推理的加速工具,倍速提升模型訓練效率。
3.2.1 DataTurbo實現數據加載加速
當模型變大后,用于訓練模型的數據也會相應增加,相應地,數據讀寫效率就成為了一個對模型訓練速度影響很大的因素。
DataTurbo將計算集群本地的高速SSD盤組建成統一的分布式緩存系統,算法從后端OBS初次讀取訓練數據時系統會自動將數據緩存,后續訓練數據從近計算緩存直接獲取,大幅提升數據加載性能。DataTurbo的分布式緩存數據讀取帶寬可以做到隨計算集群節點擴容而線性擴展,最高可達1TB/s以上。
3.2.2 TrainTurbo實現模型訓練加速
神經網絡由很多基礎的算子排列組合而來,因此,優化算子是提高模型訓練效率的重要方式。
主流的AI訓練框架(如PyTorch、TensorFlow等)由于需要盡可能地保證通用性,提供的算子一般都很基礎。
在實踐中,企業可以根據自己的需求,對算子做一些針對性的優化。華為、商湯、字節跳動、百度等公司都開發了自己的AI訓練框架,并對算子做了針對性的優化,從而提高模型訓練效率。
其中,華為由于從底層硬件到工具鏈再到AI模型的訓練框架,都實現了全棧自主,那么,工程師就更容易對算子做軟硬聯合調優,因而,在TrainTurbo中,用戶可以享受到更極致的訓練性能。
3.2.3 InferTurbo實現模型推理加速
在模型推理環節,InferTurbo采用算子并行、多流并行、顯存復用、低bit量化等方法,針對不同的框架、操作系統進行調優。
以多流并行為例,推理任務中通常需要執行函數計算、數據在多個GPU設備間拷貝或轉移等幾個操作。InferTurbo把一個大任務中的上述幾部分拆分開,放到多個流中,每次只對一部分數據進行拷貝、計算和回寫,將數據拷貝和函數計算同步執行,形成流水線,能獲得非常大的性能提升。
經過多種方式的優化后,InfeTurbo在確保模型精度的前提下,可以將推理性能提升2-5倍。
3.3 昇騰AI云服務實現算力加速
為了應對模型訓練的算力需求,各家科技公司、主機廠等紛紛開始自建/合建算力中心,打造算力集群。華為云在烏蘭察布和貴安數據中心同時上線了昇騰AI云服務,為模型訓練提供澎湃算力,單集群性能可達2000P Flops,給業界提供了更好的選擇。
大規模的算力集群通常會面臨業務連續性的問題,因為單點故障就可能導致整個大規模分布式任務失敗。
當然,這一問題并非無解。至少,華為云就不會被這個問題困擾。
為保證訓練任務不中斷,華為云開發了斷點續訓的方法,假如在訓練過程中出現了單點故障,系統會將這個點排除掉,用新的節點替換掉故障節點,并且原地重啟。據悉,昇騰AI云服務可以實現千卡訓練一個月以上不中斷,斷點恢復時長不超過10分鐘。
今年以來,各大車企都在積極進軍城市NOA。自動駕駛技術有望“跨越鴻溝”,從科技嘗鮮者的圈層突破到大眾圈層。
當然,并非所有公司都有能力抓住這一契機。
如果不出意料的話,我們將會看到,自動駕駛在進入下半場之后,那些無法在數據閉環能力上取得突破的公司,將一方面同時被“高成本”和“低效率”拖累,另一方面因為對corner case的解決能力無法取得突破而難以令終端消費者滿意。
事實上,只有那些真正掌握了數據閉環能力的公司,或者更近一步說,那些能將大模型等技術運用好從而打造出一套高效的數據閉環系統的公司,才算是拿到了自動駕駛下半場的“入場券”。
當然,對數據閉環能力的掌握,未必要所有東西全部通過自研來實現。因為,普通公司的資源不是特別充沛的情況下,把自研做得太重,反而可能導致競爭力被削弱。在這種情況下,自己只研發數據閉環系統的應用層,而底層基礎設施跟有實力的供應商來合作,是更可行的選擇。
在這樣一個行業拐點時刻,華為云將盤古大模型、算力、工具鏈等數據閉環基礎設及開發平臺開放出來,將幫助主機廠和自動駕駛科技公司加速自動駕駛的算法迭代。
我們期待,在產業界各方的努力下,自動駕駛技術能早日取得突破,讓大家感受到科技帶來的便利。
關鍵詞:
