亚洲男人的天堂2018av,欧美草比,久久久久久免费视频精选,国色天香在线看免费,久久久久亚洲av成人片仓井空

自動程序修復(APR)試圖修補軟件缺陷并減少手動調試的工作。最近,隨著大型語言模型(LLMs)的進步,提出了越來越多的APR技術,顯著地促進了軟件開發和維護,并展示了卓越的性能。然而,由于基于LLM的APR領域的持續探索,研究人員很難理解當前的成就、挑戰以及潛在的機會。本項工作提供了第一個系統的文獻綜述,總結了2020年至2024年間LLMs在APR中的應用。我們分析了127篇關于LLMs、APR及其整合視角的相關論文。首先,我們分類了現有的流行LLMs,這些模型被應用于支持APR,并概述了三種部署策略。此外,我們詳細描述了一些從LLMs受益的特定修復場景,例如,語義錯誤和安全漏洞。進一步地,我們討論了幾個將LLMs整合到APR研究中的關鍵方面,例如,輸入形式和開放科學。最后,我們強調了仍需研究的一系列挑戰和未來研究的潛在指南。總體而言,我們的論文為APR社區提供了一個系統的研究概覽,幫助研究者全面理解成就并推動未來的研究。我們的工具在GitHub倉庫公開可用://github.com/iSEngLab/AwesomeLLM4APR。

軟件缺陷被公認為不可避免且具有破壞性,為全球用戶帶來安全問題,并每年造成數十億美元的經濟損失【11, 156】。對開發者而言,手動修復檢測到的軟件缺陷既非小事也耗時【13】。自動程序修復(APR)在軟件開發和維護中扮演著至關重要的角色,旨在無需人工干預下修復軟件缺陷。自2009年基礎工作GenProg【80, 155】以來,過去幾十年中APR已被廣泛研究【43, 105】,研究者們提出了多種APR技術,包括基于啟發式的【64, 80, 98, 177】、基于約束的【31, 99, 169, 171】以及基于模式的【76, 91, 92】。最近,受到深度學習(DL)進步的啟發,越來越多基于學習的APR技術被提出,這些技術利用神經網絡模型自動學習修復缺陷的模式【18, 66, 84, 85, 96, 142, 174, 175, 199, 200】。得益于DL模型從大量代碼庫中學習隱藏修復模式的強大能力,基于學習的APR在過去幾年中取得了顯著的表現【182】,吸引了學術界和工業界的廣泛關注【69, 70, 73】。 最近,大型語言模型(LLMs)已成功應用于廣泛的源代碼相關任務【147, 184】,如代碼生成【82, 148, 150, 201】、代碼總結【132, 133, 146】和測試生成【4, 24, 57, 108, 128】。得益于龐大的模型參數和廣闊的訓練數據,LLMs展示了令人印象深刻的性能,并從根本上改變了軟件工程(SE)社區的研究范式。在APR領域,從先驅研究開始,例如TFix【7】、CIRCLE【176】和AlphaRepair【163】,社區已經見證了利用LLMs的修復研究的爆炸性增長,已經取得了相當的優勢,并進一步顯示了未來研究的重大潛力。然而,LLMs在APR中的整合是一個相當復雜的任務,使得有興趣的研究者難以理解現有工作。例如,現有基于LLM的APR研究涵蓋了不同的研究視角(例如,經驗性【162】、技術性【163】和基準研究【187】)、修復階段(例如,補丁生成【186】和正確性評估【183】)、修復場景(例如,靜態警告【69】和語法錯誤【70】)、模型架構(例如,僅編碼器【185】和僅解碼器【100】)以及模型使用范式(例如,微調【176】、少量樣本【108】和零樣本【186】)。盡管該領域的探索仍在進行中,目前的文獻中缺乏關于LLMs在APR中應用的詳盡和系統的綜述,這使得研究人員難以理解現有工作的多樣化設計選擇和進行后續研究。 本文。為了彌補這一差距,我們的工作提供了第一個系統的文獻綜述,關于迅速出現的基于LLM的APR研究的部署。基于此,社區可以全面了解現有基于LLM的APR技術的優勢、劣勢和空白。我們討論了在最先進的APR研究中廣泛采用的LLMs是哪些,以及它們如何被整合到修復工作流中。我們收集了127篇相關論文,并從LLMs、APR和整合視角進行了系統分析。通過我們的分析,我們揭示了當前的挑戰,并指出了基于LLM的APR研究可能的未來方向。總體來說,這項工作為LLM基于APR社區正在進行的進展提供了一個徹底的概覽,幫助研究者在這個迅速發展的領域中導航,并推動創新實踐。 貢獻。總結來說,本工作做出了以下貢獻: * 調查方法論。我們進行了第一個系統的文獻綜述,涵蓋了127篇高質量的APR論文,這些論文利用近期的LLMs應對2020年至2024年4月的修復挑戰。 * 趨勢分析。我們就發布趨勢、出版地點分布和貢獻類型對選定的APR研究進行了詳細分析。 * LLMs視角。我們總結了46種用于支持程序修復的LLMs,并提供了APR領域不同LLM類別的典型使用和趨勢的概述。 * APR視角。我們描述了LLMs應用的常見修復場景,涵蓋了18種錯誤類型,如安全漏洞和編程問題。 * 整合視角。我們討論了一些關鍵因素,包括數據集、輸入表現形式和開放科學,這些因素影響LLMs整合到APR中的性能。 * 挑戰與機遇。我們總結了在APR領域應用LLMs的一些關鍵挑戰,并指出了未來基于LLM的APR研究的一些潛在指南。

論文組織。第2節介紹了關于APR和LLMs的一些基本概念。然后,根據上述貢獻,第3節列出了我們的研究問題(RQs)和收集與我們工作相關論文的研究方法。第4節調查了基于LLM的APR研究的趨勢和分布。第5節總結了現有APR研究所使用的LLMs。第6節闡述了LLMs應用的主要修復場景,并對每項工作進行了簡要描述。第7節討論了LLMs與APR整合過程中的一些關鍵因素,包括數據集、輸入表現形式、補丁正確性和開放科學。第8節討論了一些挑戰和實用指南。第9節得出結論。 我們試圖通過總結相關研究并進一步提供后續研究的指南,提供近期LLMs在APR應用的全面概覽。為了實現這一點,這個系統的文獻綜述回答了以下研究問題(RQs): * RQ1:利用LLMs的APR研究的趨勢是什么

(1) LLMs在修復軟件缺陷方面顯示出蓬勃的發展趨勢,從2020年到2024年間共有127篇論文。 (2) 在APR中使用LLMs的會議論文數量顯著超過期刊論文,其中ICSE和TOSEM分別是最受歡迎的會議和期刊場所。 (3) 基于LLM的APR論文發表在不同的研究領域,包括軟件工程(SE)、人工智能(AI)和安全性。 (4) 有18種編程語言已被基于LLM的APR應用,其中Java、Python、C和C++是最常被目標的。 (5) LLMs已被應用于一些代表性較低的編程語言,如Verilog和Rust。 (6) 收集的大多數研究主要集中于引入新技術和進行實證研究,而有兩篇論文執行了用戶研究,以了解從業者對利用各種LLMs解決修復缺陷任務的態度和經驗。 * RQ2:哪些受歡迎的LLMs已被應用于支持APR

(1) 我們總結了46種不同的LLMs,這些模型已被用于修復缺陷,并且可以根據模型架構分為三類,即僅編碼器、編碼器-解碼器和僅解碼器。 (2) 僅解碼器的LLMs是最常使用的模型架構,其中四種最受歡迎的LLMs均為僅解碼器模型。 (3) ChatGPT、GPT-4、CodeT5和Codex是現有基于LLM的APR研究中最受歡迎的LLMs,分別被使用了37次、25次、23次和21次。 (4) 我們總結了三種典型的利用LLMs中封裝的廣泛知識來處理特定程序修復任務的方法,即微調、少量樣本和零樣本。 * RQ3:哪些修復場景已由LLMs促進

總體來看,我們觀察到LLMs已在文獻中的廣泛修復場景中得到應用,涉及18種錯誤類型。在一些由傳統APR主導的常見場景中,例如語義錯誤,研究者繼續投入大量努力研究LLMs的應用。此外,由于LLMs從所有可能的互聯網數據中學到的通用知識,基于LLM的APR已擴展到一些以前未探索的罕見場景,如硬件缺陷和Web UI。 * RQ4:哪些關鍵因素有助于LLMs在APR中的整合

(1) 我們總結了78種不同的數據集,這些數據集被用來基準測試LLMs在修復缺陷中的應用。 (2) 在基于LLM的APR中,Defects4J、QuixBugs、BFP、CVEfixes和Big-Vul是最常使用的。 (3) 我們將所有收集的論文中的輸入形式分類為五組:原始修復輸入、提示輸入、掩碼輸入、對話式輸入和結構感知輸入。 (4) 提示輸入是在應用LLMs進行程序修復時最常用的形式,這表明設計有效的提示對于利用LLMs的自然語言處理能力尤為重要。 (5) 我們總結了一些利用LLMs預測補丁正確性的研究。 (6) 所有收集的論文中有62.99%已經開源了其工具,而在頂級SE出版物中,這一比例增加到了86.84%。

付費5元查看完整內容

相關內容

隨著大語言模型(LLM)在各個領域的應用不斷擴大,它們適應數據、任務和用戶偏好的持續變化的能力變得至關重要。使用靜態數據集的傳統訓練方法不足以應對現實世界信息的動態特性。終身學習或持續學習通過使LLM能夠在其運行生命周期內持續學習和適應,整合新知識,同時保留先前學習的信息并防止災難性遺忘來解決這一問題。我們的綜述探討了終身學習的現狀,根據新知識的整合方式將策略分為兩類:內在知識,LLM通過完全或部分訓練將新知識吸收到其參數中;外部知識,通過將新知識作為外部資源(如維基百科或API)引入而不更新模型參數。我們的綜述的主要貢獻包括:(1)引入了一種新穎的分類法,將終身學習的大量文獻劃分為12種情景;(2)識別了所有終身學習情景中的常見技術,并將現有文獻分類到不同的技術組中;(3)強調了在LLM之前時代較少探索的模型擴展和數據選擇等新興技術。資源可在//github.com/qianlima-lab/awesome-lifelong-learningmethods-for-llm找到。

