?原創作者|?朱林
論文解讀:
Can Generative Pre-trained Language Models Serve as Knowledge Bases for Closed-book QA?
論文作者:
Cunxiang Wang, Pai Liu, Yue Zhang
論文地址:
https://aclanthology.org/2021.acl-long.251.pdf
收錄會議:
ACL2021
代碼和數據集:
https://github.com/wangcunxiang/Can_PLM_Server_as_KB
01?背景
BERT、GPT等大型預訓練語言模型(Pre-trained Language Model, PLM)顯著提高了各種自然語言處理(NLP)任務的性能。
越來越多的證據表明PLM中蘊含著大千世界豐富的知識,故最新的實驗研究著重探究“LM as KB”的范式,即直接生成語言模型作為知識庫(Knowledge Base, KB)來解決問題。
本文探討的就是是否可以用PLM作為KB來完成閉卷問答(Closed-book QA)任務。該任務是一項極具挑戰性的任務,它需要一個模型能直接回答問題,而無需訪問外部知識。
形式上如圖2所示,輸入問題q,輸出詞序列o,同時將正確答案g與輸出結果o進行比較來評估模型準確性。
02?問題
由于PLM天然可以存儲和使用知識,所以它們可以在閉卷問答任務中實現較高的性能。然而,現有的研究留下了許多懸而未決的問題,比如:
(1) PLM在閉卷問答任務上到底有多少潛力?比如:用于訓練的數據集僅包含了標準問答對數據集,是否可以通過其他語料數據來訓練?在回答閉卷問題之前,是否有機制可以控制具體使用哪些知識來訓練PLM?
(2)目前,主要研究成果基于的實驗數據集里面訓練集和測試集數據之間有較高重合,使得我們難以分辨出訓練出的模型給出的答案到底是來自其固有知識(泛化能力強)還是訓練數據中的表層線索(泛化能力弱)。
03?探究
實驗準備與說明
為了探討之前研究所遺留的問題,本文作者用SQuAD數據集構建了一套新的問答數據集(以下亦稱為SQuAD),原始SQuAD數據集是一個閱讀理解數據集,其中每個問題都有一個對應的維基百科段落作為可追溯的知識源,新SQuAD將原始數據集改造為了問答對數據集,該數據集的特點是訓練集和測試集的數據重合度低。
其他數據集均為傳統問答任務常用的問答數據集,如WebQuestions(WB)、TriviaQA(TQ)和NaturalQuestions(NQ),這三者有重合度高的特點,如表1所示。
同時,本文選用BART模型作為PLM的主實驗對象,因為它在眾多生成任務上取得了最先進的結果。當然,作者也比較了GPT-2/3模型,相關結果和BART表現一致。
實驗結果
四個數據集的準確率結果顯示在表2的第一行,其中BART模型在三個數據集WB、TQ和NQ上取得了相對較高的結果,但它在SQuAD上表現不佳,準確率僅為1.5%。
作者還使用SQuAD段落進一步預訓練BART,然后進行QA-funetune。結果如表2的第二行所示,性能為1.8%,略好于1.5%,但仍然極低。
為了檢測重合率對結果的影響,作者定義如下符號:
作者選擇WQ作為高重合數據集的典型,以與低重合的SQuAD進行比較。
結果表明,如果測試問題與訓練問題有很大的重合,則模型傾向于在訓練集中就生成目標和單詞。
04?改進
通過分析、對比和探究BERT在不同數據集上的表現,作者找到了一些有希望改進結果的方向。可以通過使用簡單的數據增強技巧,例如,簡單地將相關段落添加到測試輸出中可以幫助BART檢索相關的知識并給出正確的答案。
此外,用類似的方式處理問答,進行QA-finetuning。將語言模型預生成和問答優化任務解耦可以讓模型更好地保留知識。
總體設計
如圖3所示,作者的設計受到課堂教學的啟發。
老師首先講授課本內容,然后讓學生背誦書中的要點,以測試他們對這本書的了解程度。
接下來,老師給學生一些練習題進行練習。
最后,老師給出一組不同的試題來測試學生。注意是整本書講授和背誦,而不是一本書的拆分,練習題和考試題都與本書有關。
教學&背誦
方法
為了研究BART是否可以從原始語料庫中獲取和存儲知識,作者使用SQuAD中的段落來微調BART模型,作者稱之為LM-finetuning。這段時期可以看作是為BART注入知識,亦稱“教學”。然后測試模型以檢查BART可以記住多少知識,稱為“背誦”。
LM-finetuning訓練階段(教學):作者遵循BART的原始訓練目標進行MLM-finetune步驟,這是一個去噪自動編碼過程。
傳統BART訓練目標有五個操作,作者在這里只采用了詞填充。對于每個輸入段落,作者隨機遮掩(Mask)了30%的詞喂給模型進行訓練,如圖3的第三行所示。
LM-finetuning測試階段(背誦):在這一階段,作者開發了一個名為“背誦”的任務來檢測模型有學到了多少特定的知識。
作者的背誦任務是給PLM幾個Mask段落并要求PLM恢復它們。對每個段落,作者遮掩了作為相關問題的答案,如圖4最后一行所示。通過這種方式,如果BART可以恢復特定遮掩的段落,它必須具有進一步問答所需的知識。
由于Answer Spans大多是實體或獨立的知識片段,模型通過啟發式或表面線索恢復它們的可能性相對較小。
結果
作者首先使用原始BART、隨機初始化BART和LM-finetuning的BART對所有SQuAD段落進行背誦實驗,結果如表4(i)所示。
隨機初始化BART給出0準確率,表明該任務很困難,沒有猜測的可能性。原始BART得分為2.2%,表明它包含某些有限的知識。
LM-finetuning的BART的準確度為2.7%,這個結果表明其在一定程度上是有用的,但仍然不高,BART在記憶重要知識方面面臨重大挑戰。
鑒于上述觀察,作者嘗試通過從SQuAD中提取子集來生成更小的數據集來降低挑戰難度。結果如表4(ii)的前兩行所示,作者發現當量增加時,記憶能力迅速下降。
作者得出結論,BART具有一定的存儲知識的能力,但該能力較弱。如果控制LM-finetuning的段落數,可以確保BART記住最需要的知識。當確信相關知識被保留時,在較小子集上訓練的LM-finetuning模型是更好的選擇。
練習&考試
方法
作者提出了一種加強知識檢索的簡單方法,即QA-bridge-tune,這是一個擴展的QA-finetuning過程。
該過程如圖5所示,對于每個問題輸入,輸出將相關段落與答案連接起來。由此,該模型在回答問題時可以顯式地回憶記憶過的段落,QA-bridge-tune通過它在問答和記憶知識之間架起一座橋梁,使模型可以用學到的知識回答問題。此外,這種方法可以幫助提高可解釋性。
結果
結果如表6所示,可以看到QA-bridge-tune幫助模型在問答時喚醒相關的記憶知識,從而提高準確率,在基線上提高2到3倍。
05?結論
本文通過細致實驗分析探討了“LM as KB”范式下解決閉卷問答任務時采用普通PLM會產生的諸多問題。
實驗表明,閉卷問答任務對于PLM(如BART)仍然具有極大挑戰性。這種挑戰既在于需要模型記住知識細節,也在于記住知識后如何回答問題。
作者通過采用簡單預處理方法對于PLM分多步進行微調,將學習記憶和回答問題過程進行了解耦,提供了一個不錯的優化思路。
06?啟發與思考
本文留給了我們一些啟發與思考:
(1)“LM as KB ”這一范式是目前的一個研究熱點,理想情況下,這種范式下可以為很多NLP問題,尤其是QA問題提供非常通用便捷的解決方案。但是目前在實際應用中準確率不高,有很多問題亟待深入研究;
(2)有監督的深度學習方法重新設計數據輸入或者數據增強,雖然簡單,但是也是不能忽視的提高模型性能的手段之一;
(3)對于前人的方法和結論,需要多辯證思考、提問和批判,自己親自動手實驗驗證最佳。實驗設計要全面,片面的實驗可能會產生令人誤導的結果;
(4)模型流程更加精細化、過程尋求可解釋性是未來深度學習學術研究的趨勢;
(5)學會觀察生活,從生活中汲取靈感,很多絕妙想法往往來源于樸素的生活現象或者生活道理。比如本文的靈感就來自于我們日常的課堂教學過程。