多模態查詢的知識檢索在支持知識密集型多模態應用中扮演著關鍵角色。然而,現有方法在有效性和訓練效率方面面臨挑戰,特別是在訓練和集成多個檢索器以處理多模態查詢時。在本文中,我們提出了一個創新的端到端生成式框架,用于多模態知識檢索。我們的框架利用了大型語言模型(LLMs)即使在有限數據訓練的情況下,也可以有效地作為虛擬知識庫的事實。我們通過兩步過程檢索知識:1)生成與查詢相關的知識線索;2)使用知識線索搜索數據庫以獲取相關文檔。特別是,我們首先引入了一個對象感知的前綴調優技術來指導多粒度的視覺學習。然后,我們將多粒度的視覺特征對齊到LLM的文本特征空間中,利用LLM捕獲跨模態交互。隨后,我們構建了具有統一格式的指導數據進行模型訓練。最后,我們提出了知識引導的生成策略,以在解碼步驟中施加先前約束,從而促進獨特知識線索的生成。通過在三個基準測試上進行的實驗,我們展示了與強大基線相比,在所有評估指標上的顯著提升,范圍從3.0%到14.6%。
基于Transformer的大型語言模型取得了巨大成功。然而,在推理過程中產生的顯著內存和計算成本,使得在資源受限的設備上部署大型模型變得具有挑戰性。在本文中,我們從算法角度調查了大型語言模型的壓縮和高效推理方法。就分類而言,類似于較小的模型,大型語言模型的壓縮和加速算法仍可以分為量化、剪枝、蒸餾、緊湊架構設計、動態網絡。然而,與較小模型相比,大型語言模型有兩個突出的特點:(1)大多數壓縮算法在壓縮后需要進行微調甚至重新訓練模型。大型模型最顯著的方面是與模型微調或訓練相關的非常高成本。因此,許多針對大型模型的算法,如量化和剪枝,開始探索無需調整的算法。(2)大型模型強調的是通用性和泛化能力,而不是在單一任務上的性能。因此,許多算法,如知識蒸餾,關注于如何在壓縮后保持其通用性和泛化能力。由于這兩個特點在早期的大型模型中并不十分明顯,我們進一步將大型語言模型區分為中等模型和“真正”的大型模型。此外,我們還提供了一些成熟框架的介紹,這些框架可以支持大型模型的高效推理,支持基本的壓縮或加速算法,極大地便利了用戶的模型部署。
大型語言模型(LLMs)已成為人工智能領域中一個重要且受歡迎的話題。與以往的語言模型相比,LLMs(例如ChatGPT、LLaMA、Claude)對未見數據顯示出了更強的泛化能力。此外,它們甚至展現出了較小模型所不具備的能力(即,突現能力),如多步驟推理和指令跟隨能力。這些進展展示了LLMs的巨大潛力。然而,在推理過程中的高昂內存和計算預算也阻礙了LLMs的部署。例如,一個帶有float32權重的10B模型消耗37GB內存,更不用說隨著序列長度增加,推理內存成本會以平方速度進一步增加。為了在資源受限的設備上,甚至是移動設備上部署模型,許多LLMs采用模型壓縮方法,如量化,以減少推理內存和計算成本。深度學習模型的模型壓縮是一個比LLMs出現得早得多的領域。它假設我們已經有了一個預定義的(甚至是預訓練的)模型。模型壓縮致力于減少模型在推理過程中的內存和計算成本,以便模型可以在各種資源受限的設備上運行。從算法上講,常見的模型壓縮方法包括:
許多之前的模型壓縮方法經常需要在壓縮后對模型進行微調。然而,由于微調LLMs的巨大預算,研究人員不得不探索免微調或至少更高效的微調方法。
與處理單一任務(如神經機器翻譯)不同,大型語言模型強調跨各種任務和未見數據的通用性和泛化能力,甚至是突現能力。因此,壓縮后的大型語言模型需要更仔細地驗證其通用性和泛化能力。 面對這些挑戰,提出了許多專門針對LLMs的壓縮方法。在本文中,我們將對這些方法進行全面綜述。為了更好地展示這些方法,我們進一步將參數約為十億或更少的語言模型,如BERT、GPT2,稱為中等模型,盡管它們通常被視為大型語言模型。參數超過十億的模型,如LLaMA、Claude、ChatGPT等,保持大型語言模型的名稱。原因是中等模型受上述兩個挑戰的影響較小,即中等模型相對容易進行微調,展示較少的突現能力。結果,許多針對中等模型的壓縮方法仍與較小模型的方法相似。 以下各節的組織如下:第2節將介紹一些初步知識。然后,我們將在第3、4、5、6、7、8節分別討論剪枝、知識蒸餾、量化、緊湊架構設計和動態網絡。
量化
量化是指將輸入值(在一個大的(通常是連續的)集合中)映射到輸出值(在一個小的(通常是有限的)集合中)的過程(例如,見圖2)。量化是減少內存成本和提高LLMs推理速度的最直接方法,特別是在支持低位數據類型(如INT4)快速操作的硬件上。值得注意的是,量化在神經網絡訓練和推理中都取得了令人印象深刻的成功,而本綜述的焦點僅在推理部分。量化方法相比其他壓縮方法(如剪枝和蒸餾)有幾個優勢。1)高壓縮比:將LLMs中的權重從32位浮點數量化為4位整數,可以將模型大小大幅壓縮至大約1/8,這對于內存受限的過程(如LLMs推理)至關重要。2)低成本:許多量化方法不需要重新訓練整個LLMs,使其對于計算資源有限的研究人員更加可行。3)高靈活性:量化與大多數其他壓縮方法兼容,為進一步提高性能引入了異常的機會。為了幫助讀者更好地理解量化方法,我們首先在3.1小節介紹標準量化方法和一些基本概念。然后,在3.2節,我們將簡要總結LLMs出現之前一些針對中等大小語言模型(如BERT,GPT2等)的最重要工作。3.3節和3.4節涵蓋了專注于LLMs推理的量化方法的最新進展。考慮到重新訓練擁有數十億參數的模型的困難,我們根據技術是否需要重新訓練,將LLMs量化方法分為兩部分。不需要重新訓練的方法(即,訓練后量化,PTQ)在3.3節討論,而需要重新訓練的方法(即,量化感知訓練,QAT)在3.4節討論。最后,在3.5節,我們討論了一些展現未來研究潛力但在前面章節中未覆蓋的高級話題。
剪枝
作為一種常規技術,用于壓縮和加速神經網絡,剪枝通過消除模型中非必需的權重或結構,同時保持網絡性能幾乎等同于它們原始狀態。盡管剪枝在卷積神經網絡(CNNs)中顯示出顯著結果,但與量化和蒸餾等其他壓縮技術相比,其對于LLMs的有效性較不穩健。剪枝效果減弱的原因來自于微調過程。由于模型參數數量龐大,微調的高成本使得實現剪枝的全部效果變得更加困難。然而,剪枝是壓縮模型的關鍵技術,需要進一步探索以增強和完善其在LLMs中取得改進結果的有效性。在接下來的部分,我們將在4.1節提供剪枝方法和基本概念的概覽。隨后,在4.2節,我們將詳細闡述為中等大小語言模型(即,參數達到數十億的模型)量身定制的剪枝技術,鑒于它們與LLMs的結構相似性。4.3節將深入探討專門為LLMs設計的剪枝方法論。最后,在4.4節,我們將介紹一些輔助技術,這些技術雖然不是剪枝方法,但與剪枝相關,用于改進LLMs的剪枝結果,并討論LLMs剪枝領域未來進步的挑戰。
知識蒸餾知識蒸餾(KD)是一種常用的模型壓縮和加速技術。具體實施過程包括將復雜教師模型獲得的知識轉移到一個更簡單的學生模型中,從而實現教師模型知識的更簡潔高效的表示。在5.1節中,我們將介紹知識蒸餾的一些基本概念,并提供知識蒸餾方法的簡要分類。然后我們將在5.2節總結使用中等大小語言模型(具有大約10億參數的語言模型)的各種知識蒸餾方法,并根據蒸餾發生在預訓練階段、微調階段還是兩者都有進行分類。最后,我們將在5.3節提供大型語言模型(具有超過10億參數的語言模型)知識蒸餾的詳細概述,將它們分類為黑盒蒸餾和白盒蒸餾。
緊湊架構設計是一種追求效率和簡化的設計哲學,其目標是通過優化網絡結構和算法,在減少計算資源和內存使用的同時,實現模型效率的顯著提升。具體而言,它可以分為微觀和宏觀兩個研究層次。本節將重點優化注意力計算和Transformer架構設計。由于Transformer層目前是LLM的主要組成部分,并且對于大型和中等大小模型來說沒有區別,因此我們在這里不會特別按模型大小分類方法。
動態網絡
擴大語言模型的規模已被證明是提升其在自然語言處理(NLP)任務上性能的有效方法。然而,擴展帶來的大量計算成本和內存需求構成了LLMs進步的主要挑戰。為了解決這些問題,同時仍然利用規模增加的好處,動態神經網絡(DyNNs)只針對每個輸入處理網絡的一個子集,使整個模型在資源受限的環境下更加靈活和高效地滿足計算需求。在NLP領域和LLMs領域,當前對DyNNs的研究主要包括以下三種方法:提前退出、級聯推理和專家混合(MoE)。提前退出旨在動態地在深度神經網絡(DNNs)的早期層次終止推理過程,從而減少計算成本并提高響應時間。直覺是,對于不太復雜的詞匯,往往可以在網絡的較早層次中準確完成預測。這些方法通常在網絡內部集成了一系列內部分類器,這些分類器在推理過程中提供提前退出的信號。已經提出了各種退出標準。這一系列工作主要關注并應用于小型或中型語言模型,如Bert。并且準確度可能不足以支持一般LLMs在更復雜和現實的場景中的應用。級聯推理利用不同大小的一系列語言模型處理不同復雜度級別的請求。Tabi提出了一個具有多級推理模型和基于概率的調度器的推理系統,以確定輸入查詢的處理策略,并平衡準確度和效率。FrugalGPT學會適應性地分類來自不同數據集和任務的查詢,并將它們引導至合適的LLMs API組合。EcoAssistant和另一個研究利用查詢緩存引用歷史數據以加快響應速度,并使用LLMs的層級結構來處理那些不匹配的新查詢。Mixture-of-Thoughts考慮了來自較弱LLMs的答案一致性作為問題難度的指標,以決定是否利用更強大的LLMs。一般來說,這一系列工作最近才出現,并顯示出發展更高效LLM系統的有希望的方向。與上述兩種方法相比,MoE的研究有著橫跨多個機器學習領域(包括NLP)的廣泛歷史。MoE通過多個子網絡水平擴展前饋網絡(FFN),其中只有一個或少數幾個會在單次前向傳播中被激活。它被廣泛地整合到今天的LLMs架構中,以提供高效而強大的服務。因此,在本節的剩余部分,我們將深入探討MoE的領域。7.1節首先介紹MoE的基本概念,接著是對將MoE整合到LLMs中的當代研究的廣泛綜述,包括算法和架構設計、訓練策略和實際應用。7.2節提供了一些代表性研究的簡要回顧,這些研究將MoE與之前討論的模型壓縮和加速技術集成在一起,突出了其在開發更全面和成本效益更高的LLM系統中的潛力。
隨著基于Transformer的模型的快速發展,出現了各種模型。由于不同的應用場景,它們在延遲、吞吐量、內存等方面有著額外的需求,這使得我們難以部署模型。在本節中,我們介紹了一些最近開發的針對LLM的推理加速框架,這些框架有效地提高了不同場景下模型的效率,如表6所示。我們根據通用性將框架分為通用框架和專用框架。這里還有一些特定于訓練的加速框架[351]、[352]、[353]、[354]、[355]、[356]、[357],由于本文關注于推理,我們不會具體討論它們。如果您想要部署訓練好的模型以快速獲得高效推理,可以參考這些框架[358]、[359]、[360]、[361]、[362]、[363]。
結論
在本文中,我們從算法角度對大型語言模型的壓縮和高效推理進行了全面調查,包括量化、剪枝、蒸餾、緊湊架構設計、動態網絡。此外,我們還介紹了一些為大型語言模型量身定制的流行壓縮和加速框架。然而,正如我們在引言中提到的,與較小模型相比,大型模型的壓縮和加速面臨更多挑戰。盡管現有算法已經做出了重大努力來應對這些挑戰,但許多算法仍然依賴于為壓縮小型模型而設計的框架,壓縮大型模型的挑戰依然存在。未來,需要進一步探索,以開發更高效、更有效的壓縮算法,同時確保大型模型的通用性和泛化能力。
元強化學習算法提供了一種數據驅動的方法來獲得快速適應許多具有不同獎勵或動態功能的任務的策略。然而,學習到的元策略通常只在它們被訓練的確切任務分布上有效,并在測試時間獎勵的分布變化或過渡動態的存在下很困難。本文為元強化學習算法開發了一個框架,能夠在任務空間的測試時分布變化下表現適當。我們的框架以一種適應分布魯棒性的方法為中心,它訓練一組元策略對不同級別的分布轉移具有魯棒性。當在可能發生變化的任務測試時分布上進行評估時,這使我們能夠選擇具有最適當魯棒性水平的元策略,并使用它來執行快速自適應。我們正式地展示了我們的框架如何允許改進分布位移下的遺憾,并實證地展示了它在廣泛分布位移下的模擬機器人問題上的有效性。
我們提出了提示分布學習,以有效地適應一個預訓練的視覺語言模型,以解決下游的識別任務。我們的方法不僅從一些樣本中學習低偏差提示,而且還捕獲不同提示的分布,以處理不同的視覺表示。這樣,我們提供了高質量的任務相關內容,便于識別。這種快速分布學習是通過一種學習提示的輸出嵌入而不是輸入嵌入的有效方法實現的。因此,我們可以使用高斯分布來有效地建模,并導出有效訓練的替代損失。在12個數據集上的大量實驗表明,我們的方法始終和顯著地優于現有的方法。例如,與人工制作的提示相比,每個類別有一個樣本,它的平均結果相對提高了9.1%。
//www.zhuanzhi.ai/paper/0c6359fedd7bfc3067c0c0ddaf8a29f4
偏標記學習是一個典型的弱監督學習問題,每個訓練示例都與一組候選標簽相關聯,其中只有一個標簽為真。大多數現有的方法都假設每個訓練示例的候選標記是由真實標記和隨機選取的不正確的標簽組成的。然而,這種假設是不切實際的,因為候選標簽總是依賴實例的。
在本文中,我們考慮了實例依賴的偏標記學習,并假設每個實例都與每個標記的潛在標記分布相關聯,其中標記分布代表了每個標記描述特征的程度。描述程度越高的不正確標簽更有可能被注釋為候選標簽。因此,潛在標記分布是部分標簽示例中必不可少的標記信息,值得用于預測模型訓練。基于這種考慮,我們提出了一種新的偏標記學習方法,用標記增強 (LE) 恢復標記分布,并在每個階段迭代訓練預測模型。具體地說,我們假設潛在標記分布的真實后驗密度是由推理模型參數化的變分近似狄利克雷密度,利用變分后驗產生的標記分布對預測模型進行訓練。最后在基準測試和真實數據集上進行實驗,驗證了該方法的有效性。
論文標題:
Instance-Dependent Partial Label Learning
論文鏈接:
//www.zhuanzhi.ai/paper/70739bd32a8310f090296cf05f3ba5ae
代碼鏈接:
從合成生物學到計算機架構,計算設計問題出現在許多環境中。在本文中,我們的目標是解決基于數據驅動模型的優化(MBO)問題,其中的目標是找到一個設計輸入,使一個未知的目標函數最大化,只提供訪問先前實驗的靜態數據集。這種數據驅動的優化過程是許多現實領域中唯一實用的方法,在這些領域中,主動數據收集是昂貴的(如優化蛋白質)或危險的(如優化飛機設計)。針對已知模型優化設計的典型MBO方法遭遇了分布轉移:很容易找到一種設計,它“愚弄”了模型,使其預測出高價值。為了克服這一點,我們提出了保守目標模型(COMs),一種學習目標函數模型的方法,該模型下界的真實目標的實際值在非分布輸入外,并使用它進行優化。在結構上,COMs類似于用來克服對抗性例子的對抗性訓練方法。COM易于實現,并且在許多MBO問題上優于現有的一些方法,包括優化蛋白質序列、機器人形態、神經網絡權值和超導材料。
深度學習模型的分散訓練是實現網絡上數據隱私和設備上學習的關鍵要素。在現實的學習場景中,不同客戶端局部數據集之間存在異構,這對優化提出了挑戰,并可能嚴重影響泛化性能。在本文中,我們研究并識別了幾種分散優化算法在不同程度的數據異構下的局限性。我們提出了一種新的基于動量的方法來緩解這種分散訓練的困難。我們通過對各種CV/NLP數據集(CIFAR-10、ImageNet和AG News)和幾種網絡拓撲(Ring和Social network)的大量經驗實驗表明,與其他現有方法相比,我們的方法對客戶數據的異構性更穩健,測試性能顯著提高(1% - 20%)。我們的代碼是公開的。
少樣本數據集泛化是研究良好的少樣本分類問題的一種具有挑戰性的變體,其中給出了多個數據集的不同訓練集,目的是訓練一個可適應的模型,然后可以通過僅使用幾個例子從新數據集學習類。為此,我們提出利用不同的訓練集來構建一個通用模板:通過插入適當的組件,可以定義廣泛的數據集專用模型的部分模型。因此,對于每個新的幾桿分類問題,我們的方法只需要推斷少量參數插入到通用模板中。我們設計了一個單獨的網絡,為每個給定的任務生成這些參數的初始化,然后我們通過梯度下降的幾個步驟來微調其提出的初始化。與以前的方法相比,我們的方法參數效率更高,可擴展性更強,適應性更強,并在具有挑戰性的Meta-Dataset基準測試上達到了最好的性能。
持續學習變得越來越重要,因為它使NLP模型能夠隨著時間的推移不斷地學習和獲取知識。以往的持續學習方法主要是為了保存之前任務的知識,并沒有很好地將模型推廣到新的任務中。在這項工作中,我們提出了一種基于信息分解的正則化方法用于文本分類的持續學習。我們提出的方法首先將文本隱藏空間分解為對所有任務都適用的表示形式和對每個單獨任務都適用的表示形式,并進一步對這些表示形式進行不同的規格化,以更好地約束一般化所需的知識。我們還介紹了兩個簡單的輔助任務:下一個句子預測和任務id預測,以學習更好的通用和特定表示空間。在大規模基準上進行的實驗證明了我們的方法在不同序列和長度的連續文本分類任務中的有效性。
特別檢索任務是給定查詢和文檔集合對相關文檔進行排序。一系列基于深度學習的方法被提出來解決這一問題,并得到了廣泛的關注。但是,我們認為它們本質上是基于局部詞序列的,忽略了細微的長距離文檔級詞關系。為了解決這一問題,我們通過圖結構明確地建模文檔級詞關系,并通過圖神經網絡捕獲微妙信息。此外,由于文檔集合的復雜性和規模,在更一般的級別上探索不同粒度層次匹配信號是相當重要的。因此,我們提出了一種基于圖的層次關聯匹配模型(GHRM)用于特殊檢索,該模型可以同時捕捉細微的和一般的層次匹配信號。我們在兩個具有代表性的特別檢索基準上驗證了GHRM的效果,綜合的實驗和結果表明它優于最新的檢索方法。
//www.zhuanzhi.ai/paper/f8e503be30747a4059bfb9e80e79705e
現有的語義分割模型嚴重依賴于密集的像素級標注。為了減少標注的壓力,我們專注于一項具有挑戰性的任務,即零標注語義分割,它的目標是用零標注分割不可見的對象。這一任務可以通過語義詞嵌入在類別間傳遞知識來完成。在本文中,我們提出了一種新的基于上下文的零樣本分割特征生成方法——CaGNet。特別是在觀察到像素級特征高度依賴上下文信息的情況下,我們在分割網絡中插入上下文模塊來捕獲像素級特征的上下文信息,從而指導語義詞嵌入生成更加多樣化和上下文感知的特征的過程。我們的方法在三個基準數據集上實現了最先進的零樣本分割結果。代碼可在:this https URL獲得。