成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

萬字長文說清大模型在自動駕駛領(lǐng)域的應(yīng)用

人工智能 新聞
隨著ChatGPT的出現(xiàn),人們發(fā)現(xiàn),當(dāng)模型的參數(shù)量到了一定程度之后,呈現(xiàn)出的效果不只是“性能變好”,而是“超出預(yù)期的好”。

隨著ChatGPT的火爆,大模型受到的關(guān)注度越來越高,大模型展現(xiàn)出的能力令人驚嘆。

在圖片生成、推薦系統(tǒng)、機器翻譯等領(lǐng)域,大模型已經(jīng)開始發(fā)揮作用。給定一些提示詞,圖片生成網(wǎng)站Midjourney生成的設(shè)計圖甚至已經(jīng)超過了很多專業(yè)設(shè)計師的水平。

大模型為什么可以表現(xiàn)出令人驚嘆的能力呢?為什么模型的參數(shù)量變大、容量變大,性能就會相應(yīng)地變好呢?

某AI算法公司的專家告訴筆者:模型的參數(shù)量增加,可以理解為模型的維度升高,也就是說我們可以用更復(fù)雜的方式來模擬真實世界的規(guī)律。拿一個最簡單的場景來舉例,在一個平面圖上給一個散點圖,假如我們用一條直線(一個一元函數(shù))來刻畫圖上的散點出現(xiàn)的規(guī)律,那么不管參數(shù)是多少,總會有一些點在這條直線之外。假如我們用一條拋物線(一個二元函數(shù))來刻畫這些點的規(guī)律,那么就會有更多的點可以落在這條線上。隨著函數(shù)的升維,或者說自由度的增加,會有越來越多的點落在這條線上,也就是說對這些點的規(guī)律擬合得更加精準(zhǔn)。

也就是說,模型的參數(shù)量越大,模型就越容易擬合海量數(shù)據(jù)的規(guī)律。

而隨著ChatGPT的出現(xiàn),人們發(fā)現(xiàn),當(dāng)模型的參數(shù)量到了一定程度之后,呈現(xiàn)出的效果不只是“性能變好”,而是“超出預(yù)期的好”。

在NLP(自然語言處理)領(lǐng)域存在一個學(xué)界和工業(yè)界還無法解釋具體原理但令人很興奮的現(xiàn)象:“涌現(xiàn)”(Emerging Ability)。

何為“涌現(xiàn)”?“涌現(xiàn)”是指,當(dāng)模型的參數(shù)量呈線性增加到一定程度的時候,模型的精度呈指數(shù)型增加。

我們可以看一個圖,下圖左邊展示了比例定律(Scaling Law),這是在2022年之前,OpenAI的研究者發(fā)現(xiàn)的現(xiàn)象,也就是說隨著模型參數(shù)規(guī)模呈指數(shù)增長時,模型的精度會隨之線性增加。左圖的模型參數(shù)也不是指數(shù)級增長 而是線性增長

到了2022年1月,有研究者發(fā)現(xiàn),當(dāng)模型的參數(shù)規(guī)模超過一定程度時,模型精度提升的程度明顯超過比例曲線,如下圖右所示。 

圖片

“涌現(xiàn)”示意圖

落實到應(yīng)用層面,我們會發(fā)現(xiàn),大模型可以實現(xiàn)一些小模型無法實現(xiàn)的任務(wù),例如大模型能做加減法、能做簡單的推理等。

怎樣的模型可以稱之為大模型呢?

一般來說,我們認(rèn)為參數(shù)量過億的模型都可以稱之為“大模型”。而在自動駕駛領(lǐng)域,大模型主要有兩種含義:一種是參數(shù)量過億的模型;另一種是由多個小模型疊加在一起組成的模型,雖然參數(shù)量不過億,但也被稱為“大模型”。

按照這樣的定義,在自動駕駛領(lǐng)域,大模型已經(jīng)開始被廣泛運用了。在云端,我們可以發(fā)揮模型參數(shù)量增加帶來的容量優(yōu)勢,用大模型完成一些數(shù)據(jù)挖掘、數(shù)據(jù)標(biāo)注等任務(wù)。在車端,我們可以把分管不同子任務(wù)的多個小模型合并成一個“大模型”,這樣可以節(jié)省車端計算環(huán)節(jié)的推理時間,增加安全性。

具體來說,大模型可以如何發(fā)揮作用呢?根據(jù)筆者與各位業(yè)內(nèi)專家交流得到的信息,業(yè)界目前主要是在感知領(lǐng)域使用大模型。接下來,我們將分別介紹在云端和車端,大模型如何賦能感知任務(wù)。

01

大模型的應(yīng)用

1.1  大模型在云端的應(yīng)用

1.1.1 數(shù)據(jù)自動標(biāo)注

采用大模型預(yù)訓(xùn)練的方式可以實現(xiàn)自動標(biāo)注。以視頻的clip標(biāo)注為例,可以先用海量未標(biāo)注的clip數(shù)據(jù)通過自監(jiān)督的方式預(yù)訓(xùn)練一個大模型,然后用少量已經(jīng)人工標(biāo)注好的clip數(shù)據(jù)對模型做微調(diào),使得模型具備檢測能力,這樣模型就可以自動標(biāo)注clip數(shù)據(jù)。

模型的標(biāo)注精度相對越高,對人的替代程度相應(yīng)也越高。

目前,很多公司都在研究如何提高大模型自動標(biāo)注的精度,以期精度達(dá)標(biāo)后實現(xiàn)自動標(biāo)注的完全無人化。

