**預訓練生成模型,尤其是大語言模型(LLMs),為用戶與計算機的交互提供了全新的方式。**盡管早期的自然語言生成(NLP)研究和應用主要集中在特定領域或特定任務上,但當前的大語言模型及其應用(如對話系統、智能體)在多任務和多領域之間表現出廣泛的通用性。盡管這些模型在訓練階段被設計為有幫助、符合人類偏好(例如無害性),但對其施加強健的“護欄”仍是一個具有挑戰性的問題。即使已經防范了基礎的攻擊方式,像其他復雜軟件系統一樣,LLMs 仍可能面臨利用精巧對抗性輸入發起攻擊的風險。 本教程全面介紹了為大語言模型開發的關鍵“護欄”機制,同時涵蓋了評估方法論和詳盡的安全評估協議——包括對 LLM 驅動應用的自動紅隊測試(auto red-teaming)。我們的目標是超越對單一提示攻擊(prompt attack)和評估框架的討論,轉而聚焦于如何在復雜對話系統中實施護欄策略,尤其是在這些系統中嵌入了 LLM。 我們致力于提供一份關于大語言模型在生產環境中部署風險的前沿且全面的綜述。盡管主要關注如何有效防御安全性與可信性威脅,我們也討論了一個較新的方向:如何在對話和話題層面施加引導,包括遵守自定義策略。此外,我們還分析了由 LLM 支持的對話系統所引入的新型攻擊向量,例如規避對話引導的方法等。
如何構建通用機器人系統? 觀察視覺和語言等領域,其共同主題是通過大規模、精心策劃的數據集進行端到端學習。然而,在機器人技術中,僅靠規模可能不足以應對機器人任務的多模態性、缺乏易于獲取的數據以及在物理硬件上部署的安全性和可靠性挑戰。與此同時,當今一些最成功的機器人系統本質上是模塊化的,能夠利用每個模塊的獨立泛化能力來表現優異。受這些特性的啟發,本論文旨在通過將這些組件整合為一個整體來解決構建通用機器人代理的任務:將模塊化與大規模學習相結合,以實現通用機器人控制。我們首先獨立探討這兩個方面。第一個問題是:如何在學習系統中構建模塊化和層次結構? 我們的關鍵見解是,與其讓代理端到端地學習層次結構和低級控制,不如通過規劃顯式地強制模塊化,從而實現更高效、能力更強的機器人學習。接下來,我們探討規模在構建通用機器人系統中的作用。為了有效擴展,神經網絡需要大量多樣化數據、適應數據的表達性架構以及生成數據的監督來源。為此,我們利用一種強大的監督來源:經典規劃算法,這些算法可以廣泛泛化,但運行成本高,并且需要訪問完美的特權信息才能在實踐中表現良好。我們使用這些規劃算法在模擬中監督大規模策略學習,以生成通用代理。最后,我們考慮如何將模塊化與大規模策略學習統一起來,以構建能夠執行零樣本長期操作的自主現實世界機器人系統。我們提出通過緊密集成模塊化高層和中層規劃、學習的局部控制、程序化場景生成以及用于模擬到現實遷移的大規模策略學習的關鍵要素來實現這一目標。我們證明,這種方法可以產生強大的結果:一個單一的通用代理可以僅通過文本指令解決現實世界中具有挑戰性的長期操作任務。//arxiv.org/abs/2503.06814
**以往成功的缺失模態補全方法依賴于精心設計的融合技術和在完整數據上的大量預訓練,這可能限制其在領域外(OOD)場景中的泛化能力。**在本研究中,我們提出了一個新的挑戰:我們能否開發出一種既高效又能應對OOD泛化的缺失模態補全模型?為了解決這一問題,我們提出了一種無需訓練的缺失模態補全框架,該框架利用大型多模態模型(LMM)。我們的方法被稱為“知識橋接器”(Knowledge Bridger),具有模態不可知性,并結合了缺失模態的生成與排序。通過定義領域特定的先驗知識,我們的方法能夠自動從現有模態中提取結構化信息,并構建知識圖譜。這些提取的圖譜通過LMM連接缺失模態的生成與排序模塊,從而實現高質量的缺失模態插補。在一般領域和醫學領域的實驗結果表明,我們的方法始終優于其他競爭方法,尤其在OOD泛化方面表現突出。此外,我們基于知識的生成與排序技術在生成和排序方面優于直接使用LMM的變體,為其他領域的應用提供了有價值的見解。
本論文通過創新性貢獻,推動了序列建模技術的發展,架起了狀態空間模型與深度學習之間的橋梁。序列建模技術能夠識別有序數據中的模式和關系,廣泛應用于時間序列預測、語音和音頻信號處理、文本生成、生物序列建模和神經記錄分析等多個領域。盡管深度學習已經改變了序列建模的格局,但當前的架構在計算效率、建模能力和可解釋性之間面臨著基本的權衡。我們通過三項互補的貢獻,解決了這些挑戰。 首先,我們提出了 S5 層,它重新設計了深度狀態空間方法,以支持并行掃描操作。我們通過與先前方法的數學聯系,解釋了其強大的實驗性能。接著,我們將這些洞察擴展到時空建模領域,提出了 ConvS5,將空間結構整合到狀態空間框架中。最后,我們通過雅可比切換線性動力系統(JSLDS)過程,開發了新的分析工具,為將復雜的非線性動力學分解為可解釋的線性成分提供了系統化的方法。 通過在多個領域的廣泛實驗證明,我們展示了這些方法如何在各自領域顯著推進了當前的技術水平。綜合來看,這些貢獻展示了將經典動力系統方法與現代深度學習技術結合,創造出更強大、高效且具可解釋性的序列模型的廣泛潛力。 序列建模——即學習有序數據中的模式和關系——是科學與工程多個領域的基礎任務。其應用范圍從金融時間序列預測[Salinas et al., 2020]、天氣模式分析[Rasp et al., 2020, Pathak et al., 2022],到語音與音頻信號處理[Oord et al., 2016]、生物序列建模[Jumper et al., 2021]、神經記錄分析[Pandarinath et al., 2018],以及文本[Brown et al., 2020]和視頻[Ho et al., 2022]生成等。序列建模中的關鍵挑戰在于捕捉短期模式和可能跨越數百、數千或數百萬時間步的長期依賴關系。 深度學習通過用學習到的表示代替手工設計的特征和傳統統計模型,已經改變了序列建模。然而,隨著序列模型在規模和能力上的增長,出現了三個基本挑戰:計算效率、建模精度和模型可解釋性。目前的架構在這些目標之間面臨顯著的權衡。遞歸神經網絡(RNNs)[Rumelhart et al., 1986, Elman, 1990]在推理效率方面表現出色,但在處理長期依賴時表現不佳,并且在訓練過程中天生是順序的。Transformer模型[ Vaswani et al., 2017]在捕捉長期模式方面表現優異,但其計算復雜度與序列長度呈二次增長。此外,隨著這些模型的復雜性增加,并且被部署在關鍵應用中,我們對其決策過程的理解變得愈發重要。 在本論文中,我們認為深度狀態空間方法——將經典動力系統理論中的狀態空間模型(SSMs)與現代深度學習相結合——能夠有效解決上述序列建模中的基本挑戰。通過三項互補的貢獻,我們展示了這種經典與現代方法的結合如何提升計算效率、建模精度和模型可解釋性。 首先,我們提出了S5層[Smith et al., 2023a],它簡化了深度狀態空間方法,同時擴展了其能力。通過精心重新設計架構以支持并行掃描,S5在保持線性計算擴展性的同時,達到了最先進的性能,即使是在時間變化的系統中也是如此。我們與先前方法建立的數學聯系解釋了其有效性,并為設計提供了有原則的選擇。 基于這些基礎,我們提出了ConvS5[Smith et al., 2023b],以解決時空建模中的挑戰。該工作展示了如何將S5背后的核心思想擴展到更復雜的領域,通過結合卷積操作處理空間結構,并將狀態空間動態應用于時間建模。ConvS5在有效處理空間依賴性的同時,保持了S5的計算優勢。 我們的第三項貢獻從不同的角度出發,將狀態空間模型作為分析工具,而不是計算構建塊。雅可比切換線性動力系統(JSLDS)[Smith et al., 2021]方法展示了如何通過共同訓練一個切換線性SSM和非線性RNN,提供對RNN計算機制的可解釋性見解。這項工作展示了經典動力系統概念如何幫助彌合深度學習的經驗成功與理論理解之間的差距。 這些貢獻統一在幾個共同主題下:
SSM與深度學習方法的創新整合:每種方法都展示了將經典動力系統與現代深度學習相結合的創新方式,無論是作為計算組件(S5、ConvS5)還是分析工具(JSLDS)。 * 增強的能力:前兩種方法在保持高效并行計算的同時,達到了最先進的性能,而JSLDS為理解RNN動態提供了新的分析能力,同時提升了共同訓練的切換SSM的能力。 * 廣泛的適用性:這些方法在包括語言、語音、視頻和神經數據等多個領域取得了成功,突顯了我們方法的普遍性。
本論文的其余部分組織如下:第二章提供了序列建模、狀態空間模型及相關架構的必要背景。第三章介紹了S5層及其在序列建模中的應用,基于我們在Smith et al. [2023a]中的工作。第四章介紹了ConvS5,并展示了其在時空建模中的有效性,基于我們在Smith et al. [2023b]中的工作。第五章發展了JSLDS框架及其應用,基于我們在Smith et al. [2021]中的工作。最后,第六章探討了本研究的廣泛影響,并概述了未來研究的有希望方向。
大型基礎模型在實現人工智能領域的最新突破中發揮了核心作用。通過同時將數據集和模型規模擴展到前所未有的水平,這些基礎模型在蛋白質結構預測、圖像/視頻生成、代碼生成、聊天機器人等許多領域表現出色。然而,它們的計算和內存成本也急劇增長,使得這些基礎模型在實際應用中的部署變得困難,尤其是在資源受限的邊緣設備上。此外,巨大的訓練成本也顯著阻礙了新基礎模型的發展,并引發了對巨大能源消耗和二氧化碳排放的擔憂。為了解決這些問題,構建有效的模型加速技術對于縮小計算供需之間的差距至關重要。 本論文將涵蓋模型加速的三個重要方面。首先,我們將討論高效表示學習,包括用于高分辨率視覺的EfficientViT(一種新的視覺Transformer架構)和用于條件圖像生成的條件感知神經網絡(一個新的控制模塊)。其次,我們將介紹硬件感知的加速技術,以創建針對不同硬件平臺和效率限制的專用神經網絡。第三,我們將介紹TinyTL,這是一種內存高效的遷移學習技術,用于實現設備上的模型定制。通過我們的設計,我們可以顯著提高深度神經網絡在硬件上的效率,而不損失準確性,使它們更易于訪問并降低其服務成本。例如,我們的模型在A100 GPU上實現了48.9倍的吞吐量提升,同時在零樣本實例分割性能上略微優于最新的模型。在條件圖像生成方面,我們的方法實現了52倍的計算成本降低,而性能沒有下降。
大型基礎模型在許多人工智能領域(包括自然語言處理[1], [2]、計算機視覺[3]–[5]、科學領域的AI應用[6]等)引發了革命性的變化。通過擴大模型規模并在網絡規模的數據集上訓練,這些基礎模型展示了驚人的少樣本/零樣本學習能力,能夠解決復雜的任務。這些卓越的表現引發了在實際應用中使用這些基礎模型的熱潮,將人工智能引入了我們的工作和日常生活。 然而,由于模型規模和計算成本的增加,這些基礎模型的訓練和推理成本非常高昂。例如,GPT-3[7]模型擁有1750億個參數,僅存儲它就已經超出了目前最強大的GPU(如NVIDIA H100 GPU)的容量。這對在云平臺上提供這些模型服務或在邊緣設備上部署它們提出了巨大挑戰。此外,高昂的訓練成本還導致了巨大的能源消耗和二氧化碳排放,引發了對這些AI基礎模型的可持續性問題的擔憂。 在本論文中,我們旨在研究模型加速技術,以提高深度神經網絡的效率,從而應對這一挑戰。我們的方法從三個方面加速深度神經網絡。首先,我們將討論高效的表示學習,旨在構建高效的構建模塊/神經網絡架構,從原始數據中提取有用信息。其次,我們將討論硬件感知的加速方法,旨在為不同的硬件平臺和效率約束定制專用的神經網絡,以獲得精度和硬件效率之間的最佳平衡。第三,我們將討論高效的模型定制,允許內存高效的設備端學習,以提供定制化的AI服務而不犧牲隱私。我們總結了本論文的主要內容如下:
第2章 描述了高效表示學習的技術。內容基于[8]和[9]。首先,Transformer架構是當前大型基礎模型的核心組件。然而,Transformer架構在處理長序列時表現不佳,因為其計算成本隨著輸入序列長度的增加而呈二次增長。我們提出了EfficientViT,這是一種用于高分辨率視覺的新型視覺Transformer架構。它通過僅使用硬件高效的操作,達到了全局感受野和強大的容量。EfficientViT在不同的硬件平臺上提供了顯著的性能提升。其次,添加控制是將圖像/視頻生成模型轉化為人類生產工具的關鍵步驟。我們提出了條件感知神經網絡(CAN),這是一種為圖像生成模型添加控制的新方法。與以往的條件控制方法并行,CAN通過動態操控神經網絡的權重來控制圖像生成過程。CAN在擴散Transformer模型中持續帶來顯著改進。
第3章 介紹了硬件感知的AutoML技術,以有效地為不同的硬件平臺和效率約束定制專用的深度神經網絡。內容基于[10]和[11]。不同的硬件平臺具有不同的屬性(例如并行度、緩存大小、帶寬等)。針對不同的目標硬件平臺和不同的效率約束,我們需要定制化的神經網絡以實現性能與效率之間的最佳平衡。然而,手動為每個案例定制神經網絡是不可擴展的。因此,我們提出了硬件感知的AutoML技術來應對這一挑戰。我們的方法在不同的硬件平臺上提供了顯著的加速,包括手機、CPU、GPU、FPGA等。此外,我們的方法在多個低功耗計算機視覺挑戰賽中獲得了第一名。
第4章 介紹了TinyTL[12],一種用于內存高效的設備端學習技術。TinyTL凍結了權重,只學習內存高效的偏置模塊,因此不需要存儲中間激活。為了保持適應能力,我們引入了一種新的內存高效偏置模塊,即輕量殘差模塊,通過學習小的殘差特征圖來優化特征提取器,僅增加了3.8%的內存開銷。廣泛的實驗表明,TinyTL在與微調整個網絡相比僅有微小的準確性損失的情況下,顯著節省了內存。
大型語言模型(LLM)和擴散模型(如ChatGPT和Stable Diffusion)具有前所未有的潛力。由于它們在互聯網上的所有公開文本和圖像上進行了訓練,它們可以為各種任務做出有用的貢獻。今天,進入門檻大大降低,幾乎任何開發人員都可以利用LLM和擴散模型來解決以前不適合自動化的問題。 通過這本書,您將獲得生成式AI的堅實基礎,包括如何在實踐中應用這些模型。當首次將LLM和擴散模型整合到他們的工作流程中時,大多數開發人員會發現很難從它們中獲得足夠可靠的結果以用于自動化系統。作者James Phoenix和Mike Taylor向您展示了一套名為提示工程的原則,這些原則可以幫助您有效地與AI合作。 學習如何讓AI為您服務。這本書解釋了:
首篇《面向軟件工程的大型語言模型》綜述,值得關注!
大型語言模型(LLMs)已經對包括軟件工程(SE)在內的眾多領域產生了重大影響。近期的很多出版物都探討了將LLMs應用到各種SE任務和應用程序中。然而,對LLMs在SE上的應用、影響和可能的局限性的全面理解還處于初級階段。 為了彌補這個缺口,我們對LLMs和SE的交叉點進行了系統的文獻回顧,特別關注了如何利用LLMs優化SE的流程和結果。我們共收集并分析了從2017年到2023年的229篇研究論文,以回答四個關鍵的研究問題(RQs)。 在RQ1中,我們分類并提供了不同LLMs的比較分析,這些LLMs已經被用于SE任務中,表征了它們的獨特特性和用途。 在RQ2中,我們分析了數據收集、預處理和應用中使用的方法,強調了健壯、精心策劃的數據集對于成功實施SE中的LLMs的重要性。 RQ3研究了用于優化和評估SE中LLMs性能的策略,以及與提示優化相關的常見技術。 最后,RQ4檢查了迄今為止LLMs已經取得成功的具體SE任務,說明了它們對該領域的實際貢獻。 從這些RQs的答案中,我們討論了當前的最新技術和趨勢,識別了現有研究中的空白,并指出了未來研究的有前景的領域。
1. 概述
在語言處理領域,傳統的語言模型(LMs)歷史上一直是基礎元素,為文本生成和理解奠定了基礎[192]。增加的計算能力、先進的機器學習技術和對大規模數據的訪問,導致了大型語言模型(LLMs)的出現的顯著轉變[323, 338]。配備了廣泛和多樣的訓練數據,這些模型展示了令人印象深刻的模擬人類語言能力的能力,從而引發了多個領域的變革。憑借其從大量語料庫中學習和生成似是而非的文本的能力,LLMs正在模糊人類和機器生成語言之間的界線。它們為研究人員和工程師提供了一個強大的工具,可以探索人類交流的復雜性和豐富性,從而引發了語言處理領域及其之外的變革時期。 軟件工程(SE)- 一個專注于軟件系統的開發、實施和維護的學科 - 是受益于LLM革命的領域之一[177]。將LLMs應用于SE主要源于一種創新的視角,其中許多SE挑戰可以有效地重新構建為數據、代碼或文本分析任務[279]。使用LLMs來解決這些SE任務已經顯示出大量的潛在突破[26, 30, 137, 253, 264, 300, 301, 329]。LLMs的適用性在諸如代碼摘要[274]等任務中尤為明顯,該任務涉及生成代碼功能的抽象自然語言描述,以及生成結構良好的代碼[316]和代碼工件,如注釋[162]。Codex,一個擁有120億參數的LLM,已經展示了解決人類提出的72.31%的復雜Python編程挑戰的能力[36]。來自OpenAI的GPT-4[212]是一個LLM,已經在幾個SE任務中表現出了強大的性能,包括代碼編寫、理解、執行和推理。它不僅處理實際應用程序和多樣化的編碼挑戰,而且還顯示出用自然語言解釋結果和執行偽代碼的能力[24]。 同時,研究人員已經開始了一系列關于LLM相關工作的研究活動,其中產生了一些文獻綜述或調查論文[29, 58, 59, 338]。表1總結了其中的一些。然而,這些相關研究有局限性。它們要么狹窄地關注一個單一的SE范圍,例如LLMs在軟件測試[277]和自然語言到代碼(NL2Code)任務[323]中的應用,要么主要集中在機器學習(ML)或深度學習(DL)模型[279, 309]上,忽視了更先進和最近出現的LLM應用,如ChatGPT[209],這些應用越來越多地在SE領域中找到應用[174, 254, 264, 295]。或者,他們僅通過實證實驗初步探索了LLMs在各種SE任務中的性能,而沒有進行系統的文獻調查[53, 177, 254, 303, 338]。將LLMs集成到SE中無疑是一個復雜的努力,需要考慮的關鍵因素包括選擇正確的模型、理解不同LLMs的獨特特性、設計預訓練和微調策略、處理數據、評估結果和克服實施挑戰[323]。盡管該領域對LLMs的應用興趣濃厚,并且正在進行持續的探索,但目前的文獻中還明顯缺乏對SE中LLMs應用的詳細和系統的審查。這個空白意味著需要理解LLMs和SE之間的關系。為了回應這個問題,我們的研究旨在彌補這個空白,為社區提供寶貴的見解。
本文對LLMs在SE中的利用(LLMs4SE)進行了系統性的文獻綜述。通過繪制當前的最新技術狀態,明確現有LLMs4SE文獻中的關鍵優勢、弱點和差距,并本文對LLMs在SE中的利用(LLMs4SE)進行了系統性的文獻綜述。通過繪制當前的最新技術狀態,明確現有LLMs4SE文獻中的關鍵優勢、弱點和差距,并提出未來研究的潛在途徑,我們的綜述旨在為研究人員和實踐者提供一個全面的LLMs4SE收斂指南。我們預計,我們的發現將有助于指導這一快速發展的領域未來的調查和進步。這項工作做出了以下主要貢獻:
我們是第一個提出全面系統性文獻綜述的團隊,基于2017年至2023年間發表的229篇論文,重點關注使用基于LLM的解決方案來解決SE挑戰。我們根據出版趨勢、出版地點分布等對選定的論文進行了詳細分析。
我們對報告的SE任務中使用的LLM進行了分類,并提供了SE領域中不同LLM類別的使用和趨勢的摘要。
我們描述了報告的數據處理階段,包括數據收集、分類、預處理和表示。
我們討論了用于LLMs4SE任務的優化器,包括參數和學習率優化、流行的提示優化技術和常用的評估指標。
我們描述了LLMs4SE的關鍵應用,包括55個具體的SE任務,分為六個核心SE活動-軟件需求、軟件設計、軟件開發、軟件測試、軟件維護和軟件管理。
我們總結了在SE領域使用LLMs遇到的關鍵挑戰,并為LLMs4SE提出了幾個潛在的研究方向。
第2節提出了我們的研究問題(RQs)并詳細闡述了我們的系統性文獻綜述(SLR)方法。接下來的第3~6節致力于分別回答這些RQ。第7節披露了我們研究的局限性。第8節討論了在使用LLM解決SE任務時需要克服的挑戰,并強調了未來研究的有前途的機會和方向。第9節總結了整篇論文。
本系統性文獻綜述(SLR)遵循Kitchenham等人[126, 127]提出的方法,該方法也被大多數其他與SE相關的SLR所使用[148, 172, 230, 279]。遵循Kitchenham等人提供的指南,我們的方法包括三個主要步驟:規劃綜述(即第2.1、2.2節)、進行綜述(即第2.3、2.4節)和分析基本綜述結果(即第2.5節)。 RQ1:到目前為止,哪些LLM被用來解決軟件工程任務?
(1) 在收集的論文中,有50多種不同的LLM用于SE任務,根據不同LLM的底層架構或原理,我們將匯總的LLM分為3類,即僅編碼器、編碼器-解碼器和僅解碼器LLM。(2) 我們分析了LLM用于SE任務的使用趨勢。使用最廣泛的LLM是僅解碼器架構的LLM,有30多種LLM屬于僅解碼器類別,有138篇論文研究了僅解碼器LLM在SE任務中的應用。****
RQ2 在LLMS中,SE相關數據集是如何收集、預處理和使用的?
(1) 我們根據數據來源將數據集分為4類:開源、收集、構建和工業數據集。開源數據集的使用最為普遍,在177篇明確說明數據集的論文中約占63.84%。(2) 我們將所有數據集內的數據類型分為5組:基于代碼、基于文本、基于圖、基于軟件庫和組合。在將LLM應用于SE任務中,基于文本和基于代碼的數據類型使用最為頻繁。這一模式表明,LLM在SE任務中特別擅長處理基于文本和代碼的數據,利用其自然語言處理能力。(3) 我們總結了不同數據類型的數據預處理步驟,發現了幾個常見的預處理步驟,即數據提取、不合格數據刪除、重復實例刪除和數據分割。
RQ3:使用什么技術來優化和評估SE中的LLMS ?
(1)我們分析了LLMs中常用的參數和學習率優化器,發現Fine-tuning和Adam分別是最常用的參數優化和學習率調整技術。(2)我們強調了提示工程技術在改善LLMs執行SE任務時的應用和有效性。通過探索各種類型的提示,包括硬提示和軟提示,這種新興的微調范式在數據稀缺的任務中特別有優勢,提供了與任務相關的知識,提高了LLMs在不同代碼智能任務中的通用性和有效性。(3)我們根據回歸、分類、推薦和生成這四種問題類型總結了最廣泛使用的評估指標。生成任務中出現了13種不同的評估指標,其次是分類任務,有9種指標。
RQ4: 到目前為止,使用LLM解決了哪些特定的SE任務?
(1) 基于軟件開發生命周期,將軟件工程任務分為6個活動:軟件需求、軟件設計、軟件開發、軟件測試、軟件維護和軟件管理。隨后,我們總結了LLMs在這些SE活動中的具體應用。(2) 我們總結了55個SE任務,發現LLMs在軟件開發中應用最廣泛,有115篇論文提到了21個SE任務。軟件管理的應用最少,只有1篇論文提到了該領域。(3) 代碼生成和程序修復是軟件開發和維護活動中使用LLMs最普遍的任務。我們分析了在這些任務中反復驗證的性能最好的LLMs,并總結了新發現。
結論
隨著LLM的出現,自然語言處理領域正在經歷范式轉移。這些模型處理龐大復雜的語言任務的潛力,可能會從根本上重塑自然語言處理實踐的格局。在這篇系統性文獻綜述中,我們深入研究了LLM在自然語言處理中的新興應用隨著LLM的出現,自然語言處理領域正在經歷范式轉移。這些模型處理龐大復雜的語言任務的潛力,可能會從根本上重塑自然語言處理實踐的格局。在這篇系統性文獻綜述中,我們深入研究了LLM在自然語言處理中的新興應用,包括自其成立以來發表的論文。我們首先檢查了在自然語言處理任務中使用的各種LLM,并探索了它們的獨特特征和應用(RQ1)。然后,我們深入研究了數據收集、預處理和使用的過程,闡明了健壯和精心策劃的數據集在LLM成功實施中的重要作用(RQ2)。接下來,我們研究了用于優化和評估LLM在自然語言處理任務中性能的各種策略(RQ3)。最后,我們回顧了從LLM中獲得顯著收益的具體自然語言處理任務,揭示了LLM所做出的實際貢獻(RQ4)。此外,我們強調了現有的挑戰,并提供了研究路線圖,概述了有前途的未來方向。
知識在人工智能中起著至關重要的作用。最近,預訓練語言模型(PLM)的廣泛成功引起了人們對語言模型如何獲取、維護、更新和使用知識的極大關注。盡管相關研究數量巨大,但對于知識在語言模型中如何在整個學習、調優和應用過程中循環,仍然缺乏統一的觀點,這可能會阻止我們進一步理解當前進展或實現現有限制之間的聯系。**本文通過將PLM中的知識生命周期劃分為五個關鍵時期,并調研知識在構建、維護和使用時是如何循環的,來重新審視PLM作為基于知識的系統。**文中系統地回顧了知識生命周期各個階段的現有研究,總結了目前面臨的主要挑戰和局限性,并討論了未來的發展方向。
//www.zhuanzhi.ai/paper/3eda52f060c0913316b9ae9c375835f5
從根本上說,人工智能是知識的科學——如何表示知識以及如何獲取和使用知識。
知識是高智能的關鍵。模型如何獲取、存儲、理解和應用知識一直是機器智能領域的一個重要研究課題。近年來,預訓練語言模型(PLM)快速發展。通過在大規模無標記語料庫上進行自監督預訓練,PLM在不同任務/數據集/設置之間表現出強大的泛化和遷移能力,因此在自然語言處理方面取得了顯著的成功(Devlin等人,2019;Liu等人,2019c;Raffel等人,2020;Radford等人,2019b;Brown等人,2020;Lewis et al., 2020a)。
預訓練語言模型的成功引起了人們對其隱含知識性質的極大關注。已經有許多研究關注預先訓練的語言模型如何獲取、維護和使用知識。沿著這些思路,人們探索了許多新的研究方向。例如,知識注入致力于將明確的結構化知識注入到PLMs中(Sun等人,2019;Zhang等人,2019;Sachan等人,2021)。知識探測旨在評估PLMs參數中存儲的知識類型和數量(Petroni et al., 2019; Lin et al., 2019; Hewitt and Manning, 2019)。而知識編輯則致力于修改PLMs獲得的不正確或不可取的知識(Zhu et al., 2020; De Cao et al., 2021; Mitchell et al., 2021)。盡管有大量的相關研究,但目前的研究主要集中在PLMs中知識過程的一個特定階段,因此對知識如何在整個模型學習、調優和應用階段中循環缺乏統一的觀點。這種綜合性研究的缺乏,使得我們難以更好地理解不同基于知識的任務之間的聯系,難以發現PLMs中知識生命周期中不同時期之間的相關性,難以利用缺失的環節和任務來研究PLMs中的知識,也難以探索現有研究的不足和局限性。例如,雖然許多研究試圖評估語言模型中的知識,這些語言模型已經進行了預訓練,但很少有研究致力于調研為什么PLMs可以在沒有任何知識監督的情況下從純文本中學習,以及PLMs如何表示或存儲這些知識。與此同時,許多研究者試圖將各種結構性知識明確地注入到PLMs中,但很少有研究提出通過挖掘背后的知識獲取機制來幫助PLMs更好地從純文本中獲取特定類型的知識。因此,相關研究可能會過度關注于幾個方向,而不能全面理解、維護和控制PLMs中的知識,從而限制了改進和進一步應用。本文從知識工程的角度,系統地回顧了預訓練語言模型中與知識相關的研究。受認知科學研究的啟發(Zimbardo和Ruch, 1975;和知識工程(Studer et al., 1998;Schreiber等人,2000),我們將預訓練語言模型視為基于知識的系統,并研究了知識在預訓練模型中獲得、維護和使用時如何循環的生命周期(Studer等人,1998;Schreiber et al., 2000)。具體地,我們將預訓練語言模型中的知識生命周期劃分為以下五個關鍵時期,如圖1所示:
知識獲取是指語言模型從文本或其他知識源中學習各種知識的過程。 知識表示研究不同類型的知識如何在plm參數中轉換、編碼和分布的內在機制。 知識探測,旨在評估當前PLM包含不同類型知識的情況。 知識編輯,試圖編輯或刪除語言模型中包含的知識。 知識應用,試圖從預訓練語言模型中提取或利用知識進行實際應用。
對于每一個時期,我們將梳理現有的研究,總結主要的挑戰和局限性,并討論未來的發展方向。基于統一的視角,我們能夠理解和利用不同時期之間的緊密聯系,而不是將它們視為獨立的任務。例如,理解PLMs的知識表示機制有助于研究人員設計更好的知識獲取目標和知識編輯策略。提出可靠的知識探測方法,可以幫助我們找到適合PLM的應用,并深入了解其局限性,從而促進改進。通過綜述,全面總結當前研究的進展、挑戰和局限性,幫助研究人員從一個新的視角更好地理解整個領域,并從統一的角度闡述未來如何更好地規范、表示和應用語言模型中的知識的方向。
我們的貢獻總結如下:
建議將預訓練語言模型作為基于知識的系統重新審視,并將PLM中的知識生命周期劃分為五個關鍵時期。 對于每個時期,回顧了現有的研究,總結了每個方向的主要挑戰和缺點。 基于這篇綜述,討論了當前研究的局限性,并揭示了潛在的未來方向。
概述在本節中,我們將介紹本綜述的總體結構,詳細描述圖2所示的分類法,并討論每個關鍵時期的主題。
**知識獲取是語言模型的知識學習過程。目前,知識獲取主要有兩種來源:純文本數據和結構化數據。**為了從文本數據中獲取知識,語言模型通常在大規模文本語料庫上進行自監督學習(Devlin等人,2019;Liu等人,2019c;Brown等人,2020;Raffel等人,2020)。本綜述將重點關注預訓練語言模型如何從純文本中獲取知識的方法和機制(Chiang等人,2020;Pérez-Mayos等,2021;劉等,2021c)。為了從結構化數據中獲取知識,目前的研究主要集中在從不同類型的結構化數據中注入知識。結構化數據的主要類別包含實體知識(Sun等人,2019;熊等,2020;Peters等人,2019),事實知識(Zhang等人,2019;王志強,楊志強,楊志強;Liu等人,2020),常識知識(Bosselut等人,2019;Ye等人,2019;Guan等人,2020;Ma等人,2021)和語言知識(Ke等人,2020;Lauscher等人,2020;Zhou等人,2019;Bai等人,2021)。我們將在第3節中討論它們。**知識表示旨在研究語言模型如何在其密集參數中編碼、存儲和表示知識。**對知識表示機制的研究將有助于更好地理解和控制PLMs中的知識,也可能啟發研究者更好地理解人類大腦中的知識表示。目前,PLMs中知識表示分析的策略包括基于梯度的(Geva等人,2021;Dai等人,2022a)、因果啟發(孟等人,2022)、基于注意力的(Clark等人,2019;Htut等人,2019;Lin等人,2019)和分層(Lin等人,2019;Liu等人,2019a;Juneja和Agarwal, 2022)方法。我們將在第4節中討論它們。**知識探測的目的是評估當前的PLMs對特定類型的知識的影響。**目前,對PLMs中的知識進行探測主要采用兩種策略:1)基于提示的探測,通常構建知識指示的提示,然后使用這些自然語言表達式查詢PLMs (Petroni et al., 2019;Jiang等,2020a;Sung等人,2021;《福布斯》等人,2019;Zhou等,2020a)。例如,用“The capital of France is .”查詢PLMs,以評估PLMs是否存儲了相應的知識。同時,為了提高plm的性能,一系列研究致力于優化兩個離散的提示(Jiang等人,2020b;Davison等人,2019;Haviv等人,2021;Shin等人,2020)和持續空間(Zhong等人,2021;李和梁,2021a;Liu等,2021b)。盡管基于提示的探索得到了廣泛應用,但許多研究也指出,仍然存在一些懸而未決的問題,如不一致(Elazar等人,2021;Kassner和Schütze, 2020;Jang等人,2022;Cao等人,2022),不準確(perner等人,2020;鐘等,2021;Cao et al., 2021)和不可靠(Cao et al., 2021;Li et al., 2022a),并對基于提示探測的數量結果提出質疑。2)基于特征的探測,通常凍結原始plm的參數,并根據其內部表示或注意力權重評估PLM在探測任務上的表現。我們將現有的基于特征的探測研究分類為基于分類器的探測(Lin等人,2019;Tenney等人,2019;Clark等人,2019;Liu等人,2019a)和無分類器探測(Wu等人,2020;Zhou和Srikumar, 2021a)根據是否引入了額外的分類器。由于大多數方法引入了額外的參數或訓練數據,基于特征的探測的主要缺點是結果應歸因于PLM中的知識還是通過額外的探測學習到的探測任務。我們將在第5節中討論它們。
**知識編輯旨在修改產品生命周期中不正確的知識或刪除不良信息。**由于PLMs學習到的不可避免的錯誤和知識的更新,可靠有效的知識編輯方法對PLMs的可持續應用至關重要。目前的方法包括約束微調(Zhu等人,2020),基于記憶的(Mitchell等人,2022;Madaan等人,2022;Dong等人,2022),元學習啟發(De Cao等人,2021;Hase等人,2021年;Mitchell等人,2021)和基于位置的方法(Dai等人,2022a;孟等,2022)。我們將在第6節討論它們。
**知識應用旨在從PLMs中提取或利用特定的知識,以使進一步的應用受益。**目前,PLMs中的知識主要有兩種應用范式:1)語言模型作為知識庫(LMs-as-KBs),將語言模型視為密集的知識庫,可以用自然語言直接查詢以獲得特定類型的知識(Petroni等人,2019;Heinzerling和Inui, 2021年;蔣等人,2020b;王等人,2020;Cao等,2021;Razniewski等人,2021年;AlKhamissi等人,2022)。從構建、覆蓋率、交互性和可靠性4個方面對結構化知識庫與LMs-as-KBs (Razniewski et al., 2021)進行了全面比較;2)下游任務的語言模型,通過微調直接在下游NLP任務中使用包含特定類型知識的plm (Manning等人,2020;Wei等,2021b;Yang等人,2021;Yin等人,2022),快速學習(Radford等人,2019a;Brown等人,2020;Liu等人,2021a)和上下文學習(Brown等人,2020;Zhao等人,2021;陸等人,2022)。我們將在第7節討論它們。
大型語言模型最近在許多自然語言處理基準測試中提高了技術水平。最新一代的模型可以應用于各種任務,幾乎不需要專門的訓練。該技術為數據管理上下文中的應用程序創造了各種機會。本教程將向參與者介紹語言模型的基本背景,討論使用語言模型的不同方法,并對可用的庫和api進行概述和簡短演示。生成自然語言的模型和GPT-3 Codex等完成程序代碼或從自然語言指令生成代碼的模型都將被考慮在內。最后,本教程將討論數據庫社區最近的研究,這些研究利用了傳統數據庫系統環境中的語言模型,或提出了基于它們的新系統架構。本教程針對數據庫研究人員。不需要有語言模型的背景知識。本教程的目標是向數據庫研究人員介紹最新一代的語言模型,以及它們在數據管理領域中的用例。
最近,隨著大型“語言模型”的出現,自然語言處理(NLP)領域發生了革命性的變化,這些“語言模型”使用大量的無標記文本[35]進行訓練。給定足夠多的訓練數據和可訓練的參數,這樣的模型能夠處理廣泛的任務,很少或不需要專門的訓練[2]。這種模型在數據庫領域的應用范圍非常廣泛。它的范圍從新的接口[25,30]到新的系統架構[29],基于最新一代語言模型支持的數據表示和處理機制。本教程的目的是向數據庫研究人員介紹這些模型提供的可能性,提供使它們可訪問的庫和api的指針[22,35],并回顧數據庫社區利用這些模型的最新研究。本教程將介紹處理和生成自然語言文本的語言模型[4,6],以及從自然語言描述[3]生成程序代碼的最新模型。它將包括例子和現場演示,為與會者提供對可解決問題范圍的直覺。
歸一化方法可以提高深度神經網絡(DNN)的訓練穩定性、優化效率和泛化能力,已成為目前最先進的DNN體系結構的基本組成部分。它們還成功地擴散到深度學習的各個領域,包括但不限于計算機視覺、自然語言處理和語音識別。然而,盡管歸一化技術發揮了豐富和越來越重要的作用,我們注意到沒有一個統一的視角來描述、比較和分析它們。此外,我們對這些方法成功的理論基礎仍然難以理解。
本教程涵蓋了標準化方法、分析和應用程序,并將解決以下問題: (1) DNN中不同規范化方法背后的主要動機是什么?我們如何提出一種分類法來理解各種方法之間的異同? (2) 如何縮小標準化技術的經驗成功與我們對它們的理論理解之間的差距? (3) 針對不同任務設計/裁剪標準化技術的最新進展是什么?它們背后的主要見解是什么?
教程題目: Scheduling For Efficient Large-Scale Machine Learning Training
教程簡介:
近年來,機器學習技術在許多實際應用中取得了成功。當研究人員和實踐者繼續將機器學習擴展到新的應用領域并推動現有應用程序的邊界時,由于數據集的增長、模型的復雜性和容量的增加,他們面臨著關鍵的計算挑戰。這些挑戰需要新的軟件系統來有效地訓練大型模型,并使機器學習研究人員能夠輕松地試驗新思想。通過利用機器學習計算的結構特性來設計高效的訓練系統,我們有很多機會來提高訓練時間和支持更大的訓練模型。在本教程中,將介紹兩個分布式培訓系統Bosen和Orion,它們可以在不需要大量人力工作的前提下,通過調度網絡內部通信及并行計算來改善訓練時間。此外,通過在TensorFlow中調度內存占用,我們減少了87%的GPU內存消耗,并且能夠在相同的硬件上完成10倍參數的模型訓練工作。
嘉賓簡介:
韋金良本科畢業于普渡大學,博士期間師從Garth A.Gibson 及 Eric P.Xing,主要研究方向是分布式系統、數據庫系統及機器學習應用。