自然語言處理的最新進展以 無監督預訓練 為基礎,使用大量文本訓練通用語言表征模型 (Language Representation Models),無需人工標注或標簽。這些預訓練模型,如 BERT和 RoBERTa,經證明可以記憶大量世界知識,例如“the birthplace of Francesco Bartolomeo Conti”、“the developer of JDK”和“the owner of Border TV”。
RoBERTa
https://arxiv.org/abs/1907.11692
經證明可以記憶大量世界知識
https://arxiv.org/pdf/1909.01066.pdf
雖然知識編碼能力對于某些自然語言處理任務(如問題回答、信息檢索和文本生成等)尤為重要,但這些模型是 隱式地 記憶知識,也就是說世界知識在模型權重中以抽象的方式被捕獲,導致已存儲的知識及其在模型中的位置都難以確定。此外,存儲空間以及模型的準確率也受到網絡規模的限制。為了獲取更多的世界知識,標準做法是訓練更大的網絡,這可能非常緩慢或非常昂貴。
如果有一種預訓練方法可以 顯式地 獲取知識,如引用額外的大型外部文本語料庫,在不增加模型大小或復雜性的情況下獲得準確結果,會怎么樣?
例如,模型可以引用外部文集中的句子“Francesco Bartolomeo Conti was born in Florence”來確定這位音樂家的出生地,而不是依靠模型隱晦的訪問存儲于自身參數中的某個知識。像這樣檢索包含顯性知識的文本,將提高預訓練的效率,同時使模型能夠在不使用數十億個參數的情況下順利完成知識密集型任務。
在 2020 ICML 我們介紹的 “REALM: Retrieval-Augmented Language Model Pre-Training”中,我們分享了一種語言預訓練模型的新范例,用 知識檢索器 (Knowledge Retriever) 增強語言模型,讓 REALM 模型能夠從原始文本文檔中 顯式 檢索文本中的世界知識,而不是將所有知識存儲在模型參數中。我們還開源了 REALM 代碼庫,以演示如何聯合訓練檢索器和語言表示。
REALM: Retrieval-Augmented Language Model Pre-Training
https://arxiv.org/abs/2002.08909
REALM 代碼庫
https://github.com/google-research/language/tree/master/language/realm
背景:預訓練語言表征模型
要了解標準語言表征模型記憶世界知識的方式,首先應該回顧這些模型的預訓練過程。自從 BERT 問世以來,稱為遮蔽語言建模 (Masked Language Modeling) 的填空任務已廣泛用于預訓練語言表征模型。給定某些單詞被遮蓋的文本,任務是填充缺失的單詞。任務的樣本如下所示:
I am so thirsty. I need to __ water.
預訓練期間,模型將遍歷大量樣本并調整參數,預測缺失的單詞(上述樣本中的答案:answer: drink)。于是,填空任務使模型記住了世界中的某些事實。例如,在以下樣本中,需要了解愛因斯坦的出生地才能填補缺失單詞:
Einstein was a __-born scientist. (answer: German)
但是,模型捕獲的世界知識存儲在模型權重中,因此是抽象的,難以模型到底理解存儲了哪些信息。
檢索增強型語言表征模型預訓練
與標準語言表征模型相比,REALM 通過 知識檢索器 增強語言表征模型,首先從外部文檔集中檢索另一段文本作為支持知識,在實驗中為 Wikipedia 文本語料庫,然后將這一段支持文本與原始文本一起輸入語言表征模型。
Wikipedia 文本語料庫
https://archive.org/details/wikimediadownloads
REALM 的關鍵理念是檢索系統應提高模型填補缺失單詞的能力。因此,應該獎勵提供了更多上下文填補缺失單詞的檢索。如果檢索到的信息不能幫助模型做出預測,就應該進行阻攔,為更好的檢索騰出空間。
假定預訓練期間只有未標記的文本,那么該如何訓練知識檢索器?事實證明,可以使用填補單詞的任務來間接訓練知識檢索器,無需任何人工標注。假設查詢的輸入為:
We paid twenty __ at the Buckingham Palace gift shop.
在沒有檢索的情況下,很難填補句子中缺失的單詞 (answer: pounds),因為模型需要隱式存儲白金漢宮所在國家和相關貨幣的知識,并在兩者之間建立聯系。如果提供了一段與從外部語料庫中檢索的必要知識顯式連接的段落,模型會更容易填補缺失的單詞。
在此例中,檢索器會因為檢索以下句子獲得獎勵。
Buckingham Palace is the London residence of the British monarchy.
由于檢索步驟需要添加更多上下文,因此可能會有多個檢索目標對填補缺失單詞有所幫助,例如“The official currency of the United Kingdom is the Pound.”。下圖演示了整個過程:
REALM 的計算挑戰
擴展 REALM 預訓練使模型從數百萬個文檔中檢索知識具有一定挑戰性。在 REALM 中,最佳文檔選擇為最大內積搜索 (Maximum Inner Product Search,MIPS)。檢索前,MIPS 模型需要首先對集合中的所有文檔進行編碼,使每個文檔都有一個對應的文檔向量。輸入到達時會被編碼為一個查詢向量。在 MIPS 中,給定查詢就會檢索出集合中文檔向量和查詢向量之間具有最大內積值的文檔,如下圖所示:
REALM 采用 ScaNN軟件包高效執行 MIPS,在預先計算文檔向量的情況下,相對降低了尋找最大內積值的成本。但是,如果在訓練期間更新了模型參數,通常有必要對整個文檔集重新編碼文檔向量。為了解決算力上的挑戰,檢索器經過結構化設計可以緩存并異步更新對每個文檔執行的計算。另外,要實現良好性能并使訓練可控,應每 500 個訓練步驟更新文檔向量而不是每步都更新。
將 REALM 應用于開放域問答
將 REALM 應用于開放域問答 (Open-QA) 評估其有效性,這是自然語言處理中知識最密集的任務之一。任務的目的是回答問題,例如“What is the angle of the equilateral triangle(等邊三角形的一角是多少度)?”
在標準問答任務中(例如 SQuAD 或 Natural Questions),支持文檔是輸入的一部分,因此模型只需要在給定文檔中查找答案。Open-QA 中沒有給定文檔,因此 Open-QA 模型需要自主查找知識,這就使 Open-QA 成為檢查 REALM 有效性的絕佳任務。
SQuAD
https://arxiv.org/abs/1606.05250
Natural Questions
https://ai.google.com/research/NaturalQuestions/
下圖是 OpenQA 版本 Natural Question 的結果。我們主要將結果與 T5 進行比較,T5 是另一種無需標注文檔即可訓練模型的方法。從圖中可以清楚地看到,REALM 預訓練生成了非常強大的 Open-QA 模型,僅使用少量參數 (300M),性能就比更大的 T5 (11B) 模型要高出近 4 個點。
結論
REALM 有助于推動人們對端到端檢索增強型模型的關注,包括最近的一個檢索增強型生成模型。我們期待以多種方式擴展這一工作范圍,包括 :
將類似 REALM 的方法應用于需要知識密集型推理和可解釋出處的新應用(超越 Open-QA)
了解對其他形式的知識進行檢索的好處,例如圖像、知識圖譜結構甚至其他語言的文本。我們也很高興看到研究界開始使用開源 REALM 代碼庫!
檢索增強型生成模型
https://arxiv.org/abs/2005.11401
REALM 代碼庫
https://github.com/google-research/language/tree/master/language/realm
-
模型
+關注
關注
1文章
3279瀏覽量
48970 -
代碼
+關注
關注
30文章
4808瀏覽量
68812 -
自然語言處理
+關注
關注
1文章
619瀏覽量
13599
原文標題:REALM:將檢索集成到語言表征模型,搞定知識密集型任務!
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論