商湯絕影智能駕駛產(chǎn)品總監(jiān)Leo告訴筆者:我們做過評測,對于道路上的常見目標(biāo)物,商湯大模型自動標(biāo)注精度可以達(dá)到98%以上,如此一來,后續(xù)的人工復(fù)審環(huán)節(jié)就可以十分精簡。

商湯絕影在智能駕駛產(chǎn)品開發(fā)過程中,目前絕大多數(shù)的感知任務(wù)都已經(jīng)引入大模型自動預(yù)標(biāo)注,相比于以往,獲取同等數(shù)量的數(shù)據(jù)樣本,標(biāo)注周期和標(biāo)注成本都可以縮減數(shù)十倍以上,顯著提高了開發(fā)效率。 

一般來說,大家對標(biāo)注任務(wù)的期望主要包括標(biāo)注過程的效率高、標(biāo)注結(jié)果的精確程度高以及一致性高。效率高和精確度高都很容易理解,一致性高是指什么呢?在3D識別的BEV算法中,工程師要采用激光雷達(dá)加視覺的聯(lián)合標(biāo)注,需要聯(lián)合處理點云和圖像數(shù)據(jù)。在這種處理環(huán)節(jié)里面,工程師可能還會需要在時序?qū)用嫔献鲆恍?biāo)注,那么前后幀的結(jié)果就不能區(qū)別太大。

假如采用人工標(biāo)注,標(biāo)注效果有賴于標(biāo)注員的標(biāo)注水平,標(biāo)注人員水平的參差不齊可能導(dǎo)致標(biāo)注結(jié)果的前后不一致,可能會出現(xiàn)一張圖里標(biāo)注框較大,接下來的一張比較小的情況,而大模型的標(biāo)注結(jié)果前后一般比較一致。

但也有業(yè)內(nèi)專家反映,用大模型做自動標(biāo)注落實到實際應(yīng)用上,還會有一些困難,尤其是在自動駕駛公司和標(biāo)注公司的對接方面——很多自動駕駛公司都會把一部分標(biāo)注工作外包給標(biāo)注公司,還有的公司沒有內(nèi)部的標(biāo)注團隊,所有標(biāo)注工作都是外包的。

目前,采用大模型預(yù)標(biāo)注方式來標(biāo)注的目標(biāo)主要是一些動態(tài)的3D目標(biāo),自動駕駛公司會先用大模型針對需要標(biāo)注的視頻做一遍推理,然后把推理后的結(jié)果——模型生成的3D框給到標(biāo)注公司。先用大模型做預(yù)標(biāo)注,然后再把預(yù)標(biāo)注后的結(jié)果交給標(biāo)注公司的時候,主要會涉及到兩個問題:一個是有的標(biāo)注公司的標(biāo)注平臺不一定支持加載經(jīng)過預(yù)標(biāo)注的結(jié)果,另一個是標(biāo)注公司不一定愿意在預(yù)標(biāo)注后的結(jié)果上做修改。

標(biāo)注公司假如要加載預(yù)標(biāo)注的結(jié)果,需要有支持加載大模型生成的3D框的軟件平臺。然而,有的標(biāo)注公司可能主要采用人工標(biāo)注,他們就沒有支持加載模型預(yù)標(biāo)注結(jié)果的軟件平臺,如果和客戶對接時拿到的是模型預(yù)標(biāo)注后的結(jié)果,他們就沒有辦法承接。

此外,站在標(biāo)注公司的角度,只有預(yù)標(biāo)注的效果足夠好,他們才能真正“省力”,否則可能是在增加工作量。

假如預(yù)標(biāo)注的效果不夠好,標(biāo)注公司后續(xù)還是需要做很多工作,例如要把漏標(biāo)的框標(biāo)注出來、把標(biāo)注錯誤的框刪掉、把框的大小統(tǒng)一等。那么,采用預(yù)標(biāo)注可能并沒有真正幫他們減少工作量。

因此,在實際應(yīng)用中,是否采用大模型先做預(yù)標(biāo)注,需要自動駕駛公司和標(biāo)注公司共同衡量。

當(dāng)然了,目前人工標(biāo)注的成本較高——假如讓標(biāo)注公司完全從頭開始,1000幀視頻數(shù)據(jù)的人工標(biāo)注成本可能達(dá)到萬元級。因此,自動駕駛公司還是希望盡可能提高大模型預(yù)標(biāo)注的精度,盡可能降低人工標(biāo)注的工作量,從而降低標(biāo)注成本。

1.1.2 數(shù)據(jù)挖掘

大模型有較強的泛化性,適合用于對長尾數(shù)據(jù)的挖掘。

文遠(yuǎn)知行的某位專家告訴筆者:假如采用傳統(tǒng)的基于標(biāo)簽的方式來挖掘長尾場景,模型一般只能分辨已知的圖像類別。2021年,OpenAI發(fā)布了CLIP模型(一種文字——圖像多模態(tài)模型,可以在無監(jiān)督預(yù)訓(xùn)練之后將文本和圖像對應(yīng),從而基于文本對圖片進(jìn)行分類,而非只能依賴于圖片的標(biāo)簽),我們也可以采用這樣的文字-圖像多模態(tài)模型,用文字描述來檢索drive log中的圖像數(shù)據(jù)。例如,‘拖著貨物的工程車輛’、‘兩個燈泡同時亮著的紅綠燈’等長尾場景。

另外,大模型可以較好地從數(shù)據(jù)中提取特征,然后找到有相似特征的目標(biāo)。

假設(shè)我們希望從很多圖片中找到包含環(huán)衛(wèi)工人的圖片,不需要先專門給圖片打好標(biāo)簽, 可以用大量包含環(huán)衛(wèi)工人的圖片給大模型做預(yù)訓(xùn)練,大模型就可以從中提取出一些環(huán)衛(wèi)工人的特征。然后,再從圖片中找到和環(huán)衛(wèi)工人的特征比較匹配的樣本,從而挖掘出幾乎所有包含環(huán)衛(wèi)工人的圖片。

