AllenAI | 用GPT-3帮助增建数据,NLI任务直接提升十个点!?
文 | iven
編 | 小軼
用機器構建數據集,這件事可能比機器學習誕生的還要早,很多人做過很多工作。怎樣讓機器參與進來?前人的工作可以分成兩類思路:一類是以遠程監督為代表,讓機器來標注,主要目的在于得到更多的數據;另一類是以主動學習為代表,機器在數據集中選出最難的樣本,讓人標注,主要目的在于得到更高質量的數據。
在大模型大數據的今天,前一類思路成為了主流:機器標注雖然質量不如人,但能以最低的成本標注最多的數據。數據中的噪聲就依靠大模型的魯棒性來消化,龐大的數據量似乎更有用。
近日,華盛頓大學 Yejin Choi 組的研究又對這個問題進行了反思。怎樣才能在機器參與構建數據集的流程里,最好地發揮機器的效用呢?機器與人應該是互補的,而不是讓機器代替人來標注。
人類在標注大規模數據的時候,很容易有這樣一個局限:一個人設計數據時,經常只依賴幾種重復的模板。這樣盡管標注了大量的數據,但數據集會缺乏語言學上的多樣性。相比于一個標注團隊,GPT3 生成的語料則會豐富得多。而相比于機器,人的優勢在于更高的標注準確率。
基于此,這篇文章提出了一個全新的構建數據集流程:基于一個現有的數據集,挑選出里面對機器困難的樣本,讓 GPT3 生成更多更豐富的同類困難樣本,讓人來檢查和優化。
作者采用這套人機合作的數據構建方式,以較低的人力成本構建了超大規模的自然語言推斷(NLI)新數據集 WANLI。實驗表明,在 WANLI 數據集上訓練的模型會有更好的性能。最突出的是,訓練后模型所具備極強的跨領域遷移能力:遷移到十分內卷的 NLI 數據集 HANS 和 ANLI 上做測試,也都分別提升了 11% 和 9% 的準確率。
論文題目:
WANLI: Worker and AI Collaboration for Natural Language Inference Dataset Creation
論文鏈接:
https://swabhs.com/assets/pdf/wanli.pdf
人機如何合作?
整個方法的流程可以分成四個部分:
找難的樣本;
讓 GPT3 生成困難樣本的同類型樣本;
機器自動過濾;
人工檢查和優化。
整體很符合直覺,但是我們看到會有兩個疑問:
1. 什么是困難的樣本?
作者們之前的工作[1] 為數據集設計了一張 data map:
圖中每個點代表一個樣本:
縱坐標是模型預測 logits 的大小,表示了模型對預測結果的置信度(confidence);
橫坐標是模型在不同 epoch 預測這個樣本時的置信度方差;
點的顏色代表一個樣本在不同 epoch 預測中正確率。藍色正確率較低,紅色較高。
直覺上,我們會認為“置信度低”的就是難以學習的樣本。實際上,這些樣本大多是標注錯誤的樣本點。而“方差大”的樣本才是真正對模型困難的。
作者在原始數據集中選了最困難的樣本,作為后面生成數據的種子樣本。
2. 怎樣界定“同類型”樣本?怎樣讓 GPT3 生成困難樣本的同類型樣本?
作者對于“同類型”樣本的界定并不是說在語意層面的相似度出發,做一些數據增強。而是說,對于這一類“難題”,再給模型出一些在邏輯層面(reasoning)類型相同的難題,比如:
種子樣本中,前提說“5% 沒有 xxx”,假設說“95% 有 xxx”,兩句話之間是數學上的互補關系,因此推斷成立。我們要生成的樣本也應該具有前提和假設的數學互補關系,這樣才是同類困難的樣本。
怎樣生成同類困難樣本?本文作者想到了 GPT3 的 in-context learning。前面給出幾個同類的樣本作為示例(prompt),后面就讓 GPT3 自由生成同類的新樣本。可問題又來了,怎樣在原數據集里找到這些同類型的樣本呢?
作者采取了非常簡單的方法:如果兩個樣本 [CLS] 的表示是接近的,那么就認為這兩個樣本是上面定義的同類樣本。對于每個種子樣本,都在原來的數據集中找出同樣標簽最近的 k 個樣本,作為輸入 GPT3 的 prompts。
作者基于 MultiNLI 數據集,使用上面的方法生成了 WANLI 數據集。WANLI 數據集只取了 MultiNLI 中四分之一最難的樣本作為種子樣本,最終 WANLI 的規模也是 MultiNLI 的四分之一。
用 WANLI 訓練的效果?
這張圖是主實驗的結果。作者使用同樣的 RoBERTa-large 模型,在不同的數據集上訓練和評測。表格縱坐標代表訓練的數據集,橫坐標代表測試的數據集。彩色的格子代表訓練和測試在不同的數據集,即 out-of-domain 的情況。
整個表格分成了上中下三個部分:
上面的部分是只使用 MultiNLI 或者 WANLI 訓練,四分之一的數據量訓出了顯著更好的結果;
中間的部分是用 MultiNLI 融合其它數據集訓練。其中 + 指使用兩個數據集的和,◇ 指用后面數據集隨機替換前面數據集中的樣本。結果表明,不是數據越多越好,而是越多困難樣本,模型學習結果越好。甚至只用 WANLI 訓練,效果是最好的;
下面的部分是 WANLI 和 Adversial NLI(ANLI)對比。ANLI 標注了在 MultiNLI、SNLI、FEVER-NLI 上訓練的模型無法預測正確預測的例子。實驗發現,本文生成數據集的思路也可以對 ANLI 構成補充。
為了驗證生成的數據真的是“難題”,讓模型學到了 NLI 需要的信息,而不是因為別的什么巧合提升了性能,作者設計了好幾個實驗,分別證實了:
不是因為前提中的某些 pattern 造成的性能提升;
不是因為生成的句子中某幾個詞影響了預測的結果;
不會是因為前提和假設語意相似度就能反應推斷結果(即兩句話越相似,就越有蘊含關系)。
于是我們大體上可以判定,這個生成數據集的方法是有效的。
總結
最近越來越多的工作打破了"數據越多越好"的迷信想法。這篇文章給出了一個靠譜的方法,借助 GPT3 生成比人類標注更難的數據,可以說是數據工程之路上的又一步前進。
但生成的樣本仍有很多問題,比如會生成重復的話或者自相矛盾的話,有些生成的樣本對于 NLI 任務也很難判斷是否蘊含。另外,in-context learning 生成的樣本大約有 15% 與 prompt 的類別是不一致的,這就不得不引入后續的人的標注。是否能引入約束,讓機器同時做好"選擇樣本"和"標注樣本"這兩件事,將是后人工作的研究重點。不知道什么時候才能有方法,讓機器構建數據集的兩種思路統一。
萌屋作者:𝕚𝕧𝕖𝕟
在北大讀研,目前做信息抽取,對低資源、圖網絡都非常感興趣。希望大家在賣萌屋玩得開心 ヾ(=・ω・=)o
作品推薦
老板讓我用少量樣本 finetune 模型,我還有救嗎?急急急,在線等!
谷歌:CNN 擊敗 Transformer,有望成為預訓練界新霸主!LeCun 卻沉默了...
中文 BERT 上分新技巧,多粒度信息來幫忙
恕我直言,很多小樣本學習的工作就是不切實際的
你的 GNN,可能 99% 的參數都是冗余的
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1] Swabha Swayamdipta, et. al., Dataset Cartography: Mapping and Diagnosing Datasets with Training Dynamics, EMNLP 2020, https://aclanthology.org/2020.emnlp-main.746/
總結
以上是生活随笔為你收集整理的AllenAI | 用GPT-3帮助增建数据,NLI任务直接提升十个点!?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100篇论文串讲对话系统前世今生
- 下一篇: 我,大学没毕业,在OpenAI搞AI,想