日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多快好省的预训练模型:你丢我也丢

發(fā)布時(shí)間:2024/10/8 编程问答 69 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多快好省的预训练模型:你丢我也丢 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?AI學(xué)術(shù)前沿原創(chuàng) ·?作者?|?IanChi

研究方向?|?機(jī)器學(xué)習(xí)、NLP

本文將羅列幾篇通過 Drop 一些組件來提升預(yù)訓(xùn)練模型效率的工作。

STRUCTURED DROPOUT Pruning

論文標(biāo)題:

Reducing Transformer Depth on Demand with Structured Dropout

論文鏈接:

https://arxiv.org/abs/1909.11556

代碼鏈接:

https://github.com/pytorch/fairseq/tree/master/examples/layerdrop

idea 非常簡(jiǎn)單,類似 Huang Gao 的 Stochastic Depth,在 Train 和 Test 階段利用結(jié)構(gòu)化的 Dropout,對(duì)網(wǎng)絡(luò)結(jié)構(gòu)的一些 layer 進(jìn)行丟棄操作。

文章提出了三種丟棄策略:

1. Every Other:每隔幾層丟一層;

2. Search on Valid:在valid set搜索一些layer丟棄組合;

2. Data Driven Pruning:將丟棄任務(wù)建模成一個(gè)函數(shù)擬合任務(wù),來學(xué)習(xí)如何丟棄。

結(jié)果發(fā)現(xiàn)最簡(jiǎn)單的 Every Other 效果最好,簡(jiǎn)單太秀了……

這里起名字為 DropLayer,和一般的 Dropout 不同,是丟棄 weight 的(DropConnect),本質(zhì)上就是在權(quán)重矩陣中乘個(gè) Mask 矩陣({0,1} 矩陣)。

很多問題的本質(zhì)都是一個(gè) subset selection 的問題,包括一些工作是做 sparse attention,提高 Transformer 的時(shí)間和空間效率。

Dynamic Early Exiting

論文標(biāo)題:

DeeBERT: Dynamic Early Exiting for Accelerating BERT Inference

論文鏈接:

https://arxiv.org/abs/2004.12993

代碼鏈接:

https://github.com/castorini/DeeBERT

這個(gè)工作乍一看和上面的思路一模一樣,同樣也是受啟發(fā)于 Huang Gao 的工作。大概的思路是,作者認(rèn)為 BERT 中堆疊了這么多的 Transformer Layer,有很多的冗余。所以,想嘗試著,在每個(gè) Transformer 之后,都做一次預(yù)測(cè),試試看是不是 ok,這里 ok 不 ok 是用 prediction entropy 來度量的(手動(dòng)設(shè)定個(gè)閾值,一頓調(diào))。如果 ok 直接給出預(yù)測(cè),后面的 transformer 就不計(jì)算了,所以可以省下不少 inference time。?

當(dāng)然作者也嘗試了 ensemble 一下多個(gè) layer 的 prediction,貌似沒啥效果。

實(shí)驗(yàn)方面,也和論文 1 中的 LayerDrop 進(jìn)行了對(duì)比,在有限的對(duì)比實(shí)驗(yàn)中,提升效率上不如 LayerDrop。

這個(gè)工作有點(diǎn)像更加粗糙的 LayerDrop,人家 drop 的是 layer,這里 drop 的 transfomer,粒度更大一些。

Scheduled DropHead

論文標(biāo)題:

Scheduled DropHead: A Regularization Method for Transformer Models

論文鏈接:

https://arxiv.org/abs/2004.13342

本文也是 Drop 的思想,不同于上面的兩篇文章,這里關(guān)注的是 Head 的位置。多頭是 Transformer 成功的重要原因之一,有些研究表明只有一部分 attention 對(duì)于結(jié)果影響很大,其他的 attention 是冗余的,所以 drop 掉一些 attention 一方面可以 prevent overfitting,另一方面可以達(dá)到 prune 的效果,提升 efficiency。?

當(dāng)然這里,drop 的時(shí)候,顆粒度比較大,直接對(duì)整個(gè) head attention 進(jìn)行 drop。除了這個(gè)點(diǎn)之外,本文另一個(gè)重要的點(diǎn),是提出了一種 V 字 dropout rate scheduler,而不是 fixed rate,通過燒蝕實(shí)驗(yàn)驗(yàn)證了這種 scheduler 的作用。

Big Bird Transformers

論文標(biāo)題:

Big Bird: Transformers for Longer Sequences

論文鏈接:

https://arxiv.org/abs/2007.14062

代碼鏈接:

https://github.com/google-research/bigbird

這個(gè)工作不同于文章 3 的粗暴,而是更加細(xì)膩的做 sparse attention,drop 的更加精細(xì),self-attention 也好,encoder-decoder attention 也罷,最大的問題是效率問題,但其實(shí)并不是所有的 token 都有直接聯(lián)系,這里存在著巨大的冗余。此次作為一個(gè)引子,回頭專門針對(duì) sparse attention 寫一篇文章,這里先不贅述。

總結(jié)

簡(jiǎn)單總結(jié)幾句,因?yàn)?transformer based models 已經(jīng)橫掃了這么多 NLP task,也包括 CV 和 speech 的一些 task,那么 More Efficient Transformer 一定是個(gè)大趨勢(shì)。本文節(jié)選了幾篇通過 drop 的思路來 improve transformer 的工作,肯定不夠全面,但基本上說清了一個(gè)趨勢(shì)。?

如果我們將 neural network 從結(jié)構(gòu)上拆解成不同粒度的組件來看,可以寫個(gè)簡(jiǎn)單的偽代碼如下:?

for?component?in?[neuron,?weight,?layer,?block,?head,?attention,?...]: performance,?time?=?drop(component) if?performance?is?sota: a?novel?drop?based?transformer?is?proposed elif?time?is?sota: a?novel?prune?method?of?transformer?is?proposed elif?performance?and?time?both?sota: a?big?news?is?coming?soon else: continue Auto?Drop?will?be?a?new?direction?to?follow.

調(diào)侃完了之后,說句公道話,不管是黑貓還是白貓,抓住老鼠就是好貓咪。?

抖個(gè)機(jī)靈,Transformer 最大的瓶頸在于芝麻街的主人公太少,快不夠用了。

·

總結(jié)

以上是生活随笔為你收集整理的多快好省的预训练模型:你丢我也丢的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。