大型語言模型(LLMs)在許多不同的自然語言處理(NLP)任務中表現出色。提示工程在提升LLMs已有能力的基礎上,實現顯著性能提升方面發揮了關鍵作用。提示工程需要撰寫稱為提示的自然語言指令,以結構化方式引導LLMs挖掘知識。與之前的最新技術(SoTA)模型不同,提示工程不需要根據特定NLP任務進行廣泛的參數重新訓練或微調,而是完全依賴于LLMs的內嵌知識。此外,LLM愛好者可以通過基本的自然語言對話交流或提示工程,智能地提取LLMs的知識,使更多沒有深厚數學和機器學習背景的人也能嘗試使用LLMs。隨著提示工程在過去兩年中越來越受歡迎,研究人員提出了許多圍繞提示設計的工程技術,以提高從LLMs提取信息的準確性。在本文中,我們總結了不同的提示技術,并根據它們所應用的不同NLP任務進行分類。我們進一步細化地展示了這些提示策略在不同數據集上的性能,討論了所使用的相應LLMs,提供了一個分類圖,并探討了特定數據集可能的最新技術。總的來說,我們閱讀并總結了44篇研究論文,涵蓋了39種不同的提示方法,涉及29個不同的NLP任務,其中大多數論文在過去兩年內發表。
人工智能隨著大型語言模型(LLMs)的引入顯著進步。LLMs在包含數百萬和數十億個標記的大規模文本語料庫上進行訓練。研究表明,隨著模型參數數量的增加,機器學習模型的性能會提高,這也正是LLMs的情況。Chang等人(2023)的研究表明,LLMs在廣泛的NLP任務上取得了前所未有的性能,因此引起了學術界和包括醫學、法律、金融等在內的各個行業的廣泛關注。目前對LLMs的研究階段側重于通過提示(prompts)來提升其推理能力,而不僅僅是下一個標記的預測,這開啟了圍繞提示工程的新研究領域。
提示工程是指創建自然語言指令或提示,以有組織地從LLMs中提取知識的過程。與早期的傳統模型相比,提示工程僅依賴于LLMs的內嵌知識,而不需要根據基礎的NLP任務進行廣泛的參數重新訓練或微調。理解模型參數中所嵌入的現實世界知識超出了人類的能力,因此這個新的提示工程領域引起了大家的關注,因為它允許研究人員與LLMs之間進行自然語言交流,以實現基礎NLP任務的目標。
在這項工作中,我們列舉了幾種提示策略,并根據它們所應用的不同NLP任務進行分類。我們提供了一個分類圖,列出了在各種數據集上嘗試的提示技術,討論了所使用的LLMs,并列出了每個數據集的潛在最新技術(SoTA)方法。作為本次調查的一部分,我們總共審查并分析了44篇研究論文,其中大部分發表在過去兩年,涵蓋了39種提示技術,應用于29個不同的NLP任務。此前關于提示工程的系統性綜述并不多見。Sahoo等人(2024)調查了基于其應用的29篇提示技術論文。這是一種非常廣泛的分類,因為單一應用可以包含眾多NLP任務。例如,他們討論的一個應用是推理和邏輯,它可以包含大量NLP任務,如常識推理、數學問題解決、多跳推理等。這與我們的方法不同,我們根據NLP任務對提示策略進行更細致的分類。Edemacu和Wu(2024)提供了關于隱私保護提示方法的概述,因此側重于提示工程的一個相對較小的子領域。Chen等人(2023)將提示策略的討論限制在9-10種方法,并且沒有基于NLP任務對其進行分類。
本文的其余部分安排如下。第二節討論各種提示工程技術,第三節重點介紹不同的NLP任務。第三節的各個子部分討論了在給定NLP任務上應用的不同提示策略及其相應的結果。第四節總結全文。
在本節中,我們簡要討論了不同的提示方法,以及它們在發表時如何改進現有的性能。需要注意的是,大多數以下提示策略都在兩種不同的變體或設置下進行了實驗,這兩種變體包括零樣本和少樣本。有些提示技術可能本質上只存在于零樣本或少樣本變體中,不可能存在其他變體。
在零樣本設置中(Radford等,2019),沒有涉及訓練數據,通過提示指令要求LLM執行任務,完全依賴于其在預訓練階段學習的內嵌知識。另一方面,在少樣本變體中(Brown等,2020),提供少量訓練數據點以及基于任務的提示指令,以便更好地理解任務。各種提示工程工作的結果顯示,少樣本變體有助于提高性能,但這需要仔細準備少樣本數據點,因為LLM可能對精心編制的少樣本數據點表現出無法解釋的偏見。
不同的研究論文在將數據集分類為NLP任務時使用了不同的標準,這在不同的研究中有所不同。在本節中,我們嘗試標準化這些分類方法,通過定義不同的NLP任務并將不同的數據集歸入這些任務來構建一個結構。我們還討論了用于這些任務的各種提示方法。圖1展示了這種分類的一個示意圖。需要注意的是,一個數據集可能同時屬于不同的NLP任務,但這會導致復雜的結構化分析糾纏,不利于分析提示技術在各個NLP任務中的表現。因此,在我們的工作中,我們確保每個數據集只屬于一個與之最強相關的NLP任務。
以下各小節分別定義了不同的NLP任務、相應的數據集以及應用于這些數據集的各種提示策略。它們還包含每個數據集的潛在最新技術(SoTA)提示技術。提示方法的性能因使用的LLM而異。因此,我們還列出了在給定數據集上與提示策略一起使用的LLM列表。對于SoTA,我們只提及了提示方法的名稱,因為在許多情況下,特定的LLM尚未與給定的提示方法進行實驗,因此不清楚它是否能達到SoTA性能。因此,如果列表中的任何LLM與提示策略一起用于實驗,并在給定數據集中取得了最佳性能,我們將其指定為SoTA,而不論用于該技術的確切LLM是什么。另一個需要強調的點是,在許多研究中,作者使用了同一數據集的不同版本進行實驗,使得不同提示技術的絕對比較變得困難。基于我們的理解,我們考慮了上述所有因素,并在選擇每個數據集的SoTA時運用了最佳判斷。
隨著大規模預訓練模型的廣泛應用,自然語言處理的各領域(如文本分類和機器翻譯)均取得了長足的發展.然 而,受限于預訓練模型的“黑盒”特性,其內部的決策模式以及編碼的知識信息被認為是不透明的.以 OpenAI 發布的 ChatGPT 和 GPT-4 為代表的先進預訓練模型為例,它們在各領域取得重大性能突破的同時,由于無法獲知其內部是否真正 編碼了人們期望的世界知識或語言屬性,以及是否潛藏一些不期望的歧視或偏見現象,因此仍然無法應用于重視安全性和 公平性的領域.近年來,一種新穎的可解釋性方案“探針任務”有望提升人們對預訓練模型各層編碼的語言屬性的理解.探針 任務通過在模型的某一區域訓練輔助語言任務,來檢驗該區域是否編碼了感興趣的語言屬性.例如,現有研究通過凍結模型 參數并在不同層訓練探針任務,已經證明預訓練模型在低層編碼了更多詞性屬性而在高層編碼了更多語義屬性,但由于預 訓練數據的毒性,很有可能在參數中編碼了大量有害內容.本篇綜述中,我們首先介紹了探針任務的基本范式,包括任務的 定義和基本流程;然后對自然語言處理中現有的探針任務方案進行了系統性的歸納與總結,包括最常用的診斷分類器以及 由此衍生出的其他探針方法,為讀者提供設計合理探針任務的思路;接著從對比和控制的角度介紹如何解釋探針任務的實 驗結果,以說明探測位置編碼感興趣屬性的程度;最后對探針任務的主要應用和未來的關鍵研究方向進行展望,討論了當 前探針任務亟待解決的問題與挑戰.
隨著軟件系統變得日益復雜,IT運維的人工智能(AIOps)方法已廣泛應用于軟件系統故障管理,以確保大規模分布式軟件系統的高可用性和可靠性。然而,這些方法仍面臨諸多挑戰,例如缺乏跨平臺的通用性和跨任務的靈活性。幸運的是,近年來大型語言模型(LLMs)的進展可以顯著解決這些挑戰,已經有許多方法被提出以探索這一領域。然而,目前尚無全面綜述討論基于LLM的AIOps與傳統AIOps方法之間的差異。因此,本文對LLM時代的故障管理AIOps技術進行了全面綜述。內容包括AIOps故障管理任務的詳細定義、AIOps的數據源以及用于AIOps的LLM方法。此外,該綜述還探討了AIOps子任務、適用于不同AIOps子任務的具體LLM方法,以及該領域的挑戰和未來發展方向,旨在推動其發展和應用。
如今,軟件系統變得日益復雜。這些系統通常為數以億計的用戶提供服務,即使是輕微的軟件故障也會因服務中斷或服務質量下降而導致重大損失。因此,大規模分布式軟件系統需要確保24/7不間斷服務,具備高可用性和可靠性。然而,由于其龐大的規模和復雜的操作邏輯,這些軟件系統經常會遇到難以檢測、定位和診斷的故障。一旦發生故障,分析和調試系統錯誤變得更加困難。因此,提高故障診斷效率,快速識別系統故障,定位根本原因,并及時修復它們,對于確保大規模分布式軟件系統的高可用性和可靠性至關重要。 隨著人工智能(AI)的發展,Gartner在2016年首次提出了IT運維的人工智能(AIOps)[103]。AIOps利用機器學習(ML)或深度學習(DL)算法分析來自各種操作工具和設備的大量數據,實時自動檢測和響應系統問題,從而增強了信息技術(IT)運維的能力和自動化水平。因此,AIOps故障管理(FM)已成為確保軟件系統高可用性和可靠性的主流方法。
盡管上述基于ML或DL的AIOps故障管理方法在軟件系統運維方面有了顯著的幫助,但它們仍面臨以下幾個挑戰:
需要復雜的特征提取工程:這些AIOps方法通常需要廣泛的預處理和特征工程從原始數據中提取有用信息。它們在理解和處理數據方面能力有限,特別是在處理日志和追蹤等非結構化數據時,表現相對較弱。
缺乏跨平臺通用性:傳統AIOps模型通常專門為特定的軟件系統進行調優和訓練。一旦采用不同的軟件系統,甚至對原系統進行微小的更改,模型的性能會顯著下降,即使執行相同的任務也是如此。
缺乏跨任務靈活性:由于模型知識和輸出的單一性,AIOps模型一次只能執行一個任務。例如,在根本原因分析(RCA)任務中,一些工作旨在識別問題的原因[79, 119, 141],而其他工作則集中在識別涉及的軟件組件[50, 93, 126]。在實際場景中,必須同時運行多個模型才能完成整個RCA任務。
模型適應性有限:隨著軟件系統的變化,基于深度學習的AIOps方法通常需要頻繁的模型訓練和更新以適應新的數據和環境。雖然有許多在線學習方法[1, 42, 72, 86]可用于解決這個問題,但這一過程不僅耗費時間和精力,還可能導致模型在處理突發事件時響應延遲。
自動化水平受限:當前基于深度學習的AIOps方法在自動化操作和智能決策方面表現出相對有限的能力。雖然某種程度的自動化是可實現的,但仍需要大量的人工干預和配置。特別是在自動修復方面,目前的努力主要停留在事件分診[114, 142]或解決方案推薦[78, 127, 158]。
預訓練于自然語言理解任務的大型語言模型(LLMs)為解決這些限制提供了一個有前途的途徑。(1) 由于其強大的自然語言處理能力,LLMs可以有效處理和理解非結構化數據,往往無需先前的特征提取。(2) 基于大量跨平臺數據進行訓練,LLMs具備很強的通用性和邏輯推理能力。(3) 由于輸出自然語言,LLMs提供了很大的靈活性,使其能夠同時執行多個AIOps任務,例如識別問題的原因和涉及的軟件組件。(4) 利用其預訓練,LLMs展示了強大的適應能力,并且可以通過檢索增強生成(RAG)等方法不斷吸收外部更新的知識,通常無需重新訓練。(5) 由于其強大的腳本生成能力和自動調用外部工具的能力,LLMs可以實現更高水平的自動化。
眾多文獻綜述總結了AIOps的研究。這些工作要么基于傳統的機器學習或深度學習算法,而不使用基于LLM的方法[19, 97, 107, 131],要么沒有對AIOps故障管理全過程中的所有任務進行系統總結[118]。一些綜述甚至可能沒有專門關注AIOps領域內的故障管理[23, 30, 151]。
總而言之,針對LLM時代AIOps故障管理的綜合研究是缺乏的。然而,如1.1節所示,基于LLM的方法為AIOps任務提供了顯著的優勢。在本研究中,我們提出了第一個全面的綜述,涵蓋了大型語言模型背景下AIOps故障管理的整個過程。本綜述包括AIOps故障管理任務的詳細定義、AIOps的數據源以及用于AIOps的LLM方法。此外,我們深入探討了AIOps子任務及其適用于不同AIOps子任務的具體LLM方法。此綜述旨在為研究人員提供對LLM方法在AIOps中的深入理解,促進不同方法之間的比較和對比。同時,它也為有興趣應用基于LLM的AIOps方法的用戶提供指導,幫助他們在不同應用場景中選擇合適的算法。
本綜述的結構如下:第2節介紹了必要的基礎知識,包括AIOps任務的數據源、AIOps的LLM方法及故障管理的AIOps任務。第3至第6節根據AIOps任務的具體分類,詳細描述了LLM時代四類AIOps任務的新特征和方法:數據預處理、故障感知、根本原因分析和自動修復。第7節探討了基于LLM的AIOps在故障管理中的持續挑戰和潛在的未來研究方向。第8節對本綜述進行總結。
隨著大語言模型(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種情景進行徹底和系統檢查的綜述。
本綜述的貢獻。我們的綜述的主要貢獻包括:
-** 常見技術**:我們在所有終身學習情景中識別了常見技術,并將現有文獻分類到每個情景內的各種技術組中。
本綜述的組織結構如下。第二節介紹問題的形成、評價指標、常見技術、基準和數據集。第三節、第四節和第五節檢查了持續預訓練、持續微調和基于外部知識的終身學習的現有技術。第六節討論了LLM終身學習的現有挑戰、當前趨勢和未來方向,并總結了本綜述。
自動程序修復(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%。
大型語言模型(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系統更深入的理解力和更接近人類的語言能力,從而在廣泛的領域中開辟新的可能性。
大型語言模型(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節):
在圖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的更廣框架內的位置,對問題和任務進行了分類。雖然這一領域在社區中的興趣廣泛且日益增長,但我們也注意到幾個缺失的基石,包括算法多樣性以及對大模型行為(如知識遺忘、轉移和獲取)的基本理解。通過全面而詳細的方法,我們希望這篇綜述能激勵更多從業者探索持續學習技術,最終有助于構建健壯和自我進化的人工智能系統。
提示 (Prompting) 已成為將大型語言模型(LLMs)適配到特定自然語言處理任務的主流范式。盡管這種方法為LLMs的上下文學習開啟了大門,但它帶來了模型推理的額外計算負擔和人力努力的手工設計提示,特別是在使用冗長和復雜的提示來指導和控制LLMs行為時。結果,LLM領域見證了高效提示方法的顯著增長。在本文中,我們提供了這些方法的全面綜述。從高層次來看,高效提示方法大致可以分為兩種途徑:具有高效計算的提示和具有高效設計的提示。前者涉及各種壓縮提示的方式,后者采用自動提示優化的技術。我們介紹了提示的基本概念,回顧了高效提示的進展,并突出了未來研究方向。
大型語言模型(LLMs)已顯著推進了各種自然語言處理(NLP)任務的最新進展,例如對話、機器翻譯和摘要生成(Brown et al., 2020; Touvron et al., 2023; Bubeck et al., 2023)。提示是人機交互的一個重要媒介,用于向LLMs明確傳達清晰的任務描述,然后通過類比學習生成用戶期望的響應。提示的內容在不同上下文中會有所變化,特別是包含指令、問題、帶有特定輸出格式的多重演示,以及額外要求,如復雜的推理過程和角色扮演命令。在本文中,“提示”一詞指的是用戶輸入給LLMs的內容。
然而,隨著LLMs的上下文學習(ICL)能力變得更強(Dong et al., 2022),為不同特定任務設計的提示傾向于多樣化和詳細化。超長的自然語言提示逐漸引發了兩個問題:1) 對LLM本身而言,上下文窗口是有限的,影響其處理過度冗長上下文的潛力;2) 對LLM用戶而言,它要求使用大量的計算資源來訓練開源模型,或者承擔調用閉源模型接口的高成本。從這個角度來看,LLM的使用成本在學術研究和商業部署場景中都相當巨大。顯然,性能出色的LLM不能被廣泛使用是一種遺憾。雖然模型結構有許多相關改進,如高效注意力機制(參見Xiao & Zhu, 2023; Wan et al., 2023的相關工作),可以有效減輕推理成本,在本文中,我們更側重于高效提示方法,以節省不必要的財務開銷。
考慮到財務和人力資源,效率可以從三個角度得到改善:1) 推理加速,2) 內存消耗下降,和3) 自動設計良好的提示。前兩個目標可以通過提示壓縮實現,而第三個目標可以基于提示工程而非手工設計,通過自動提示優化實現。據我們所知,文獻中關于高效提示方法的全面整合存在顯著差距。
在這篇綜述中,我們從第2節的提示背景介紹開始。隨后,我們從計算(第3節)和設計(第4節)的角度審查現有的高效提示方法。前者將提示壓縮組織為三個類別:知識蒸餾(第3.1節)、編碼(第3.2節)和過濾(第3.3節)。后者探討基于傳統梯度下降(第4.1節)和智能進化算法(第4.2節)的自動提示優化。特別地,我們將高效提示抽象為一個多目標優化問題,并從理論角度展望未來方向(第5節)。最后,我們在第6節總結了全文。此外,我們還包括了一個方便參考的開源項目列表A.2和高效提示方法的類型圖A.3。
總述
**提示范式 **
提示的出現與預訓練語言模型(PLMs)的演進和大型語言模型(LLMs)的進步密切相關。PLM演進 PLM范式的演化軌跡已從有效性轉向效率。自從Transformer(Vaswani et al., 2017)被提出以來,它已成為廣泛PLMs的基礎架構。Transformer內部的自監督學習機制已被證明在解決長序列問題上有效。為分別解決基本的自然語言理解(NLU)和自然語言生成(NLG)任務,主流PLMs逐漸演化成BERT(Devlin et al., 2019)和GPT(Radford et al., 2018)系列模型。有許多優化策略,如探索編碼方法(Su et al., 2021)、改進自監督學習機制(Roy et al., 2021)和精煉模型結構(Li et al., 2021),以實現PLMs在解決特定任務上的高效表現。NLP范式轉變 NLP訓練范式經歷了兩次關鍵轉變(Liu et al., 2023b),從“完全監督學習”演化為“預訓練與微調”,最終演化為“預訓練、提示和預測”(如圖1所示)。在這篇綜述中,我們將專注于目前最廣泛采用的提示范式,深入探討其最近的發展。值得注意的是,GPT-3(Brown et al., 2020)在引入硬提示方面發揮了開創性作用,使人類能夠使用自然語言與語言模型交互。這一突破得益于大規模參數,它使GPT-3具備了深入理解自然語言的能力,從而允許它利用復雜的硬提示進行少量樣本學習,無需微調。LLM進展 在GPT-3開創LLM時代之后,ChatGPT作為塑造當前主流范式“LLM + 提示”的重要里程碑而脫穎而出。其NLU和NLG能力的完美整合吸引了整個人工智能社區的關注。隨著規模法則(Wei et al., 2022a)展示了顯著的新興能力(例如,指令跟隨、上下文學習和復雜推理),研究人員持續探索提示的性能邊界,無論是開源還是閉源的LLMs。例如,像思維鏈(CoT)(Wei et al., 2022b)這樣的復雜提示通過大聲思考,增強了LLMs的潛在推理能力。隨著提示范式逐漸穩固其地位,LLM仍然面臨著由于其大規模參數而導致的計算和人力資源挑戰。因此,有效的提示方法以節約資源引起了廣泛興趣。
提示類型
本質上,提示的主要目標是實現有效的少量樣本學習,而不是不必要的全參數微調所消耗的資源。提示表達可以分為兩種主要類型,如圖2所示:離散的自然語言提示(稱為硬提示)和連續的可學習向量(稱為軟提示)。2.2.1 硬提示 硬提示特別適用于生成性語言模型,尤其是GPT系列模型的一個顯著例子。關注硬提示的原因有兩個方面。從積極的角度來看,由于大量的預訓練數據集成到LLMs中,人類可以通過母語輕松地與世界知識壓縮器(即LLM)交互,最終獲得有用的響應。從消極的角度來看,由于當前LLMs廣泛采用閉源性質,使得其參數權重不可訪問,用戶別無選擇,只能通過API調用與LLMs使用硬提示。盡管如此,LLM強大的指令跟隨能力為硬提示的發展奠定了堅實的基礎,而自然語言作為無縫人機交互的媒介指日可待。重要的是要強調硬提示之間的多樣性。最初,硬提示包括類似于Cloze任務設計的簡潔任務指令。然而,隨著LLMs的理解能力不斷提高,硬提示已演化為包含更廣泛元素的數組,最常見的包括演示和思維鏈,如圖3所示。當前NLP社區對硬提示的日益興趣,甚至是解鎖LLMs全部潛力的教程,表明了對人模型對齊導致人工通用智能(AGI)的渴望。2.2.2 軟提示 在提示相關研究的早期階段,軟提示以適配器(Houlsby et al., 2019)、前綴(Li & Liang, 2021)甚至是無法解釋的向量的形式出現。許多研究(Lester et al., 2021; Liu et al., 2022)探討了軟提示在通過探索不同嵌入位置來增強高效訓練的好處。標準方法涉及凍結原始模型參數,僅訓練軟提示以實現完整參數微調的效果。Ding et al.(2022)的工作中有更詳細的介紹。鑒于可學習向量可以與神經網絡參數一起更新,軟提示顯然更有利于LLMs有效理解提示。需要注意的是,本文討論的軟提示僅僅是LLMs的硬提示的向量表示,如圖2所示,而不是從零開始開發的抽象向量。一些努力涉及將較長的硬提示壓縮成顯著更短的軟提示(參見第3.1節和第3.2節以獲取詳細見解)。
挑戰
鑒于硬提示已被廣泛認可并應用于各種下游任務。設計的提示更加詳細以提高任務準確性,因此導致更長且更復雜的提示。在這篇綜述中,我們從效率的角度提出了硬提示面臨的兩個關鍵挑戰:長度問題 提示的長度通常取決于特定任務,演示越多,性能越好。例如,思維鏈(CoT)提示顯著增強了LLMs的邏輯推理能力,導致出現了各種基于CoT的方法。像Self-Ask(Press et al., 2022)和最少到最多提示(Zhou et al., 2022a)幫助LLMs將復雜問題分解為更簡單的子問題以進行逐步回答。Wang et al.(2022)采樣了多樣化的推理路徑,而Wang et al.(2023b)指導LLMs生成正確的PS(計劃和解決方案),然后選擇最終答案。然而,使用這種復雜提示的優勢伴隨著更高的財務負擔,以及LLMs的信息感知能力降低。難以設計的提示 由于自然語言的離散性質,早期可用的硬提示通常是手工設計的,然后通過反復試錯獲得。手工制作的提示模板嚴重依賴于經驗知識,并涉及明顯的人為主觀性。但是,人類解決問題的方法與神經網絡之間存在差異,換句話說,LLMs的可解釋性仍然是持續探索的話題,目前尚無公認的理論指導。因此,針對LLMs的提示設計面臨許多挑戰,包括LLMs對自然語言提示格式的高敏感性、語義相似提示的大性能差距、提示復雜性與任務難度之間的關聯,以及提示的模型和任務特定屬性。因此,面對不同模型和不同任務,手動設計高質量提示既耗時又費力。總之,提示有效地緩解了應用于下游任務時的參數冗余問題,從而節省了財務資源。然而,在LLMs時代,提示長度的增加帶來了更大的內存需求、更慢的推理速度和更高的勞動強度等挑戰,這偏離了提示的原始目的。因此,這篇綜述深入探討了當前在LLMs中使用的高效提示方法。
使用高效計算的提示
隨著大型語言模型(LLMs)規模的不斷擴大,“使用高效計算的提示”概念應運而生,旨在減輕長提示對開源和閉源LLMs帶來的經濟負擔。已觀察到,壓縮的提示可以被LLMs有效重構,并減少生成文本的長度(Jiang et al., 2023a)。在本節中,我們提供了與提示壓縮相關研究的見解,將其分類為文本到向量級別和文本到文本級別的方法。提示壓縮的主要目的是從原始提示中提取必要信息,以便LLMs能夠保持與原始提示相當的性能水平。
使用高效設計的提示
“使用高效設計的提示”概念是為了應對提示內容的日益復雜性而引入的。隨著耗時且勞力密集的手工設計提示方法逐漸退出歷史舞臺,以及梯度基礎的提示微調方法不再適用于閉源LLMs,基于提示工程(PE)的自動優化逐漸成為焦點。具體來說,本文提出的“離散”提示優化涉及在給定的搜索空間內找到最佳的“自然語言”提示,以最大化任務準確性。基于LLMs的強大通用能力,自動提示優化顯示出了有希望的進展,其工作流程大致如圖4所示。我們將從傳統數學優化和智能算法優化的視角深入探討這個問題,因此將本節分為基于梯度的方法和基于進化的方法。
結論
在這項工作中,我們總結了用于LLMs的高效提示方法,目的是提高LLM的效率和性能。我們回顧了具有高度認可的現有相關工作,揭示了各類別內部的固有聯系,并從理論角度深度抽象這些方法。最后,我們為LLM實踐者提供了一個開源項目清單A.2,以便在科學研究和商業部署中快速參考,以及一個類型學圖A.3,以概覽高效提示領域。
提示工程已成為擴展大型語言模型(LLMs)和視覺-語言模型(VLMs)能力的不可或缺的技術。這種方法利用特定于任務的指令,即提示,以增強模型效能,而無需修改核心模型參數。與其更新模型參數,不如使用提示允許預訓練模型無縫集成到下游任務中,僅通過給定的提示來引出所需的模型行為。提示可以是提供上下文以指導模型的自然語言指令,或激活相關知識的學習向量表示。這一新興領域在各種應用中取得了成功,從問答到常識推理等。然而,對于多樣的提示工程方法和技術,仍缺乏系統的組織和理解。本綜述論文通過提供一個結構化的概覽來填補這一空白,概述了提示工程的最新進展,按應用領域分類。對于每種提示方法,我們提供了一個總結,詳細說明了提示方法、其應用、涉及的模型和使用的數據集。我們還深入探討了每種方法的優勢和限制,并包括一個分類圖和表格,總結了數據集、模型和每種提示技術的關鍵點。這種系統分析使人們能夠更好地理解這一迅速發展的領域,并通過闡明提示工程的開放挑戰和機會,促進未來的研究。
提示工程已成為增強預訓練大型語言模型(LLMs)和視覺-語言模型(VLMs)能力的關鍵技術。它涉及策略性地設計特定于任務的指令,這些指令稱為提示,用于引導模型輸出而不改變參數。提示工程的重要性特別體現在其對LLMs和VLMs適應性的變革性影響上。通過提供一種機制,通過精心設計的指令微調模型輸出,提示工程使這些模型能夠在不同的任務和領域中表現出色。這種適應性與傳統范式不同,在傳統范式中,通常需要模型重新訓練或廣泛的微調以達到特定任務的性能。這就是提示工程的變革性承諾,推動了AI的邊界,并為充滿可能性的未來開啟了大門。在不斷發展的環境中,持續的研究不斷揭示了提示工程內的創新方法和應用。提示工程的重要性通過其引導模型響應的能力得到了凸顯,增強了LLMs在多個行業的適應性和應用性。當代提示工程的景觀涵蓋了從零樣本和少樣本提示的基礎方法,到更復雜的“代碼鏈”提示等技術的一系列技術。提示工程的概念最初在LLMs中被調查和普及[Liu et al., 2023],[Tonmoy et al., 2024],[Chen et al., 2023],后來擴展到VLMs [Wu et al., 2023],[Bahng et al., 2022]。盡管LLMs和VLMs內的提示工程文獻廣泛,但尤其是關于以應用為中心的提示工程技術的系統概述,仍有顯著的空白。隨著提示工程的最近進步,迫切需要一項綜合性的調查,提供對當代研究中應用和進步的細致理解。這項調查深入探討了不斷演變的提示工程景觀,分析了29種不同技術,按其多樣的應用進行分類。采用系統性回顧方法,我們仔細研究了多種尖端提示方法的復雜性。我們的審查包括它們的應用、使用的語言模型和進行實驗的數據集,提供了關于提示工程不斷演變景觀的詳細和細致分析。此外,我們討論了這些技術的利弊,提供了它們相對效能的見解。我們揭示了一個全面的分類圖,闡明了這些技術如何導航LLM能力的廣闊領域。從語言生成和問答到代碼創建和推理任務,提示工程賦予了LLMs執行我們從未想象過的壯舉。通過彌合文獻中的現有差距,本調查旨在為研究人員和實踐者提供一個寶貴的資源,提供對最新發展的見解,并促進對提示工程不斷演變景觀的更深入理解。論文的結構如下:第2節介紹了從基礎到高級的提示工程技術,按應用領域分類;第3節提供了結論以及對未來研究努力的考慮。
提示工程 在本節中,我們根據應用領域組織了提示工程技術,并提供了從零樣本提示到最新進展的提示技術演變的簡明概覽。
無需廣泛訓練的新任務 零樣本提示零樣本提示為利用大型LLMs提供了一種范式轉變。這項技術[Radford et al., 2019]消除了對大量訓練數據的需求,轉而依賴于精心設計的提示來引導模型處理新任務。具體來說,模型在提示中接收到任務描述,但缺乏用于特定輸入-輸出映射訓練的標簽數據。然后,模型利用其預先存在的知識,基于給定提示為新任務生成預測。 少樣本提示少樣本提示與零樣本提示不同,后者不提供示例,少樣本提示為模型提供了少量輸入-輸出示例,以誘導對給定任務的理解[Brown et al., 2020]。即使提供幾個高質量示例,也已經提高了模型在復雜任務上的性能,與不提供演示相比。然而,少樣本提示需要額外的令牌來包含示例,這可能對較長文本輸入成為禁止性的。此外,提示示例的選擇和組成可以顯著影響模型行為,偏見如偏愛頻繁詞匯可能仍然影響少樣本結果。盡管少次樣本提示增強了復雜任務的能力,尤其是在像GPT-3這樣的大型預訓練模型中,但精心的提示工程對于實現最佳性能和減少意外模型偏差至關重要。 推理和邏輯 鏈式思維(CoT)提示LLMs面對復雜推理時常常遇到困難,限制了它們的潛能。為了彌補這一差距,[Wei et al., 2022]引入了鏈式思維(CoT)提示作為一種促進連貫和逐步推理過程的提示LLMs的技術。主要貢獻在于提出和探索CoT提示,展示了其在誘導LLMs產生更有結構和深思熟慮的響應方面,相比傳統提示的有效性。通過一系列實驗,作者展示了CoT提示的獨特品質,強調了其引導LLMs進行邏輯推理鏈的能力。這導致的響應反映了對給定提示的更深層理解。例如,提示會顯示多步數學字問題的推理過程和最終答案,并模仿人類如何將問題分解為邏輯中間步驟。作者通過使用PaLM 540B的CoT提示,在數學和常識推理基準測試中實現了最先進的性能,準確率達到90.2%。 自動鏈式思維(Auto-CoT)提示手動創建高質量的CoT示例既耗時又次優。[Zhang et al., 2022]引入了Auto-CoT,自動指導LLMs使用“讓我們逐步思考”的提示來生成推理鏈。認識到單獨生成的鏈中可能存在錯誤的可能性,Auto-CoT通過多樣化采樣增強了魯棒性。它為各種問題采樣并為每個問題生成多個不同的推理鏈,形成最終的示例集。這種自動化的多樣化采樣最小化了錯誤并增強了少次學習,消除了手動創建推理鏈的勞動密集型需求。Auto-CoT展示了提升的性能,在算術和符號推理任務上分別以平均準確率改善了1.33%和1.5%,使用GPT-3。 自我一致性 [Wang et al., 2022]引入了自我一致性,這是一種解碼策略,與貪婪解碼相比,提高了CoT提示中的推理性能。對于具有多個有效路徑的復雜推理任務,自我一致性通過從語言模型的解碼器中采樣生成多樣化的推理鏈。然后,通過邊緣化這些采樣鏈來識別最一致的最終答案。這種方法利用了一個觀察,即需要深思熟慮的分析的問題往往涉及更大的推理多樣性,從而導致解決方案。自我一致性和鏈式思維提示的結合在各種基準測試中取得了顯著的準確率提高,例如在GSM8K上提高了17.9%,在SVAMP上提高了11.0%,在AQuA上提高了12.2%,在StrategyQA上提高了6.4%,以及在ARC挑戰上提高了3.9%,與基線鏈式思維提示相比。 邏輯鏈式思維(LogiCoT)提示對于LLMs來說,執行邏輯推理對于解決多步驟的復雜問題至關重要。現有方法,如CoT提示,鼓勵逐步推理,但缺乏有效的驗證機制。[Zhao et al., 2023]提出了邏輯鏈式思維(LogiCoT)提示,一種神經符號框架,利用符號邏輯的原理來以連貫和結構化的方式增強推理。具體來說,LogiCoT應用了反證法的概念,以驗證模型生成的每一步推理,并提供有針對性的反饋以修正錯誤步驟。LogiCoT通過思考-驗證-修正循環,可以減少邏輯錯誤和幻覺。在Vicuna-33b和GPT-4上進行實驗,結果強調了LogiCoT在推理能力上的顯著增強,相比CoT,在GSM8K數據集上分別展示了0.16%和1.42%的改進,在AQuA數據集上分別展示了3.15%和2.75%的改進。 符號鏈式思維(CoS)提示由于依賴自然語言,LLMs經常難以處理涉及復雜空間關系的任務,自然語言容易受到歧義和偏見的影響。為了克服這一限制,[Hu et al., 2023]引入了CoS,使用濃縮符號而非自然語言。CoS提供了明確和簡潔的提示、提高了LLMs的空間推理能力和提高了人類的可解釋性。CoS面臨的挑戰包括可擴展性、通用性、與其他技術的集成以及基于符號的LLM推理的可解釋性。值得注意的是,CoS的實施顯著提高了ChatGPT的性能,在Brick World任務上的準確率從31.8%提高到了令人印象深刻的92.6%。此外,CoS在提示令牌上實現了高達65.8%的減少,簡化了過程的同時保持了高準確率。 樹形思維(ToT)提示[Yao et al., 2023a]和[Long, 2023]提出了樹形思維(ToT)框架,以增強對需要探索和預判推理的復雜任務的提示能力。ToT通過管理一個中間推理步驟的樹結構——稱為“思維”——來擴展CoT提示。每個“思維”代表一系列朝最終解決方案前進的連貫語言序列。這一結構允許語言模型通過評估“思維”在解決問題過程中產生的進展來有意地進行推理。ToT將模型產生和評估“思維”的能力與諸如廣度優先或深度優先搜索等搜索算法結合起來。這使得在推理鏈中進行系統探索成為可能,能夠預判擴展有前景的方向,并在解決方案錯誤時進行回溯。ToT在24點游戲任務中表現出色,成功率達到74%,相比于CoT的4%。此外,在單詞級任務中,ToT的成功率為60%,而CoT為16%。 思維圖(GoT)提示人類思維過程的固有非線性特征挑戰了CoT提示的傳統順序方法。[Yao et al., 2023b]引入了“思維圖”提示,這是一個基于圖的框架,其先進于傳統的順序方法,更好地與人類思維的非線性特征相匹配。這個框架允許動態相互作用、回溯和評估想法,允許從各個分支聚合和組合思維,脫離了樹形思維的線性結構。關鍵貢獻包括將推理過程建模為有向圖,提供具有多種轉換操作的模塊化架構。該框架被呈現為一種靈活和動態的語言模型提示方法,捕捉人類思維過程的復雜性并增強模型能力。GoT推理模型在CoT基線上顯示出顯著增益,在GSM8K上分別使用T5-base和T5-large改進了3.41%和5.08%的準確率。它還在使用T5-base的ScienceQA上比最先進的Multimodal-CoT提高了6.63%,使用T5-large提高了1.09%。 系統注意力(S2A)提示基于Transformer的LLMs中的軟注意機制容易納入不相關的上下文信息,不利地影響令牌生成。為此,[Weston和Sukhbaatar, 2023]提出了系統2注意力(S2A),利用LLMs的推理能力選擇性地關注相關部分,通過重新生成輸入上下文。S2A采用兩步過程來通過使用上下文再生和帶有精煉上下文的響應生成來增強注意力和響應質量。在包括事實QA、長形生成和數學字問題在內的各種任務中評估了S2A的有效性。在事實QA中,S2A達到了80.3%的準確率,顯示出在事實性方面的顯著增強。在長形生成中,它提高了客觀性,獲得了5分中的3.82分。 思維線索(ThoT)提示[Zhou et al., 2023]提出了思維線索(ThoT),一種旨在增強LLMs在混亂上下文中推理能力的提示技術。ThoT受到人類認知的啟發,系統地將廣泛的上下文檢查為可管理的片段,以便進行逐步分析,采用兩階段方法,其中LLM首先總結并檢查每個片段,然后精煉信息以得出最終響應。ThoT的靈活性作為一種多功能的“即插即用”模塊閃耀,增強了不同模型和提示方法的推理能力。在問答和對話數據集的評估中顯示了顯著的性能改進,分別為47.20%和17.8%,特別是在混亂的上下文中。 表格鏈式提示像CoT、PoT和ToT這樣的方法通過自由形式的文本或代碼表示推理步驟,面對處理復雜表格場景時遇到挑戰。[Wang et al., 2024]引入了一種開創性的提示技術,名為表格鏈式提示。這種方法通過動態生成和執行表格上的常見SQL/-DataFrame操作來使用逐步的表格推理。這一過程的迭代性增強了中間結果,賦予LLMs通過邏輯可視化的推理鏈做出預測的能力。顯著地,表格鏈式提示在兩個基準表格數據集上一致地提高了性能,分別在TabFact上提高了8.69%,在WikiTQ上提高了6.72%。 結論在人工智能領域,提示工程已成為一種變革性力量,解鎖了LLMs的巨大潛力。本綜述論文旨在作為一項基礎資源,系統地分類了29種不同的提示工程技術,基于它們的目標功能,激發進一步的研究,并在提示工程不斷演變的景觀中賦能創新者。分析涵蓋了應用、模型和數據集,揭示了每種方法的優勢和局限性。此外,我們添加了一張圖表和一張表格來突出重要點。盡管取得了顯著的成功,但仍然存在挑戰,包括偏見、事實不準確和可解釋性差距,需要進一步調查和緩解策略。提示工程的未來擁有巨大潛力,新興趨勢如元學習和混合提示架構承諾提高能力。然而,倫理考慮至關重要,強調負責任的開發和部署,以確保積極地融入我們的生活。
將大型語言模型(LLMs)與圖表示學習(GRL)的整合標志著分析復雜數據結構的一次重要進化。這種合作利用LLMs的復雜語言能力來提高圖模型的上下文理解和適應性,從而擴大了GRL的范圍和潛力。盡管越來越多的研究致力于將LLMs整合到圖領域,但顯著缺乏一篇深入分析這些模型內核組成部分和操作的全面綜述。我們的綜述通過提出一種新穎的分類法來填補這一空白,該分類法從新的技術角度將這些模型分解為主要組成部分和操作技術。我們進一步將近期文獻分解為兩個主要組成部分,包括知識提取器和組織器,以及兩種操作技術,包括整合和訓練策略,揭示了有效的模型設計和訓練策略。此外,我們識別并探索了這一新興但尚未充分探索的領域中潛在的未來研究方向,提出了持續進步的路徑。
大型的、預訓練的基于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任務性能的數據。我們希望這一調研將為讀者提供關鍵的基本概念和對范式轉變的全面看法。