我們可以將大型語言模型(LLMs)理解為小樣本學習者,其能夠透過很少的例子就能學習新任務,甚至僅透過簡單的說明就能學習,其中對模型參數量和訓練資料的大小進行擴展是模型擁有泛化能力的關鍵。 LLMs 的這種提升歸功於更強大算力和儲存能力。直觀上,推理能力的提高會帶來更好的泛化,從而減少樣本的學習,然而目前還不清楚有效的小樣本學習在多大程度上需要大量的模型參數知識。
目前為止檢索增強模型還沒有展現出令人信服的小樣本學習能力。論文中,來自 Meta AI Research 等機構的研究者提出小樣本學習是否需要模型在其參數中存儲大量信息,以及存儲是否可以與泛化解耦。他們提出 Atlas,其是檢索增強語言模型的一種,具有很強的小樣本學習能力,即使參數量低於目前其它強大的小樣本學習模型。
模型採用非參數存儲,即使用基於大型外部非靜態知識源上的神經檢索器去增強參數語言模型。除了儲存能力,此類架構在適應性、可解釋性和效率方面都存在優勢,因此很有吸引力。
論文網址:https://arxiv.org/pdf/2208.03299.pdf
Atlas 檢索相關文件是基於Contriever 雙編碼器架構的通用密度檢索器,檢索文件時基於目前上下文檢索相關文件。檢索到的文件與目前上下文一起交由序列到序列模型處理,該模型使用 Fusion-in-Decoder 架構產生對應的輸出。
作者研究了不同技術對訓練 Atlas 在一系列下游任務(包括問答和事實檢查)上的小樣本資料集表現的影響。研究發現聯合預訓練組件對於小樣本表現至關重要,作者評估了許多現有和新穎的預訓練任務和方案,Atlas 在小樣本和資源豐富的環境中都擁有強大的下游表現。
在只有11B 個參數的情況下,Atlas 使用64 個訓練範例在NaturalQuestions(NQ)上實現了42.4% 準確率,比540B 參數模型PaLM( 39.6% )高出近3 個百分點,在全資料集設定中(Full)達到64.0% 準確率。
Yann LeCun 表示:Atlas 是一個不太大的語言模型(11B 參數),在問答和事實核查方面擊敗了「大傢伙」。 Atlas 主要區別在於它可以從語料庫中檢索事實。 ########################方法概覽#########Atlas 遵循文字到文字框架。這意味著所有任務的總體框架是:系統以文字查詢作為輸入,產生文字輸出。例如,在問答任務情況下,查詢對應於問題,模型需要產生答案。在分類任務情況下,查詢對應於文字輸入,模型產生類別標籤,即標籤對應的單字。圖 2 中的 KILT 基準給出了更多下游任務的範例。許多自然語言處理任務需要知識,Atlas 的目標是透過檢索增強標準文字到文字模型,因為檢索可能對於模型小樣本場景下的學習能力至關重要。 ########################架構##########Atlas 模型基於兩個子模型:檢索器和語言模型。執行任務時,從問答到產生 Wikipedia 文章,模型首先透過檢索器從大型文字語料庫中檢索前 k 個相關文件。然後,這些文件連同查詢一起作為輸入給到語言模型,產生輸出。檢索器和語言模型都基於預先訓練的 transformer 網絡,以下將它們詳細介紹。 ######
檢索器:Atlas 的檢索器模組基於 Contriever,這是一種基於連續密度嵌入的資訊檢索技術。 Contriever 使用雙編碼器架構,其中查詢和文件由 transformer 編碼器獨立嵌入。平均池化應用於最後一層的輸出,以獲得每個查詢或文件的向量表示。然後透過計算查詢和每個文件間的相互嵌入的點積,得到它們的相似度分數。 Contriever 模型使用 MoCo 對比損失進行預訓練,並且僅使用無監督資料。密度檢索器的優點之一是查詢和文件編碼器都可以在沒有文件註釋的情況下使用標準技術(例如梯度下降和蒸餾)進行訓練。
語言模型:對於語言模型,Atlas 依賴 T5 序列到序列架構。模型同時也依賴序列到序列模型的 Fusion-in-Decoder 修改,並在編碼器中獨立處理每個文件。之後模型連接對應於不同文件的編碼器的輸出,並在解碼器中對單一序列執行 cross-attention。模型把查詢連接到編碼器中的每個文件。在語言模型中處理檢索到的文件的另一種方法是將查詢和所有文件連接起來,並使用這個長序列作為模型的輸入。但這種方法可擴展性較差,即它不會隨著文檔的數量增多而擴展,因為編碼器中的自註意力機制會導致O(n^2)的時間複雜度(這裡n 是文檔數量)。
作者在 NaturalQuestions 和 TriviaQA 這兩個開放域問答基準上評估 Atlas。並且分別使用 64 個樣例的小樣本資料集和完整的訓練集,與先前的工作進行比較,詳細對比請參閱下表。
NaturalQuestions 和 TriviaQA 的 64-shot 問答中表現最優。特別是它優於更大的模型 (PaLM) 或需要更多訓練計算的模型(Chinchilla)。在使用全量的訓練集時,Atlas 也能到最優結果,例如把 NaturalQuestions 的準確度從 55.9% 提高到 60.4%。這個結果是在 Atlas 的預設設定下,使用由 CCNet 和 2021 年 12 月 Wikipedia 語料庫組成的索引獲得的。 下表展示了在事實查核資料集 FEVER 上的測試結果。
Atlas 在 64-shot 情況下,訓練樣本取樣自全量訓練集。 Atlas 達到了 64.3% 的準確率。而在 15-shot 的情況下,從每個類別中統一採樣 5 個樣例,與 Gopher 結果比較,Atlas 準確率為 56.2%,比 Gopher 高 5.1 個百分點。在全量訓練集上微調 Atlas 模型,達到 78% 的準確率,比 ProoFVer 低 1.5%。 ProoFVer 使用專門的架構,以句子級註釋訓練的檢索器,並由維基百科語料庫提供與 FEVER 一起發布,而 Atlas 從 CCNet 和 2021 年 12 月的維基百科轉儲中檢索。當給 Atlas 由 FEVER Wikipedia 語料庫組成的索引,Atlas 取得了 80.1% 最適水準。
為驗證 Atlas 的效能,Atlas 在 KILT 進行了評估,KILT 是由幾個不同的知識密集型任務組成的基準。下表展示了測試集的結果。
Atlas 64-shot 在實驗中遠遠超過隨機演算法,甚至與排行榜上的某些經過微調的模型不相上下。如在 FEVER 上,Atlas 64-shot 僅落後 Sphere、SEAL 和 Re2G 2-2.5 分,而在 zero-shot RE 上的表現優於 Sphere 和 SEAL。在全量資料集上,Atlas 在 3 個資料集的表現與最好的模型相差在 3% 以內,但在其餘 5 個資料集中是表現最好的。
以上是參數量1/50,Meta發布110億參數模型,擊敗GooglePaLM的詳細內容。更多資訊請關注PHP中文網其他相關文章!