1.1.3 用知識蒸餾的方式“教”小模型

大模型還可以采用知識蒸餾的方式“教”小模型。

何為知識蒸餾呢?用最通俗的話來解釋,就是大模型先從數(shù)據(jù)中學(xué)到一些知識,或者說提取到一些信息,然后再用學(xué)到的知識“教”小模型。

在實踐中,可以先把需要打標(biāo)簽的圖片給大模型學(xué)習(xí),大模型可以給這些圖片打好標(biāo)簽,如此一來,我們就有了標(biāo)注好的圖片,將這些圖片拿來訓(xùn)練小模型,就是一種最簡單的知識蒸餾方式。

當(dāng)然了,我們也可以采用更復(fù)雜的方式,如先用大模型從海量數(shù)據(jù)中提取特征,這些提取出來的特征可以用來訓(xùn)練小模型。或者說,我們還可以設(shè)計得更復(fù)雜,在大模型和小模型之間再加一個中模型,大模型提取的特征先訓(xùn)練中模型,然后再用訓(xùn)練好的中模型提取特征,交給小模型使用。工程師可以按照自己的需求選擇設(shè)計方式。

筆者從小馬智行了解到,基于大模型提取的特征進(jìn)行蒸餾并finetune,可以得到行人注意力、行人意圖識別等小模型,并且,由于在特征提取階段是共用一個大模型,計算量可以減少。

1.1.4 測車端模型的性能上限

大模型還可以用來測試車端模型的性能上限。有的公司在考慮車端要部署什么模型的時候,會先把幾個備選模型在云端測試,看增加參數(shù)量后,哪個模型的效果最好,性能最好可以到什么程度。

然后,把效果最好的模型作為基礎(chǔ)模型,然后對基礎(chǔ)模型做裁剪和優(yōu)化后部署到車端。

1.1.5 自動駕駛場景的重建和數(shù)據(jù)生成

毫末智行在2023年1月的AI DAY上提到:“采用NeRF技術(shù),我們可以將場景隱式地存儲在神經(jīng)網(wǎng)絡(luò)中,然后通過渲染圖片的監(jiān)督學(xué)習(xí),學(xué)出場景的隱式參數(shù),然后就可以進(jìn)行自動駕駛場景的重建。”

例如,我們可以在網(wǎng)絡(luò)中輸入圖片、對應(yīng)的位姿以及帶顏色的場景密集點云,基于點柵格網(wǎng)絡(luò)將帶顏色的點云依據(jù)輸入圖片的pose在不同的分辨率上進(jìn)行柵格化,生成多個尺度下的neural descriptors,然后通過網(wǎng)絡(luò)對不同尺度下的特征進(jìn)行融合。

然后,將生成的密集點云的descriptor、位置以及對應(yīng)的相機參數(shù)和圖片的曝光參數(shù)等信息輸入到后續(xù)網(wǎng)絡(luò)中進(jìn)行可微調(diào)tone mapping,便可以合成出顏色和曝光比較一致的圖片。

如此一來,我們便可以實現(xiàn)場景的重建。然后,我們可以通過改變視角、改變光照、改變紋理材質(zhì)的方法來生成各種高真實感數(shù)據(jù),例如通過視角變化可以模擬變道、繞行、調(diào)頭等各種主車行為,甚至模擬一些即將碰撞的高危險性場景數(shù)據(jù)。

1.2  大模型在車端的應(yīng)用

1.2.1 合并用于檢測不同任務(wù)的小模型

在車端運用大模型,主要形式是把處理不同子任務(wù)的小模型合并,形成一個“大模型”,然后來做聯(lián)合推理。這里的“大模型”并不是傳統(tǒng)意義上參數(shù)量很大——例如參數(shù)過億的大模型,當(dāng)然了,合并后的模型與處理不同子任務(wù)的小模型相比會大很多。

在傳統(tǒng)的車端感知模型中,處理不同子任務(wù)的模型是獨立做推理的。例如車道線檢測任務(wù)由一個模型負(fù)責(zé),紅綠燈檢測任務(wù)由一個模型負(fù)責(zé),隨著感知任務(wù)的增加,工程師會在系統(tǒng)中相應(yīng)地增加感知特定目標(biāo)的模型。

以前的自動駕駛系統(tǒng)功能較少,感知任務(wù)相對容易,但是隨著自動駕駛系統(tǒng)功能的升級,感知任務(wù)越來越多,假如仍然采用不同任務(wù)單獨用負(fù)責(zé)相應(yīng)任務(wù)的小模型來單獨推理的方式,系統(tǒng)延遲會太大,存在安全隱患。

覺非科技的BEV多任務(wù)感知框架中,是將不同目標(biāo)的單任務(wù)感知小模型進(jìn)行合并,構(gòu)成一個能同時輸出靜態(tài)信息——包括車道線、地面箭頭、路口的斑馬線、停止線等,還有動態(tài)信息——包括交通參與者的位置、大小、朝向等。覺非科技的BEV多任務(wù)感知算法框架如下圖所示:

圖片

 覺非科技BEV多任務(wù)感知算法框架示意圖

該多任務(wù)感知模型實現(xiàn)了特征的時序融合——將歷史時刻的 BEV 特征存入特征隊列,在推理階段,以當(dāng)前時刻的自車坐標(biāo)系為基準(zhǔn),根據(jù)自車運動狀態(tài)對歷史時刻的BEV特征做時空對齊 (包括特征旋轉(zhuǎn)、平移),再將對齊后的歷史時刻BEV特征與當(dāng)前時刻的 BEV 特征進(jìn)行拼接。

