語言模型參數(shù)越多越好?DeepMind用700億打敗自家2800億,訓(xùn)練優(yōu)化出「小」模型
最近一系列大型語言模型 (LLM) 正在崛起,其中最大的語言模型已經(jīng)擁有超過 5000 億個參數(shù)。這些大型自回歸 transformer 通過使用各種評估協(xié)議(例如零樣本、少樣本和微調(diào)),在許多任務(wù)中表現(xiàn)出令人印象深刻的性能。
然而訓(xùn)練大型語言模型需要消耗巨大的計算和能源,并且這種消耗隨著模型的增加而增加。在實踐中,研究者事先分配的訓(xùn)練計算預(yù)算通常是預(yù)先知道的:有多少加速器可用以及我們想要使用它們多長時間。通常這些大模型只訓(xùn)練一次是可接受的,因此準(zhǔn)確估計給定計算預(yù)算的最佳模型超參數(shù)至關(guān)重要。
Kaplan 等人研究 (2020) 表明,自回歸語言模型 (LM) 中的參數(shù)數(shù)量與其性能之間存在冪律關(guān)系。結(jié)果是該領(lǐng)域一直在訓(xùn)練越來越大的模型,期望性能得到改善。Kaplan 等人(2020) 得出的一個值得注意的結(jié)論是,不應(yīng)該將大型模型訓(xùn)練到其可能的最低損失,以獲得計算的最佳化。
來自 DeepMind 的研究者得出了相同的結(jié)論,但他們估計大型模型可以訓(xùn)練的 token 數(shù)應(yīng)該比作者推薦的更多。具體來說,假設(shè)計算預(yù)算增加 10 倍,其他研究者建議模型的大小應(yīng)該增加 5.5 倍,而訓(xùn)練 token 的數(shù)量應(yīng)該只增加 1.8 倍。相反,DeepMind 發(fā)現(xiàn)模型大小和訓(xùn)練 token 的數(shù)量應(yīng)該以相等的比例擴(kuò)展。
論文地址:https://arxiv.org/pdf/2203.15556.pdf
繼 Kaplan 等人和 GPT-3 的訓(xùn)練設(shè)置研究之后,近期大型模型的訓(xùn)練 token 大約為 3000 億個(表 1),這與增加算力時,主要采用增加模型大小結(jié)論一致。
在這項工作中,DeepMind 重新審視了這個問題:給定固定的 FLOPs 預(yù)算,應(yīng)該如何權(quán)衡模型大小和訓(xùn)練 token 的數(shù)量?為了回答這個問題,DeepMind 將最終的預(yù)訓(xùn)練損失 ??(??, ??) 建模為模型參數(shù)數(shù)量 ?? 和訓(xùn)練 token 數(shù)量 ?? 的函數(shù)。由于計算預(yù)算 ?? 是所見訓(xùn)練 token 和模型參數(shù)數(shù)量的確定性函數(shù) FLOPs(??, ??),因此可以在約束 FLOPs(??, ??) = ?? 下最小化??:
DeepMind 根據(jù) 400 多個模型的損失估計了這些函數(shù),參數(shù)范圍從 70M 到 16B 以上,并在 5B 到 400B 多個 token 上進(jìn)行訓(xùn)練——每個模型配置都針對幾個不同的訓(xùn)練范圍進(jìn)行訓(xùn)練。結(jié)果表明 DeepMind 方法得出的結(jié)果與 Kaplan 等人的結(jié)果大不相同,如下圖 1 所示:
基于 DeepMind 估計的計算最優(yōu)邊界,他們預(yù)測用于訓(xùn)練 Gopher 的計算預(yù)算,一個最優(yōu)模型應(yīng)該是模型大小比之前小 4 倍,而訓(xùn)練的 token 應(yīng)該是之前的 4 倍多。
為了證明這一點,DeepMind 訓(xùn)練了一個更優(yōu)計算的 70B 模型 Chinchilla,具有 1.4 萬億個 token。Chinchilla 不僅性能優(yōu)于模型更大的 Gopher,而且其減小的模型尺寸大大降低了推理成本,并極大地促進(jìn)了在較小硬件上的下游使用。大型語言模型的能源成本通過其用于推理和微調(diào)的用途來攤銷。因此,經(jīng)過更優(yōu)化訓(xùn)練的較小模型的好處,超出了其性能改善的直接好處。
特斯拉人工智能和自動駕駛視覺總監(jiān) Andrej Karpathy 表示:Chinchilla 是一個新的語言模型(70B),它優(yōu)于 Gopher (280B), GPT-3 (175B), Jurrasic-1 (178B), MT-NLG (530B) 大模型。這是關(guān)于語言模型(LM)新的擴(kuò)展定律非常重要的論文。
估計最優(yōu)參數(shù) / 訓(xùn)練 tokens 分配
研究者提出三種不同的方法來解答推動本項研究的問題:給定固定的 FLOPs 預(yù)算,應(yīng)該如何權(quán)衡模型大小和訓(xùn)練 tokens 的數(shù)量?在所有三種情況下,研究者首先訓(xùn)練了一系列參數(shù)和訓(xùn)練 tokens 都不同的模型,并使用得出的訓(xùn)練曲線來擬合模型擴(kuò)展的經(jīng)驗估計器(empirical estimator)。
三種方法的預(yù)測結(jié)果類似,表明模型參數(shù)和訓(xùn)練 tokens 的數(shù)量應(yīng)該隨著計算量的增加而增加,比例如下表 2 所示。這與以前有關(guān)該主題的工作形成鮮明對比,值得進(jìn)一步研究。
方法 1:固定模型大小,改變訓(xùn)練 tokens 數(shù)量
對于第一種方法,研究者改變了固定參數(shù)模型(從 70M 到 10B 參數(shù))的訓(xùn)練步數(shù),為每個模型訓(xùn)練了 4 個不同數(shù)量的訓(xùn)練序列。運(yùn)行之后,他們能夠直接提取給定訓(xùn)練 FLOPs 所達(dá)到的最小損失的估計值。訓(xùn)練曲線如下圖 2 所示。
方法 2:IsoFLOP
在第二種方法中,研究者針對 9 種不同的訓(xùn)練 FLOP(從 6 × 10^18 到 3 × 10^21 FLOPs)改變模型大小,并考慮到了每個點的最終訓(xùn)練損失。與方法 1 整個訓(xùn)練運(yùn)行中考慮點(??, ??, ??)形成了對比,這使得直接回答以下問題:對于給定的 FLOP 預(yù)算,最優(yōu)參數(shù)數(shù)量是多少?下圖 3 為 IsoFLOP 曲線。
方法 3:擬合一個參數(shù)損失函數(shù)
最后,研究者將方法 1 和 2 中實驗的所有最終損失建模為一個包含模型參數(shù)和可見 tokens 數(shù)量的參數(shù)函數(shù)。遵循經(jīng)典的風(fēng)險分解,他們提出了如下函數(shù)形式:
為了估計(??, ??, ??, ??, ??),研究者使用 L-BFGS 算法來最小化預(yù)測和觀察到對數(shù)損失(log loss)之間的 Huber 損失。
他們通過從初始化網(wǎng)格中選擇最佳擬合來考慮可能的局部最小值。Huber 損失(?? = 10^?3)對異常值具有魯棒性,這點對于留出數(shù)據(jù)點實現(xiàn)良好預(yù)測性能非常重要。
此外,研究者在下圖 4(左)中展示了擬合函數(shù)的等值線,并以藍(lán)色代表閉合形式(closed-form)的高效計算邊界。
最優(yōu)模型擴(kuò)展
研究者發(fā)現(xiàn),以上三種方法盡管使用了不同的擬合方案和不同的訓(xùn)練模型,但對有關(guān) FLOPs 的參數(shù)和 tokens 的最優(yōu)擴(kuò)展產(chǎn)生了可比較的預(yù)測。它們都表明了,隨著計算預(yù)算的增加,模型大小和訓(xùn)練數(shù)據(jù)量應(yīng)該以大致相同的比例增加。其中,第一種和第二種方法對最優(yōu)模型大小的預(yù)測非常相似,第三種方法在更多計算預(yù)算下能夠最優(yōu)地預(yù)測更小模型。
在下表 3 中,研究者展示了 FLOPs 和 tokens 的估計量,以確保給定大小的模型位于計算最優(yōu)邊界上。結(jié)果表明,考慮到各自的計算預(yù)算,當(dāng)前一代的大規(guī)模語言模型「過于大了」。
新模型 Chinchilla
根據(jù)上文的分析,Gopher 模型的最優(yōu)模型大小介于 40B 到 70B 參數(shù)之間。出于數(shù)據(jù)集和計算效率的考慮,研究者訓(xùn)練了一個 70B 參數(shù)、1.4T tokens 的模型,稱之為 Chinchilla,并與 Gopher 和其他大規(guī)模語言模型進(jìn)行了比較。注意,Chinchilla 和 Gopher 的訓(xùn)練 FLOPs 相同,但模型大小和訓(xùn)練 tokens 不同。
由于 Chinchilla 的參數(shù)量為 Gopher 的 1/4,因而它的內(nèi)存占用和推理成本更小。
模型參數(shù)
Chinchilla 的訓(xùn)練超參數(shù)及其與 Gopher 的比較如下表 4 所示。兩者使用了相同的模型架構(gòu)和訓(xùn)練設(shè)置,但在 head 數(shù)量、批大小等方面有所不同。
實驗結(jié)果
研究者對 Chinchilla 進(jìn)行了廣泛的評估,與各種大規(guī)模語言模型在 Rae et al. (2021)提出的很多任務(wù)上展開了比較。這些任務(wù)包括語言建模(LM)、閱讀理解、問答、常識、MMLU 和 BIG-bench,具體如下表 5 所示。
語言建模任務(wù)。如下圖 5 所示,Chinchilla 在 The Pile 的所有評估子集上均顯著優(yōu)于 Gopher。
多任務(wù)語言理解(MMLU)任務(wù)。大規(guī)模 MMLU 基準(zhǔn)測試包含一系列與學(xué)科類似的考試問題。在下表 6 中,研究者展示了 Chinchilla 在 MMLU 上的平均 5-shot 性能。可以看到,盡管規(guī)模小得多,但 Chinchilla 明顯優(yōu)于 Gopher,平均準(zhǔn)確率為 67.6%,比 Gopher 提高了 7.6%。并且,Chinchilla 的準(zhǔn)確率甚至超過了 2023 年 6 月專家預(yù)測的 63.4% 。
在圖 6 中,DeepMind 展示了按任務(wù)細(xì)分結(jié)果與 Gopher 的比較。總的來說,研究發(fā)現(xiàn) Chinchilla 提高了絕大多數(shù)任務(wù)的性能。在四個任務(wù)(college_mathematics、econometrics、moral_scenarios 和 formal_logic)上,Chinchilla 的表現(xiàn)不如 Gopher,并且在兩個任務(wù)上的表現(xiàn)沒有變化。
閱讀理解。在單詞預(yù)測數(shù)據(jù)集 LAMBADA 上,Chinchilla 達(dá)到了 77.4% 的準(zhǔn)確率,而 Gopher 和 MT-NLG 530B 的準(zhǔn)確率分別為 74.5% 和 76.6%(見表 7)。在 RACE-h 和 RACE-m 上,Chinchilla 的性能大大優(yōu)于 Gopher,兩種情況下的準(zhǔn)確率都提高了 10% 以上。
BIG-bench。DeepMind 在 BIG-bench 任務(wù)上評估了 Chinchilla,與 MMLU 中觀察到的情況類似,Chinchilla 在多項任務(wù)上優(yōu)于 Gopher。
其他更多實驗結(jié)果詳見論文。