<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何向大規模預訓練語言模型中融入知識?

深度學習自然語言處理 ? 來源:復旦DISC ? 作者:王瑞澤 ? 2021-06-23 15:07 ? 次閱讀

本文介紹了復旦大學數據智能與社會計算實驗室 (Fudan DISC)在ACL 2021上錄用的一篇Findings長文: K-Adapter: Infusing Knowledge into Pre-Trained Models with Adapters

文章摘要

本文關注于向大規模預訓練語言模型(如RoBERTa、BERT等)中融入知識。提出了一種靈活、簡便的知識融入框架K-Adapter,通過外掛知識插件的方式來增強原模型,緩解了知識遺忘的問題、且支持連續知識學習。本文提出的模型在三種知識驅動的任務,包括了命名實體識別、關系分類、問答等任務上取得了顯著的效果。

研究背景

預訓練語言模型,如BERT、GPT、XLNet、RoBERTa,可以通過無監督訓練目標(如MLM)來從大規模文本語料中學習通用表示,并且在各種各樣的下游任務上取得了SOTA的表現。盡管這些模型取得了巨大的進步,但是最近的一些工作表明這些通過無監督方式訓練的模型很難學習到豐富的知識,如邏輯知識、事實類知識、語言學知識、特定領域的知識等等。因此這啟發了本文來研究如何向預訓練模型中融入知識。

最近出現了一些向預訓練模型中融入知識的工作,如ERNIE、WKLM、KnowBERT等。下表中展示了本文工作和先前融入知識工作的對比。先前的工作通過多任務(multi-task)學習的方式訓練模型,也就是在原有的MLM訓練目標的基礎上,額外增加了用于融入知識的訓練目標,例如ERINE通過增加Entity Linking的訓練目標學習相關知識。由于這些方法在預訓練融入知識的階段BERT不是固定的,需要更新模型的全部參數,會使得模型融入知識的代價較大。而且他們不支持連續學習,模型的參數在引入新知識的時候需要重新訓練;對于已經學到的知識來說,會造成災難性遺忘(catastrophic forgetting)的問題。為了更好地解決上述問題,本文提出了 K-Adapter,一種靈活、簡便地向預訓練模型中注入知識的方法。

方法描述

本文提出的方法如下圖所示。圖a是基于多任務學習融入知識的方法,圖b是本文模型K-Adapter,通過外掛在原始模型外的adapter,融入不同種類的知識。

e1d6bf12-d15c-11eb-9e57-12bb97331649.png

1. Adapter結構

Adapter模型可以看做是知識特定模型,可以看做為插件,掛載在預訓練模型外部。具體而言,每個Adapter模型由K個Adapter層(如下圖所示,KIA)組成,其中每個Adapter層包含了N個Transformer層和兩個映射層(Projection Layer)。對于Adapter模型,本文將Adapter層插入到預訓練模型的不同Transformer層之間,將預訓練模型的中間層輸出的特征和前一個Adapter層的輸出特征拼接作為Adapter層的輸入。本文將預訓練模型和Adapter的最后一個隱藏特征拼接作為最終的輸出特征。

e1efddf8-d15c-11eb-9e57-12bb97331649.png

本文采用RoBERTa作為backbone。需要注意的是,RoBERTa在融入知識的預訓練過程中是固定的,但Adapter的參數是可訓練的。這樣的模型和訓練設定,緩解了融入知識時災難性遺忘的問題,不同知識的學習不受影響,融入知識效率更高;而且不同的Adapter間沒有信息流、可以利用分布式的方式同時、獨立地訓練。

本文通過設置不同的預訓練任務向Adapter中融入不同的知識。接下來介紹如何將不同種類的知識融入到特定的Adapter中。

2. 知識融入

下圖展示了向知識特定Adapter中融入知識的框圖。

e1fc38f0-d15c-11eb-9e57-12bb97331649.png

本文主要融入了2種知識——事實類知識和語言類知識,分別融入到了2種知識特定的adapter中:

(1)Factual Adapter:Factual Adapter融入了事實類知識。此處的事實類知識指文本中實體之間的關系,來源于Wikipedia和Wikidata之間自動對齊的文本-三元組對。本文在關系分類任務上進行預訓練來融入知識,該任務要求給定1個句子和句子中的2個實體,然后要求模型預測出這兩個實體的關系。如下圖展示了融入事實類知識的示意圖。

e27629ee-d15c-11eb-9e57-12bb97331649.png

(2)Linguistic Adapter:Linguistic Adapter融入了語言類知識。語言類的知識是自然語言中最基本的一類知識,比如說語義和語法信息。本文中的語言類知識指文本中詞之間的依存關系。本文在依存關系預測任務上進行預訓練來融入知識。這個任務要求模型預測出給定句子中,每個詞的father的index。

