用暫停token重新訓(xùn)練大模型,AI學(xué)會三思而后行
讓ChatGPT給出答案之前多想想步驟,就能提高準(zhǔn)確率。
那么能不能省去提示詞,直接把這種能力內(nèi)化在大模型里呢?
CMU與谷歌團(tuán)隊(duì)的新研究,在訓(xùn)練大模型時(shí)加入暫停token來實(shí)現(xiàn)這一點(diǎn)。
實(shí)驗(yàn)中,8項(xiàng)評測成績提升,其中SQuAD的EM得分提高18%,CommonSenseQA提高8%,GSM8k中的推理任務(wù)也提高1%。
研究者Jack Hack表示,自己不久前就提出類似假設(shè),很高興看到它被驗(yàn)證。
英偉達(dá)工程師Aaron Erickson表示,是不是和人類說話時(shí)加入“嗯嗯啊啊”是一個(gè)道理?
預(yù)訓(xùn)練微調(diào)都加入暫停token
整個(gè)研究基于一個(gè)簡單的想法:
在輸入序列后面追加一系列(暫停token),從而延遲模型輸出下一個(gè)token。
這可以給模型額外的計(jì)算時(shí)間來處理更復(fù)雜的輸入。
作者不僅在下游任務(wù)微調(diào)時(shí)引入,還在預(yù)訓(xùn)練時(shí)就隨機(jī)在序列中插入,讓模型在兩階段都學(xué)習(xí)如何利用這種計(jì)算延遲。
預(yù)訓(xùn)練階段,在語料庫中隨機(jī)插入一定比例的暫停token到輸入序列,進(jìn)行標(biāo)準(zhǔn)的自回歸預(yù)訓(xùn)練。但計(jì)算損失時(shí)會跳過暫停token的預(yù)測。
下游任務(wù)微調(diào)時(shí),輸入中也追加一定數(shù)量的暫停 token,然后對目標(biāo)序列進(jìn)行自回歸預(yù)測,同時(shí)微調(diào)模型參數(shù)。
推理階段也追加相同數(shù)量的暫停token,但忽略模型輸出直到最后一個(gè)暫停token,然后開始提取答案。
實(shí)驗(yàn)使用了標(biāo)準(zhǔn)的Transformer純Decoder模型,分為130M參數(shù)和1B參數(shù)兩個(gè)版本。
其中暫停token只增加了1024個(gè)參數(shù),也就是它本身的embedding大小。
在9個(gè)不同任務(wù)上的實(shí)驗(yàn)表明,僅在微調(diào)階段引入暫停token的效果并不明顯,有些任務(wù)不會提升。
但如果在預(yù)訓(xùn)練和finetune階段都使用暫停token,大多數(shù)任務(wù)上都獲得顯著提升。
論文還探究了暫停token的數(shù)量、位置等關(guān)鍵超參數(shù)。發(fā)現(xiàn)對于不同的模型通常存在一個(gè)最優(yōu)的數(shù)量。
最后作者也提出,這項(xiàng)工作也有不少局限性。
- 由于暫停token增加了模型計(jì)算量,與其他方法對比是否公平還有待討論
- 新方法需要重新預(yù)訓(xùn)練,在實(shí)際應(yīng)用還有一定困難
- 對具體工作機(jī)制還缺乏深入理解
- 推理時(shí)如果暫停token數(shù)量為0,模型表現(xiàn)仍然不佳
搜索引擎You.com的CEO表示,接下來是不是應(yīng)該把所有提高人類認(rèn)知表現(xiàn)的技巧都對大模型試一試?
現(xiàn)在已經(jīng)有了“一步一步地想”和“深呼吸”。
也許下一個(gè)爆款論文就是教大模型帶著問題睡一覺或者更離譜的健康飲食、注意鍛煉。
論文地址:https://arxiv.org/abs/2310.02226