論文解讀:精華乾貨——用於常識推理的知識生成提示

  • 2022 年 1 月 17 日
  • 筆記

 

©原創作者 |康德

 

圖片

地址://arxiv.org/abs/2110.08387

 

儘管大型語言模型能夠在預訓練期間捕獲大量知識,但它們通常受益於整合外部知識庫,尤其是在常識推理任務上。

 

這促使我們探索如何更好地利用從語言模型中獲得的知識。作者建議使用通用提示格式直接從語言模型生成知識語句,然後選擇使得預測概率最大的知識。

 

儘管它很簡單,但這種方法提高了預訓練模型在數字常識、通用常識和科學常識上的性能。值得注意的是,使用模型自己生成的知識,它的預測可以提高,這表明了符號知識表示在神經推理過程中的重要性。

 

 

圖片

Introduction

 

進行常識推理需要常識知識,而預訓練語言模型隱含了大量的知識,可以直接作為常識推理的推理模型,一方面,整合外部知識庫可以提高其中一些任務的性能。

 

另一方面,語言模型本身可以充當知識庫的角色,因為它們允許查詢符號知識。為了利用語言模型中包含的知識來回答常識問題,最近的一些工作通過設計cloze-style模板來生成某種類型的知識陳述,例如闡明、對比說明等。

 

然而,任務通常需要不同類型的知識,這超出了預定義模板的範圍(表1)。如何從語言模型中靈活地引出一般類型的有用知識,並將這些知識整合到預測中?

 

圖片

表1:生成知識提示修正預測的例子

每部分綠色表示正確的回答 

紅色表示錯誤的回答

每一行的第一句表示問題 

第二句表示知識生成模型生成的知識語句

 

作者開發了一個簡單而有效的方法來生成知識並使用它來提高預測性能。作者提出的方法使用兩種語言模型:一種是知識模型,它使用帶有通用提示符的演示生成與問題相關的知識陳述;

 

一個推理模型,它接收每個知識陳述所增加的問題,然後使用這些知識,從而使其預測的概率最高(圖1)。生成性知識提示(generated knowledge prompting )在數值常識、一般常識以及科學常識可以提高現成模型和經過微調的模型的推理性能。

 

值得注意的是,當使用相同的語言模型進行知識生成和推理時,該方法是有效的。

 

圖片

圖1:上面:沒有符號知識的推理預測模型

下面:生成知識的提示:

1、生成問題相關的符號知識

2、在推理模型中使用知識陳述

 

作者發現有三個因素對基於生成性知識提示的推理任務有幫助:1、知識品質,2、知識數量,3、整合知識的推理策略。通過定性分析,生成的知識可以將常識性問題簡化為明確的推理流程。

 

 

圖片

Method

 

圖片

 

2.1知識生成

 

利用問題相關的知識示例,通過提示語言模型生成知識陳述。在所有任務中使用同樣的提示形式:由一個命令句子,一些問題-知識對示例,然後以問題佔位符結束,如表2所示。

 

圖片

表2:NumerSense和QASC知識生成提示的例子

提示由一個指令句子、五個問題-知識對示例和問題佔位組成

 

對於一個給定的問答任務,給出同問題類似的五個問題,然後為每個問題寫一個相應的知識陳述。理想情況下,提供的知識陳述應該把常識問題變成明確的推理過程。

 

當然,不應該簡單地將答案插入到問題後面,而是鼓勵多樣的知識生成。比如對於問題Penguins havewings, 可以將知識陳述寫成Birds have two wings. Penguin is a kind of bird。

 

知識陳述中的兩句話可以看作是演繹推理的完備集。而Penguins have two wings是一個不好的知識陳述示例,因為直接將問題和答案顯示出來了。

 

 

2.2通過提示進行知識整合

 

圖片

 

 

圖片

實驗

 

本文在四個常識推理數據集上評估生成性知識提示:NumerSense (NS), CommonsenseQA (CSQA), CommonsenseQA 2.0 (CSQA2), and QASC。這些數據集包含了推理和問題多樣性。

 

使用GPT-3進行知識生成,一般對每個問題生成20個知識陳述,將重複的和空字元串丟棄。當超過64個token或者遇到『\n』時,生成終止。

 

NumerSense由多個關於常見的物體和概念的陳述組成的,對於每個句子需要恢復一個被掩蓋的數字。選項是從0到10的整數,加上單詞no,所以這個任務可以被定為一個多項選擇題。

 

在推理階段使用T5進行推斷,同時使用零樣本的GPT-3進行推斷,將每個選項插入到句子中,並將答案的概率作為整個句子的生成概率:

圖片

CSQA 是一個關於現實世界的多個選項的問答數據集。通過T5進行推斷,將問題形式化為文本填充,並以最高的序列到序列語言建模概率預測選擇。 

 

CSQA2 是一個二元分類數據集,需要判斷常識性陳述是對還是錯。

 

QASC 是一個關於小學科學的多項選擇的數據集。這個數據集還包括每個問題的兩個背景知識,背景知識完全回答了問題。

 

圖片

表3:不同先進方法的比較

 

將本文提出的方法與之前的最好的方法進行比較,如表3所示。在每種情況下,在之前SOTA中使用的相同推理模型上應用本文提出的方法,可以看出NumerSense實現了6%的提升,CSQA2實現了2%的提升,QASC實現了3%的提升。 

 

圖片

表4:在零樣本模型上的提升

 

表4顯示了在零樣本推理模型中,應用本文提到的方法,在NumerSense, CSQA和QASC上提高7%到10%不等,在CSQA2上表現不好,作者也沒分析原因。

 

表5表明,本文方法在微調推理模型上也能給模型的性能帶來提升。

 

圖片

表5:在微調模型上的提升

 

通過定量分析,作者發現本文提到的方法要優於基於檢索的知識提示方法,以及優於基於模板的知識生成方法,同時推理階段利用的知識越好,對性能提升也越好。生成的知識越多,對推理越有幫助,如表6所示。

 

圖片

表6:每個問題生成不同數量的知識陳述的性能

 

表7顯示了在不同大小的推理模型下NumerSense的性能增益。

 

第三行顯示,gpt-3既是知識生成模型,也是推理模型,模型越小,提升越大,但個人覺得第三行要有意義些,因為其他模型太小了,可能gpt-3直接把答案告訴推理模型了,可以再做兩個推理模型比gpt-3強的實驗。

 

圖片

表7:不同知識集成演算法的性能

 

本文提出生成性知識提示模型,從預訓練語言模型中抽取知識,然後整合知識提升常識推理任務的性能。這種方法在多個推理數據集上被證明是有效的。