首頁  >  文章  >  科技週邊  >  算力就這麼一點,如何提升語言模型表現?谷歌想了個新點子

算力就這麼一點,如何提升語言模型表現?谷歌想了個新點子

WBOY
WBOY轉載
2023-04-13 14:01:091272瀏覽

近年來,語言模型(LM)在自然語言處理(NLP)研究中變得更加突出,在實踐中也越來越有影響力。一般來說,擴大模型的規模已被證明可以提昇在一系列NLP任務中的表現。

不過,擴大模型規模的挑戰也是顯而易見的:訓練新的、更大的模型需要大量的運算資源。此外,新的模型往往是從頭開始訓練的,無法利用先前的模型的訓練權重。

對於這個問題,Google的研究人員探討了兩種互補的方法,在不額外消耗大量運算資源的情況下,大幅提升現有語言模型的效能。

首先,在「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這樣無需大量運算就能提高一般效能的技術,可能會變得越來越有吸引力。

以上是算力就這麼一點,如何提升語言模型表現?谷歌想了個新點子的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除