羅錦釗,孫玉龍,錢增志,周 魯,王金橋*
(1.中國科學院自動化研究所,北京 100190;2.中鐵建設集團有限公司,北京 100040;3.北京工業大學 城市建設學部,北京 100124;4.中國鐵建建筑工業化工程實驗室,北京 100041)
人工智能的迅速發展為人類社會帶來了巨大的變革。經過多年的發展,人工智能已經進入了大規模產業應用階段,在金融、安防和醫療等多個領域實現應用。從模型發展來看,人工智能經歷了機器學習模型、深度學習模型、預訓練模型和大規模預訓練模型4個階段。
在人工智能研究的早期階段,傳統的機器學習模型依賴于手工制作特征和統計方法。2014年以來,深度學習模型如卷積神經網絡(CNN)[1]、循環神經網絡(RNN)[2]、圖神經網絡(GNN)[3]等被廣泛應用于各種人工智能任務。深度學習模型需要大量標記數據進行訓練才能達到良好性能,然而手工標記數據耗時耗力,并且特定任務領域的數據往往比較稀缺,限制了深度學習模型的應用。此外,在有限的數據量下,當參數量增加時,模型容易出現過擬合問題,難以泛化到不同的任務領域。
為了減少數據集構建的工作量,提升模型的領域遷移能力,研究者提出使用基于大規模數據集訓練的模型來處理不同的任務。預訓練模型(Pretrained Model,PM)提供了一種基于預訓練和微調的兩階段解決方案:在預訓練階段,模型從大規模無監督數據中學習領域知識;在微調階段,只需要少量的標注數據,就可以將預訓練階段學到的領域知識轉移到特定任務中,無需從頭開始訓練模型,也不需要耗費大量的時間和精力進行數據標注工作,從而提高模型的泛化能力。
預訓練模型首先應用于計算機視覺(Computer Vision,CV)領域。大規模圖像數據集,如ImageNet[4]的出現為圖像預訓練模型提供了數據基礎。通過預訓練,模型能夠學習到大量的視覺知識,只需要在少量的任務相關數據集上進行微調,即可在圖像分類、目標檢測和場景分割等下游任務中取得良好表現。隨著預訓練模型在CV領域取得成功,類似的研究也在自然語言處理(Natural Language Processing,NLP)領域進行。早期的深度語言模型采用Word2Vec[5]等淺層網絡,然而淺層網絡無法捕獲單詞和句子中的上下文信息。基于RNN的模型能夠結合上下文信息,然而隨著模型層數加深,容易出現梯度消失和梯度爆炸問題。Transformer的出現使得在NLP領域構建深度模型變得可行。此后,預訓練模型在NLP領域取得了一系列突破,在多個下游任務上取得了先進性能,超越了傳統的深度學習模型。
人工智能技術的三大要素包括數據、算法以及算力,這三者的有機結合共同構建了模型。近年來,傳統的“特定任務特定模型”的構建模式逐漸被“一個大規模預訓練模型適用于多個下游任務”的模式取代。在這種新模式中,大規模預訓練模型也被簡稱為大模型。研究人員設計先進的算法,并借助海量算力和大規模計算系統的支持,為不同需求的用戶訓練大模型,以服務于各類人工智能應用。
最近,人工智能生成內容(AI Generated Content,AIGC)引起了廣泛關注。AIGC是指基于人工智能模型,通過大量數據學習和模型訓練,根據輸入的指令,生成文字、圖像和音頻等相關內容的技術。AIGC技術的廣泛應用得益于大模型的快速發展。2018年,谷歌提出BERT[6],模型參數量達到3億;2019年2月,OpenAI推出15億參數量的GPT-2[7];2020年6月,OpenAI繼續推出1 750億參數量的GPT-3[8]。GPT-3在多個下游NLP任務上表現良好,尤其是在生成任務方面表現突出。 GPT-3促進了大規模預訓練模型的研究,模型的參數規模從數十億迅速增長到千億,并且仍然保持快速上升的趨勢。通過不斷擴大模型參數,研究人員正在嘗試探索其性能提升的極限。
本文概述了大模型的發展歷程以及代表性的大模型算法,介紹了大模型的基礎架構及其核心原理,分析了大模型的特點,討論了大模型的局限性以及未來發展方向。
本節將分別簡述語言模型和視覺模型的發展,并介紹具有代表性的大型語言模型和大型視覺模型。從模型發展歷程來看,大模型的發展先后經歷了機器學習模型、深度學習模型、預訓練模型和大規模預訓練模型4個階段。目前,大規模預訓練模型的參數量已經突破了萬億級。
語言模型(Language Model,LM)是完成NLP領域各種下游任務的基礎。早期的語言模型通過統計方法預測詞的概率,對于一個長度為N的詞序列s,其概率可以表示為:
P(s)=P(w1)P(w2|w1)…P(wN|w1w2…wN-1),
(1)
式中:P(wi)為第i個詞出現的概率,P(s)為在給定前i-1個詞的情況下第i個詞出現的概率。當詞序列較長時,式(1)的計算量較大,模型難以學習,因此研究者采用N元模型對上述公式進行近似計算:
P(wt|w1w2…wt-1)≈P(wt|wt-k…wt-1)。
(2)
N元模型在估算條件概率時,只需要對當前詞的前N-1個詞進行計算,然而,N元模型缺乏對句子的長期依賴建模能力,并且隨著N增大,參數空間呈指數增長,限制了模型在大語料庫上的建模能力。
為了解決這個問題,研究者提出了神經網絡模型。2003年,Bengio等[9]提出了前饋神經網絡(FFNN)來學習單詞的分布式特征表示,通過將單詞投影為低維向量,減少了模型的計算復雜度。然而,FFNN只能處理固定長度的單詞序列。隨后,Mikolov等[10]提出了RNN,可以處理變長的詞序列。然而RNN模型在訓練過程中容易出現梯度爆炸和梯度消失問題。Sundermeyer等[11]提出了長短期記憶RNN模型(LSTM-RNN),它能夠學習到單詞序列的長期依賴關系,并且能夠有效地緩解梯度消失和梯度爆炸問題。
盡管神經網絡模型在NLP領域取得了一定的成功,但與CV領域相比,性能提升相對較小。主要原因在于大多數NLP任務的監督數據集規模較小。由于神經網絡模型通常具有較深的網絡結構,因此在小數據集上容易發生過擬合,并且泛化性能較差,難以在各種下游任務中應用。
得益于大規模圖像數據集ImageNet的發展,預訓練技術在CV領域得到廣泛應用,緩解了深度視覺模型在下游任務上的遷移問題。為了解決語言模型過擬合和泛化性差的問題,研究者將預訓練技術引入到NLP領域。首先在大規模文本語料庫上進行模型預訓練,然后針對不同的下游任務在較小的數據集上進一步微調,經過預訓練的模型性能遠遠優于隨機初始化的模型。Word2Vec[5]首先在不同的NLP任務中驗證了預訓練技術的有效性。Dai等[12]提出了利用LSTM初始化語言模型的方法,提升了模型在多個文本分類任務中的訓練速度和泛化能力。Ramachandran等[13]提出了無監督預訓練的Seq2Seq模型,使用預訓練權重初始化編碼器和解碼器,然后在下游數據進行微調,從而顯著改善模型的泛化性能。
然而,上述模型學習到的詞嵌入與上下文無關,因此在遷移到下游任務時仍需要對模型進行重新訓練和調整。為了解決這個問題,研究者開始在句子級別以上的層次進行預訓練。Sarzynska-wawer等[14]提出了嵌入語言模型(Embeddings from Language Models,ELMo),采用正向和反向的雙層LSTM編碼器結構,學習詞的上下文語義表示。ELMo在多種NLP下游任務上帶來了巨大的改進。然而,ELMo通常被用作特征提取器,生成上下文詞嵌入向量,并將其輸入到下游主模型中,而模型的其他部分仍需從頭開始訓練。
近年來,基于Transformer架構的預訓練模型(PTM)出現,并能夠學習到通用的語言表示。通過在大規模語料庫上進行預訓練,模型初始化得到了改善,避免了從頭開始訓練模型,加快了模型在目標任務上的收斂速度,并能更好地泛化到各種下游任務,從而避免了在小數據集上的過擬合問題。隨著計算機算力的提升、更深層模型的出現以及訓練技巧的增強,PTM架構的深度和參數量也在不斷增加。
語言大模型(LLM)是指參數量在十億及以上的大型預訓練語言模型。在大規模文本語料數據庫和自監督預訓練技術的加持下[15],LLM顯示了強大的通用語言表示能力,并且在解決復雜任務時展現出卓越的性能。LLM的快速發展給人工智能領域的研究帶來了革命性的變化,吸引了越來越多研究者的關注。從圖1可以看出,GPT-1[16]發布后,與LLM相關的arXiv論文急劇增加。