隨著大語言模型(LLM)在各個領域的應用不斷擴大,這些模型適應數據、任務和用戶偏好持續變化的能力變得至關重要。傳統的訓練方法依賴靜態數據集來訓練LLM,越來越無法應對現實世界信息的動態特性。終身學習(也稱為持續學習、增量學習),或LLM在其運行生命周期內持續和自適應學習的能力,解決了這一挑戰,通過整合新知識,同時保留先前學習的信息,從而防止災難性遺忘。圖1提供了終身學習的示意圖。 本綜述深入探討了終身學習的復雜領域,根據新知識的整合方式將策略分為兩大類:內在知識和外部知識。每個類別包含不同的方法,旨在增強LLM在各種情境下的適應性和有效性。圖2展示了LLM終身學習方法的分類。 內在知識類通過完全或部分訓練將新知識吸收到LLM的參數中,包括持續預訓練和持續微調等策略。例如,在工業應用中,常采用持續垂直領域預訓練,公司經常使用金融等領域的特定數據重新訓練其LLM。盡管這提高了特定領域的性能,但也有可能削弱模型的廣泛知識基礎,說明了在專業適應性和通用知識保留之間保持平衡的挑戰。持續微調涵蓋了特定情境的方法,如文本分類、命名實體識別、關系抽取和機器翻譯等,以及任務無關的方法,如指令微調、對齊和知識編輯。此外,在持續對齊中使用了人類反饋的強化學習,以確保LLM遵守人類價值觀,如安全和禮貌,突顯了所謂的“對齊稅”,即過于專注于特定價值觀可能會導致模型的通用能力下降。

外部知識類通過將新知識作為外部資源(如維基百科或API)引入,而不更新模型參數,包括基于檢索和工具的終身學習,利用外部數據源和計算工具來擴展模型的能力。基于檢索的策略,如檢索增強生成,通過提供上下文相關、準確和最新的外部數據庫(如維基百科)信息來增強文本生成,確保模型輸出隨時間保持相關性。同時,工具學習類借鑒人類工具使用的類比,模型學習使用外部計算工具,從而無需直接修改其核心知識庫,拓寬了其問題解決能力。

通過對這些組及其各自類別的詳細檢查,本文旨在強調將終身學習能力整合到LLM中,從而增強其在實際應用中的適應性、可靠性和整體性能。通過解決與終身學習相關的挑戰并探索該領域的創新,本綜述旨在為開發更強大和多功能的LLM做出貢獻,使其能夠在不斷變化的數字環境中蓬勃發展。

本綜述與現有綜述的差異。近年來,終身學習已成為一個越來越受歡迎的研究主題。大量綜述探討了神經網絡的終身學習。大多數現有綜述主要集中在卷積神經網絡(CNN)的終身學習,探討了CNN的各種終身學習情景,包括圖像分類、分割、目標檢測、自動系統、機器人和智慧城市。此外,一些綜述探討了圖神經網絡的終身學習。然而,只有少量文獻關注語言模型的終身學習。Biesialska等是關于自然語言處理(NLP)中終身學習的早期綜述,但他們只關注詞和句子表示、語言建模、問答、文本分類和機器翻譯。Ke等關注終身學習情景,包括情感分類、命名實體識別和摘要。他們還討論了知識轉移和任務間類分離的技術。Zhang等提供了關于將LLM與不斷變化的世界知識對齊的技術的全面回顧,包括持續預訓練、知識編輯和檢索增強生成。Wu等從持續預訓練、持續指令微調和持續對齊三個方面重新審視了終身學習。Shi等從垂直方向(或垂直持續學習)和水平方向(或水平持續學習)兩個方向研究了LLM的終身學習。Jovanovic等回顧了幾種實時學習范式,包括持續學習、元學習、參數高效學習和專家混合學習。雖然最近的綜述收集了終身學習的最新文獻,但它們沒有涵蓋持續文本分類、持續命名實體識別、持續關系抽取和持續機器翻譯等情景,并且對持續對齊、持續知識編輯、基于工具的終身學習和基于檢索的終身學習的討論較少。據我們所知,我們是第一個提供對LLM終身學習方法從12種情景進行徹底和系統檢查的綜述。

本綜述的貢獻。我們的綜述的主要貢獻包括

  • 新穎的分類法:我們引入了一個詳細且結構化的框架,將終身學習的廣泛文獻劃分為12種情景。

-** 常見技術**:我們在所有終身學習情景中識別了常見技術,并將現有文獻分類到每個情景內的各種技術組中。

  • 未來方向:我們強調了模型擴展和數據選擇等在LLM之前時代較少探索的新興技術。

本綜述的組織結構如下。第二節介紹問題的形成、評價指標、常見技術、基準和數據集。第三節、第四節和第五節檢查了持續預訓練、持續微調和基于外部知識的終身學習的現有技術。第六節討論了LLM終身學習的現有挑戰、當前趨勢和未來方向,并總結了本綜述。

付費5元查看完整內容