在自動駕駛場景中,時序融合能夠提高感知算法的準(zhǔn)確性,一定程度上彌補單幀感知的局限。以圖中所示 3D 目標(biāo)檢測子任務(wù)為例,有了時序融合,感知模型可以檢測到一些單幀感知模型無法檢測到的目標(biāo) (例如當(dāng)前時刻被遮擋的目標(biāo)),還可以更加準(zhǔn)確地判斷目標(biāo)的運動速度,以及輔助下游任務(wù)做目標(biāo)的軌跡預(yù)測。

覺非科技BEV感知技術(shù)負(fù)責(zé)人戚玉涵博士告訴筆者:采用這樣的模型架構(gòu),在感知任務(wù)變得越來越復(fù)雜的時候,多任務(wù)聯(lián)合感知的框架能保證感知實時性,也能輸出更多、更準(zhǔn)確的感知結(jié)果提供給自動駕駛系統(tǒng)下游使用。

然而,多任務(wù)小模型的合并也會帶來一些問題。從算法層面上來說,合并之后模型在不同子任務(wù)上的表現(xiàn)可能會有“回退”現(xiàn)象——即模型檢測的性能比獨立的單任務(wù)模型下降。雖然由不同的小模型合并而成的大模型的網(wǎng)絡(luò)結(jié)構(gòu)仍然可以很精巧,但是合并后的模型需要解決多任務(wù)聯(lián)合訓(xùn)練的問題。

多任務(wù)聯(lián)合訓(xùn)練中,各個子任務(wù)可能無法做到同時、同步收斂,且各任務(wù)之間會受到“負(fù)遷移”的影響,合并后的模型就會在某些特定任務(wù)上出現(xiàn)精度的“回退”。算法團隊需要盡可能地優(yōu)化合并的模型結(jié)構(gòu),調(diào)整聯(lián)合訓(xùn)練的策略,降低“負(fù)遷移”現(xiàn)象的影響。

1.2.2 物體檢測

一位業(yè)內(nèi)專家告訴筆者:一些真值比較固定的物體適合用大模型來檢測。

那么,什么是真值比較固定的物體呢?

所謂真值固定的物體,就是真值不會被天氣、時間等因素影響的物體,例如車道線、立柱、燈柱、交通燈,斑馬線、地庫的停車線、停車位等,這些物體存在與否、位置在哪里都是固定的,不會因為下雨或者天黑等因素改變,只要車輛經(jīng)過相應(yīng)的區(qū)域,他們的位置都是固定的。這樣的物體就適合用大模型來檢測。

1.2.3 車道拓?fù)漕A(yù)測

某自動駕駛公司在公司的AI  DAY 上提到:“我們在BEV的feature map的基礎(chǔ)之上,以標(biāo)精地圖作為引導(dǎo)信息,使用自回歸編解碼網(wǎng)絡(luò)將BEV特征解碼為結(jié)構(gòu)化的拓?fù)潼c序列,實現(xiàn)車道拓?fù)漕A(yù)測。”

02

如何用好大模型

在工業(yè)界開源的趨勢下,基礎(chǔ)的模型框架早已不是秘密。很多時候,決定一家公司能不能做出好產(chǎn)品的是工程能力。

工程能力決定了當(dāng)我們想到一些可能對系統(tǒng)能力提升有效的方法時,是否能快速地驗證這一想法的可行性。Tesla和Open AI很大的共同點就是這兩家公司的工程化能力都很強,他們可以用最快的速度檢驗一個想法的可靠性,然后把大規(guī)模的數(shù)據(jù)運用到選定的模型上。

要在實踐中充分發(fā)揮大模型的能力,公司的工程能力非常重要。接下來,我們將按照模型研發(fā)的流程來闡述用好大模型需要怎樣的工程能力。

2.1  升級數(shù)據(jù)存儲、文件傳輸系統(tǒng)

大模型的參數(shù)量很大,相應(yīng)地,用于訓(xùn)練大模型的數(shù)據(jù)量也很大。例如,特斯拉的算法團隊大概用了14億張圖片來訓(xùn)練團隊去年在AI day上講到的3D-occupancy network 。

實際上,圖片量的初始值大概會是實際使用數(shù)量的幾十倍或者上百倍,因為我們需要先從海量數(shù)據(jù)中篩選出對模型訓(xùn)練有價值的數(shù)據(jù),因此,既然用于模型訓(xùn)練的圖片是14億張,那原始圖片的數(shù)量一定遠(yuǎn)大于14億。

那么,如何存儲百億量級甚至是千億量級的圖片數(shù)據(jù)?這對文件讀取系統(tǒng)和數(shù)據(jù)存儲系統(tǒng)都是一個巨大的挑戰(zhàn)。尤其是,當(dāng)前自動駕駛數(shù)據(jù)是clip形式,且文件數(shù)量規(guī)模大,對小文件隨即存儲的效率要求很高。

為了應(yīng)對這樣的挑戰(zhàn),業(yè)內(nèi)有公司對數(shù)據(jù)采用切片存儲的方式,然后采用分布式的架構(gòu)來支持多用戶、多并發(fā)的訪問,數(shù)據(jù)的吞吐帶寬可達(dá)到100G/s,I/O延遲可低至2毫秒。所謂多用戶,是指很多用戶同時訪問某個數(shù)據(jù)文件;多并發(fā),是指在多個線程里都需要訪問某個數(shù)據(jù)文件,例如工程師在訓(xùn)練一個模型的時候,采用了多線程,每個線程都需要用到某一個數(shù)據(jù)文件。

2.2  高效地找到合適的網(wǎng)絡(luò)架構(gòu)

