來源:量子位元
讓ChatGPT給答案之前多想想步驟,就能提升準確率。
那麼能不能省去提示詞,直接把這種能力內化在大模型裡呢?
CMU與Google團隊的新研究,在訓練大模型時加入暫停token來實現這一點。
實驗中,8項評測成績提升,其中SQuAD的EM得分提高18%,CommonSenseQA提高8%,GSM8k中的推理任務也提高1%。
研究者Jack被駭表示,自己不久前就提出類似假設,很高興看到它被驗證。
英偉達工程師Aaron Erickson表示,是不是跟人類說話時加入「嗯嗯啊啊」是個道理?
預訓練微調都加入暫停token
整個研究基於一個簡單的想法:
在輸入序列後面追加一系列(暫停token),從而延遲模型輸出下一個token。
這可以給模型額外的計算時間來處理更複雜的輸入。
作者不僅在下游任務微調時引入,還在預訓練時就隨機在序列中插入,讓模型在兩階段都學習如何利用這種計算延遲。
預訓練階段,在語料庫中隨機插入一定比例的暫停token到輸入序列,進行標準的自回歸預訓練。但計算損失時會跳過暫停token的預測。
下游任務微調時,輸入中也追加一定數量的暫停token,接著對目標序列進行自迴歸預測,同時微調模型參數。
推理階段也追加相同數量的暫停token,但忽略模型輸出直到最後一個暫停token,然後開始提取答案。
實驗使用了標準的Transformer純Decoder模型,分為130M參數與1B參數兩個版本。
其中暫停token只增加了1024個參數,也就是它本身的embedding大小。
在9個不同任務上的實驗表明,僅在微調階段引入暫停token的效果並不明顯,有些任務不會提升。
但如果在預訓練和finetune階段都使用暫停token,大多數任務上都獲得顯著提升。
論文也探討了暫停token的數量、位置等關鍵超參數。發現對於不同的模型通常存在一個最優的數量。
最後作者也提出,這項工作也有不少限制。
由於暫停token增加了模型計算量,與其他方法對比是否公平還有待討論新方法需要重新預訓練,在實際應用還有一定困難對具體工作機制還缺乏深入理解推理時如果暫停token數量為0,模型表現仍然不佳
搜尋引擎You.com的CEO表示,接下來是不是應該把所有提升人類認知表現的技巧都對大模型試試看?
現在已經有了「一步一步想」和「深呼吸」。
也許下一個爆款論文就是教大模型帶著問題睡一覺或更離譜的健康飲食、注意運動。
論文地址:
https://arxiv.org/abs/2310.02226
參考連結:
[1]https://twitter.com/arankomatsuzaki/status/1709372124891070915
資訊來源:由0x資訊編譯自8BTC。版權所有,未經許可,不得轉載