圖1 arXiv論文累計數量趨勢Fig.1 The trends of cumulative numbers of arXiv papers
2018年,谷歌提出了大規模預訓練語言模型BERT[6],采用自編碼(Autoencoding)方式進行預訓練。BERT首先通過自監督預訓練學習文本表示,然后基于掩碼語言模型(Masked Language Model,MLM)和下一句預測(Next Sentence Prediction,NSP)學習單詞和句子級的語義表示。BERT只需要針對特定的下游任務對輸出層進行微調,即可在多個NLP任務中取得最先進水平,模型參數量首次超過3億。谷歌在BERT基礎上繼續進行優化,使用更多的訓練數據和訓練資源,提出動態掩碼調整策略,得到了精度更高的RoBERTa模型[17],在多個下游任務上達到最先進水平。
2018年,OpenAI提出了生成式預訓練模型GPT-1[16],GPT-1基于自回歸模型進行預訓練。不同于自編碼模型通過掩碼-重建方式預測單詞的位置,自回歸模型假定一個詞在特定位置的概率分布是由之前所有詞的分布決定的。因此,GPT的注意力是單向的,無法利用下文的信息。GPT-1采用無監督預訓練和有監督微調的混合方法,對于不同任務采用不同的輸出層,只需簡單的微調便能取得非常好的效果。BERT和GPT-1的成功引起了語言大模型的研究熱潮,由圖2可以看出,GPT-1發布后,語言大模型的參數規模短時間內快速增長。2019年,OpenAI繼續發布了GPT-2[7]。GPT-2采用與GPT-1類似的架構,參數規模增加到15億,基于大型網頁數據集WebText進行預訓練。研究者認為,任何一個有監督NLP任務,都可以看成世界文本子集上的單詞預測問題,只要預訓練語言模型足夠大,理論上就能解決任何NLP任務[18]。GPT-2通過無監督語言建模的形式進行多任務學習,采用語言文本作為格式化輸入、輸出和任務信息的統一表示,將解決任務的過程看作一個單詞預測問題。GPT-2通過擴展模型的容量和數據多樣性達到了良好性能,但由于模型尺寸相對較小,與最先進的有監督微調方法相比,總體性能較差。2020年,OpenAI發布了GPT-3[8]模型。GPT-3基于GPT-2擴展模型架構,參數量達到了1 750億,實現了模型參數量的飛躍提升。GPT-3引入了上下文學習的概念,指導模型以自然語言文本的形式理解任務。基于上下文學習,GPT-3的預訓練目標和輸出收斂到相同的語言建模范式:預訓練根據上下文預測文本序列,下游任務通過上下文學習預測任務解決方案,然后將其格式化,并輸出文本序列。GPT-3在多個NLP任務中表現出了非常出色的性能,在需要推理或領域適應能力的任務上也表現了出色的能力。以GPT-3模型為基礎的人工智能對話系統ChatGPT在發布后吸引了社會對人工智能技術的廣泛關注。
由于GPT-3的強大性能,OpenAI將其作為基礎模型開發更強的LLM。原始GPT-3模型的主要不足之一是缺少復雜推理能力,例如解決數學問題和生成代碼。為了解決這個問題,OpenAI推出了Codex[19],基于大量GitHub代碼庫對GPT-3進行微調。Codex可以解決復雜的編程問題,解決數學問題的能力也得到極大提升[20]。在此基礎上,OpenAI提出了GPT-3.5[21]模型,通過對比學習文本和代碼嵌入,模型的復雜推理能力得到顯著提升。InstructGPT[22]提出三階段人類反饋強化學習(Reinforcement Learning from Human Feedback,RLHF)算法,通過強化學習引入人類監督以學習人類偏好,提高模型在NLP任務上的能力。GPT-3的訓練語料大多來自于網絡,可能包含大量錯誤的、惡意的、帶有攻擊性的“有毒”文本。RLHF算法能夠有效緩解LLM產生危害內容的問題,使模型輸出更安全、更有用、更符合人類想法的結果,實現LLM的安全部署。