有了大數(shù)據(jù),如何保證模型對數(shù)據(jù)信息抽象得比較好呢?這就需要模型有適合用于相應(yīng)任務(wù)的網(wǎng)絡(luò)架構(gòu),這樣才能充分發(fā)揮模型的參數(shù)量大這一優(yōu)勢,讓模型具備較強的信息提取能力。

商湯大模型研發(fā)高級經(jīng)理Lucas告訴筆者:我們有一套標(biāo)準(zhǔn)化的、工業(yè)級的半自動超大模型設(shè)計的體系,依靠這個體系,在設(shè)計超大模型的網(wǎng)絡(luò)架構(gòu)時,可以用一套神經(jīng)網(wǎng)絡(luò)搜索系統(tǒng)做底座,找到最適合去學(xué)習(xí)大規(guī)模數(shù)據(jù)的網(wǎng)絡(luò)架構(gòu)。

設(shè)計小模型的時候,大家主要依靠人工來設(shè)計、調(diào)優(yōu)、迭代,最終得到一個效果令人滿意的模型,雖然這個模型不一定是最優(yōu)的,但是在迭代后,基本能夠滿足要求。

而在面對大模型的時候,由于大模型的網(wǎng)絡(luò)結(jié)構(gòu)非常復(fù)雜,假如用人工來設(shè)計、調(diào)優(yōu)和迭代,對算力的消耗很大,相應(yīng)地成本也很高。那么,如何在有限的資源下,快速地、高效地設(shè)計出效果足夠好的一種網(wǎng)絡(luò)架構(gòu)來用于訓(xùn)練就是一個需要解決的問題。

Lucas解釋道:我們有一套算子庫,模型的網(wǎng)絡(luò)結(jié)構(gòu)可以看成是一套算子的排列組合。這個工業(yè)級的搜索系統(tǒng),可以在設(shè)定基本參數(shù)——包括多少層網(wǎng)絡(luò)、參數(shù)量多大的前提下,計算如何對算子做排列組合,可以實現(xiàn)較好的模型效果。

模型效果可以根據(jù)一些指標(biāo)來評定,包括對一些數(shù)據(jù)集的預(yù)測精度、模型運行時的顯存占用、模型運行時間等。給這些指標(biāo)賦予相應(yīng)的權(quán)重,我們就可以據(jù)此來不斷迭代直至找到滿意的模型。當(dāng)然了,在搜索過程中,我們會先用一些小場景來初步評估模型效果。

在評估模型效果的時候,如何選擇一些較有代表性的場景呢?

一般來說可以選用一些通用的場景。設(shè)計網(wǎng)絡(luò)架構(gòu)主要是為了保證模型具備從大量數(shù)據(jù)中提取關(guān)鍵信息的能力,而不是希望模型可以針對性地學(xué)習(xí)到某些特定場景的特征,因此,雖然在確定好模型的架構(gòu)之后,會用模型去完成一些挖掘長尾場景的任務(wù),但是在挑選模型架構(gòu)的時候,會用通用場景來評估模型的能力。

有了高效率、高精度的神經(jīng)網(wǎng)絡(luò)搜索系統(tǒng),計算效率和計算精度足夠高,模型效果才能快速地收斂,才能在一個龐大的空間里快速地找到一個效果好的網(wǎng)絡(luò)架構(gòu) 。

2.3  提高模型訓(xùn)練效率

在前面的基礎(chǔ)工作做好后,我們就來到了訓(xùn)練環(huán)節(jié),訓(xùn)練環(huán)節(jié)有很多值得優(yōu)化的地方。

2.3.1 優(yōu)化算子

神經(jīng)網(wǎng)絡(luò)可以理解為由很多基礎(chǔ)的算子排列組合而來,算子的計算一方面占用算力資源,另一方面會占用內(nèi)存。假如可以對算子做優(yōu)化,讓算子的計算效率提高,那么訓(xùn)練效率就能提高。

目前市面上已經(jīng)有一些AI的訓(xùn)練框架——例如PyTorch、TensorFlow等,這些訓(xùn)練框架可以提供基礎(chǔ)的算子供機器學(xué)習(xí)工程師們調(diào)用,從而構(gòu)建自己的模型。有的企業(yè)會構(gòu)建自己的訓(xùn)練框架,對底層算子做優(yōu)化,以期提高訓(xùn)練效率。

PyTorch、TensorFlow由于需要盡可能地保證通用性,提供的算子一般都很基本。企業(yè)可以根據(jù)自己的需求,將基本的算子做融合,省去存儲中間結(jié)果的步驟,節(jié)省顯存占用,避免性能損失。

此外,針對一些特定算子由于在計算時對中間結(jié)果的依賴度高從而無法很好地利用GPU的并行性的問題,業(yè)內(nèi)有公司自己構(gòu)建了加速庫,降低這些算子對中間結(jié)果的依賴度,從而使得計算過程可以充分發(fā)揮GPU的并行計算優(yōu)勢,提高了訓(xùn)練速度。

例如,在四種主流 Transformer 模型上,字節(jié)跳動的LightSeq 在 PyTorch 的基礎(chǔ)上取得了最高 8 倍的加速。

2.3.2 用好并行策略

并行計算是一種“用空間換時間”的方法,也就是把沒有計算依賴的數(shù)據(jù)盡可能并行,把大批量拆分成小批量,減少每個計算步驟中的 GPU 空閑等待時間,提高計算吞吐量。

目前很多公司都采用了PyTorch這個訓(xùn)練框架,這個訓(xùn)練框架里有DDP模式——作為一種分發(fā)式數(shù)據(jù)并行的訓(xùn)練模式,DDP模式設(shè)計了一個數(shù)據(jù)分發(fā)機制從而可以支持多機多卡訓(xùn)練,例如一個公司有8臺服務(wù)器,每臺服務(wù)器上有8張卡,那么我們就可以同時使用64張卡來訓(xùn)練。

