中文預(yù)訓(xùn)練模型泛化能力挑戰(zhàn)賽Baseline

比賽地址https://tianchi.aliyun.com/competition/entrance/531865/introduction

賽題背景

自從2017年具有劃時(shí)代意義的Transformer模型問世以來隔嫡,短短兩年多的時(shí)間內(nèi)晾蜘,如雨后春筍般的出現(xiàn)了大量的預(yù)訓(xùn)練模型,比如:Bert,Albert,ELECTRA吗跋,RoBERta桌粉,T5,GPT3等等祭钉。然而之前的基準(zhǔn)評(píng)測(cè)體系存在兩個(gè)缺陷:評(píng)測(cè)強(qiáng)度不夠,模型不通用己沛。評(píng)測(cè)強(qiáng)度不夠指的是選手只提交結(jié)果慌核,不提交inference的代碼。模型不通用指的是預(yù)訓(xùn)練模型不能保證在相同超參數(shù)情況下在所有任務(wù)上都獲得比較好的性能申尼。以上兩點(diǎn)極大限制了預(yù)訓(xùn)練技術(shù)的應(yīng)用和發(fā)展垮卓。如果我們能通過算法實(shí)現(xiàn)泛化能力強(qiáng)的中文預(yù)訓(xùn)練模型,這將提高下游業(yè)務(wù)的準(zhǔn)確性师幕,從而提升企業(yè)的核心競(jìng)爭(zhēng)力粟按,并為企業(yè)創(chuàng)造更多的價(jià)值。

本賽題數(shù)據(jù)集來自中文語言理解測(cè)評(píng)基準(zhǔn)(CLUE), www.CLUEbenchmarks.com霹粥。為提供更好的比賽體驗(yàn)灭将,我們同時(shí)為本賽題定制了系列工具教程,其中包括EasyTransfer蒙挑、多任務(wù)baseline教程等宗侦,具體見參考資料

賽題數(shù)據(jù)

本賽題精選了以下3個(gè)具有代表性的任務(wù)忆蚀,要求選手提交的模型能夠同時(shí)預(yù)測(cè)每個(gè)任務(wù)對(duì)應(yīng)的標(biāo)簽:

數(shù)據(jù)說明

OCNLI:是第一個(gè)非翻譯的矾利、使用原生漢語的大型中文自然語言推理數(shù)據(jù)集;?
OCEMOTION:是包含7個(gè)分類的細(xì)粒度情感性分析數(shù)據(jù)集馋袜;
TNEWS:來源于今日頭條的新聞版塊男旗,共包含15個(gè)類別的新聞;

數(shù)據(jù)格式

任務(wù)1:OCNLI–中文原版自然語言推理

0 一月份跟二月份肯定有一個(gè)月份有. 肯定有一個(gè)月份有 0  
1 一月份跟二月份肯定有一個(gè)月份有. 一月份有 1  
2 一月份跟二月份肯定有一個(gè)月份有. 一月二月都沒有 2  
3 一點(diǎn)來鐘時(shí),張永紅卻來了 一點(diǎn)多鐘,張永紅來了 0  
4 不講社會(huì)效果,信口開河,對(duì)任何事情都隨意發(fā)議論,甚至信謠傳謠,以訛傳訛,那是會(huì)渙散隊(duì)伍欣鳖、貽誤事業(yè)的 以訛傳訛是有害的 0  
(注:id 句子1 句子2 標(biāo)簽)
(注:標(biāo)簽集合:[蘊(yùn)含察皇,中性,不相關(guān)])

任務(wù)2:OCEMOTION–中文情感分類

