算力就這么點,如何提升語言模型性能?谷歌想了個新點子
近年來,語言模型(LM)在自然語言處理(NLP)研究中變得更加突出,在實踐中也越來越有影響力。一般來說,擴大模型的規模已被證明可以提升在一系列NLP任務中的性能。
不過,擴大模型規模的挑戰也是顯而易見的:訓練新的、更大的模型需要大量的計算資源。此外,新的模型往往是從頭開始訓練的,無法利用以前的模型的訓練權重。
對于這個問題,谷歌的研究人員探討了兩種互補的方法,在不額外消耗大量計算資源的情況下,大幅提高現有語言模型的性能。
首先,在 「Transcending Scaling Laws with 0.1% Extra Compute」一文中,研究人員介紹了UL2R,這是一個輕量級的第二階段預訓練模型,使用一個混合enoisers目標。UL2R提高了一系列任務的性能,甚至在以前具有接近隨機性能的任務上釋放出突發性能。
論文鏈接:?https://arxiv.org/pdf/2210.11399.pdf?
另外,在「Scaling Instruction-Finetuned Language Models」中,探討了在一個以指令為措辭的數據集上微調語言模型的問題,這個過程我們稱為 "Flan"。這種方法不僅提高了性能,而且還提高了語言模型對用戶輸入的可用性。
論文鏈接:?https://arxiv.org/abs/2210.11416?
最后,Flan和UL2R可以作為互補技術結合在一個名為Flan-U-PaLM 540B的模型中,該模型在一系列具有挑戰性的評估基準中,比未經調整的PaLM 540B模型表現高出10%。
UL2R的訓練
傳統上,大多數語言模型都是在因果語言建模目標上進行預訓練,使模型能夠預測序列中的下一個詞(如GPT-3或PaLM)或去噪目標,其中模型學習從損壞的單詞序列中恢復原句(如T5)。
盡管在語言建模目標中存在一些權衡,即因果關系的語言模型在長句生成方面表現更好,而在去噪目標上訓練的語言模型在微調方面表現更好,但在之前的工作中,研究人員表明,包括這兩個目標的混合enoisers目標在兩種情況下都能取得更好的性能。
不過,在不同的目標上從頭開始對大型語言模型進行預訓練,在計算上是很困難的。因此,我們提出了UL2修復(UL2R),這是一個用UL2目標繼續預訓練的附加階段,只需要相對較少的計算量。
我們將UL2R應用于PaLM,并將產生的新語言模型稱為U-PaLM。
在實證評估中,我們發現,只需少量的UL2訓練,模型就會有大幅改善。
例如,通過在PaLM 540B的中間檢查點上使用UL2R,可以達到PaLM 540B在最終檢查點的性能,同時使用了2倍的計算量。當然,將UL2R應用于最終的PaLM 540B檢查點也會帶來巨大的改進。
PaLM 540B和U-PaLM 540B在26個NLP基準上的計算與模型性能對比。U-PaLM 540B繼續訓練PaLM,計算量非常小,但在性能上有很大的提升。
使用UL2R的另一個好處是,它在一些任務上的性能比純粹在因果語言建模目標上訓練的模型好得多。例如,有許多BIG-Bench任務具備所謂「新興能力」,即只有在足夠大的語言模型中才有的能力。
雖然最常見的發現新興能力的方式是通過擴大模型規模,但UL2R實際上可以在不擴大模型規模的情況下激發新興能力。
比如在BIG-Bench的導航任務中,衡量模型進行狀態跟蹤的能力,除了U-PaLM,所有模型的訓練FLOPs少于10^23個。另一個例子是BIG-Bench的Snarks任務,該任務衡量模型檢測諷刺語言的能力。
對于來自BIG-Bench的兩種能力,展示了新興的任務性能,U-PaLM由于使用了UL2R目標,所以在較小的模型規模下實現了新興性能。
指令微調
在第二篇論文中,我們探討了指令微調,這涉及到在一組以指令為措辭的NLP數據集上對LM進行微調。
在之前的工作中,我們將指令微調應用于62個NLP任務的137B參數模型,比如回答一個小問題,對電影表達的情感進行分類,或者將句子翻譯成西班牙語等。
在這項工作中,我們在超過1.8K的任務上微調了540B參數的語言模型。此外,以前的工作只對有少量例證的語言模型(如MetaICL)或無例證的零例證語言模型(如FLAN、T0)進行微調,而我們對兩者的組合都進行了微調。
我們還包括思維鏈微調數據,這使得模型能夠進行多步驟推理。我們把我們改進的方法稱為 "Flan",用于微調語言模型。
值得注意的是,即使在1.8K的任務上進行微調,與預訓練相比,Flan只用了一小部分的計算量(對于PaLM 540B,Flan只需要預訓練計算量的0.2%)。
在1.8K個以指令形式表述的任務上對語言模型進行微調,并在新任務上對模型進行評估,這些任務不包括在微調中。分別在有/無示例的情況下進行微調(即0-shot 和 few-shot),以及有/無思維鏈的情況下進行微調,使模型可以在一系列評估場景中推廣開來。
本文中,一系列規模的LM進行了指令-微調,目的是研究同時擴大語言模型的規模和增加微調任務數量的共同效果。
例如,對于PaLM類語言模型,包括8B、62B和540B參數規格。在四個具有挑戰性的基準評估標準(MMLU、BBH、TyDiQA和MGSM)上評估了我們的模型,發現擴大參數數量和微調任務數量都能提高在此前未見的新任務上的性能表現。
擴大到540B的參數模型和使用1.8K的微調任務都能提高性能。上圖y軸是四個評估套件(MMLU、BBH、TyDiQA和MGSM)的歸一化均值。
除了更好的性能之外,指令微調LM能夠在推理時對用戶的指令做出反應,而不需要少量的示例或提示工程。這使得LM在一系列的輸入中更加方便用戶。例如,沒有指令微調的LM有時會重復輸入或不能遵循指令,但指令微調可以減輕這種錯誤。
我們的指令微調語言模型Flan-PaLM與沒有指令微調的PaLM模型相比,對指令的反應更好。?
強強聯合,實現「1+1>2」
最后,我們表明,UL2R和Flan可以結合起來訓練Flan-U-PaLM模型。
由于Flan使用來自NLP任務的新數據,并能實現零點指令跟蹤,我們將Flan作為UL2R之后的次選方法。
我們再次對四個基準套件進行評估,發現Flan-U-PaLM模型優于只有UL2R(U-PaLM)或只有Flan(Flan-PaLM)的PaLM模型。此外,當與思維鏈和自洽性相結合時,Flan-U-PaLM在MMLU基準上達到了新的SOTA,得分達到75.4%。
與只使用UL2R(U-PaLM)或只使用Flan(Flan-U-PaLM)相比,將UL2R和Flan(Flan-U-PaLM)結合起來會帶來最佳性能:四個評估套件(MMLU、BBH、TyDiQA和MGSM)的歸一化平均值。
總的來說,UL2R和Flan是兩種互補的方法,用于改進預訓練的語言模型。UL2R使用相同的數據使LM適應denoisers的混合目標,而Flan則利用超過1.8K NLP任務的訓練數據來教模型遵循指令。
隨著語言模型變得更大,像UL2R和Flan這樣無需大量計算就能提高一般性能的技術,可能會變得越來越有吸引力。