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

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

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

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

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

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

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

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


「為什么我滿腦子都是Prompt」
評論
圖片
表情
