【NLP】Sentence-T5|谷歌提出文本表示新SOTA
卷友們好,我是rumor。
又出新SOTA了。
每個新SOTA,都意味著下一位要卷得更辛苦、調(diào)得更猛烈一些。
而這個SOTA還出在我一直關(guān)注的文本表示賽道。

這次谷歌用了T5,把STS的平均分從82.52提到了83.34。

題目:Sentence-T5: Scalable Sentence Encoders from Pre-trained Text-to-Text Models
地址:https://arxiv.org/abs/2108.08877
模型結(jié)構(gòu)
乍一看題目還是蠻期待的,用T5做文本表示,會不會玩出什么花來?不過讀了之后有些略微調(diào)低期望,這篇文章提出了三種從T5拿文本表示的方法:

直接拿encoder輸出的第一個token表示,類似CLS,但由于T5在訓(xùn)練時(shí)就沒有CLS,實(shí)驗(yàn)下來效果不好就去掉了 直接拿encoder輸出的mean pooling,實(shí)驗(yàn)下來發(fā)現(xiàn)這個最好,不精調(diào)的時(shí)候也比BERT的好很多,作者分析是T5更多的訓(xùn)練數(shù)據(jù)+預(yù)訓(xùn)練時(shí)加了下游任務(wù) 拿decoder的第一個輸出,直接用不太好,但精調(diào)后還可以,作者分析是這個相當(dāng)于加了attention pooling
有監(jiān)督Loss
精調(diào)時(shí)采用了雙塔結(jié)構(gòu),比以往不同的是多加了一層投影和L2-Norm。

在精調(diào)時(shí)參考了對比學(xué)習(xí)的NT-Xent loss,但輸入的都是有監(jiān)督數(shù)據(jù)(不用對比學(xué)習(xí)的數(shù)據(jù)增強(qiáng)了,直接輸入有標(biāo)注的正負(fù)樣本)。
同時(shí)提出了tow-stage的精調(diào):先用網(wǎng)上挖掘的20億弱監(jiān)督QA對精調(diào),再用NLI精調(diào)(entailment=1,contradict=0)。
實(shí)驗(yàn)結(jié)果
除了在STS上對比之外,還在SentEval上進(jìn)行了實(shí)驗(yàn)(給表示加一個分類器,測試embedding遷移到下游任務(wù)的效果):

最終加了其他數(shù)據(jù)的Sentence-T5以不到1個點(diǎn)的微弱優(yōu)勢登上SOTA。
同時(shí)作者驗(yàn)證了尺寸越大效果越好:

總結(jié)
看得出來我這篇文章寫得不是很快樂,主要是感覺新意比較有限,懶窮的我可能也不會去挖20億的數(shù)據(jù),也沒有卡去跑更大的模型。

不過!還是有幾點(diǎn)啟發(fā)可以分享一下:
作者加了Proj&Norm層但是沒有做消融實(shí)驗(yàn),這個對效果究竟有多少影響呢? 作者在對比loss上的temperature=100,之前無監(jiān)督對比學(xué)習(xí)的T都很小,這是為什么呢? 最近一直在想prompt learning怎么用來做文本表示,而T5天生就契合prompt,既然作者證實(shí)了decoder精調(diào)后是可以用的,那是不是。。。

往期精彩回顧 本站qq群851320808,加入微信群請掃碼:
