<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          四兩撥千斤,如何做到自然語(yǔ)言預(yù)訓(xùn)練加速十倍

          共 3456字,需瀏覽 7分鐘

           ·

          2021-01-20 13:22



          ??新智元推薦?

          來(lái)源:微軟研究院AI頭條

          者:柯國(guó)霖 賀笛

          【新智元導(dǎo)讀】隨著自然語(yǔ)言處理中的預(yù)訓(xùn)練成為研究領(lǐng)域的熱點(diǎn),預(yù)訓(xùn)練的成本與計(jì)算代價(jià)也成為了大家在研究過(guò)程中必須考慮的現(xiàn)實(shí)問(wèn)題。本文將會(huì)介紹多種在訓(xùn)練模型過(guò)程中提高效率,降低成本的方法,希望能對(duì)大家的研究有所幫助。


          近年來(lái),自然語(yǔ)言處理中的預(yù)訓(xùn)練成為了研究領(lǐng)域的熱點(diǎn),著名的 GPT-3 也掀起了一波新的浪潮。但是眾所周知,訓(xùn)練這樣大規(guī)模的模型非常消耗資源:即使在維基百科數(shù)據(jù)上訓(xùn)練一個(gè)簡(jiǎn)單的 BERT-Base 模型,都需要用許多 GPU 訓(xùn)練1-2周,且不說(shuō)購(gòu)買 GPU 的開銷,光是電費(fèi)就需要數(shù)萬(wàn)美金。這樣的消耗只有工業(yè)界的幾個(gè)大公司才可以實(shí)現(xiàn),極高的門檻限制了相關(guān)方向的探索以及整體發(fā)展。


          為了降低預(yù)訓(xùn)練的準(zhǔn)入門檻,微軟亞洲研究院機(jī)器學(xué)習(xí)組的研究員們從機(jī)器學(xué)習(xí)中的不同角度出發(fā),針對(duì)預(yù)訓(xùn)練的不同側(cè)面分別提出了加速方法。具體而言,研究員們提出了基于 Transformer 的新結(jié)構(gòu) TUPE,針對(duì) BERT 設(shè)計(jì)了數(shù)據(jù)高效利用的策略,以及擴(kuò)展了類似人類學(xué)習(xí)的預(yù)訓(xùn)練任務(wù)


          其中前兩項(xiàng)工作已被新鮮出爐的 ICLR 2021 接收。這些方法既可以獨(dú)立使用,也可以結(jié)合起來(lái)使用,從而可以達(dá)到更大的加速比。原來(lái)需要10天的訓(xùn)練,現(xiàn)在只要一天就可以完成!


          基于 Transformer 的新結(jié)構(gòu) TUPE(ICLR 2021


          位置表征(Positional Embedding)大家都知道,但這個(gè)設(shè)計(jì)真的高效、合理嗎?


          由于 Transformer 在結(jié)構(gòu)上不能識(shí)別來(lái)自不同位置的詞語(yǔ),所以模型一般需要用位置表征來(lái)輔助。其中最簡(jiǎn)單的做法就是在輸入詞向量上直接加位置表征,但詞向量和位置向量相加是不是一個(gè)正確的選擇呢?


          詞向量的加減操作可以保持語(yǔ)義,但位置向量本身是不具備語(yǔ)義的,兩者相加會(huì)不會(huì)讓模型更難學(xué)呢?在第一層對(duì) Transformer 的注意力分布(attention weight)進(jìn)行展開可以得到:


          從上面展開的公式里,可以發(fā)現(xiàn)兩個(gè)問(wèn)題


          第一,中間兩項(xiàng)引入了詞語(yǔ)和位置信息的交叉,但沒(méi)有理由說(shuō)某個(gè)位置和某個(gè)詞一定有很強(qiáng)的關(guān)聯(lián)(論文中有詳細(xì)的實(shí)驗(yàn)分析也表明了中間兩項(xiàng)有一定的冗余)


          第二,第一項(xiàng)和第四項(xiàng)分別計(jì)算詞與詞、位置與位置的關(guān)聯(lián),但他們采用了相同的參數(shù)化函數(shù) (W^Q 和 W^K),從而限制了注意力表達(dá)能力。


          為了解決上述兩個(gè)問(wèn)題,微軟亞洲研究院的研究員們做了一些簡(jiǎn)單的改動(dòng):



          簡(jiǎn)單來(lái)說(shuō),就是去掉了位置?(position)?和文本( token)?之間的交叉,同時(shí)用了不同的變換矩陣。


          需要注意的是,在多層的 Transformer 模型里,比如 BERT,上面公式的第二項(xiàng)在不同層之間是共享的。因此,這里僅需要計(jì)算一次,幾乎沒(méi)有引入額外的計(jì)算代價(jià)。


          圖1:整體 TUPE (Transformer with Untied Positional Encoding) 結(jié)構(gòu)


          圖2:實(shí)驗(yàn)結(jié)果


          另外,研究員們還特殊處理了 [CLS] token 的位置,使其不會(huì)因太過(guò)關(guān)注局部而忽略了整個(gè)句子的信息,整體 TUPE (Transformer with Untied Positional Encoding)結(jié)構(gòu)如圖1所示。


          實(shí)驗(yàn)結(jié)果如圖2,可以看到,該方法不僅最后比基線要好很多,并且可以在 30% (300k-step) 的時(shí)候,就達(dá)到基線在 1000k-step 時(shí)的效果。


          TUPE 的完整工作請(qǐng)見:

          https://openreview.net/forum?id=09-528y2Fgf


          高效數(shù)據(jù)利用:讓 BERT 像人類一樣記筆記(ICLR 2021)


          眾所周知,在語(yǔ)言數(shù)據(jù)集中,單詞通常具有非常長(zhǎng)尾的分布,即大量的單詞在整個(gè)數(shù)據(jù)集中都具有很低的出現(xiàn)頻率。而這些低頻詞的詞向量,往往訓(xùn)練質(zhì)量都不佳。


          這些低質(zhì)量的詞向量,給模型理解整句訓(xùn)練語(yǔ)句造成了困難,進(jìn)而拖慢了整個(gè)模型預(yù)訓(xùn)練的速度。


          舉例來(lái)說(shuō),如圖3所示,如果「COVID-19」是一個(gè)低頻詞,做完形填空的人如果對(duì)其含義一無(wú)所知的話,那么想要填對(duì)合適的詞是十分困難的,類似的問(wèn)題也會(huì)發(fā)生在自然語(yǔ)言預(yù)訓(xùn)練的過(guò)程中。


          圖3:低頻詞例


          由此,微軟亞洲研究院的研究員們提出了為低頻詞詞動(dòng)態(tài)記筆記的方法 Taking Notes on the Fly(TNF),記錄歷史上出現(xiàn)過(guò)稀有詞的句子信息,從而使得當(dāng)模型再見到該低頻詞的時(shí)候,對(duì)其的理解能夠更加充分。


          如圖3所示,研究員們希望模型能夠從筆記「The COVID-19 pandemic is an ongoing global crisis」(COVID-19 是一場(chǎng)持續(xù)發(fā)生的全球危機(jī))推測(cè)出「COVID-19」與生命有關(guān),從而更容易理解任務(wù)得出上述完形填空問(wèn)題的答案「lives」(生命)。


          具體說(shuō)來(lái),TNF 維護(hù)了一個(gè)筆記詞典。在這個(gè)筆記詞典中,每一個(gè)低頻詞都存有一個(gè)上下文表征向量(Contextual representation)來(lái)作為筆記。


          當(dāng)該詞出現(xiàn)時(shí),TNF 從筆記詞典中取出其的上下文表征向量,與其詞向量一起構(gòu)成模型在該位置的輸入,同時(shí)也更新筆記上針對(duì)這個(gè)詞的內(nèi)容。如圖4所示:


          圖4:TNF 的訓(xùn)練過(guò)程


          研究員們將 TNF 應(yīng)用到了兩個(gè)著名且有效的語(yǔ)言預(yù)訓(xùn)練方法 BERT 和 ELECTRA 上進(jìn)行實(shí)驗(yàn),同時(shí)也在 GLUE 上對(duì)預(yù)訓(xùn)練的模型進(jìn)行了精調(diào),然后對(duì)比。


          實(shí)驗(yàn)結(jié)果表明,在兩個(gè)預(yù)訓(xùn)練方法上,當(dāng) TNF 與基線達(dá)到相同的實(shí)驗(yàn)結(jié)果時(shí),TNF 的訓(xùn)練時(shí)間僅僅為基線的40%(見圖5)。


          圖5:TNF 的訓(xùn)練曲線


          當(dāng) TNF 與基線訓(xùn)練相同的迭代更新次數(shù)時(shí),TNF 在 GLUE 上的平均 GLUE Score 和大多數(shù)子任務(wù)上的表現(xiàn)均超過(guò)了基線。


          TNF 的完整工作請(qǐng)見:

          https://openreview.net/forum?id=lU5Rs_wCweN


          合理的預(yù)訓(xùn)練目標(biāo):BERT 更喜歡做 ABCD 單選題


          目前許多預(yù)訓(xùn)練模型都會(huì)使用掩碼語(yǔ)言模型任務(wù),即遮擋住輸入句子的一部分,讓模型還原被遮擋的部分。該任務(wù)實(shí)際上相當(dāng)于一個(gè)「完形填空」問(wèn)題,但與考試中常見的完形填空不同,自然語(yǔ)言預(yù)訓(xùn)練中的完形填空備選項(xiàng)是整個(gè)詞典。


          顯然,即使對(duì)于人類來(lái)說(shuō),在沒(méi)有備選答案的開放環(huán)境下,想要準(zhǔn)確完成這個(gè)「完形填空」任務(wù)也是十分困難的。


          圖6:?jiǎn)芜x題任務(wù)


          實(shí)際上,人類更容易完成選擇題或判斷題。在給定有限選項(xiàng)的條件下,任務(wù)的難度會(huì)極大降低。著名的「ELECTRA」模型使用的就是判斷題任務(wù),在前期設(shè)計(jì)的判斷題容易,于是訓(xùn)練效率很高。


          隨著模型的訓(xùn)練,判斷題設(shè)計(jì)越來(lái)越難,模型可以一直得到有效的反饋。與 ELECTRA 稍有區(qū)別,微軟亞洲研究院的研究員們給模型設(shè)計(jì)的預(yù)訓(xùn)練任務(wù)是 ABCD 單選題,并希望能夠動(dòng)態(tài)地調(diào)整單選題的難度。


          在早期學(xué)習(xí)中,設(shè)計(jì)簡(jiǎn)單的單選題,令模型完成相對(duì)簡(jiǎn)單的任務(wù),從而加快學(xué)習(xí)進(jìn)程,在后期則逐漸加大任務(wù)難度,從而獲得更精細(xì)的結(jié)果。


          在這里可以通過(guò)設(shè)計(jì)不同難度的任務(wù)以及選項(xiàng)的個(gè)數(shù)調(diào)節(jié)任務(wù)的難度(選項(xiàng)越多任務(wù)越困難)。


          圖7:使用元控制器進(jìn)行預(yù)訓(xùn)練


          為了達(dá)到訓(xùn)練任務(wù)從易到難的效果,一個(gè)能夠出題的「元控制器」被提出,它能夠自適應(yīng)地改變多選題的難度。


          特別的是,這個(gè)元控制器是一個(gè)較小的 BERT,基于掩碼語(yǔ)言模型進(jìn)行預(yù)訓(xùn)練,并隨著主模型一起訓(xùn)練迭代。


          對(duì)于每句話先對(duì)這句話進(jìn)行遮擋,然后元控制器以遮擋后的語(yǔ)句作為輸入,并輸出被遮擋目標(biāo)詞相關(guān)的詞例,這些詞例將被用于構(gòu)造備選答案。


          圖 8:基于自適應(yīng)多選題任務(wù)的預(yù)訓(xùn)練實(shí)驗(yàn)結(jié)果


          可以看到,在訓(xùn)練初期,元控制器的訓(xùn)練并不充分,于是生成備選答案的質(zhì)量不高,主模型可以在這些容易的任務(wù)上很快學(xué)習(xí)到正確的知識(shí)。


          在訓(xùn)練后期,元控制器的訓(xùn)練接近完成,可以生成高質(zhì)量的備選答案,從而主模型可以在這些困難的任務(wù)上得到進(jìn)一步的進(jìn)化。


          將這個(gè)元控制器應(yīng)用到 BERT上,可以發(fā)現(xiàn)與原始 BERT 相比,訓(xùn)練速度提升了80%,即在下游任務(wù) GLUE 上,用20%的計(jì)算開銷訓(xùn)練得到的模型,可以與訓(xùn)練時(shí)間長(zhǎng)5倍的 BERT 模型相匹配。


          完整工作請(qǐng)見:

          https://arxiv.org/abs/2006.05744


          ?





          瀏覽 79
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人激情站,开心五月天 | h网站免费观看 | 操进来综合网 | 免费av在线 | 操逼基地|