0 你知道多倫多附近有什么嗎?哈哈有破布耶...真的書上寫的你聽哦...你家那塊破布是世界上最大的破布,哈哈,騙你的啦它是說尼加拉瓜瀑布是世界上最大的瀑布啦...哈哈哈''爸爸,她的頭發(fā)耶!我們大掃除椅子都要翻上來我看到木頭縫里有頭發(fā)...一定是xx以前夾到的,你說是不是?[生病] sadness  
1 平安夜,圣誕節(jié),都過了,我很難過,和媽媽吵了兩天,以死相逼才終止戰(zhàn)爭(zhēng),現(xiàn)在還處于冷戰(zhàn)中泽台。sadness  
2 我只是自私了一點(diǎn),做自己想做的事情! sadness  
3 讓感動(dòng)的不僅僅是雨過天晴,還有淚水流下來的迷人眼神什荣。happiness  
4 好日子 happiness  
(注:id 句子 標(biāo)簽)

任務(wù)3:TNEWS–今日頭條新聞標(biāo)題分類

0 上課時(shí)學(xué)生手機(jī)響個(gè)不停,老師一怒之下把手機(jī)摔了,家長(zhǎng)拿發(fā)票讓老師賠,大家怎么看待這種事? 108  
1 商贏環(huán)球股份有限公司關(guān)于延期回復(fù)上海證券交易所對(duì)公司2017年年度報(bào)告的事后審核問詢函的公告 104  
2 通過中介公司買了二手房,首付都付了,現(xiàn)在賣家不想賣了。怎么處理? 106  
3 2018年去俄羅斯看世界杯得花多少錢? 112  
4 剃須刀的個(gè)性革新,雷明登天貓定制版新品首發(fā) 109  
(注:id 句子 標(biāo)簽)

Baseline

https://github.com/datawhalechina/team-learning-nlp/tree/master/PretrainModelsGeneralization 44
https://github.com/finlay-liu/tianchi-multi-task-nlp/blob/main/README.md

運(yùn)行過程

  1. 下載Bert全權(quán)重怀酷,下載 https://huggingface.co/bert-base-chinese/tree/main 下載config.json vocab.txt pytorch_model.bin稻爬,把這三個(gè)文件放進(jìn)tianchi-multi-task-nlp/bert_pretrain_model文件夾下。
  2. 下載比賽數(shù)據(jù)集蜕依,把三個(gè)數(shù)據(jù)集分別放進(jìn) tianchi-multi-task-nlp/tianchi_datasets/數(shù)據(jù)集名字/ 下面:

文件目錄樣例:

tianchi-multi-task-nlp/tianchi_datasets/OCNLI/total.csv
tianchi-multi-task-nlp/tianchi_datasets/OCNLI/test.csv
  1. 分開訓(xùn)練集和驗(yàn)證集桅锄,默認(rèn)驗(yàn)證集是各3000條數(shù)據(jù)琉雳,參數(shù)可以自己修改:
python ./generate_data.py
  1. 訓(xùn)練模型,一個(gè)epoch:
python ./train.py

會(huì)保存驗(yàn)證集上平均f1分?jǐn)?shù)最高的模型到 ./saved_best.pt

  1. 用訓(xùn)練好的模型 ./saved_best.pt 生成結(jié)果:
python ./inference.py
  1. 打包預(yù)測(cè)結(jié)果友瘤。
