原創:譚婧
“視覺自監督算法這輪,你是不是沒跟上?”
我面前這位年薪近七十萬,互聯網大廠AI算法工程師的好友,
他用一個反問句回答了我的關心:
“自監督這個玩意咋跟上?”
他抬了抬頭,又補了一句,
“自監督又不是直接落地業務的(技術)。”
這是2023年6月的一天。
天下有變,即便身處風暴,依然有“跟不上”風暴的可能。人人都擔心落后,也確實有人落后了,就在ChatGPT發狠那幾下子的瞬間。
沒機會實訓大模型,轉而讀論文,看配套代碼,是“跟上時代”“對抗焦慮”“應對領導”的標準動作。
看論文是一件下功夫的事情,哪怕作為大模型的觀察者、寫作者的我也深深感受到,唯有研讀論文,才不會讓自己在下筆或者敲打鍵盤的時候顯得像個傻瓜。
市面上有很多大模型的名人名言,他們所說的,和揭示大模型本質并沒有任何關系。
下功夫是一件奢侈的事情,不下功夫絕無可能做出國產通用基礎大模型。
“功夫”是一個極具中國哲學的詞匯,涵義可以很廣:遠見,創新,定力,團隊,投入……
大模型論文是很好的線索,于是,我翻看了多篇“紫東太初”大模型團隊的學術論文。
在此,感謝武漢人工智能研究院院長王金橋博士(中科院自動化所研究員),副院長張家俊博士(中科院自動化所研究員)。
他們陸續回答了我百余個問題,有時微信回復問題的時間幾近凌晨。如此,才讓這個系列的文章成為可能。
這篇文章的技術主題是視覺自監督。視覺自監督學習屬于自監督學習技術的一個縱隊。
講自監督學習,就繞不過楊立坤(Yann LeCun)的一個比喻:“如果人工智能是一塊蛋糕,那么蛋糕的大部分是自監督學習,蛋糕上的糖衣是監督學習,蛋糕上的櫻桃是強化學習”。雖然這個說法仍有爭議,但是我個人非常喜歡。
將時間回溯到2021年4月,也就是下面這篇論文產出之時。
先引用王金橋院長的一個觀點來為第一篇論文定調。
Transformer 并不一定永遠是最好的。Transformer底層原理值得多加探索。十幾年前,雖然卷積神經網絡曾經一統視覺江湖,但“一統”并不意味著“最好”。
我意識到,算法底層結構尤其需要在“保鮮期”內創新。
講一段神經網絡發展的歷史。卷積網絡(CNN)醞釀風云,殘差網絡(ResNet)才是暴雨來臨。
2015年,大神何愷明和其團隊的代表作ResNet模型一經問世,就風靡全球。它是對CNN算法的一種基礎創新。其本質是解決了CNN無法成功訓練深度較大的神經網絡的問題。此前AI科學家面臨的難題是,只要搭建的CNN網絡深了,層數多了(大于十幾層),訓練就特別費勁。
這篇被引用超12萬次的論文,一舉解決了模型訓練的大難題。
舊事雖已陳年,創新規律不變。
現在這個階段依然是Transformer的“保鮮期”,那么,會不會有屬于Transformer的“殘差神經網絡時刻”?
聽了王金橋院長的講解,我理解到,只有對Transformer深刻理解與大膽創新,才會有這個“時刻”。畢竟,算法設計屬于直覺(靈感)加上實驗的科學。
Transformer是ChatGPT的基礎“元件”。“Transformer先在自然語言處理領域大放異彩,隨后短短幾年間便向視覺領域開疆拓土。”類似這樣的說法在很多篇大模型論文中都有提及。
Transformer在NLP所向披靡之后,走向視覺領域。視覺領域需要Transformer,也需要AI科學家的勤奮與巧思。
Transformer有其獨特的玩法。
訓練開始之初,輸入數據之時,會涉及一套精妙的“刀法”,圖像(圖片)會被切分,簡單理解就是把圖片分成小塊。
后面我會用一只老鷹的“藝術照”,來解釋這種類似刀法的精妙之處。有不少AI科學家在“刀法”上也下足了功夫,這是一個有趣的“點”創新抓手。
遷徙發生之時,王金橋院長告訴我“癥結”所在:
“文本信息天然是一維形式,可以很好地切分字或字詞。而視覺信息往往是二維,直接均等切分的方式容易損壞視覺目標的語義結構,導致圖片小塊和token的語義對應不上。”
這篇論文的作者們認為,想把Transformer結構用于視覺任務,就需要一種調整所切圖片大小的方法。于是,這篇論文提出一個可變形的Transformer(DPT)結構,能夠自適應地劃分圖片。這種思路和“硬”切分圖片相比,性能效果上的提高也是“肉眼可見”。
看看這張老鷹的照片,留意老鷹身體各個部位的細節,鷹尾、鷹爪……
圖片中的鷹尾所占面積大,圖片就被分割得大些,鷹爪占的地方小,圖片就分得小一些。這種“刀法”的規律很好找到,我的理解是,不要硬切圖,而是按老鷹的部位切分。
一個圖片的分塊,對應一個token;切圖片的“刀法”是同一語義盡量切在同一個圖片小塊里。學術上稱之為:把注意力(attention)相連的區域劃分到一起。
王金橋院長解釋道,Transformer用于視覺的論文,可分為兩類:
第一類是“組裝創新”,在現有的Transformer上面搭積木,對于特征提取能力和下游任務性能也有一定的好處。
第二類是內部網絡結構優化,包括自注意力機制設計、網絡結構優化、位置編碼調優等幾類。DPT屬于這類,DPT既可以用于監督,也可以用于自監督學習,它是個基礎網絡模型結構。
這篇DPT論文的可變形的Transformer是紫東太初大模型視覺編碼部分的核心基礎技術。
近幾年,視覺自監督學習風云變化,暗起于將Transformer用于視覺任務。耐心的一種就是在大模型技術火爆之前,一步一個腳印。雖然不是全球大模型創新的急先鋒,但是耐心會獎勵下功夫的人。
時間追溯到2021年7月,這篇是紫東太初大模型最重要的奠基性論文,打下了跨模態理解的基礎。齊集武漢人工智能研究院劉靜博士、王金橋博士、張家俊博士三大專家,保據“三模態”,深挖護城河。
論文中將圖文音三個模態對齊,問題是有三個模態,究竟是哪個對齊哪個?
這篇論文的技術路徑,就是紫東太初大模型的技術路線,是把圖像、音頻兩個模態對齊于文本,統一在語言空間。放眼全球,大模型多模態技術路線各有千秋。美國Meta 公司在開源大模型的路上一騎絕塵,開源大模型LLaMA成功出道,遂又開源多模態大模型ImageBind。國外公司的大模型技術路線,雄心勃勃,一個模型包括的模態種類多達六種。
而ImageBind的路徑是將視覺表征作為目標,統一在視覺空間上。
多模態大模型中不同類型數據所含有的“信息含金量”不同,希望彼此之間補過拾遺,棄短用長。究竟統一于哪種類型,是科學家決策的重點之一,既是戰略觀點,也是定位。
換個角度理解,這既是學術觀點不同,也是路線之爭。
談Transformer應用于視覺任務的兩個開創性的工作,就離不開iGPT和ViT 。
ViT是有監督的,iGPT是自監督的,有很多工作集中火力提高視覺自監督的效果和效率,這篇論文也是這個方向。
論文使用了兩個方法,重構和對比學習。
第一,重構。這一方法來源于NLP掩碼的方法訓練。在語言模型中,模型并不知道被遮蓋住的字是 '譚',損失函數的目標就是讓這個即將輸出的字和被蓋住的'譚'字越接近越好。NLP遮蓋住的部分是詞語,視覺遮蓋住的是圖片小塊。重建是希望圖片中的每一個小塊把它擋住之后,模型能夠重構出來。
第二,對比學習(Contrastive Learning)。對比學習是通過比較兩個視覺圖像之間的相似性來找到它們之間的特征和區別。對比學習簡單的說,是一模一樣的兩張圖在特征空間的距離盡可能近,不同圖則盡可能遠離。那一時期對比學習正是最流行的視覺自監督學習。
一張照片重,譚婧在轉身,另一張在飛奔,還有一張是畢業合影,全身被擋住了三分之二。這個方法本質是在對比像不像,像就是同一個人。不像,就是另一個人。
學習對比度,從而學習視覺表示的特征。對比學習這一方法的出現,代表著AI科學家們對于視覺表示學習有了更深入理解。
對比學習早期由谷歌公司Hinton團隊拉開序幕,在2020年CVPR會議上提出SimCLR算法。此后,美國Meta公司 AI Research何愷明團隊用MoCo把工作向前推進一步,他們把對比度學習比作查字典。眾所周知,按索引查字典比按順序翻看字典的方法高效。
(一種是在全部隊列中依次尋找,另一種是以全局視角來找圖片小塊所對應文字的token。接著,動量更新參數更平滑,保持模型穩定性。)
彼時,準星瞄準在視覺自監督學習的性能這個火力點。但這并不是終點戰場。
視覺自監督學習當前存在兩個問題,即局部信息提取不足和空間信息丟失。為了克服上述問題,論文提出了MST。MST捕獲圖片小塊之間的局部關系,同時保留全局語義信息。
論文的方法有兩個步驟:第一步先改進Transformer結構(比如前面提及的論文DPT)。第二步,為了把視覺通用特征表達訓練好,也就是把視覺編碼器訓練好,論文作者們把對比學習和重建融合訓練,一次訓練有兩個目標函數,相當于同時滿足兩個條件。
最后,有了重建的記憶能力,對比學習能力也就提升了。所以自監督學習的效果就提升了,而且訓練的速度也快了。
雖然對比學習算法比語言模型的算法更為復雜,但隨著發展,這個問題將被解決。其標志為通用視覺大模型的橫空出世,把所有的圖片都看懂,同時模型也有語言能力,來幫助視覺模型表達,“一圖頂千言”變為“一圖的千言都能被大模型理解,并用語言表達出來”。
王金橋院長認為,這個階段的成熟視覺大模型會是雙模態的,即圖文并茂,使得人們可以通過視覺來理解和探索世界。當然,這是一個還在追逐的目標。雖然目前的通用視覺模型經常犯錯誤,但是也已經展示了強大的通用性和處理復雜任務的能力。
王金橋老師的原話就是:“這個經典通用視覺大模型會在2023年底之前問世,我們不把它做出來,OpenAI也會做出來。競爭就是如此。”
參閱很多綜述類論文后,我了解到,這一時期的對比學習已經成為視覺自監督學習的主流方法。
對比學習在這個時期依賴大量的單目標圖像,這個做法已經給對比學習帶來了局限。
什么是單目標圖像?舉一個例子,模型訓練的目標是讓模型找到一匹馬,圖片里只有馬,這種更像實驗室里的任務,而在現實世界,往往要求解決多目標圖像的任務。
要我說,“古道西風瘦馬”,瘦馬擺出不同姿勢,模型能不能認出?本質是理解目標。
“結廬在人境,而無車馬喧”里車和馬的關系,本質是理解目標與場景的關系,這都需要模型去學習。
因為常犯錯誤的本質是大模型不理解“關系”。如此這般,我估計在下一階段做圖片生成的時候,就可能把車生成在馬腦袋上。
王金橋院長認為,論文研究的目標是學習關聯關系之間的特征,學出來了,就掌握了“關系”。圖片小塊與小塊之間的關系,以及與之對應的token的語義之間的關系。
這篇論文的方法是建造了一個視覺大模型預訓練框架UniVIP,用統一的預訓練框架,學習不同圖片小塊之間的統計特性。或者說,UniVIP是視覺自監督學習的編碼器。把潛在的語義關系都學出來,被稱為隱式知識圖譜。
這段話是我寫的,但是表達也真夠枯燥。知識圖譜擅長關系,關系是一類特征。
視覺任務在上一階段干了很多“找東西”的工作,比如目標檢測。這些目標之間的關系里也藏著規律,模型需要繼續學習。
王金橋院長解讀:“不能只理解圖片局部的內容,用自監督學習的預訓練框架UniVIP,學習圖像之間的關系。(比如,場景和場景的相似性,場景和目標的相似性,目標和目標的可區分性。)”
在視覺自監督學習能力進步的背后,是學者們兼程而進。
不僅如此,王金橋院長繼續談道:“原來模型只是學一個層次,現在一口氣學三個層次。專業說法是,學習不同粒度之間的統一表達。學得更多,懂得越多。論文作者們的目的是盡量把視覺信息里所有的特性信息都學出來。”
向上一路。論文作者們希望視覺大模型能夠學到通用的世界的知識,來路可鑒,一路向前,往通用大模型的方向發展。
通用大模型若無法實現“統一表達”,遑論“通用”。小模型有小模型的用處,但是,一堆小模型“一起干活”的工作方法不會是主流。
絕大多數的從業者是從小模型起家。王金橋院長的觀點是:“別被你眼前擰了一個螺絲釘的活,限制了你對整體大局的判斷。”
過去成功,未來未必成功。
下功夫也意味著,打硬仗、重投入、周期長、有耐心。
2022年10月的這篇論文將文本知識引入到視覺模型中,是作者們在視覺多任務統一表達這條道路上繼續前進,越過眼前的困擾,往前看,往深處探索。
2023年5月這篇論文的重點是,解決當前掩碼自監督學習中的低效訓練和預測不一致性的問題,讓數據在預訓練時期得到充分利用,并使預測趨于一致。
MAE的掩碼用的是隨機采樣的方法,每次采樣情況不同,所以大模型要訓練很多遍,效率低。(K是圖片中token的總數)。
過程中,需要對不同大小的像素塊掩碼,比如,4X4意味著每次遮蓋16個像素。會有一種糟糕的情況,可能這16個像素,被重復采樣多次,又或者一直沒有被采樣到。此時,我們稱之為每個區域采樣不均衡。所以,模型收斂存在一定不確定性。
這篇論文在探索均衡采樣。第一,通過使每個區域的掩碼分布均衡,這意味著每個區域遮蓋的次數和可能性是相同的。第二,數據的采樣也做到均衡,不同圖片的不同區域被采樣的次數也均衡。
此外,作者提出了自洽損失,也就是自我一致性,使得不同輸入的組合在相同位置的預測一致,從建模角度上使得模型滿足了自洽原則,驅使模型預測一致。
掩碼自監督學習是視覺自監督學習重點中的重點,如何讓掩碼效率更高,是科學家現階段要回答的問題。用好MLM技術重要,改進MLM更重要。這篇論文方法的切入點是把數據利用得好(充分),采樣更均衡,以盡量少的訓練次數,使模型盡快收斂。
分布式訓練框架又被稱為底層基礎軟件。這是一篇“魚與熊掌兼得”的學術論文。為什么這么說?謎底我會在稍后揭曉,先奉上這篇論文的真材實料。
大模型需要計算集群才能完成艱巨的訓練任務,如果大模型只有三個難點,那分布式框架會是其中一個。
作為典型的基礎工作,在這個方面,谷歌Jeff Dean團隊世界領先。這篇論文出自紫東太初團隊大模型,相當于將已有且成功的工程實踐發表為學術論文。
沒有分布式框架無法訓練“身負”大參數量的大模型。從論文出產的角度,這是一個大模型的基礎工作在目標檢測任務上跑了一個結果,順便發了一篇頂級學術會議論文而已。這項工作的負責人是朱優松博士。
同時,我也了解到這個分布式框架曾跑在鯤鵬實驗室早期的計算集群上。
目標檢測是指在圖像或視頻中定位和識別對象,是計算機視覺領域的一個重要問題,但是在這篇論文中,論文作者們有一種“項莊舞劍,意在沛公”的意味,目標檢測任務不是目的,而是想用目標檢測任務為后續的視覺自監督打基礎。
訓練時用較大批次樣本會加大訓練難度,困難有兩個方面:一方面支持訓練的基礎軟件要有實力,一方面需要梯度優化技術。
論文中梯度優化技術的方法是PMD-LAMB,Periodical Moments Decay LAMB,中文翻譯為周期性矩衰減優化。算法創新在于,每次網絡更新依賴于累積的歷史梯度,其滯后性會阻礙模型的快速收斂;設計在梯度計算的過程中用一個周期性矩衰減函數控制歷史梯度對更新量的貢獻,使計算出的梯度能夠有效可控,避免梯度爆炸。
這個矩衰減的函數就相當于一個有序列的矩陣。這個矩陣先進先出,后進后出,維持了一個有一定規模的矩陣,好比一個過渡作用的房間。6000個樣本進入房間后,能夠有效地控制進出,控制梯度。損失函數下降的曲線在訓練的過程中更加平滑。
現階段,視覺自監督學習在多任務統一建模方面的問題沒有完全解決,這也是視覺大模型通用性不足的原因之一。
寫到這里,我相信讀者應該逐步理解了,視覺自監督的復雜性遠高于比語言自監督。
因為視覺自監督學習采樣空間大,隨機采樣范圍大。在掩碼遮蓋的過程中,復雜度指數級上升。而在NLP領域,遮蓋的只是文字。文字是一維的,而視覺是二維甚至三維的。
煉就一個國產大模型所包含的技術難度史無前例,“紫東太初”大模型跋山涉水,從頂級工程實踐和先進理論兩個角度驗證現有工作,河山帶礪,春山可望。
國產大模型注定艱難,作為科技科普作者的我,學習上進的壓力也很大。科學家們夜以繼日,直面時代挑戰。有時候,他們也是我的精神支柱。午夜星光,凌晨拂曉,每每加班加不下去的時候,想起他們也在加班,我的心里就舒服多了,繼續寫。