沒有這個模式的時候,工程師只能采用單機多卡的方式來訓(xùn)練模型。假設(shè)我們現(xiàn)在用10萬張圖片的數(shù)據(jù)來訓(xùn)練模型,在單機多卡模式下,訓(xùn)練時間會超過一周。假如我們希望用訓(xùn)練結(jié)果評估某個猜想,或者想從幾個備選模型中挑選出效果最好的一個,這樣的訓(xùn)練時長使得快速驗證猜想快速檢驗?zāi)P托Ч璧牡却芷诤荛L。那么研發(fā)效率就很低。

而采用多機多卡并行訓(xùn)練,實驗結(jié)果大部分在2-3天都可以看到,如此一來,驗證模型效果的流程就快了很多。

在具體的并行方式上,主要可以采用模型并行和Sequence并行。

模型并行又可以分為Pipeline并行和Tensor并行,如下圖所示。

圖片

 Pipeline并行和tensor并行示意圖,圖來自英偉達(dá)

Pipeline 并行也就是層間并行(圖中上半部分),工程師在訓(xùn)練過程中可以記將模型的不同層劃分到不同的 GPU 進(jìn)行計算。例如圖中上半部分所示,綠色部分的層和藍(lán)色部分可以在不同的GPU上做計算。

Tensor 并行也就是層內(nèi)并行(圖中下半部分),工程師可以將一個層的計算劃分到不同的 GPU 上。這種模式適合用于大矩陣的計算,因為可以實現(xiàn) GPU 之間的負(fù)載均衡,但通信次數(shù)和數(shù)據(jù)量都比較大。

模型并行之外,還有Sequence并行,由于Tensor 并行沒有對 Layer-norm 以及 Dropout 做拆分,因此這兩個算子在每個 GPU 之間會重復(fù)計算,雖然這個計算的量不大,但卻非常占用激活顯存。

為了解決這個問題,在實際過程中,我們可以利用Layer-norm 和 Dropout 沿著序列的維度是相互獨立的這一特性(即不同層之間的Layer_norm和Dropout之間互不影響),對Layer-norm和Dropout做拆分,如下圖所示。這樣拆分的好處在于不會增加通信量,并且可以大大減少顯存占用。

圖片

 Sequence并行示意圖,圖來自英偉達(dá)

在實踐中,不同的模型適合的并行策略有差異,工程師需要根據(jù)模型的特點,還有采用的硬件的特點以及中間的計算流程,不斷調(diào)試后再找到合適的并行策略。

2.3.3 用好“稀疏”性

在模型訓(xùn)練的時候,還要用好稀疏性,也就是未必每個神經(jīng)元都要被“激活”——即在添加訓(xùn)練數(shù)據(jù)的時候,不是每個模型參數(shù)都要根據(jù)新添加的數(shù)據(jù)做更新,而是一部分模型參數(shù)保持不變,一部分模型參數(shù)隨新添加的數(shù)據(jù)更新。

好的稀疏處理可以確保在保證精度的同時提升模型的訓(xùn)練效率。

例如,在感知任務(wù)中,當(dāng)有新的圖片傳入時,可以選擇需要根據(jù)這些圖片來更新的參數(shù),從而針對性地做特征提取。

2.3.4 統(tǒng)一處理基本信息

一般來說,公司內(nèi)部不止會用到一個模型,這些模型可能會用到相同的數(shù)據(jù),例如大部分模型都要用到視頻數(shù)據(jù)。假如每個模型都把視頻數(shù)據(jù)加載并處理一遍,會存在大量重復(fù)計算。我們可以把多數(shù)模型都需要用到的視頻、點云、地圖、CAN信號等各種模態(tài)的信息統(tǒng)一進(jìn)行處理,這樣不同的模型就可以復(fù)用處理結(jié)果。

2.3.5 優(yōu)化硬件配置

在實際使用分布式訓(xùn)練的時候,可能會用到1000臺機器,如何從存儲數(shù)據(jù)的不同服務(wù)器中獲取訓(xùn)練過程中的中間結(jié)果——例如梯度,然后再做一個超大規(guī)模的分布式訓(xùn)練,是一個很大的挑戰(zhàn)。

要應(yīng)對這個挑戰(zhàn),首先就需要考慮好CPU、GPU等該如何配置、網(wǎng)卡該如何選型、網(wǎng)卡快,機器間的傳輸才能快。

其次需要同步參數(shù)和保存中間結(jié)果,但是當(dāng)規(guī)模很大的時候,這件事情就會變得非常困難,這會涉及到一些網(wǎng)絡(luò)通信的工作。

另外,整個訓(xùn)練的過程時間很長,那么集群的穩(wěn)定性就需要很高。

03

繼續(xù)增加模型參數(shù)有意義嗎

既然大模型已經(jīng)能夠在自動駕駛領(lǐng)域發(fā)揮一些作用,假如我們繼續(xù)增加模型參數(shù),可以期待大模型能展現(xiàn)出一些令人驚嘆的效果嗎?

根據(jù)筆者與自動駕駛領(lǐng)域的算法專家交流的結(jié)果,目前的答案恐怕是否定的,因為上文提到的“涌現(xiàn)”現(xiàn)象尚未在CV(計算機視覺)領(lǐng)域出現(xiàn)。目前大家在自動駕駛領(lǐng)域用的模型參數(shù)量遠(yuǎn)小于ChatGPT的參數(shù)量。因為在沒有“涌現(xiàn)”效果出現(xiàn)的時候,模型性能提升和參數(shù)量增加之間大致呈線性關(guān)系,考慮到成本約束,各企業(yè)尚未將模型的參數(shù)量做到極大。