zip -r ./result.zip ./*.json
  1. 生成Docker并進(jìn)行提交翠肘,參考:https://tianchi.aliyun.com/competition/entrance/231759/tab/174
  • 創(chuàng)建云端鏡像倉(cāng)庫(kù):https://cr.console.aliyun.com/
  • 創(chuàng)建命名空間和鏡像倉(cāng)庫(kù);
  • 然后切換到submission文件夾下辫秧,執(zhí)行下面命令束倍;
# 用于登錄的用戶名為阿里云賬號(hào)全名,密碼為開通服務(wù)時(shí)設(shè)置的密碼茶没。
sudo docker login --username=xxx@mail.com registry.cn-hangzhou.aliyuncs.com

# 使用本地Dockefile進(jìn)行構(gòu)建肌幽,使用創(chuàng)建倉(cāng)庫(kù)的【公網(wǎng)地址】
# 如 docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .
docker build -t registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0 .

輸出構(gòu)建過程:

Sending build context to Docker daemon  18.94kB
Step 1/4 : FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
---> a4cc999cf2aa
Step 2/4 : ADD . /
---> Using cache
---> b18fbb4425ef
Step 3/4 : WORKDIR /
---> Using cache
---> f5fcc4ca5eca
Step 4/4 : CMD ["sh", "run.sh"]
---> Using cache
---> ed0c4b0e545f
Successfully built ed0c4b0e545f
# ed0c4b0e545f 為鏡像id晚碾,上面構(gòu)建過程最后一行
sudo docker taged0c4b0e545f registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0

# 提交鏡像到云端
docker push registry.cn-shenzhen.aliyuncs.com/test_for_tianchi/test_for_tianchi_submit:1.0
  1. 比賽提交頁(yè)面抓半,填寫鏡像路徑+版本號(hào),以及用戶名和密碼則可以完成提交格嘁。

比賽改進(jìn)思路

  1. 修改 calculate_loss.py 改變loss的計(jì)算方式笛求,從平衡子任務(wù)難度以及各子任務(wù)類別樣本不均勻入手;
  2. 修改 net.py 改變模型的結(jié)構(gòu)糕簿,加入attention層探入,或者其他層;
  3. 使用 cleanlab 等工具對(duì)訓(xùn)練文本進(jìn)行清洗懂诗;
  4. 做文本數(shù)據(jù)增強(qiáng)蜂嗽,或者在預(yù)訓(xùn)練時(shí)候用其他數(shù)據(jù)集pretrain;
  5. 對(duì)訓(xùn)練好的模型再在完整數(shù)據(jù)集(包括驗(yàn)證集和訓(xùn)練集)上用小的學(xué)習(xí)率訓(xùn)練一個(gè)epoch殃恒;
  6. 調(diào)整bathSize和a_step植旧,變更梯度累計(jì)的程度,當(dāng)前是batchSize=16离唐,a_step=16病附;
  7. 用 chinese-roberta-wwm-ext 作為預(yù)訓(xùn)練模型;

最終結(jié)果

  • 第一次提交結(jié)果


  • 第二次提交結(jié)果
  • 修改內(nèi)容
    • 用 chinese-roberta-wwm-ext 作為預(yù)訓(xùn)練模型
    • 修改batchSize=32


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亥鬓,一起剝皮案震驚了整個(gè)濱河市完沪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嵌戈,老刑警劉巖覆积,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異熟呛,居然都是意外死亡宽档,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門惰拱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雌贱,“玉大人啊送,你說我怎么就攤上這事⌒拦拢” “怎么了馋没?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)降传。 經(jīng)常有香客問我篷朵,道長(zhǎng),這世上最難降的妖魔是什么婆排? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任声旺,我火速辦了婚禮,結(jié)果婚禮上段只,老公的妹妹穿的比我還像新娘腮猖。我一直安慰自己,他們只是感情好赞枕,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布澈缺。 她就那樣靜靜地躺著,像睡著了一般炕婶。 火紅的嫁衣襯著肌膚如雪姐赡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天柠掂,我揣著相機(jī)與錄音项滑,去河邊找鬼。 笑死涯贞,一個(gè)胖子當(dāng)著我的面吹牛枪狂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肩狂,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼摘完,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了傻谁?” 一聲冷哼從身側(cè)響起孝治,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎审磁,沒想到半個(gè)月后谈飒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡态蒂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年杭措,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钾恢。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡手素,死狀恐怖鸳址,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泉懦,我是刑警寧澤稿黍,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站崩哩,受9級(jí)特大地震影響巡球,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜邓嘹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一酣栈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧汹押,春花似錦矿筝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缨睡。三九已至鸟悴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奖年,已是汗流浹背细诸。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陋守,地道東北人震贵。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像水评,于是被迫代替她去往敵國(guó)和親猩系。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容