【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)練時就沒有CLS,實驗下來效果不好就去掉了
直接拿encoder輸出的mean pooling,實驗下來發(fā)現(xiàn)這個最好,不精調(diào)的時候也比BERT的好很多,作者分析是T5更多的訓(xùn)練數(shù)據(jù)+預(yù)訓(xùn)練時加了下游任務(wù)
拿decoder的第一個輸出,直接用不太好,但精調(diào)后還可以,作者分析是這個相當(dāng)于加了attention pooling
有監(jiān)督Loss
精調(diào)時采用了雙塔結(jié)構(gòu),比以往不同的是多加了一層投影和L2-Norm。
在精調(diào)時參考了對比學(xué)習(xí)的NT-Xent loss,但輸入的都是有監(jiān)督數(shù)據(jù)(不用對比學(xué)習(xí)的數(shù)據(jù)增強了,直接輸入有標(biāo)注的正負(fù)樣本)。
同時提出了tow-stage的精調(diào):先用網(wǎng)上挖掘的20億弱監(jiān)督QA對精調(diào),再用NLI精調(diào)(entailment=1,contradict=0)。
實驗結(jié)果
除了在STS上對比之外,還在SentEval上進(jìn)行了實驗(給表示加一個分類器,測試embedding遷移到下游任務(wù)的效果):
最終加了其他數(shù)據(jù)的Sentence-T5以不到1個點的微弱優(yōu)勢登上SOTA。
同時作者驗證了尺寸越大效果越好:
總結(jié)
看得出來我這篇文章寫得不是很快樂,主要是感覺新意比較有限,懶窮的我可能也不會去挖20億的數(shù)據(jù),也沒有卡去跑更大的模型。
不過!還是有幾點啟發(fā)可以分享一下:
作者加了Proj&Norm層但是沒有做消融實驗,這個對效果究竟有多少影響呢?
作者在對比loss上的temperature=100,之前無監(jiān)督對比學(xué)習(xí)的T都很小,這是為什么呢?
最近一直在想prompt learning怎么用來做文本表示,而T5天生就契合prompt,既然作者證實了decoder精調(diào)后是可以用的,那是不是。。。
總結(jié)
以上是生活随笔為你收集整理的【NLP】Sentence-T5|谷歌提出文本表示新SOTA的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帮助蚂蚁的小猪
- 下一篇: 如何优雅的实现一个靠谱的RTSP播放器?