自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

萬(wàn)字長(zhǎng)文說(shuō)清大模型在自動(dòng)駕駛領(lǐng)域的應(yīng)用

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

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

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

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

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

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

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

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

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

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

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

圖片

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

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

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

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

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

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

01

大模型的應(yīng)用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.1.3 用知識(shí)蒸餾的方式“教”小模型

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

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

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

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

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

1.1.4 測(cè)車端模型的性能上限

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

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

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

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

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

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

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

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

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

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

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

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

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

圖片

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

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

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

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

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

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

1.2.2 物體檢測(cè)

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

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

所謂真值固定的物體,就是真值不會(huì)被天氣、時(shí)間等因素影響的物體,例如車道線、立柱、燈柱、交通燈,斑馬線、地庫(kù)的停車線、停車位等,這些物體存在與否、位置在哪里都是固定的,不會(huì)因?yàn)橄掠昊蛘咛旌诘纫蛩馗淖?,只要車輛經(jīng)過(guò)相應(yīng)的區(qū)域,他們的位置都是固定的。這樣的物體就適合用大模型來(lái)檢測(cè)。

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

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

02

如何用好大模型

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

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

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

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

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

實(shí)際上,圖片量的初始值大概會(huì)是實(shí)際使用數(shù)量的幾十倍或者上百倍,因?yàn)槲覀冃枰葟暮A繑?shù)據(jù)中篩選出對(duì)模型訓(xùn)練有價(jià)值的數(shù)據(jù),因此,既然用于模型訓(xùn)練的圖片是14億張,那原始圖片的數(shù)量一定遠(yuǎn)大于14億。

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

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

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

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

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

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

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

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

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

在評(píng)估模型效果的時(shí)候,如何選擇一些較有代表性的場(chǎng)景呢?

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

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

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

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

2.3.1 優(yōu)化算子

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

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

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

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

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

2.3.2 用好并行策略

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

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

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

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

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

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

圖片

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

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

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

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

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

圖片

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

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

2.3.3 用好“稀疏”性

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

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

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

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

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

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

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

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

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

另外,整個(gè)訓(xùn)練的過(guò)程時(shí)間很長(zhǎng),那么集群的穩(wěn)定性就需要很高。

03

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

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

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

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

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

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

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

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

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

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

擴(kuò)大模型容量會(huì)帶來(lái)成本的上升,因?yàn)楦蟮哪P托枰嗟挠?xùn)練數(shù)據(jù)也需要更多的算力。當(dāng)模型的精度達(dá)到可接受范圍之后,我們需要在成本上升和精度提高之間做取舍,按照實(shí)際的需求在可接受精度情況下盡可能地降低成本。

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

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

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

04

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

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

4.1  在感知領(lǐng)域

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

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

圖片

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

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

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

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

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

在圍棋等領(lǐng)域,每個(gè)步驟的好壞比較容易評(píng)判,因?yàn)槲覀兊哪繕?biāo)一般只包括最終贏得對(duì)弈。

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

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

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

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

也就是說(shuō),我們可以考慮放棄顯式地寫出一個(gè)完美的Reward Model,而是通過(guò)不斷給模型反饋的方式來(lái)得到一個(gè)不斷逼近完美的解。

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

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

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

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

2024-01-05 08:30:26

自動(dòng)駕駛算法

2023-01-09 16:31:43

2021-08-26 05:02:50

分布式設(shè)計(jì)

2025-03-21 09:00:00

2022-07-19 16:03:14

KubernetesLinux

2020-11-16 10:47:14

FreeRTOS應(yīng)用嵌入式

2021-10-18 11:58:56

負(fù)載均衡虛擬機(jī)

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2023-03-31 09:34:37

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

2021-01-19 05:49:44

DNS協(xié)議

2022-09-14 09:01:55

shell可視化

2024-03-07 18:11:39

Golang采集鏈接

2020-07-15 08:57:40

HTTPSTCP協(xié)議

2023-06-12 08:49:12

RocketMQ消費(fèi)邏輯

2021-06-07 15:49:51

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

2020-07-09 07:54:35

ThreadPoolE線程池

2022-10-10 08:35:17

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

2024-05-10 12:59:58

PyTorch人工智能

2024-01-24 09:39:40

自動(dòng)駕駛論文

2021-01-18 10:52:55

谷歌AI人工智能
點(diǎn)贊
收藏

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