下圖展示了如何將Adapter應用在下游任務中。此處關鍵的點是預訓練模型特征+知識特征,即一方面利用預訓練模型的通用信息,一方面利用Adapter中的特定知識。

e2880eb6-d15c-11eb-9e57-12bb97331649.png

實驗

本文在3種知識驅動的下游任務上進行實驗,包含命名實體識別,問答和關系分類。此外,還通過案例分析和探究性實驗對模型學習事實類知識的有效性進行了分析。K-ADAPTER (F+L) 代表同時外掛事實類(factual) adapter和語言類(linguistic) adapter;K-ADAPTER (F) 代表外掛事實類(factual) adapter,K-ADAPTER (L) 代表外掛語言(linguistic) adapter。實驗中RoBERTa均指RoBERTa-Large。

1. 命名實體識別(Entity Typing)

命名實體識別任務是給定一個文本和指定的實體,讓模型預測出指定實體的類別。在OpenEntity和FIGER數據集上的結果如下表所示。在OpenEntity數據集上,本文模型K-ADAPTER(F+L)相比于RoBERTa進一步提高了1.38%的Mi-F1。在FIGER數據集上,與WKLM相比,K-ADAPTER (F+L)提高了2.88%的Ma-F1,提高了2.54%的Mi-F1。

2. 問答(Question Answering)

問答任務的目的是給定一個問題和一個文本,來讓模型做出回答,有時還會提供問題的上下文信息。在問答任務上的實驗結果如下表所示。在CosmosQA上,與BERT-FTRACE+SWAG相比,本文的RoBERTa在準確率上顯著提高了11.89%。與RoBERTa相比,K-ADAPTER(F+L)進一步提高了1.24%的準確率,這表明K-ADAPTER可以獲得更好的常識推理能力。在開放域的QA數據集(SearchQA和Quasar-T)上,與其他baseline相比,K-ADAPTER取得了更好的結果。這表明K-ADAPTER可以充分利用融入的知識,有利于根據檢索到的段落來回答問題。具體來說,在SearchQA上,K-ADAPTER(F+L)WKLM相比,顯著提高了4.01%的F1,甚至比WKLM+Ranking略高。值得注意的是,K-ADAPTER沒有建模檢索到的段落的置信度,而WKLM+Ranking額外利用了另一個基于BERT的ranker為檢索到的段落進行打分、排序。

3. 關系分類(Relation Classification)

關系分類任務是指給定一個文本和文本中的兩個實體,要求模型預測出這兩個實體之間的關系。在關系分類任務上的實驗結果如下表所示。結果表明,K-ADAPTER明顯優于所有baseline。特別地,(1)K-ADAPTER模型優于RoBERTa,證明了利用Adapter進行知識融入的有效性;(2)與RoBERTa+multitask相比,K-ADAPTER取得了更大的提升,這直接說明了K-ADAPTER相比于多任務學習方式融入知識的效果更好,有助于模型充分利用知識。

4. 案例分析(Case Study)

下表中展示了在TACRED數據集上,K-ADAPTER和RoBERTa的定性比較。結果表明,K-ADAPTER中的事實知識可以幫助模型從預測“no_relation”轉換到預測正確的類別標簽。

為了檢驗模型學習事實類知識的能力,本文在LAMA數據集上進行了探究(Probing)實驗。具體來說,該實驗是在zero-shot的設定下進行的,要求模型不在微調的情況下完成關于事實知識的完型填空,例如將“The native language of Mammootty is [MASK] ”作為輸入,讓模型預測出 [MASK]是什么。

總結

提出了一種靈活而簡單的方法K-Adapter,支持將知識注入到大規模預訓練語言模型中。

K-Adapter保持原有預訓練模型參數不變,使用不同的知識特定"插件"學習不同類別的知識,支持連續知識學習,從而緩解“知識遺忘”問題,即融入新的知識不會影響原有的知識;且由于不同adapter間沒有信息流,所以adapter可以用分布式的方式進行高效地訓練。

在三種知識驅動的任務上取得了顯著的效果,包括了命名實體識別、關系分類、問答。詳細的分析進一步證明K-Adapter可以學習到更為豐富的事實類知識,為如何有效地進行知識融入提供了一些見解。

責任編輯:lq6

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 語言
    +關注

    關注

    1

    文章

    96

    瀏覽量

    24062
  • 模型
    +關注

    關注

    1

    文章

    2758

    瀏覽量

    47843