為什么計算機視覺領(lǐng)域尚未出現(xiàn)“涌現(xiàn)”現(xiàn)象呢?某位專家的解釋是:

首先,雖然這個世界上的視覺數(shù)據(jù)遠(yuǎn)遠(yuǎn)多于文字?jǐn)?shù)據(jù),但是圖像數(shù)據(jù)是稀疏的,即大部分照片里可能都沒有多少有效的信息,而且每張圖片里大部分像素都沒有提供有效信息。假如我們?nèi)∫粡堊耘恼眨酥虚g的人臉,背景區(qū)域都沒有有效信息。

其次,圖像數(shù)據(jù)存在顯著的尺度變化,并且完全非結(jié)構(gòu)化。尺度變化是說包含同一個語義的object在相應(yīng)的圖片中可大可小。例如,我先拍一張自拍照,然后請距離較遠(yuǎn)的朋友再幫我拍一張照片,在這兩張照片里,臉在照片里占據(jù)的比例差異很大。非結(jié)構(gòu)化,是指每個像素之間的關(guān)系是不確定的。

但在自然語言處理領(lǐng)域,語言由于是人與人之間交流的工具,上下文之間通常是有關(guān)聯(lián)的,而且每句話的信息密度一般較大,并且不存在尺度變化的問題,例如,在任何一個語種里,“蘋果”這個詞通常都不會太長。

因此,視覺數(shù)據(jù)的理解本身就會比自然語言更難。

某位業(yè)內(nèi)專家告訴筆者:雖然我們可以預(yù)期模型的性能會隨著參數(shù)量增加而提升,但是目前繼續(xù)增加參數(shù)量的性價比較低。

舉例來講,假如我們把模型的容量在現(xiàn)有基礎(chǔ)上擴大十倍,它的相對錯誤率能下降90%。這個時候模型已經(jīng)可以完成一些人臉識別等計算機視覺的任務(wù)。假如此時我們把模型的容量繼續(xù)擴大十倍,相對錯誤率繼續(xù)下降90%,但是它能實現(xiàn)的價值卻沒有提高十倍,那么我們就沒有必要繼續(xù)擴大模型容量。

擴大模型容量會帶來成本的上升,因為更大的模型需要更多的訓(xùn)練數(shù)據(jù)也需要更多的算力。當(dāng)模型的精度達(dá)到可接受范圍之后,我們需要在成本上升和精度提高之間做取舍,按照實際的需求在可接受精度情況下盡可能地降低成本。

雖然當(dāng)前仍然存在一些我們需要提高精度的任務(wù),但是大模型主要是在云端替代一些人工的工作,例如自動標(biāo)注、數(shù)據(jù)挖掘等都可以用人來做。假如成本太高,那么經(jīng)濟賬就“算不過來”。

但也有業(yè)內(nèi)專家告訴筆者:雖然目前還沒有到達(dá)質(zhì)變點,但是隨著模型的參數(shù)變多,數(shù)據(jù)量的增加,我們確實可以觀察到模型的精度一直在提升。模型精度的提升可以反哺自動化標(biāo)注,用來做標(biāo)注任務(wù)的模型的精度足夠高,標(biāo)注工作就可以減少很多人力。雖然訓(xùn)練成本會隨著模型規(guī)模的變大而增加,但目前成本和模型參數(shù)量基本呈線性關(guān)系。人力的減少可以抵消訓(xùn)練成本的增加,因此,整體上,增加參數(shù)量仍然是有收益的。

此外,在模型參數(shù)量增加的時候,我們也會采用一些方法提高訓(xùn)練效率從而盡可能降低訓(xùn)練成本。在現(xiàn)有的模型規(guī)模下,我們基本可以做到在保持成本基本不變的前提下,增加模型的參數(shù)量同時提高模型精度。相當(dāng)于可以使得模型的成本不隨著模型參數(shù)量的增加而線性增加,我們可以做到成本幾乎不增加或者僅有很小幅的增加。

04

大模型其他可能的應(yīng)用方式

除了上文提到的應(yīng)用,我們還可以如何發(fā)掘大模型的價值呢?

4.1  在感知領(lǐng)域

CMU Research Scientist Max告訴筆者:用大模型來實現(xiàn)感知任務(wù),核心不是堆疊參數(shù),而是要打造可以‘內(nèi)循環(huán)’的框架。如果整個模型無法實現(xiàn)內(nèi)循環(huán),或者說沒辦法實現(xiàn)不斷地在線訓(xùn)練,那就很難實現(xiàn)很好的效果。

那么,如何實現(xiàn)模型的“內(nèi)循環(huán)”呢?我們可以參考ChatGPT的訓(xùn)練框架,如下圖所示。

圖片

ChatGPT訓(xùn)練框架,圖摘自O(shè)pen AI官方網(wǎng)站

ChatGPT的模型框架,可以分為三個步驟:第一步有監(jiān)督學(xué)習(xí),工程師先采集并標(biāo)注一部分?jǐn)?shù)據(jù),然后用這部分?jǐn)?shù)據(jù)來訓(xùn)練模型;第二步是設(shè)計一個獎勵模型(Reward Model),模型可以自己輸出一些標(biāo)注結(jié)果;到了第三步,我們可以通過一個類似于強化學(xué)習(xí)的路徑,實現(xiàn)自監(jiān)督學(xué)習(xí),用更通俗的語言來講叫“自己和自己玩兒”,或者說“內(nèi)循環(huán)”。