圖2 語言大模型規模變化趨勢Fig.2 The trends of the LLM scale changes
2020年,谷歌發布了T5模型[23],T5提出將NLP任務轉換成Text-to-Text形式,使用相同的模型、訓練和解碼方式將所有NLP任務納入一個統一框架。T5模型參數量達到110億。在T5基礎上,谷歌發布了Flan-T5[24],提出一套多任務的模型微調方案。通過在超大規模的任務上進行微調,Flan-T5表現出極強的泛化性能,在1 800多個NLP任務上都有良好的表現。2021年,清華大學發布GLM模型[25],試圖通過一個預訓練框架統一NLP領域的三大類任務:自然語言理解、無條件生成和有條件生成。GLM提出了基于自回歸空白填充的預訓練框架,通過改進空白填充方式,在3類任務上實現了優于BERT、T5和GPT的性能,在不同下游任務上表現出極強的泛化性能。2022年,谷歌發布了PaLM模型[26],參數量突破千億規模,達到5 400億。PaLM延續了語言大模型的優化路徑,在7 800億個高質量文本的token上進行高效訓練。PaLM在各種下游任務上超越了之前最先進的模型,這表明大模型的參數量提升還沒有到達頂點,PaLM還表現出了零樣本學習、語言理解和復雜推理的能力,充分展示了大模型的發展潛力。
2023年2月,Meta AI發布了LLaMA模型[27],初始版本包括70億、130億、300億和650億4種規模。自發布以來,LLaMA引起了研究界和工業界的廣泛關注。LLaMA模型在各種開放基準上取得了優異性能,已經成為迄今為止最流行的開源語言大模型。許多研究者通過指令微調或預訓練來擴展LLaMA模型,由于相對較低的計算成本,基于LLaMA模型微調成為開發或定制專用模型的主流。Vicuna[28]是其中一種流行的LLaMA變體,使用從ShareGPT收集的用戶共享對話數據進行訓練,用GPT-4評測可以達到ChatGPT 90%的水平。 2023年7月,Meta開源了性能更強的LLaMA-2[29], LLaMA-2使用更大、質量更好的語料庫進行訓練,在模型性能、推理效率以及安全性等方面得到全面提升。LLaMA-2在40多個評測集上進行了全方位的評測,在學科、語言、知識、理解和推理五大維度,相比LLaMA-1都有明顯提升。然而由于訓練語料中的中文數據占比較少,LLaMA-2在中文能力上仍顯不足;此外,LLaMA-2采用相對保守的安全對齊方案,導致模型的安全性和模型能力平衡較差。由于LLaMA系列模型的出色性能和可用性,許多多模態模型將其作為基礎語言模型,以實現較強的語言理解和生成能力。LLaMA的發布極大地推進了大模型的研究進展。
早期的視覺模型采用手工設計特征和機器學習方法解決圖像分類等視覺問題。然而,手工設計特征局限于像素層面,損失了過多圖像信息,導致模型的精度較低。與基于手工特征的方法不同,基于CNN的模型具有強大的特征提取能力和相對較低的計算復雜度。
2012年,研究者提出了基于CNN架構的AlexNet[30],其在ImageNet圖像識別挑戰賽中的識別精度首次超越手工特征方法。在此基礎上,VGGNet[31]證明了更深的網絡結構能夠有效提升模型精度。ResNet[32]提出在每個模塊中添加殘差連接,以解決深層模型的優化問題,同時引入了瓶頸塊來減少參數數量。簡單的實現和良好的性能使ResNet仍然是當今最常用的架構。此外,研究者探索了CNN模型的輕量化,MobileNets[33]提出了深度可分離卷積、反向殘差塊和神經架構搜索(NAS),以實現更好的精度-復雜度權衡。
隨著Transformer架構在NLP領域大獲成功,研究者開始探索將其應用到CV領域。視覺Transformer(Vision Transformer,ViT)[34]提出將圖像分成一系列不重疊的圖像塊,然后通過線性變換將其投影為圖像塊嵌入編碼,并添加位置編碼標記圖像塊的位置。輸入嵌入向量中添加了圖像類別嵌入向量,三者結合共同作為ViT的輸入,然后通過自注意力機制捕獲圖像之間的遠程依賴性。ViT巧妙地將圖片構造成patch序列,啟發了研究者在CV領域正確使用Transformer的方式。實驗表明,在大型數據集上預訓練后,ViT能夠實現較好的性能。
經過精心設計的深度視覺模型能夠處理各種下游視覺任務,在自動駕駛、智能監控和安防等領域有重要應用。然而,隨著模型規模的不斷擴大,針對特定任務進行數據收集和標注需要耗費大量時間和成本,模型訓練需要消耗大量訓練資源。為了解決這個問題,研究者引入預訓練技術來學習通用的視覺表示,以減少訓練資源的消耗和訓練數據的收集成本。隨著大規模圖像數據集(如ImageNet)的出現,研究者開始探索CV領域的預訓練模型。預訓練視覺模型在海量圖像數據集上進行預訓練,得到通用視覺特征表示,然后基于較小的下游標注數據集對模型進行精細調整。在微調階段,模型只需要消耗較少的訓練資源就能取得比從頭開始訓練更好的性能。
主流的預訓練視覺模型包括ResNet[32]、ViT[34]、EfficientNet[35]和Swin Transformer[36]等。基于大規模視覺數據庫,模型能夠更有效地學習通用視覺特征表示,理解下游任務中的圖像,從而提高模型在下游任務上的泛化性[37]。然而,預訓練數據集和下游任務的特定數據集之間存在領域差異,導致模型的遷移能力仍有不足。
ViT首次將Transformer架構應用于CV領域,驗證了Transformer作為統一視覺模型架構的可行性。在NLP領域,基于掩碼語言模型(Masked Language Model)的BERT模型引領了自監督預訓練的學習范式。受此啟發,2022年,He等[38]提出了視覺掩碼自編碼(Masked Autoencoders,MAE)模型,MAE使用編碼器-解碼器(encoder-decoder)架構,在encoder部分,首先將圖片構建成patch序列,學習圖片的細粒度特征;在decoder部分,基于原始的圖片token和掩碼token對掩碼圖片進行重建。MAE對圖像重建進行解耦,能夠學習到更加有效的圖像特征,基于像素點的重建目標能夠避免監督信息的丟失,提高重建的質量。MAE能夠在高達75%的掩碼率下對圖像進行重建,并且在下游的目標檢測和語義分割任務等任務上有不俗的表現。基于MAE重建的圖像雖然具有與原始圖像相似的語義信息,但會出現嚴重的模糊與失真問題。為了解決這個問題,MIT提出MAGE[39],MAGE使用基于圖像語義符圖像掩碼建模方法,首先使用VQGAN[40]編碼器將原始圖像轉換為離散語義符,然后對其進行隨機掩碼,之后基于encoder-decoder結構對掩碼進行重構,最后通過VQGAN解碼器將重構后的語義符還原為原始圖像。MAGE重建出的圖像能夠保持與原始圖像一致的語義信息,還能保證生成圖像的多樣性與真實性,在多個圖像生成與圖像識別任務上都達到或超過了最先進水平,實現了圖像生成和圖像識別的統一框架。2022年,南京大學提出視頻掩碼自編碼器(VideoMAE)[41],將預訓練大模型擴展到視頻領域,用于解決動作識別和動作檢測等視頻任務。VideoMAE采用帶有時序間隔的采樣策略來進行更加高效的視頻自監督預訓練,在輸入到編碼器中之前,對采樣得到的視頻片段采用時空聯合的形式進行像素塊嵌入,在自監督預訓練的過程中采用管道式掩碼策略,以解決由視頻數據中的時序冗余性和時序相關性導致的“信息泄漏”問題。VideoMAE在多個下游任務上表現出良好的泛化能力和遷移能力,推動了后續基于Transformer的視頻理解大模型發展。隨后,南京大學團隊提出了VideoMAE V2[42],研究VideoMAE的可擴展性,探索視頻大模型在多種視頻下游任務上的性能極限。VideoMAE V2的模型參數量達到了十億級別,預訓練數據增加到百萬量級。VideoMAE V2在動作識別、時空動作檢測、時序動作檢測等多種下游任務上取得了先進的性能。
圖像分割是CV的一項核心任務,需要識別圖像像素所屬對象。2023年,Meta AI提出了通用圖像分割模型SAM[43],SAM基于超過10億個掩模的多樣化、高質量大型分割數據集——Segment Anything 1-Billion mask dataset(SA-1B)進行預訓練,利用提示工程(Prompt Engineering)處理下游分割任務[44],這使其能夠泛化到從未見過的新對象和圖像類型,且不需要對下游任務進行微調。SAM分為三部分:圖像編碼器、提示編碼器和掩模解碼器,這種結構可以有效地降低計算成本,增強模型靈活性和魯棒性,實現了具有泛化性和通用性的分割模型。基于大規模預訓練和提示工程,SAM學習到了分割對象的一般表示,可以分割任何圖像或任何視頻中的任何對象。SAM的通用性使其可以覆蓋廣泛的對象用例,甚至在新圖像“域”(如水下照片或顯微鏡細胞)也能較好地完成分割任務。SAM-Track[45]提出了一種視頻分割框架,該框架結合了Grounding-DINO、DeAOT和SAM,以實現跨多種模式的交互式和自動化對象跟蹤和分割。該框架在視頻第一幀中結合了點擊提示、框提示和文本提示等形式的交互式提示來指導SAM的分割過程。隨后,在接下來的框架中使用文本提示來進一步細化結果。這種多功能框架可應用于廣泛的領域,包括無人機技術、自動駕駛、醫學成像、增強現實和生物分析等。
Painter[46]將自然語言中的上下文學習能力遷移到視覺任務中,可以根據輸入提示自動切換任務功能,在語義分割、深度估計和姿態估計等任務中均取得了良好的泛化性能。
在國內工業界,大模型發展也十分迅速。2021年4月華為發布了盤古大模型,參數量超過30億,是當時最大的視覺預訓練模型,盤古大模型在ImageNet 1%、10%數據集上的小樣本分類精度達到了業界最高水平。百度提出了170億參數的視覺多任務模型UFO[47],在人臉、人體、車輛、商品和食物細粒度分類等多個CV任務上取得了先進水平。UFO提出了針對視覺多任務的訓練方案,解決大模型參數量大、推理能力差的問題。
視覺大模型已成為人工智能領域的一個發展趨勢,然而,目前其性能仍然受到特定視覺領域知識的限制,缺少類似于ChatGPT這樣一個現象級的模型應用。為了解決這一問題,未來的研究方向應當側重于整合多樣化的數據集,促進不同領域的專有模型融合,擴展模型知識的廣度,以充分發揮視覺大模型的潛力。
視覺-語言大模型是指利用視覺和語言數據之間的跨模態交互,學習視覺的一般特征,然后將其轉移到下游的分類、檢索、目標檢測、視頻理解、視覺問答、圖像描述和圖像生成等視覺任務的大模型。在Transformer架構[48]中,最小的特征單元是嵌入向量,這種特性使其非常適合處理多模態數據,因為嵌入層可以將任何模態的輸入轉換為嵌入向量。
2021年,OpenAI提出視覺-語言大模型CLIP[49],CLIP收集了來自互聯網的4億個圖像文本對的海量數據,利用圖像和文本之間的關聯性,基于對比學習進行弱監督預訓練。基于人工設計的提示(prompt),CLIP在下游任務上可以實現零樣本預測,并且實現了最先進的少樣本預測性能。CLIP展示了大模型學習通用視覺-文本表示的能力,驗證了文本-圖像結合的大規模弱監督預訓練的有效性。在此基礎上,許多大型視覺-語言模型,例如Clip4clip[50]、ActionCLIP[51]等得到進一步發展,為通用視覺-文本表示的發展提供了新的見解。
2022年,Salesforce提出BLIP[52],BLIP通過聯合訓練視覺和語言模型來提升多模態任務的性能。BLIP引入了的多模態混合編碼器-解碼器結構(Multimodal Mixture of Encoder-Decoder,MED),通過3個損失函數進行多任務聯合預訓練。BLIP在圖像-文本檢索、圖像標題、視覺問答、視覺推理和視覺對話等多個下游任務上取得了良好的性能。傳統的多模態視覺任務(如VQA)中包含文字和圖像理解內容,如何將它們結合起來,是一個重要問題。Flamingo[53]提出“以視覺為prompt,輸出文本預測”的框架,將多模態任務轉化為文本預測任務。Flamingo通過凍結預訓練視覺模型和預訓練語言模型的參數充分保留單模態的大模型知識,可以處理任意交錯的視覺和文本數據序列,無縫使用圖像或視頻作為輸入。Flamingo在多個下游任務上表現出極強的少樣本學習能力。BLIP-2[54]提出了更簡潔的預訓練方法,利用現有的單模態視覺和文本預訓練模型,以減少計算成本,避免災難性遺忘問題。BLIP和BLIP-2是視覺語言-預訓練領域取得的重要進展,為多模態任務的研究提供了新的思路和方法。
2023年3月,GPT-4[55]正式發布,它將文本輸入擴展到多模態輸入。GPT-4解決復雜任務的能力比 GPT-3.5更強,在許多評估任務上表現出較大的性能提升。由于GPT-4未開源,MiniGPT-4[56]基于BLIP-2對GPT-4進行復現。MiniGPT-4采用BLIP-2預訓練好的Q-Former作為視覺編碼器,Vicuna[28]作為語言編碼器,然后通過一個線性層將視覺特征映射到Vicuna的特征空間,MiniGPT-4首先采用圖像文本對數據集進行預訓練,然后構建了一個高質量的圖像文本數據集來進行微調。相較于BLIP-2,MiniGPT-4提升的關鍵在于采用了更好的LLM,同時采用了高質量數據集進行微調。但MiniGPT-4也存在一定的局限性,比如無法從圖像中獲取細粒度的信息以及無法識別位置信息。PaLM-E[57]提出具身多模態語言模型,使得模型具備具身推理能力。視覺指令調整(Visual Instruction Tuning)[58]構建了多模態的圖文指令數據庫,并提升了模型在新任務中的零樣本遷移能力。
良好的視覺特征表示對于解決下游視覺任務(圖像檢索、圖像分類、視頻理解)至關重要,然而,學習視覺特征表示依然嚴重依賴于大規模視覺監督數據集。為了解決這個問題,谷歌提出了ALIGN模型[59],使用超過10億圖像文本對的噪聲數據集,基于對比學習損失,來學習對齊圖像文本對的視覺-語言表示。ALIGN證明了大規模的語料庫可以掩蓋數據內部存在的噪聲,只使用簡單的學習方式,模型也能學習到良好的特征表示。
視覺-語言大模型研究方興未艾,還存在許多挑戰和潛在的研究方向。Transformer的出現使得圖像和文字可以通過相同的方式進行學習,若采用統一的Transformer架構同時處理圖像和文字輸入可以有效提升預訓練的效率;目前大多數視覺-語言模型僅使用單一語言進行預訓練,采用多種語言文本進行預訓練可以提高模型在不同語言環境下的泛化性;此外,視覺語言模型的高效輕量化也是值得探索的方向。
2017年,谷歌提出了Transformer架構[48],由于其出色的模型容量和并行能力,Transformer已經成為開發各種大模型的標準骨干模型,基于Transformer架構可以將大模型擴展到數百億甚至數千億參數規模。
自注意力(Self Attention,SA)是Transformer中的基本模塊。SA通過3個可學習的線性映射矩陣WQ,WK,WV將輸入序列投影為一組維度為C的查詢Q、鍵K和值V,然后通過以下公式計算得到自注意力權重:
(3)
通過對輸入序列進行線性變換,SA能夠捕捉輸入序列的語義特征和遠距離的依賴關系。多頭自注意力(Multi-head Self-Attention,MSA)是自注意力的擴展,由n個自注意力頭構成,通過并行實現注意力操作,經過線性投影層后將所有自注意力頭的輸出進行拼接:
MSA(Q,K,V)=Concat(SA1,SA2,…,SAn)*WO,
(4)
式中:WO表示線性變換矩陣,SAn表示第n個自注意力頭的輸出。
Transformer的模型架構如圖3所示,由多個編碼器和解碼器疊加構成,每個編碼器由2個基本模塊組成,即MSA模塊和前饋全連接(Feed Forward Network,FFN)模塊。MSA模塊利用自注意力機制學習輸入序列內部的相關關系,FFN模塊包含激活函數和2個線性層,MSA模塊和FFN模塊均使用殘差連接和層歸一化(Layer Normalization,LN)結構。給定輸入序列x0,第k個編碼器的輸出如下:
(5)
式中:xpos表示位置嵌入,xk表示第k個編碼器的輸出。解碼器與編碼器的結構稍有不同,由2個多頭自注意力模塊和一個前饋全連接模塊組成,其中一個MSA模塊增加了單向注意力掩碼,使得輸入嵌入向量只能關注過去的嵌入向量和它本身,確保預測結果只依賴于已生成的輸出詞元,然后,掩碼多頭注意力模塊的輸出和編碼器的輸出通過第二個MSA模塊進行處理。