大型語言模型(LLMs)在各種與代碼相關的任務中取得了顯著進展,特別是在從自然語言描述生成源代碼的代碼生成任務中,這些模型被稱為代碼LLMs。由于其在軟件開發中的實際意義(例如GitHub Copilot),這個新興領域吸引了學術研究人員和行業專業人士的廣泛關注。盡管從自然語言處理(NLP)或軟件工程(SE)或兩者的角度,研究人員對各種代碼任務的LLMs進行了積極探索,但目前缺乏一篇專門針對代碼生成LLM的全面且最新的文獻綜述。在本綜述中,我們旨在彌補這一空白,通過提供一篇系統的文獻綜述,為研究人員調查代碼生成LLM的最新進展提供有價值的參考。我們引入了一個分類法,對代碼生成LLM的最新發展進行分類和討論,涵蓋數據整理、最新進展、性能評估和實際應用等方面。此外,我們還提供了代碼生成LLM發展的歷史概覽,并使用廣泛認可的HumanEval和MBPP基準進行經驗比較,以突出代碼生成LLM能力的逐步提升。我們識別了學術界與實際開發之間的關鍵挑戰和有前景的機會。此外,我們建立了一個專門的資源網站(//codellm.github.io),以持續記錄和傳播該領域的最新進展。

引言

大型語言模型(LLMs),例如ChatGPT[171]的出現,深刻改變了自動化代碼相關任務的格局[45],包括代碼補全[78, 152, 233, 244]、代碼翻譯[48, 121, 211]和代碼修復[109, 170, 176]。LLMs一個特別有趣的應用是代碼生成,這項任務涉及從自然語言描述中生成源代碼。盡管各研究對其定義有所不同[47, 191, 204, 232],但在本綜述中,我們采用一致的定義,將代碼生成定義為自然語言到代碼(NL2Code)任務[15, 16, 264]。這一領域因其在學術界和工業界都引起了廣泛興趣,開發了如GitHub Copilot[45]、CodeGeeX[275]和Amazon CodeWhisperer等工具,這些工具利用先進的代碼LLMs來促進軟件開發。 最初對代碼生成的研究主要利用啟發式規則或專家系統,例如基于概率文法的框架[9, 57, 113]和專門的語言模型[59, 74, 106]。這些早期技術通常較為僵化且難以擴展。然而,基于Transformer的大型語言模型的引入改變了這一范式,使其成為首選方法,因其具備更高的能力和靈活性。LLMs的一個顯著特點是其跟隨指令的能力[51, 164, 173, 238, 250],即使是新手程序員也可以通過簡單表達需求來編寫代碼。這一新興能力使編程變得更加大眾化,使更廣泛的受眾能夠接觸編程[264]。在代碼生成任務中的LLMs表現出顯著改進,如HumanEval排行榜所示,從PaLM 8B[49]的3.6%到LDB[279]的95.1%在Pass@1指標上的提升。由此可見,HumanEval基準[45]已成為評估LLMs代碼能力的事實標準[45]。

為了提供全面的時間演變概覽,我們展示了LLMs用于代碼生成的發展概覽,如圖1所示。代碼生成LLMs的格局由一系列模型組成,其中一些模型如ChatGPT[173]、GPT4[5]、LLaMA[217, 218]和Claude 3[13]用于通用應用,而其他如StarCoder[132, 151]、Code LLaMA[196]、DeepSeek-Coder[79]和Code Gemma[54]則專門針對代碼任務。代碼生成與最新LLM進展的融合尤為關鍵,特別是當編程語言可以被視為多語言自然語言的不同方言時[15, 275]。這些模型不僅符合軟件工程(SE)的要求,還推動了LLMs向實際生產的進步[271]。

盡管近期的綜述從自然語言處理(NLP)、軟件工程(SE)或兩者結合的視角對代碼LLMs進行了探討[91, 264, 271, 278],它們通常涵蓋了廣泛的代碼相關任務。仍然缺乏專門回顧代碼生成高級主題的文獻,如精細數據整理、指令調優、與反饋對齊、提示技術、自主編碼代理的發展、檢索增強代碼生成、LLM作為代碼生成的評審等。一個相關的重要研究[15, 264]也集中在文本到代碼生成(NL2Code)的LLMs上,但主要考察了2020年至2022年發布的模型。因此,這一顯著的時間差距導致了缺乏考慮最新進展的最新文獻綜述,包括如CodeQwen[215]、WizardCoder[154]和PPOCoder[204]等模型,以及前述高級主題的全面探索。

鑒于需要一個專門且最新的文獻綜述,本綜述旨在填補這一空白。我們提供了一篇系統綜述,為研究人員快速探索代碼生成LLMs的最新進展提供了基礎性參考。我們引入了一個分類法,對最近的進展進行分類和審視,涵蓋數據整理[154, 231, 240]、高級主題[42, 47, 94, 125, 146, 152, 164, 166, 177, 205, 266]、評估方法[45, 85, 111, 284]和實際應用[45, 275]。這一分類法與代碼生成LLM的完整生命周期相一致。此外,我們指出了關鍵挑戰并識別了橋接研究與實際應用之間的有前景機會。因此,本綜述使NLP和SE研究人員能夠全面了解代碼生成LLM,突出前沿方向和當前的障礙與前景。 綜述的其余部分按照我們在圖3中概述的分類法結構組織。在第2節中,我們介紹了LLM與Transformer架構的基礎知識,并制定了代碼生成LLM的任務。接下來在第3節中,我們提出了一種分類法,對代碼生成LLMs的完整過程進行分類。在第4節中,我們在該分類框架內深入探討代碼生成LLMs的具體細節。在第5節中,我們強調了橋接研究與實際應用差距的關鍵挑戰和有前景的機會,并在第6節總結本工作。

分類

近期大型語言模型(LLMs)開發的激增導致大量這些模型通過持續預訓練或微調被重新用于代碼生成任務。這一趨勢在開源模型領域尤為明顯。例如,Meta AI最初公開了LLaMA [217]模型,隨后發布了專為代碼生成設計的Code LLaMA [196]。類似地,DeepSeeker開發并發布了DeepSeek LLM [25],隨后擴展為專門用于代碼生成的變體DeepSeek Coder [79]。Qwen團隊基于其原始的Qwen [19]模型開發并發布了Code Qwen [215]。微軟則推出了WizardLM [250],并正在探索其面向編程的對應模型WizardCoder [154]。谷歌也加入了這一行列,發布了Gemma [214],隨后發布了Code Gemma [54]。除了簡單地將通用LLMs適用于代碼相關任務外,還出現了大量專門為代碼生成設計的模型。值得注意的例子包括StarCoder [132]、OctoCoder [164]和CodeGen [169]。這些模型強調了以代碼生成為重點開發的LLMs的趨勢。 認識到這些發展的重要性,我們提出了一種分類法,對代碼生成LLMs的最新進展進行分類和評估。此分類法如圖3所示,作為研究人員快速熟悉該動態領域最新技術的全面參考。 在接下來的章節中,我們將對與代碼生成相關的每個類別進行深入分析。這將包括問題的定義、要解決的挑戰以及對最突出的模型及其性能評估的比較。

大型語言模型(LLMs)與Transformer架構在多個領域引發了革命性變革,其在代碼生成中的應用尤為顯著。這些模型遵循一個全面的過程,從代碼數據的整理和合成開始,然后是包括預訓練和微調在內的結構化訓練方法,并使用復雜的提示工程技術。最近的進展包括集成了庫級和檢索增強的代碼生成,以及自主編碼代理的發展。此外,評估LLMs的編碼能力已成為該研究領域的重要組成部分。 在接下來的章節中,我們將詳細探討這些與代碼生成相關的LLMs各個方面。第4.1節將介紹在LLMs開發的各個階段中使用的數據整理和處理策略。第4.2節將討論旨在緩解高質量數據稀缺性的數據合成方法。第4.3節將概述用于代碼生成的LLMs的流行模型架構。第4.4節將探討全參數微調和參數高效微調的技術,這些技術對于將LLMs調整為代碼生成任務至關重要。第4.5節將通過強化學習和利用反饋的力量,闡述提升代碼質量的方法。第4.6節將深入研究通過策略性使用提示來最大化LLMs的編碼能力。第4.7和4.8節將分別詳細說明庫級和檢索增強代碼生成的創新方法。此外,第4.9節將討論自主編碼代理這一令人興奮的領域。最后,第4.11節將提供一些利用LLMs進行代碼生成的實際應用見解,展示這些復雜模型的現實世界影響。通過這一全面探索,我們旨在強調LLMs在自動化代碼生成領域的意義和潛力。 結論

在本綜述中,我們提供了一篇系統的文獻綜述,為研究代碼生成LLMs最新進展的研究人員提供了寶貴的參考。我們詳細介紹和分析了數據整理、最新進展、性能評估和實際應用。此外,我們還展示了近年來代碼生成LLMs演變的歷史概覽,并使用廣泛認可的HumanEval和MBPP基準進行經驗比較,以突出代碼生成LLMs能力的漸進提升。我們還識別了學術界與實際開發之間的關鍵挑戰和有前景的機會,以供未來研究。此外,我們建立了一個專門的資源網站,以持續記錄和傳播該領域的最新進展。我們希望本綜述能夠為代碼生成LLMs提供一個全面而系統的概覽,促進其蓬勃發展。我們樂觀地相信,LLMs最終將改變編碼的各個方面,自動編寫安全、有用、準確、可信且可控的代碼,如同專業程序員一樣,甚至解決當前人類無法解決的編碼問題。

付費5元查看完整內容

根據最近大語言模型(LLMs)的流行,已經有多次嘗試將其擴展到視覺領域。從擁有可以引導我們穿越陌生環境的視覺助手到僅使用高級文本描述生成圖像的生成模型,視覺-語言模型(VLM)的應用將極大地影響我們與技術的關系。然而,為了提高這些模型的可靠性,還有許多挑戰需要解決。雖然語言是離散的,但視覺在更高維的空間中演變,其中的概念并不總是容易離散化。為了更好地理解將視覺映射到語言的機制,我們介紹了這篇關于VLMs的綜述,希望能幫助任何希望進入該領域的人。首先,我們介紹了什么是VLMs,它們是如何工作的,以及如何訓練它們。然后,我們展示并討論了評估VLMs的方法。盡管這項工作主要關注將圖像映射到語言,但我們也討論了將VLMs擴展到視頻的可能性。

近年來,我們在語言建模方面看到了令人印象深刻的發展。許多大型語言模型(LLMs),如Llama或ChatGPT,現在能夠解決各種各樣的任務,其使用也越來越普及。這些模型主要局限于文本輸入,現在已經擴展到包含視覺輸入。將視覺與語言連接將開啟幾個在當前基于AI的技術革命中關鍵的應用。盡管已經有多項工作將大型語言模型擴展到視覺領域,但語言與視覺的連接并未完全解決。例如,大多數模型在沒有復雜的工程開銷和額外數據標注的情況下,難以理解空間關系或進行計數。許多視覺語言模型(VLMs)也缺乏對屬性和順序的理解。它們經常忽略輸入提示的一部分,導致需要進行大量的提示工程才能得到所需結果。其中一些還會產生幻覺,生成不必要或不相關的內容。因此,開發可靠的模型仍然是一個非常活躍的研究領域。 在這項工作中,我們介紹了視覺語言模型(VLMs)的入門知識。我們解釋了什么是VLMs,它們是如何訓練的,以及如何根據不同的研究目標有效評估VLMs。本工作不應被視為關于VLMs的綜述或完整指南。因此,我們并不打算引用VLM研究領域的每一項工作;也不涵蓋該領域的所有最佳實踐。相反,我們旨在提供一個清晰且易于理解的VLM研究介紹,并強調在該領域進行研究的有效實踐。該介紹特別適合希望進入該領域的學生或其他領域的研究人員。

我們首先介紹不同的VLM訓練范式。我們討論了對比方法如何改變了該領域。接著,我們介紹利用掩碼策略或生成組件的方法。最后,我們介紹使用預訓練骨干(如LLMs)的VLMs。將VLMs分類成不同的家族并不是一項容易的任務,因為它們中的大多數都有重疊的組件。然而,我們希望我們的分類能幫助新研究人員導航該領域,并揭示VLMs背后的內在機制。

接下來,我們介紹訓練VLMs的典型方法。例如,我們涵蓋了:根據不同的研究目標,哪些數據集是合適的?哪種數據策展策略?我們是否需要訓練一個文本編碼器,還是可以利用一個預訓練的LLM?對比損失對于理解視覺是否足夠,還是生成組件是關鍵?我們還介紹了用于提高模型性能以及更好地對齊和錨定的常見技術。 提供訓練模型的方法是更好地理解VLM需求的關鍵步驟,而提供對這些模型的穩健和可靠的評估同樣重要。許多用于評估VLMs的基準最近已經被引入。然而,其中一些基準有重要的局限性,研究人員應當注意。通過討論VLM基準的優缺點,我們希望揭示改善我們對VLMs理解的挑戰。我們首先討論評估VLMs視覺語言能力的基準,然后介紹如何衡量偏見。

下一代VLMs將能夠通過將視頻映射到語言來理解視頻。然而,視頻面臨的挑戰與圖像不同。計算成本當然更高,但也有其他關于如何通過文本映射時間維度的考慮。通過揭示當前從視頻中學習的方法,我們希望強調需要解決的當前研究挑戰。

通過降低進入VLM研究的門檻,我們希望為更負責任的發展VLMs提供基礎,同時推動視覺理解的邊界。

鑒于深度學習在計算機視覺和自然語言處理領域的顯著進展,已經有多項將這兩個領域橋接起來的倡議。在本文中,我們重點介紹基于Transformers [Vaswani et al., 2017] 的最新技術。我們將這些最新的技術分為四種不同的訓練范式(圖1)。

第一種是對比訓練,這是一個常用的策略,它利用正負樣本對。VLM通過訓練,使其能夠為正樣本對預測相似的表示,而為負樣本對預測不同的表示。

第二種是掩碼策略,通過給定一些未掩碼的文本來重建被掩碼的圖像塊。同樣,通過掩碼標題中的詞語,可以訓練VLM在給定未掩碼圖像的情況下重建這些詞語。

基于預訓練骨干的VLMs通常利用開源的LLMs,如Llama [Touvron et al., 2023],以學習圖像編碼器(也可以是預訓練的)和LLM之間的映射。與從頭訓練文本和圖像編碼器相比,學習預訓練模型之間的映射通常計算成本較低。

雖然大多數方法利用中間表示或部分重建,生成式VLMs則以能夠生成圖像或標題的方式進行訓練。鑒于這些模型的性質,它們往往是訓練成本最高的。 我們強調,這些范式并不是互斥的;許多方法依賴于對比、掩碼和生成標準的混合。對于每種范式,我們僅介紹一到兩個模型,以便讀者對這些模型的設計有一些高層次的見解。

VLM訓練指南

多項研究 [Henighan et al., 2020b,a] 強調了擴展深度神經網絡規模以提升其性能的重要性。受到這些擴展規律的啟發,最近的工作主要集中在增加計算能力和模型規模以學習更好的模型。這導致了諸如CLIP [Radford et al., 2021] 這樣的模型的出現,該模型使用了400M張圖像進行訓練,計算預算非常高。即使是相應的開源實現OpenCLIP [Ilharco et al., 2021] 也使用了256到600個GPU,訓練時間長達數天或數周,具體取決于模型規模。然而,最近的研究 [Sorscher et al., 2022] 表明,通過數據策展流水線,可以超越擴展定律。在本節中,我們首先討論訓練模型時數據的重要性,并介紹一些用于創建訓練VLMs數據集的方法。接著,我們討論從業者可能用來更高效地訓練VLMs的常用軟件、工具和技巧。由于訓練VLMs的方法不同,我們還討論了在特定情況下選擇哪種類型的模型。最后,我們介紹了一些提高錨定(正確將文本與視覺線索匹配)的技巧。我們還介紹了使用人類偏好改進對齊的方法。由于VLMs經常用于讀取和翻譯文本,我們也介紹了一些可以進一步提升VLMs OCR能力的技術。最后,我們討論了常見的微調方法。

負責的VLM評估方法

由于VLMs的主要能力是將文本與圖像進行映射,因此測量視覺-語言能力至關重要,以確保文字確實與視覺線索相匹配。早期用于評估VLMs的任務是圖像描述和視覺問答(VQA)[Antol et al., 2015]。在本節中,我們還討論了評估模型從圖像中理解和讀取文本能力的文本中心VQA任務。另一個由Radford等人 [2021] 引入的常見評估方法基于零樣本預測,例如ImageNet [Deng et al., 2009] 分類任務。這類分類任務對于評估VLM是否具備足夠的世界知識非常重要。更近期的基準如Winoground [Thrush et al., 2022] 測量視覺-語言組合推理。由于VLM模型已知會表現出偏見或幻覺,因此評估這兩個組成部分也很重要。

擴展VLMs至視頻

我們迄今為止的重點是訓練和評估基于靜態視覺數據(即圖像)的VLMs。然而,視頻數據為模型帶來了新的挑戰和潛在的新功能,例如理解物體的運動和動態,或在空間和時間中定位物體和動作。文本到視頻的檢索、視頻問答和生成迅速成為計算機視覺的基本任務 [Xu et al., 2015, Tapaswi et al., 2016, Brooks et al., 2024]。視頻的時間維度對存儲、GPU內存和訓練提出了新的挑戰,例如,24幀每秒的視頻需要24倍的存儲和處理,如果每幀都被視為圖像。這需要在視頻VLMs中進行權衡,例如使用壓縮形式的視頻(例如,H.264編碼)并在數據加載器中即時解碼視頻;從圖像編碼器初始化視頻編碼器;視頻編碼器具有空間/時間池化/掩碼機制 [Fan et al., 2021, Feichtenhofer et al., 2022];非端到端VLMs(離線提取視頻特征并訓練模型,這些模型采用視頻特征而不是長視頻的像素幀)。與圖像-文本模型類似,早期的視頻-文本模型從頭開始訓練視覺和文本組件,并采用自監督標準 [Alayrac et al., 2016]。但與圖像模型不同的是,對比視頻-文本模型并不是首選方法,視頻和文本的早期融合和時間對齊更受青睞 [Sun et al., 2019],因為與計算視頻的全局表示相比,表示中的時間粒度更為有趣。最近,視頻-語言模型中也出現了類似于圖像-語言模型的趨勢:預訓練的LLMs被用于與視頻編碼器對齊,增強LLMs的視頻理解能力。現代技術如視覺指令微調也被廣泛使用并適應于視頻。

結論

將視覺映射到語言仍然是一個活躍的研究領域。從對比方法到生成方法,有許多訓練VLMs的方法。然而,高計算和數據成本常常成為大多數研究人員的障礙。這主要激勵了使用預訓練的LLMs或圖像編碼器,僅學習模態之間的映射。無論訓練VLMs的方法是什么,都有一些普遍的考慮需要記住。大規模高質量的圖像和標題是提升模型性能的重要因素。改進模型的錨定能力和與人類偏好的對齊也是提高模型可靠性的重要步驟。 為了評估性能,已經引入了多個基準來測量視覺語言和推理能力;然而,其中許多基準有嚴重的局限性,如僅使用語言先驗就能解決。將圖像與文本綁定并不是VLMs的唯一目標;視頻也是一種可以用來學習表示的重要模態。然而,在學習良好的視頻表示之前,還有許多挑戰需要克服。VLMs的研究仍然非常活躍,因為要使這些模型更可靠,還需要很多缺失的組件。

付費5元查看完整內容

雖然像ChatGPT這樣的大型語言模型(LLMs)在自然語言處理(NLP)任務中表現出令人印象深刻的能力,但對其在這一領域潛力的系統性研究仍然較少。本研究旨在填補這一空白,探索以下問題:(1)LLMs目前在文獻中如何應用于NLP任務?(2)傳統的NLP任務是否已經被LLMs解決?(3)LLMs在NLP中的未來是什么?為了解答這些問題,我們首先提供了一個關于LLMs在NLP中全面概述的第一步。具體來說,我們首先介紹了一個統一的分類,包括(1)參數凍結應用和(2)參數微調應用,以提供一個統一的視角來理解LLMs在NLP中的當前進展。此外,我們總結了新的前沿領域及相關挑戰,旨在激發進一步的突破性進展。我們希望這項工作能為LLMs在NLP中的潛力和局限性提供寶貴的見解,同時也作為構建有效的LLMs在NLP中的實用指南。

近年來,大型語言模型(LLMs)通過擴大語言模型的規模,代表了人工智能領域的重大突破(Zhao et al., 2023a; Kaddour et al., 2023; Yang et al.; Hadi et al., 2023; Zhuang et al., 2023)。目前關于LLMs的研究,如GPT系列(Brown et al., 2020; Ouyang et al., 2022)、PaLM系列(Chowdhery et al., 2022)、OPT(Zhang et al., 2022a)和LLaMA(Touvron et al., 2023),顯示了令人印象深刻的零樣本性能。此外,LLMs還帶來了一些新興能力,包括指令遵循(Wei et al., 2022a)、鏈式思維推理(Wei et al., 2022c)和上下文學習(Min et al., 2022),這些能力引起了越來越多的關注(Wei et al., 2022b)。

為了回答上述問題,我們首次嘗試對LLMs在NLP中的應用進行全面而詳細的分析。本工作的總體目標是探索LLMs在NLP中的當前發展。為此,在本文中,我們首先介紹相關背景和預備知識。此外,我們引入了LLMs在NLP中的統一范式:(1)參數凍結應用,包括(i)零樣本學習和(ii)小樣本學習;(2)參數微調應用,包括(i)全參數微調和(ii)參數高效微調,旨在提供一個統一的視角來理解LLMs在NLP中的當前進展:

  • 參數凍結應用直接在NLP任務中使用提示方法,不需要參數微調。這一類別包括零樣本和小樣本學習,具體取決于是否需要小樣本示例。
  • 參數微調應用指需要對LLMs的參數進行微調以適應NLP任務。這一類別包括全參數微調和參數高效微調,具體取決于是否需要對所有模型參數進行微調。 最后,我們通過確定未來研究的潛在前沿領域及相關挑戰來刺激進一步的探索。總結來說,這項工作提供了以下貢獻:
  1. 首個綜述:我們首次對大型語言模型(LLMs)在自然語言處理(NLP)任務中的應用進行了全面綜述。
  2. 新分類法:我們引入了一個新的分類法,包括(1)參數凍結應用和(2)參數微調應用,這提供了一個理解LLMs在NLP任務中應用的統一視角。
  3. 新前沿:我們討論了LLMs在NLP中的新興研究領域,并強調了相關挑戰,旨在激發未來的突破。
  4. 豐富資源:我們創建了第一個LLMs在NLP中的資源集合,包括開源實現、相關語料庫和研究論文列表。這些資源可在//github.com/LightChen233/Awesome-LLM-for-NLP獲取。 我們希望這項工作能成為研究人員的寶貴資源,并推動基于LLMs的NLP領域的進一步進展。

我們首先描述了一些典型的自然語言處理理解任務,包括語義分析(§3.1)、信息抽取(§3.2)、對話理解(§3.3)和表格理解(§3.4)。

付費5元查看完整內容

在過去的一年中,多模態大型語言模型(MLLMs)在視覺問答、視覺理解和推理等任務中表現出色。然而,龐大的模型規模和高昂的訓練與推理成本阻礙了MLLMs在學術界和工業界的廣泛應用。因此,研究高效且輕量級的MLLMs具有巨大的潛力,特別是在邊緣計算場景中。在這篇綜述中,我們對當前高效MLLMs的研究現狀進行了全面而系統的回顧。具體來說,我們總結了代表性高效MLLMs的時間線、高效結構和策略的研究現狀以及應用。最后,我們討論了當前高效MLLM研究的局限性和未來有前景的研究方向。更多詳情請參考我們的GitHub倉庫://github.com/lijiannuist/Efficient-Multimodal-LLMs-Survey。

大規模預訓練作為人工智能(AI)領域的一種領先方法,使得像大型語言模型和多模態模型這樣的通用模型在許多任務中超越了專門的深度學習模型。大型語言模型(LLM)的卓越能力激發了將它們與其他基于模態的模型結合起來以增強多模態能力的努力。這一概念得到了OpenAI的GPT-4V[1]和Google的Gemini[2]等專有模型顯著成功的進一步支持。因此,多模態大型語言模型(MLLMs)應運而生,包括mPLUG-Owl系列[3, 4]、InternVL[5]、EMU[6]、LLaVA[7]、InstructBLIP[8]、MiniGPT-v2[9]和MiniGPT-4[10]。這些模型通過有效利用每種模態的預訓練知識,繞過了從頭開始訓練的計算成本。MLLMs繼承了LLM的認知能力,展示了許多顯著特性,如強大的語言生成和遷移學習能力。此外,通過與其他基于模態的模型建立強大的表示連接和對齊,MLLMs能夠處理來自多種模態的輸入,顯著拓寬了它們的應用范圍。 MLLMs的成功主要歸因于規模定律:隨著數據、計算能力或模型規模等資源的增加,AI模型的性能會提高。然而,可擴展性伴隨著高資源需求,這阻礙了大型模型的發展和部署。例如,MiniGPT-v2的訓練需要基于NVIDIA A100 GPU計算出的總計超過800個GPU小時[9]。這對主要企業外的研究人員來說是一個巨大的費用負擔。除了訓練之外,推理也是MLLMs資源消耗的主要部分。考慮一個典型場景,模型輸入包括一個尺寸為336 × 336像素的圖像和一個長度為40個tokens的文本提示,使用LLaVA-1.5和Vicuna-13B LLM骨干進行推理需要18.2T的FLOPS和41.6G的內存使用量。大規模模型的資源密集型特性也引發了關于民主化和隱私保護的擔憂,因為當前主流的MLLMs,如GPT-4V和Gemini,由少數幾家主導企業控制,并在云端運行。如上述實驗所示,即使是開源的MLLMs,對計算資源的高要求也使得在邊緣設備上運行它們變得具有挑戰性。這進一步加劇了確保公平訪問和保護用戶隱私的挑戰。

鑒于這些挑戰,高效MLLMs的研究受到了越來越多的關注。這些努力的主要目標是減少MLLMs的資源消耗,擴大其適用性,同時盡量減少性能下降。高效MLLMs的研究始于用輕量級替代品替換大型語言模型,并進行典型的視覺指令微調。隨后,研究進一步通過以下方式增強了能力并擴展了用例:(1)引入更輕量的架構,注重效率,旨在減少參數數量或計算復雜度[25, 13, 18];(2)開發了更專業的組件,聚焦于高級架構的效率優化或賦予特定屬性,如局部性[19, 17, 12];(3)支持資源敏感任務,一些工作采用視覺token壓縮來提高效率,使MLLM的能力能夠轉移到資源密集型任務中,如高分辨率圖像和視頻理解[35, 39, 14, 40]。

在本綜述中,我們旨在呈現快速發展的高效MLLMs領域的最新進展,如圖2所示。我們將文獻組織成六個主要類別,涵蓋高效MLLMs的各個方面,包括架構、高效視覺、高效LLMs、訓練、數據和基準測試以及應用。Architecture 關注通過高效技術開發的MLLM框架,以降低計算成本。該架構由多個基于模態的基礎模型組成,具有不同于單模態模型的特征,從而促進了新技術的發展。

Efficient Vision 探討優化高效視覺特征提取策略,強調在保持準確性的同時提高效率的方法。它解決了集成高質量視覺數據以實現有效跨模態理解的問題。

Efficient LLMs 探索提高語言模型計算效率和可擴展性的策略。它研究了模型復雜性與性能之間的權衡,并提出了平衡這些競爭因素的有前景途徑。

Training 調查了對高效MLLMs開發至關重要的訓練方法的現狀。它解決了與預訓練階段、指令微調階段及整體訓練策略相關的挑戰,以實現最先進的結果。

Data and Benchmarks 評估用于多模態語言模型評估的數據集和基準測試的效率。它評估了數據集規模、復雜性和計算成本之間的權衡,同時倡導開發優先考慮效率和與現實世界應用相關性的基準測試。

Application 研究高效MLLMs在各個領域的實際影響,強調性能和計算成本之間的平衡。通過解決諸如高分辨率圖像理解和醫療問答等資源密集型任務,本節強調了高效MLLMs在拓寬其應用范圍和解決現實問題方面的潛力。

總之,這篇綜述深入探討了這些研究工作,探索了多種使MLLMs更具資源效率的策略。我們回顧了高效MLLMs的發展歷史,提供了高效MLLMs策略的分類法,并全面比較了現有高效MLLMs的性能。通過這一探索,我們希望提供對當前最先進技術的全面理解,從而揭示這一新興領域的復雜細微之處。此外,這篇綜述還充當了路線圖,突出了未來研究的潛在途徑,促進了對高效MLLMs領域挑戰和機遇的更深入理解。除了這篇綜述,我們還建立了一個GitHub倉庫,收錄了綜述中提到的論文,并按照相同的分類法進行整理,地址為:

按照標準的MLLM框架,高效MLLMs可以分為三個主要模塊:視覺編碼器g,負責接收和處理視覺輸入;預訓練語言模型,管理接收到的多模態信號并進行推理;視覺-語言投影器P,作為連接兩種模態的橋梁。為了提高通用MLLMs的效率,主要的優化在于處理高分辨率圖像、壓縮視覺令牌、實施高效結構以及使用緊湊的語言模型等策略。圖3展示了架構圖。表1概述了高效MLLMs的總結,包括基礎LLM、視覺編碼器、圖像分辨率和用于連接視覺和語言的投影器。這些高效MLLMs包括:MobileVLM[20]、LLaVA-Phi[21]、Imp-v1[22]、TinyLLaVA[23]、Bunny[24]、Gemini Nano-2[2]、MobileVLMv2[17]、MoE-LLaVA-3.6B[25]、Cobra[13]、Mini-Gemini[26]、Vary-toy[27]、TinyGPT-V[28]、SPHINX-Tiny[14]、ALLaVA[29]、MM1-3B[30]、LLaVA-Gemma[31]、Mipha-3B[32]、VLMamba[18]、MiniCPM-V2.0[70]、DeepSeek-VL[34]、KarmaVLM[71]、moondream2[72]。在本節中,我們將按順序全面概述這三個模塊以及其他高效組件。

Vision Transformer (ViT) [94] 架構在計算機視覺應用中獲得了顯著的關注并被廣泛使用。然而,隨著ViT模型規模的增長,可訓練參數和操作數量也隨之增加,影響了它們的部署和性能。此外,自注意力機制的計算和內存成本隨著圖像分辨率的增加呈二次增長。參考論文[95],本綜述旨在探索可用于高效MLLMs的最有效的視覺編碼方法。

付費5元查看完整內容

大型語言模型(LLMs)已在自然語言處理(NLP)領域催生了重大進展,然而它們面臨著諸如幻覺錯誤和對特定領域知識需求等挑戰。為了緩解這些問題,最近的方法學已將從外部資源檢索到的信息與LLMs整合,顯著提升了它們在NLP任務中的表現。這篇綜述論文針對缺乏對檢索增強語言模型(RALMs)、包括檢索增強生成(RAG)和檢索增強理解(RAU)的全面概述,提供了它們的范式、演變、分類和應用的深入考察。文章討論了RALMs的基本組件,包括檢索器、語言模型和增強組件,以及它們的互動如何導致多樣化的模型結構和應用。RALMs在從翻譯和對話系統到知識密集型應用的廣泛任務中顯示出其實用性。綜述還包括了幾種評估RALMs的方法,強調在評估中穩健性、準確性和相關性的重要性。同時也指出了RALMs的限制,特別是在檢索質量和計算效率方面,提供了未來研究的方向。總之,這篇綜述旨在提供對RALMs的結構化洞見、其潛力以及NLP未來發展的途徑。論文還附帶了一個包含已調研工作和進一步研究資源的Github倉庫://github.com/2471023025/RALM_Survey。

自然語言處理(NLP)是計算機科學和人工智能領域內的一個重要研究方向,致力于研究使人與計算機之間能夠使用自然語言有效溝通的理論和方法學框架。作為一個多學科領域,NLP整合了語言學、計算機科學和數學,旨在實現人類語言與計算機數據之間的相互轉換。其最終目標是賦予計算機處理和“理解”自然語言的能力,從而便于執行自動翻譯、文本分類和情感分析等任務。NLP的復雜性體現在它包括的眾多步驟上,如詞匯分割、詞性標注、解析、詞干提取、命名實體識別等,這些都增加了在人工智能系統中復制人類語言理解的難度。

傳統的自然語言處理任務通常使用基于統計的算法(Hogenboom et al., 2010)(Serra et al., 2013)(Aussenac-Gilles and S?rgel, 2005)和深度學習算法,如卷積神經網絡(CNN)(Yin et al., 2017)、遞歸神經網絡(RNN)(Banerjee et al., 2019)、長短時記憶網絡(LSTM)(Yao and Guan, 2018)等。最近,隨著變壓器架構(Vaswani et al., 2017)作為自然語言處理的代表性技術的出現,其受歡迎程度顯著提高。變壓器架構作為一個突出的大語言模型(Lewis et al., 2019)(Raffel et al., 2020)在自然語言處理領域已經持續展示出優越的性能,吸引了越來越多研究者的關注,他們致力于研究其能力。

當前最流行的語言模型是GPT系列(Radford et al., 2019)(Brown et al., 2020)(Achiam et al., 2023)和Bert系列(Liu et al., 2019)(Devlin et al., 2018)(Sanh et al., 2019),這些模型已經在多種自然語言處理任務中表現出色。其中,自編碼語言模型特別擅長于自然語言理解任務,而自回歸語言模型更適合于自然語言生成任務。雖然增加參數(Touvron et al., 2023b)和模型調優(Han et al., 2023)可以提升LLMs的性能,但“幻覺”現象(Ji et al., 2023)仍然存在。此外,語言模型在有效處理知識密集型工作(Feng et al., 2023)和更新其知識的能力不足(Mousavi et al., 2024)方面的限制也一直很明顯。因此,許多研究者(Lewis et al., 2020)(Izacard and Grave, 2020b)(Khandelwal et al., 2019)采用了檢索技術來獲取外部知識,這可以幫助語言模型在多種任務中獲得更好的性能。

當前關于使用檢索增強來提升LLMs性能的綜述還很少。Zhao et al.(2023)提供了關于多模態RAG的全面概述。Zhao et al.(2024a)專注于人工智能生成內容(AIGC)領域的檢索增強生成技術的利用。這篇文章提供了最近RAG工作的全面概述,但它沒有覆蓋所有相關領域。此外,文章缺乏足夠的細節來提供整體發展的全面時間線。Gao et al.(2023)研究了對大模型的RAG的增強。這篇文章總結了一些最近的RAG工作,但它獨立地介紹了檢索器和生成器,這不利于后續工作的組件升級和互動。Li et al.(2022b)專注于文本生成。文章中的圖表較少,內容更抽象,不利于讀者的理解。

關于NLP中的檢索增強方法,僅有關于RAG的綜述只講述了部分故事。不僅與自然語言生成(NLG)相關的任務需要檢索增強技術,自然語言理解(NLU)任務也需要外部信息。迄今為止,全面綜述NLP全譜系中應用增強檢索技術的文章還很少。為了改善當前狀況,本文提出以下貢獻: (1) 本文不僅關注與RAG相關的工作,還重點強調了RALM,并與NLP的概念保持一致。與生成相關的工作與NLG對齊,而其余的工作與NLU對齊。 (2) RALM的兩個組成部分,檢索器和語言模型,都進行了詳細描述,這兩個組件的不同交互模式也首次被準確定義。 (3) 提供了RALM工作計劃的全面概述,總結了當前RALM的常見和新穎應用,并分析了相關限制。提出了這些限制的潛在解決方案,并推薦了未來研究方向。

圖1提供了RALM方法框架的總體概述。以下是本文的摘要:第2節定義RALM。第3節提供了RALM中檢索器的詳細分類和總結。第4節提供了RALM中語言模型的詳細分類和總結。第5節對RALM的特定增強進行了分類和總結。第6節是RALM檢索數據來源的分類和總結。第7節是RALM應用的總結。第8節是RALM評估和基準的總結。最后,第9節討論了現有RALM的限制和未來工作的方向。

RALMs的整合代表了NLP系統能力的重大進步。本綜述提供了對RALMs的廣泛回顧,突出了它們的架構、應用和所面臨的挑戰。通過檢索和整合外部知識,RALMs增強了語言模型,從而在包括翻譯、對話生成和知識圖譜補全等多種NLP任務中提升了性能。

盡管取得了成功,RALMs仍面臨幾個限制。值得注意的是,它們對對抗性輸入的魯棒性、檢索結果的質量、部署相關的計算成本以及應用領域多樣性的缺乏被認為是需要進一步關注的領域。為了解決這些問題,研究社區提出了幾種策略,例如改進評估方法、完善檢索技術和探索在性能與效率之間保持平衡的成本效益解決方案。 未來,RALMs的進步將依賴于增強其魯棒性、提高檢索質量和擴展其應用范圍。通過采用更復雜的技術并將RALMs與其他AI技術整合,這些模型可以被用來應對更廣泛的挑戰。在這一領域持續的研究和開發預計將帶來更具韌性、效率和多功能性的RALMs,從而推動NLP及其它領域所能達到的界限。隨著RALMs的不斷演進,它們有望賦予AI系統更深入的理解力和更接近人類的語言能力,從而在廣泛的領域中開辟新的可能性。

付費5元查看完整內容

大型語言模型(LLMs)在靜態、預先收集的通用數據集上的訓練取得的最近成功,已經引發了眾多研究方向和應用。其中一個方向解決了將預訓練的LLMs整合到動態數據分布、任務結構和用戶偏好中的非平凡挑戰。這個問題的主要挑戰在于平衡模型適應性和知識保存。為特定需求量身定制的預訓練LLMs經常在之前的知識領域經歷顯著的性能退化——這一現象被稱為“災難性遺忘”。雖然在持續學習(CL)社區進行了廣泛研究,但在LLMs領域呈現出新的表現形式。在這篇綜述中,我們提供了一個關于大型語言模型在持續學習背景下當前研究進展的全面概覽和詳細討論。除了介紹初步知識外,這篇綜述被分為四個主要部分:我們首先描述了持續學習LLMs的概覽,包括兩個連續性方向:垂直連續性(或垂直持續學習),即從一般到特定能力的持續適應;和水平連續性(或水平持續學習),即跨時間和領域的持續適應(第3節)。在垂直連續性之后,我們總結了在現代CL背景下學習LLMs的三個階段:持續預訓練(CPT)、領域適應性預訓練(DAP)和持續微調(CFT)(第4節)。然后我們提供了LLMs的持續學習評估協議的概覽,以及當前可用的數據來源(第5節)。最后,我們討論了有關LLMs持續學習的引人深思的問題(第6節)。這篇綜述揭示了持續預訓練、適應和微調大型語言模型這一相對未受到足夠研究的領域,表明需要社區更多的關注。需要立即關注的關鍵領域包括開發實用且易于訪問的評估基準,以及專門設計的方法論,以對抗遺忘和在不斷演變的LLM學習范式中啟用知識轉移。在這項綜述中檢查的完整論文列表可在//github.com/Wang-ML-Lab/llm-continual-learning-survey找到。

近期大型語言模型(LLMs)的進步顯示了實現人工普遍智能(AGI)的巨大潛力。研究人員觀察到,隨著參數規模的增加,多步驟推理、小樣本上下文學習和指令跟隨等復雜能力有所提高。LLMs的發展具有重大影響和革命性,促使機器學習從業者重新考慮傳統的計算范式,用于處理一些曾經具有挑戰性的人類水平任務,如問答、機器翻譯和對話系統。然而,LLMs通常在包含通用領域的靜態、預先收集的數據集上進行訓練,導致性能隨時間逐漸降低,并且在不同內容領域之間也會降低。此外,單一的預訓練大模型無法滿足每個用戶的需求,需要進一步的微調。盡管重新收集預訓練數據和根據額外的具體需求重新訓練模型是一種潛在的解決方案,但這種方法在現實世界場景中代價高昂且不切實際。為了有效地適應LLMs到下游任務,同時盡量減少對以前知識領域的性能退化,研究者采用了持續學習的方法,也稱為終身學習或增量學習。持續學習受到人類大腦中觀察到的增量學習模式的啟發,涉及按順序在一系列任務上訓練機器學習模型,期望在所有任務中保持性能。在訓練過程中,模型對以前的數據有限或無法訪問,這在保留過去知識時構成了一個挑戰,因為在當前任務學習時,來自未見過的以前數據的優化約束是不存在的。這一挑戰,被稱為災難性遺忘,自持續學習研究開始以來一直是研究的中心焦點。多年來,研究者探索了各種技術來減輕機器學習模型中的遺忘,這些技術包括基于重放的方法、參數規范化和模型架構擴展。這些技術共同顯著推進了在不同任務、模型架構和學習范式中實現零遺忘的持續學習目標。在順序訓練和適應LLMs的背景下,CL的重要性也正在發生自身的語義轉變。為了更好地突出這一持續的轉變,在這篇綜述中,我們提供了一個關于LLMs在CL背景下當前研究進展的全面概覽和詳細討論。對于持續學習LLMs的總體情況,我們將其分為兩個需要由從業者解決的連續性方向(第3節):

  • 垂直連續性(或垂直持續學習),指的是LLMs從大規模通用領域到小規模特定領域的持續適應,涉及學習目標和執行實體的轉變。例如,醫療機構可能開發專門為醫療領域定制的LLMs,同時保留其一般推理和問答能力,以服務用戶。
  • 水平連續性(或水平持續學習),指的是跨時間和領域的持續適應,通常涉及多個訓練階段和對災難性遺忘的增加脆弱性。例如,社交媒體平臺不斷更新LLMs以反映最近的趨勢,確保精確地定位下游服務如廣告和推薦,同時為現有用戶提供無縫的用戶體驗。

在圖1中,繼垂直連續性之后,我們勾畫了現代CL中LLM學習的三個關鍵階段:持續預訓練(CPT)、領域適應性預訓練(DAP)和持續微調(CFT)(第4節)。在CPT中,現有研究主要調查三種類型的分布式轉變:時間、內容層次和語言層次。每種都呈現出獨特的焦點和挑戰。在DAP中,雖然它主要被視為為下游任務準備LLMs的過程,但頻繁地使用CL評估和技術。然而,這些技術的多樣性明顯不足,考慮到傳統CL社區的成熟度。在CFT中,我們關注的是學習LLMs的新興領域,涵蓋持續指令調整(CIT)、持續模型精煉(CMR)、持續模型對齊(CMA)和持續多模態LLMs(CMLLMs)等主題。接下來,我們呈現了一系列公開可用的評估協議和基準(第5節)。我們總結我們的綜述,討論了LLMs持續學習的最新出現的特性,傳統增量學習類型和LLMs持續學習中的記憶約束的角色變化,以及這個主題的潛在研究方向(第6節)。總結而言,本文提供了一份詳盡的現有持續學習研究LLMs的綜述,顯著區別于相關主題的現有文獻。我們的綜述突出了持續開發LLMs的研究領域,特別是在持續預訓練(CPT)和領域適應性預訓練(DAP)領域的研究。我們強調需要社區更多的關注,迫切需要包括開發實用、易于訪問且廣為認可的評估基準。此外,需要定制方法來解決在新興的大型語言模型學習范式中的遺忘問題。我們希望這篇綜述能提供一個系統而新穎的持續學習視角,在迅速變化的LLMs領域中,幫助持續學習社區為開發更有效、可靠和可持續的LLMs做出貢獻。

組織結構

本文的其余部分安排如下。我們首先在第2節介紹大型語言模型和持續學習的背景和初步知識。然后我們在第3節展示了大型語言模型的現代持續學習概覽。從垂直角度來看,它可以大致分為三個階段的LLMs持續訓練,我們將在第4節逐一介紹每個階段。在4.3節中,將介紹持續微調LLMs的獨特方面,包括持續指令調整(4.3.3節)、持續模型精煉(4.3.4節)、持續模型對齊(4.3.5節)和持續多模態大型語言模型(4.3.6節)。在第5節中,我們提供了公開可用的LLMs持續學習評估協議和基準的全面介紹。最后,在第6節中,我們討論了在大型語言模型時代持續學習的角色,包括大規模持續LLMs的新興能力(6.1節)、三種類型的持續學習(6.2節)、LLMs持續學習中的記憶角色(6.3節)以及未來的研究方向(6.4節)。 持續學習與大型語言模型相遇:概覽****大型語言模型(LLMs)在多個維度上都非常龐大,包括模型參數的大小、預訓練數據集、計算資源、項目團隊和開發周期。LLMs的巨大規模為開發團隊帶來了顯著的挑戰,特別是在快速變化的環境中保持更新。舉例來說,2023年,用戶發布的新推文的平均每日流量超過5億,即使是在這么大量數據的“小”子集上進行訓練也是不可承受的。在考慮到它們對下游應用的連鎖影響時,有效且可靠地適應LLMs變得更為關鍵。下游用戶通常缺乏收集和存儲大規模數據、維護大規模硬件系統以及自行訓練LLMs的專業知識。《可回收調整》是首個明確概述現代LLM生產流水線供應商-消費者結構的先導研究。在供應商側,模型在一系列大規模未標記數據集上持續進行預訓練。每次預訓練模型發布后,消費者需要利用更新、更強大的上游模型以獲得更好的下游性能。為了提高下游消費者微調的效率,他們最初對持續預訓練的LLMs進行了幾項關鍵觀察,聚焦于模式連接性和功能相似性。此外,他們提出在上游預訓練LLM進行重大更新后,復用過時的微調組件。基于《可回收調整》引入的概念框架,我們在本綜述中提出了一個包含各種研究的現代生產流水線的全面框架,涉及持續LLM預訓練、適應和部署,如圖1所示。我們的框架與現有研究的不同之處在于融入了兩個連續性方向:垂直連續性和水平連續性。

結論

在這項工作中,我們提供了一份關于持續LLMs的綜述,從持續學習的角度總結了它們在訓練和部署方面的最新進展。我們根據它們在我們提出的現代分層持續學習LLMs的更廣框架內的位置,對問題和任務進行了分類。雖然這一領域在社區中的興趣廣泛且日益增長,但我們也注意到幾個缺失的基石,包括算法多樣性以及對大模型行為(如知識遺忘、轉移和獲取)的基本理解。通過全面而詳細的方法,我們希望這篇綜述能激勵更多從業者探索持續學習技術,最終有助于構建健壯和自我進化的人工智能系統。

付費5元查看完整內容

將大型語言模型(LLMs)與圖表示學習(GRL)的整合標志著分析復雜數據結構的一次重要進化。這種合作利用LLMs的復雜語言能力來提高圖模型的上下文理解和適應性,從而擴大了GRL的范圍和潛力。盡管越來越多的研究致力于將LLMs整合到圖領域,但顯著缺乏一篇深入分析這些模型內核組成部分和操作的全面綜述。我們的綜述通過提出一種新穎的分類法來填補這一空白,該分類法從新的技術角度將這些模型分解為主要組成部分和操作技術。我們進一步將近期文獻分解為兩個主要組成部分,包括知識提取器和組織器,以及兩種操作技術,包括整合和訓練策略,揭示了有效的模型設計和訓練策略。此外,我們識別并探索了這一新興但尚未充分探索的領域中潛在的未來研究方向,提出了持續進步的路徑。

付費5元查看完整內容

本文提供了一個關于大型語言模型(LLMs)在軟件工程(SE)中應用的新興領域的調查。它還提出了將LLMs應用于軟件工程師面臨的技術問題的開放性研究挑戰。LLMs的新興屬性帶來了創新性和創造力,其應用覆蓋了軟件工程活動的全譜,包括編碼、設計、需求、修復、重構、性能提升、文檔和分析。然而,這些同樣的新興屬性也帶來了重大的技術挑戰;我們需要能夠可靠地剔除錯誤的解決方案,如幻覺。我們的調查揭示了混合技術(傳統的SE與LLMs相結合)在開發和部署可靠、高效和有效的基于LLM的SE中的關鍵作用。本文調查了基于LLM的SE的最近發展、進展和實證結果;即大型語言模型(LLMs)在軟件工程(SE)應用的應用。我們使用這次調查來突出這個迅速發展但尚屬初級階段的研究文獻中的空白。基于文獻中的空白和技術機會,我們還確定了軟件工程研究社區的開放問題和挑戰。盡管對這樣一個迅速擴張的領域的任何調查都既不能渴望也不能聲稱是全面的,但我們希望這次調查能為這個令人興奮的新軟件工程子學科——基于LLM的軟件工程提供一個有用且相對完整的早期概述。盡管該領域的科學和技術結構仍在形成中,但我們已經可以識別出趨勢、對未來研究的有益方向以及需要解決的重要技術挑戰。特別是,我們已經能夠辨別出與軟件工程內的現有趨勢和既定方法及子學科的重要連接(和共鳴)。盡管總的來說,我們找到了很多樂觀的理由,但仍然存在重要的技術挑戰,這些挑戰很可能在未來幾年內影響研究議程。許多作者都從科學和軼事的角度指出,LLMs普遍存在幻覺問題[1],而且它對基于LLM的SE也帶來了特定的問題[2]。與人類智慧一樣,幻覺意味著LLM可以產生虛構的輸出。在軟件工程的背景下,這意味著創造的工程制品可能是錯誤的,但看起來是合理的;LLMs可能引入錯誤。然而,與LLMs的許多其他應用不同,軟件工程師通常有可自動化的真實依據(軟件執行),大部分軟件工程制品都可以基于此進行評估。此外,軟件工程研究社區已經花了很多時間開發自動化和半自動化技術,以檢查人類可能產生的錯誤結果。這意味著,對于這個學科和研究社區,當面對像幻覺這樣的問題所帶來的挑戰時,有大量的經驗和專業知識可以借鑒。

顯然,自動化測試技術 [3]–[5] 將在確保正確性中發揮核心作用,就像它們已經為人工設計的制品所做的那樣。在生成全新的功能和系統時,由于缺乏可自動化的oracle [6](一種自動技術,用于確定給定輸入刺激的輸出行為是否正確),自動測試數據生成受到限制。考慮到LLMs的幻覺傾向,Oracle問題仍然非常相關,對它的解決方案將變得更加有影響力。但是,一些SE應用關心現有軟件系統的適應、改進和開發,對于這些應用,有一個現成的可自動化的oracle:原始系統的功能行為。在本文中,我們稱其為“自動回歸Oracle”,這種方法已在遺傳改進領域得到證明是有益的 [7]。自動回歸Oracle簡單地使用軟件系統的現有版本作為參考,以對任何后續的適應和更改的輸出進行基準測試。當然,有“烘焙”功能錯誤的風險,因為自動回歸Oracle無法檢測系統應該做什么,只能捕捉它當前做什么。因此,自動回歸Oracle只能測試功能退化,所以它最適合于需要保持現有功能的用例。例如,對于性能優化和語義保持不變的重構。LLM的輸入將成為越來越多研究的焦點,我們可以預期關于prompt工程和prompt優化文獻的迅速發展 [8]。在這次調查中,我們突出了關于軟件工程的幾個特定方面的prompt工程的現有工作和開放挑戰。LLM的輸出不僅可以限于代碼,還可以包括其他軟件工程制品,如需求、測試用例、設計圖和文檔。總的來說,LLM的基于語言的特性使其能夠生成任何語言定義的軟件工程制品。我們通常認為軟件工程制品是LLM的主要輸出,但它不是唯一的輸出。與主要輸出一起提供的解釋也是LLM的重要輸出。我們的調查突出了需要進行更多的研究的需求,不僅要優化prompt工程(專注于LLM的輸入),還要優化與主要輸出一起提供的解釋的工作。LLMs本質上是非確定性的:相同的prompt在不同的推斷執行中產生不同的答案(除非溫度設為零,這在多次執行中經常被發現是次優的)[9]。此外,無論溫度設置如何,prompt的微妙變化都可能導致非常不同的輸出[9]。除了激勵‘prompt工程’和輸出處理,這種非確定性行為為基于LLM的軟件工程的科學評估帶來了挑戰:如果每次我們運行整個工程過程時結果都會變化,我們如何確定所提議的技術是否超越了現有的技術?這是一個在經驗軟件工程[10]和基于搜索的軟件工程(SBSE)[11]的背景下已經被深入研究的問題。特別是,SBSE與基于LLM的軟件工程有很多相似之處,在存在嘈雜、非確定性和不完整的結果[12]、[13]的情況下實現穩健的科學評估都與之有關。因此,已經有一個成熟的軟件工程文獻專門研究適用于基于LLM的科學評估所需的穩健的科學評估技術。例如,參數和非參數的推斷統計技術現在經常被用來在SBSE學科中提供在高度非確定性算法存在的情況下的穩健的科學結論。為了找出與LLM相關的計算機科學論文,我們過濾了出版物,將其細分為以下子類別:人工智能 (cs.AI)、機器學習 (cs.LG)、神經和進化計算 (cs.NE)、軟件工程 (cs.SE) 和編程語言 (cs.PL)。我們使用查詢“Large Language Model”、“LLM”和“GPT”在標題或摘要中進行篩選(我們手動排除了重載縮寫,例如將GPT誤認為是通用規劃工具),結果是L列。最后,我們使用相同的查詢來識別基于LLM的軟件工程論文,這些論文位于軟件工程 (cs.SE) 和編程語言 (cs.PL) 類別中。這些查詢本質上是近似的,因此我們只局限于基于總體趨勢得出的結論,而這些總體趨勢有強有力的證據支持,而不是觀察到的數字的具體細節。盡管如此,我們報告了觀察到的原始數字,以支持其他人的復制。

圖2展示了arXiv上發布的計算機科學論文數量(|A|,以藍色表示)和LLM相關論文的數量(|L|,以橙色表示)的增長。特別是與軟件工程和LLM相關的論文以綠色表示(|L ∩ S|)。考慮到總體發表量的快速增長,我們為縱軸使用了對數刻度。不出所料,我們看到了計算機科學出版物數量的整體增長。同時,鑒于LLM最近受到的關注增多,LLM相關論文數量的指數增長也相對不足為奇。或許更有趣的是LLM在軟件工程應用中的快速采納,如圖中的綠色所示。為了更詳細地檢查這一趨勢,我們在圖3中畫出了LLM出版物(L)與所有計算機科學出版物(A)的比例(以藍色表示),以及基于LLM的軟件工程出版物(L ∩ S)與所有LLM出版物的比例(以橙色表示)。如圖所示,自2019年以來,基于LLM的軟件工程論文的比例已經急劇上升。目前,所有關于LLM的論文中已有超過10%與基于LLM的軟件工程有關。由于這一增長,我們可以預期將有更多其他的基于LLM的軟件工程調查。文獻的快速擴展使得進一步的全面軟件工程研究不太可能適應單篇論文的空間限制,但我們可以預期會有許多關于感興趣的子領域的全面調查,以及針對系統評審中的主要文獻提出具體研究問題的系統文獻回顧(SLRs)。例如,Hou等人[14]提供了一個出色的最新SLR,涵蓋了2017年至2023年的229篇研究論文,報告了所處理的軟件工程任務、數據收集和預處理技術,以及優化LLM性能的策略(例如提示工程)。本文的其余部分按照主要的頂級軟件開發活動和研究領域進行組織。圖1顯示了軟件開發活動、研究領域和我們論文結構之間的映射。

付費5元查看完整內容

大型的、預訓練的基于Transformer的語言模型,如BERT,已經極大地改變了自然語言處理(NLP)領域。我們對最近的研究進行了調研,這些研究使用了大型語言模型來解決NLP任務,通過預訓練、微調、提示或文本生成方法。我們還提出了使用預訓練語言模型生成數據的方法,用于訓練增強或其他目的。最后,我們討論了局限性,并提出了未來研究的方向。

引言

近年來,大型預訓練的基于Transformer的語言模型(PLMs),如BERT (Devlin et al., 2019)和GPT (Radford et al., 2018)系列模型席卷了自然語言處理(NLP),在許多任務中實現了最先進的性能。

這些大型PLM推動了NLP的范式轉變。以分類任務p(y|x)(將文本輸入x分類為標簽y)為例:傳統統計NLP方法通常設計手工特征來表示x,然后應用機器學習模型(如SVM (Cortes and Vapnik, 1995)、邏輯回歸)來學習分類函數。深度學習模型通過深度神經網絡(LeCun et al., 2015)。注意,每個新的NLP任務都需要重新學習潛在特征表示,而且在許多情況下,訓練數據的大小限制了潛在特征表示的質量。考慮到語言的細微差別對所有NLP任務來說都是共同的,我們可以假設我們可以從一些通用任務中學習一個通用的潛在特征表示,然后在所有NLP任務中共享它。語言建模需要學習如何在給定前一個單詞的情況下預測下一個單詞,這是一項具有大量自然出現的文本的通用任務,可以預訓練這樣一個模型(因此得名預訓練語言模型)。事實上,最新的、正在進行的范式轉換從引入PLMs開始: 對于大量的NLP任務,研究人員現在來利用現有的PLMs通過對感興趣的任務進行微調,提示PLMs執行期望的任務,或者將任務重新構造為文本生成問題,并應用PLMs來解決相應的問題。這三種基于PLM的范式的進步不斷地建立了新的最先進的性能。

本文調研了最近利用PLM進行NLP的工作。我們將這些工作組織成以下三種范式:

  • 先進行預訓練,然后進行微調(§2): 先對大量未標記語料庫進行通用預訓練,然后對感興趣的任務進行少量的任務特定微調。

  • 基于提示的學習(§3):提示一個PLM,這樣解決NLP任務就會減少到類似于PLM的訓練前任務(如預測一個遺漏的單詞),或一個更簡單的代理任務(如文本包含)。提示通常可以更有效地利用PLM中編碼的知識,從而產生“少樣本”的方法。

  • NLP作為文本生成(§4): 將NLP任務重新定義為文本生成,以充分利用生成語言模型(如GPT-2 (Radford et al., 2019)和T5 (Raffel et al., 2020)中編碼的知識。

  • 生成式PLMs也可以用于文本生成任務。我們向讀者推薦關于文本生成的優秀調研,如Li et al. (2021b) 和Yu et al. (2021b)。除非另有說明,本文主要關注非生成性任務(如分類、序列標注和結構預測),這些任務仍然涵蓋廣泛的NLP任務,包括文本的語法或語義解析、信息抽取(IE)、問答(QA)、文本蘊涵(TE)、情感分析、等等。除了這三種范式之外,還有另一種互補的方法:間接使用上述任何一種PLM范式來改善目標NLP任務的結果:

  • 數據生成(§5): 運行PLM自動生成NLP任務的數據。生成的數據可以是銀色標記的數據,通常生成的PLM是針對任務進行微調的,或者是一些輔助數據,如反例、澄清、上下文或其他。在第一種情況下,銀色標記數據可以添加到現有的標記數據中。在第二種情況下,輔助數據以某種方式支持目標任務。

論文組織如下: 第2節提供了PLM的背景,并描述了第一種范式,即預訓練然后微調。第三節討論第二種范式,即基于提示的學習。第4節總結了第三種范式,即作為文本生成的NLP。在第5節中,我們將描述通過PLM為廣泛的NLP任務生成數據的方法。我們將在第6節討論局限性并提供未來研究的方向,并在第7節進行總結。

范式1: 先訓練,然后微調

傳統統計NLP的工作重點是在標記數據集上訓練特定任務的模型,而這種模式轉變為在一個共享的、“基本”的預訓練任務上訓練一個大型模型,然后在第二步中將其調整(“微調”)到各種任務。預訓練任務幾乎總是一種語言建模任務,它可以利用大量的未標記數據來學習有利于一系列NLP任務的表示(Rogers et al., 2020)。在本節中,我們首先提供關于預訓練的大型語言模型(PLMs)的入門知識,然后描述使用凍結或微調PLM進行NLP任務的方法。

范式2: 基于提示的學習

我們使用提示指的是在輸入或輸出中添加自然語言文本(通常是短語)的做法,以鼓勵預訓練的模型執行特定任務(Yuan et al., 2021)。使用提示符有幾個優點。提示,特別是上下文學習(例如Brown et al., 2020),可能不需要更新PLM的參數,與微調方法相比,或在2.4.4中描述的基礎上,減少了計算需求。提示還能促使新任務的制定與預訓練的目標更好地結合,從而更好地利用預訓練獲得的知識。更緊密的匹配還支持少樣本方法(Liu et al., 2021b),特別是對于具有小訓練數據集的任務;一個好的提示可以值幾百個標簽數據點(Le Scao and Rush, 2021)。最后,提示允許以一種不受監督的方式探索PLM,以評估PLM對特定任務所獲得的知識(如Petroni et al., 2019)。

下面我們討論三種基于提示的學習方法:從指令和演示中學習、基于模板的學習和從代理任務中學習。圖3顯示了這三種方法的說明。

范式3 NLP即文本生成

基于生成式Transformer的PLMs10(如GPT、BART和T5)的成功,最近激發了人們對利用生成式PLM解決各種非生成式NLP任務的興趣。這些任務包括但不限于傳統的判別任務,如分類和結構預測。例如,圖4說明了Raffel等人(2020)所描述的這種“文本到文本”方法。與傳統的NLP任務判別模型不同,這些任務被重新表述為文本生成問題,從而可以直接用生成式PLM解決。生成的輸出序列通常包括給定任務所需的標簽或其他輔助信息,從而能夠準確地重構預期的類標簽(即避免映射中的歧義),并促進生成/解碼過程(即為預測提供足夠的上下文)。

總結

在這篇文章中,我們介紹了三種使用預訓練語言模型進行自然語言處理的趨勢。我們對每一種方法都進行了深入的描述,并對其應用前景進行了總結。此外,我們還描述了使用預先訓練過的語言模型來自動生成用于提高NLP任務性能的數據。我們希望這一調研將為讀者提供關鍵的基本概念和對范式轉變的全面看法。

付費5元查看完整內容
北京阿比特科技有限公司