只要到了第三步,模型就不再需要工程師加入標(biāo)注好的數(shù)據(jù),而是可以在拿到無標(biāo)注數(shù)據(jù)后自己計算loss,然后更新參數(shù),如此不斷循環(huán),最終完成訓(xùn)練。

“假如在做感知任務(wù)的時候,我們可以設(shè)計好合適的Reward Policy,讓模型訓(xùn)練不再依賴標(biāo)注數(shù)據(jù),就可以說模型實現(xiàn)了‘內(nèi)循環(huán)’,可以根據(jù)無標(biāo)注數(shù)據(jù)不斷地更新參數(shù)。”

4.2  在規(guī)劃領(lǐng)域

在圍棋等領(lǐng)域,每個步驟的好壞比較容易評判,因為我們的目標(biāo)一般只包括最終贏得對弈。

然而,在自動駕駛的規(guī)劃領(lǐng)域,人對自動駕駛系統(tǒng)表現(xiàn)出來的行為的評價體系是不清晰的。在保證安全之外,每個人對舒適度的感受不同,我們可能還希望盡可能快地到達(dá)目的地。

換到聊天場景中,機器人每次給的反饋到底是“好”還是“壞”,其實也不像圍棋那樣有非常清晰的評價體系。自定駕駛也和這一點類似,每個人對于“好”和“壞”有不同的標(biāo)準(zhǔn),而且他/她可能還有一些很難被清晰地表達(dá)出來的需求。

在ChatGPT訓(xùn)練框架的第二步,標(biāo)注員去給模型輸出的結(jié)果排序,然后用這個排序結(jié)果來訓(xùn)練Reward Model。在一開始,這個Reward Model并不是完美的,但是我們可以通過不斷地訓(xùn)練,讓這個Reward Model不斷地逼近我們想要的效果。

某位來自人工智能企業(yè)的專家告訴筆者:在自動駕駛的規(guī)劃領(lǐng)域,我們可以不斷地收集汽車行駛的數(shù)據(jù),然后告訴模型什么情況下人會接管(也就是說人會覺得有危險),什么情況下可以正常行駛,那么隨著數(shù)據(jù)量的增加,Reward Model會越來越接近完美。

也就是說,我們可以考慮放棄顯式地寫出一個完美的Reward Model,而是通過不斷給模型反饋的方式來得到一個不斷逼近完美的解。

對比目前在規(guī)劃領(lǐng)域通用的做法,即試圖依靠人工書寫規(guī)則顯式地找到最優(yōu)解,先采用一個初始的Reward Model,然后根據(jù)數(shù)據(jù)不斷優(yōu)化的方法,是一個范式的轉(zhuǎn)變。

采用這種方式后,優(yōu)化規(guī)劃模塊就可以采用一個相對標(biāo)準(zhǔn)的流程,我們需要做的只是不斷地收集數(shù)據(jù),然后訓(xùn)練Reward Model,不再像傳統(tǒng)方法那樣依賴于某個工程師對整個規(guī)劃模塊理解的深度。

此外,歷史上所有的數(shù)據(jù)都可以用來訓(xùn)練,我們不用擔(dān)心某個規(guī)則改動之后,雖然解決了當(dāng)前遇到的一些問題,但是某些之前已經(jīng)被解決了的問題再次出現(xiàn),假如采用傳統(tǒng)方法,我們可能就會被這種問題困擾。

責(zé)任編輯:張燕妮 來源: 九章智駕
相關(guān)推薦

2024-01-05 08:30:26

自動駕駛算法

2023-01-09 16:31:43

2021-08-26 05:02:50

分布式設(shè)計

2025-03-21 09:00:00

2022-07-19 16:03:14

KubernetesLinux

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2020-11-16 10:47:14

FreeRTOS應(yīng)用嵌入式

2021-10-18 11:58:56

負(fù)載均衡虛擬機

2023-03-31 09:34:37

深度學(xué)習(xí)算法

2022-09-14 09:01:55

shell可視化

2024-03-07 18:11:39

Golang采集鏈接

2021-01-19 05:49:44

DNS協(xié)議

2020-07-09 07:54:35

ThreadPoolE線程池

2022-10-10 08:35:17

kafka工作機制消息發(fā)送

2021-06-07 15:49:51

AI 數(shù)據(jù)人工智能

2020-07-15 08:57:40

HTTPSTCP協(xié)議

2023-06-12 08:49:12

RocketMQ消費邏輯

2022-01-20 11:17:27

自動駕駛智能汽車

2024-01-24 09:39:40

自動駕駛論文

2024-01-11 09:53:31

面試C++
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人亚洲网 | 精品亚洲一区二区三区 | 欧美mv日韩mv国产网站91进入 | 日韩一区二区三区视频在线观看 | 一级黄在线观看 | 中文字幕一区在线 | 成人免费视频一区 | 国产欧美一区二区三区在线看 | 色伊人网 | 亚洲精品国产电影 | 国产精品三级 | 久久se精品一区精品二区 | 久久天天躁狠狠躁夜夜躁2014 | 欧美高清一级片 | 日本视频一区二区三区 | 日韩欧美在线观看 | 日本a在线| 日韩中文字幕 | 婷婷开心激情综合五月天 | 日韩区| 久久午夜电影 | 日韩国产一区二区三区 | 91视频网| 亚洲视频一区在线观看 | av一级久久 | 国产免费av在线 | av网站免费看 | 天天草天天干天天 | 亚洲欧洲视频 | 国产一区二区三区色淫影院 | 婷婷午夜天 | 国产精品视频在线播放 | 久久伦理电影 | 色视频成人在线观看免 | 久久99精品国产自在现线小黄鸭 | 天天影视色综合 | 综合一区二区三区 | 视频在线观看一区 | 日本三级精品 | 久久久久国产 | 久久久成人免费视频 |