圖3 Transformer架構示意Fig.3 Schematic diagram of Transformer architecture
視覺Transformer的結構與原始的Transformer類似,輸入由一維語言嵌入序列改為二維圖像塊的向量,然后使用線性層將向量投影為圖像塊嵌入編碼,添加位置編碼標記圖像塊的位置。輸入嵌入向量中還添加了類別嵌入向量,三者結合共同作為視覺Transformer的輸入。
Transformer架構有效解決了長序列輸入的長時依賴問題,模型的并行性提高了訓練效率,有效緩解了模型過大導致的梯度消失和梯度爆炸問題,在NLP和CV領域的多個任務中取得了良好效果,為大模型的快速發展奠定了基礎。
目前,大模型主要基于深層的Transformer架構進行構建,采用和較小的預訓練模型類似的預訓練目標。然而,大模型表現出較小的預訓練模型不具有的特點。本節將討論大模型的特點并探究背后的機理。
廣泛的研究表明,擴展訓練數據大小或模型大小可以很大程度上提高大模型的能力[7-8,60]。語言大模型可以更好地根據上下文理解自然語言并生成高質量的文本。視覺大模型可以學習到通用的視覺表示并泛化到新的圖像域。大模型這一能力提升可以部分通過擴展定律來描述,即模型性能大致隨著模型大小、數據大小和總運算量的增加而提高[60]。GPT-3[8]和PaLM[26]通過將模型大小分別增加到 1 750億和5 400億來探索擴展定理的極限。然而,現實中的計算資源通常是有限的,研究者開始探索模型大小、數據大小和模型計算量之間的最佳配置關系[61-62]。Hoffmann等[61]提出了Chinchilla縮放定律,即當可用計算資源增加時,模型大小和數據量大小應當等比例增長。此外,預訓練數據的質量極大影響大模型的性能,因此在擴展預訓練數據庫時,數據收集和清洗策略相當重要。對大模型擴展定理的研究為大模型訓練過程提供了較為直觀的理解,使得大模型在訓練過程中的表現更加有跡可循。
大模型的涌現能力是指在小模型中不存在但在大模型中出現的能力。即當模型規模超過某個閾值后才能被觀測到的能力。這是區分大模型與以前的預訓練模型最顯著的特征之一。模型規模達到一定水平時,模型性能顯著提高,類似于物理學中的相變現象,是一種量變引起質變的過程。以下將簡單介紹代表性的LLM涌現能力。
上下文學習。上下文學習能力首先出現在GPT-3模型中。通過輸入自然語言指令,GPT-3可以以完成輸入文本的單詞序列預測的方式生成期望的輸出,無需額外的訓練。
逐步推理。小語言模型通常難以解決涉及多個推理步驟的復雜任務,例如數學問題和代碼生成。通過采用“思維鏈”推理策略[15],LLM可以利用包含中間推理步驟的提示機制解決這類任務,這種能力可能來自于對代碼的訓練。
合適的任務指令或上下文學習策略可以激發大模型的能力。例如,通過恰當的自然語言描述任務,對LLM進行指令微調,可以提高模型在新任務上的泛化能力;思維鏈提示有助于模型解決復雜的邏輯推理和數學運算任務。大模型表現出的涌現能力是其解決復雜任務的關鍵,也是實現通用統一模型的基礎。
大模型的快速發展為人工智能的研究和應用帶來了新的機遇和方向。然而,大模型研究也面臨一些潛在的問題和挑戰。本節將介紹大模型所面臨的挑戰性問題以及未來的發展方向。
大模型采用深度神經網絡架構,但其可解釋性較差,難以對模型的訓練過程和推理結果進行有效的跟蹤和解釋,在實際應用中面臨安全問題,在可靠性要求較高的領域(如自動駕駛、AI醫療)存在巨大風險。此外,研究者對大模型的涌現能力產生機制仍不清楚。因此,關于大模型原理和能力的理論研究是一個重要方向,對大模型的實際應用和下一代大模型的發展至關重要。
隨著大模型參數規模的不斷增大,由模型規模帶來的性能提升出現邊際遞減效應。此外,更大的模型導致了更高的訓練成本,包括算力、數據和更加復雜的訓練過程。因此,開發更系統、經濟的預訓練框架以優化大模型訓練過程變得尤為重要。大模型訓練過程需要考慮模型有效性、效率優化和訓練穩定性等因素。此外,還需要更靈活的硬件支持和資源調度機制,以便更好地組織和利用計算集群中的資源。
大模型訓練所需的大數據涉及隱私、倫理問題。例如,訓練數據被篡改、破壞、泄露或非法獲取,將會對公共安全和個人隱私造成嚴重損害。此外,訓練數據中可能存在粗俗、暴力、色情等內容,導致大模型存在偏見問題。因此,大模型的安全和倫理問題也是一個相當重要的研究方向。
大模型的發展為探索AI應用鋪平了道路,揭示了許多前景并迎來了前所未有的機遇。大模型有可能引領未來幾年的技術變革,帶來新的產業格局。如圖4所示,大模型在文本、代碼和圖像等領域已經得到廣泛應用,開始取代文字編輯、記錄等簡單重復的工作崗位,輔助開發者編寫程序,進行AI藝術創作等。在電子信息、生物醫學等領域,大模型可以加快研究進程;大模型與傳統產業的融合發展可以幫助企業提升智能化水平,推進實體經濟智能化發展。
此外,大模型發展還將為具身智能帶來變革。具身智能是有身體并支持物理交互的智能體,它能夠像人一樣與真實物理世界進行互動,并具備自主決策、規劃和主動感知等能力。大模型可將多模態知識遷移至具身推理中,使機器人執行特定指令,真正具備具身智能。

圖4 大模型的應用前景Fig.4 Application prospect of large model
大模型已成為人工智能領域的一個重要發展方向。從其發展歷程來看,先后經歷了機器學習模型、深度學習模型、預訓練模型和大規模預訓練模型 4個階段。在NLP和CV領域,大模型的發展不斷刷新相關任務的性能,隨著大模型參數量不斷突破新高,研究者發現了大模型區別于普通預訓練模型的新能力,稱之為大模型的涌現能力,這是大模型能夠勝任復雜任務的關鍵。此外,大模型的發展也面臨許多挑戰性問題,例如模型可解釋性差、訓練成本高、存在隱私和倫理風險等。未來的大模型參數規模發展可能進入平臺期,研究者將更加關注大模型開發架構的優化以及大模型產業落地的相關研究,以充分發揮大模型的能力。