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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!

發布時間:2024/7/5 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文 | ????????????????
編 | 王蘇


今天介紹的是一篇 NAACL'21 新鮮出爐的工作!NAACL 上周四出的結果,這篇工作本周一上傳 arxiv,周二被王蘇小哥哥發現,周三拜讀了一下,今天就來和大家分享啦!!

給大家提個問題:如果訓練樣本只有幾百條,這時候我們該怎么辦呢?

傳統的 RNN 在這個樣本大小下很難被訓練好,自然地,我們會想到使用預訓練模型,在其基礎上進行 finetune。具體來講,就是將預訓練模型作為模型的底層,在上面添加與當前任務特點相關的網絡結構。這樣就引入了預訓練的知識,對當前任務能產生很大的幫助。

除了預訓練的知識,是不是還有其他的信息我們沒有用上呢?近年來,越來越多的人在使用另一種 finetune 方法,即結合具體場景,設計新的 finetune 任務形式,從而將與當前任務相關的提示信息(prompt)引入模型。我們大名鼎鼎的 GPT 系列就是這么干的。比如我們拿 GPT3 做 QA 的 finetune,直接喂給他一串“Question:問題內容 Answer:”,剩下的答案部分就讓 GPT3 自己填完。

這類 finetune 技巧雖然陸續被使用,但并沒有人論證:這種做法相比于傳統的 finetune 方法,真的能帶來提升嗎?如果答案是肯定的,那么究竟能提升多少呢(能否量化這種提升)?

今天這篇來自 Huggingface 的文章就填補了上述兩個問題的答案。他們通過大量實驗證明:引入提示信息和多標注幾百條數據帶來的性能提升是相當的!所以,下次老板只給少量樣本,就要你 finetune 模型——不要慌!我們今天又多學了一個 trick!

論文題目:
How Many Data Points is a Prompt Worth?

論文鏈接:
https://arxiv.org/abs/2103.08493

Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號后臺回復關鍵詞 【0318】 下載論文PDF~

方法

前文提到,這一類 finetune 是將任務對應的輸入改寫成新的完形填空格式,讓模型預測 <MASK> 部分的詞,作為抽取任務的答案或者生成任務的結果。這種方法不需要改變模型結構、沒有額外的參數,簡直不要太方便!

引入描述集合

本文對這類方法進行了進一步簡化:不要求 <MASK> 處生成任意的文本,而是只需要完成類似于有選項的完形填空任務。這里的選項是固定的幾個詞,我們稱之為描述集合(verbalizer),不同任務會有不同的描述集合。

比如,對于判斷題的閱讀理解任務,就可以將閱讀文本、問題和 <MASK> 拼接,讓預訓練模型直接預測 <MASK> 屬于描述集合 {yes, no} 中的哪一種描述:

小明天天碼代碼碼到天明 [SEP] 小明有女朋友嗎? <MASK>

其中前半部分是閱讀文本,后面加粗的部分是問題。模型只需要判斷 <MASK> 屬于描述集合 {yes, no} 中的哪一種。

可能讀到這里,大家會疑惑:直接拼起來搞一個 True / False 的二分類不就好了嘛,何必讓模型填空呢?嘿嘿,這恰好是作者的用意:通過讓模型填空,模型可以習得描述集合中標簽文本的語義信息

引入提示信息

直接拼接是最樸素的,但這能讓模型知道自己在做什么任務嘛?為此,作者引入了提示信息(prompt)。

還是判斷題的閱讀理解任務,對文章 和問題 ,作者將他們與一些固定的詞進行整合,以此輸入模型,讓模型預測 <MASK> 。作者提出了三種整合方式:

沒錯,就是這么簡單!這些固定的詞作為提示信息,讓模型了解當前在做的任務;同時,提示詞文本的含義也對于模型的理解產生了一定的幫助。

除了單選閱讀理解,這篇文章還關注了文本蘊含、多選閱讀理解、指代銷歧等共六個任務。對于不同的任務,有不同的提示信息與輸入格式:

對于文本蘊含任務,可以將前提 (premise, ) 與假設 (hyphothesis, ) 通過提示信息整合,作者提出了兩種整合方式:

這樣就只需要讓模型預測 <MASK> 屬于描述集合 {yes, no, maybe} 中的哪一種,以此判斷前提能否支撐假設。

對于指代銷歧任務,可以將句子 、帶標記的介詞 與名詞 通過提示信息整合:

這樣就只需要讓模型預測 <MASK> ,以此判斷介詞是否指代名詞。這里的描述集合是不受限制的,即讓模型在 <MASK> 處預測指代的名詞 。

其他任務也采用類似的整合方式,感興趣可以參考原文~

實驗

作者發現,這種使用提示信息的整合方式,在低資源的情況下對模型性能有非常大的提升!

比如在閱讀理解任務的 BoolQ 數據集上,作者將使用提示信息整合的 finetune 方法與增加一層分類層的 finetune 方法進行了對比。下圖是在使用不同數量的樣本訓練時,模型準確率的對比。

可以發現,在數據量比較小的時候,使用提示信息整合的 finetune 方法(黃色)比增加一層分類層的 finetune 方法(紫色)有更好的表現。

在某些任務上,這種表現的提升是驚人的:

這是在指代銷歧任務的 WSC 數據集上的實驗結果。在水平方向看,僅使用 25 個樣本,就達到傳統 fintune 方法使用 300 個樣本才能達到的效果!

此外,作者還進行了一系列的消融實驗,得到一些有意思的結論:

  • 模型通過預測 <MASK> 屬于描述集合中的哪種,以此完成任務。如果將這里改為不帶語義的單純的分類,性能也會有所下降。

  • 作者為每個任務都提供了多種整合提示信息的方式,但是發現,不同方式的區別對性能影響甚微。

  • 總結

    這篇文章對基于提示信息的 finetune 方法在進行了大量實驗,證明了這類方法在低資源的情況下性能大幅優于傳統方法。這種 finetune 的思路應該是可以應用于各類 NLP 下游任務的。尤其是低資源場景下,應該會非常有幫助。如果老板真的只給幾百條數據讓訓練模型,這樣的方法說不定就有奇效!

    后臺回復關鍵詞【入群

    加入賣萌屋NLP/IR/Rec與求職討論群

    后臺回復關鍵詞【頂會

    獲取ACL、CIKM等各大頂會論文集!

    總結

    以上是生活随笔為你收集整理的老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。