原文標題:通過外掛"插件"向預訓練語言模型中融入知識

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    語言模型:原理與工程時間+小白初識大語言模型

    解鎖 我理解的是基于深度學習,需要訓練各種數據知識最后生成自己的的語言理解和能力的交互模型。 對于常說的RNN是處理短序列的數據時表現出色,耳真正厲害的是Transformer,此框架
    發表于 05-12 23:57

    【大語言模型:原理與工程實踐】大語言模型的應用

    。 關于大語言模型是否具備與人類“系統2”相似的能力,存在廣泛的爭議。然而,隨著模型參數量的增加和大規模
    發表于 05-07 17:21

    【大語言模型:原理與工程實踐】大語言模型訓練

    語言模型的核心特點在于其龐大的參數量,這賦予了模型強大的學習容量,使其無需依賴微調即可適應各種下游任務,而更傾向于培養通用的處理能力。然而,隨著學習容量的增加,對
    發表于 05-07 17:10

    【大語言模型:原理與工程實踐】大語言模型的基礎技術

    處理各種自然語言任務時都表現出了驚人的能力。這促使一個新的研究方向誕生——基于Transformer 的訓練語言模型。這類
    發表于 05-05 12:17

    【大語言模型:原理與工程實踐】核心技術綜述

    的具體需求,這通常需要較少量的標注數據。 多任務學習和遷移學習: LLMs利用在訓練積累的知識,可以通過遷移學習在相關任務上快速適應,有時還可以在一個
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    能力,使其能夠應對更復雜和抽象的語言任務。神經網絡的前傳播和反向傳播算法是其核心技術。前傳播,模型根據輸入文本的上下文和先前
    發表于 05-04 23:55

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》

    處理訓練架構Transformer,以及這些技術在現實世界的如何應用。通過具體案例的分析,作者展示了大語言
    發表于 04-30 15:35

    盤點一下史上最全大語言模型訓練中的網絡技術

    人工智能的基礎設施在大語言模型訓練和推理過程中發揮了關鍵的作用。隨著大語言模型規模不斷增大,其對
    的頭像 發表于 03-27 17:24 ?469次閱讀
    盤點一下史上最全大<b class='flag-5'>語言</b><b class='flag-5'>模型</b><b class='flag-5'>訓練</b>中的網絡技術

    【書籍評測活動NO.31】大語言模型:原理與工程實踐

    的視角,以揭示大語言模型的精妙之處。本書的一大特色體現在其知識體系的系統性。我們從數據處理的基礎工作(如數據清洗與去重)講起,逐步深入,探討訓練
    發表于 03-18 15:49

    名單公布!【書籍評測活動NO.30】大規模語言模型:從理論到實踐

    等多種形式和任務。這個階段是從語言模型對話模型轉變的關鍵,其核心難點在于如何構建訓練數據,包括訓練
    發表于 03-11 15:16

    大規模神經網絡優化:超參最佳實踐與規模

    從理論分析入手把握大規模神經網絡優化的規律,可以指導實踐中的超參數選擇。反過來,實踐中的超參數選擇也可以指導理論分析。本篇文章聚焦于大語言模型,介紹從 GPT 以來大家普遍使用的訓練
    的頭像 發表于 12-10 21:45 ?633次閱讀

    大規模語言模型的基本概念、發展歷程和構建流程

    大規模語言模型(Large Language Models,LLM),也稱大規模語言模型或大型
    的頭像 發表于 12-07 11:40 ?1903次閱讀
    <b class='flag-5'>大規模</b><b class='flag-5'>語言</b><b class='flag-5'>模型</b>的基本概念、發展歷程和構建流程

    訓練語言模型帶來的硬件挑戰

    生成式AI和大語言模型(LLM)正在以難以置信的方式吸引全世界的目光,本文簡要介紹了大語言模型,訓練這些
    的頭像 發表于 09-01 17:14 ?1169次閱讀
    <b class='flag-5'>訓練</b>大<b class='flag-5'>語言</b><b class='flag-5'>模型</b>帶來的硬件挑戰

    大型語言模型的應用

    ?? 大型語言模型(LLM) 是一種深度學習算法,可以通過大規模數據集訓練來學習識別、總結、翻譯、預測和生成文本及其他內容。大語言
    的頭像 發表于 07-05 10:27 ?1679次閱讀

    PyTorch教程11.9之使用Transformer進行大規模訓練

    電子發燒友網站提供《PyTorch教程11.9之使用Transformer進行大規模訓練.pdf》資料免費下載
    發表于 06-05 15:07 ?0次下載
    PyTorch教程11.9之使用Transformer進行<b class='flag-5'>大規模</b>預<b class='flag-5'>訓練</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>