AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
第一作者陶超凡(Chaofan Tao)是香港大學(HKU)的四年級博士生,導師是黃毅教授和羅平教授。他本科畢業於電子科技大學的英才榮譽學院。他的研究論文發表在ACL、EMNLP、ECCV、NeurIPS、ICML、T-NNLS等期刊和會議上。他獲得了 ACL 2022 年的傑出論文獎。陶超凡的研究興趣包括:1) 高效機器學習與模型加速:以低成本對模型進行高效調優和部署。2) 支援多種任務的通用大型模型,涵蓋不同模態。本文是一篇發表在 NeurIPS 2024 上的論文,單位是香港大學、Sea AI Lab、Contextual AI 和俄亥俄州立大學。論文主要探討了大型語言模型(LLMs)的詞表大小對模型效能的影響。- 論文:https://arxiv.org/abs/2407.13623
- 程式碼:https://github.com/sail-sg/scaling-with-vocab/
- Demo (快速預計合適的詞表大小):https://huggingface.co/spaces/sail/scaling-with-vocab-demo
研究大型語言模型(LLMs)的擴充套件法則(scaling laws)時,以前的工作主要關注模型引數和訓練資料的大小,而忽略了詞表大小的作用。本研究透過訓練包含不同詞表配置的模型(引數範圍從 33M 到 3B,字元數最多 500B),提出了三種方法來預測計算最優的詞表大小:基於 FLOPs 的、基於導數的和基於損失函式引數擬合的估計方法。研究結果表明,更大的模型應該配備更大的詞表,且在給定算力的情況下,最優的詞表大小是有上限的。例如,預測 Llama2-70B 的最優詞表大小應該是至少 216K,遠大於其實際的 32K。透過在不同 FLOPs 預算下訓練 3B 引數的模型驗證了這些預測,發現僅僅把原始詞表的大小替換成預測的最優詞表大小,就可以提高模型在多個下游任務的效能。本文發現,模型中的非詞表引數與相應的最優詞表引數之間的關係遵循冪律,其中的增長速度應慢於,即。實證結果與我們所提出的 3 種預測最優詞表大小的方法的結果基本一致。其中較大的圓圈表示較高的損失值。這裡指的是詞表大小。LLMs 透過在大量文字語料庫上進行預訓練,利用巨大的計算資源,已經取得了顯著的效能。以往的研究主要集中在模型引數、訓練資料量和計算資源(如 FLOPs)的變化對模型效能的影響,而忽略了詞表大小這一重要因素。事實上,詞表大小對語言模型的效能有著不小的影響。所以,本研究旨在填補這一空白,探討詞表大小對 LLMs 效能的影響,並提出預測最優詞表大小的方法。如圖,我們提出 3 種預測最優詞表大小的方法 (基於 FLOPs 的、基於導數的和基於損失函式引數擬合的估計方法),並且列出了當前主流的大型語言模型(LLMs)的詞表引數和預測最優詞表引數的關係。當前大多數 LLMs 的詞表引數由於詞表大小小於預測的最優值而處於次優狀態。擴充套件法則 (scaling laws) 考慮了一個計算預算(以 FLOPs 衡量),目標是在模型引數 N 和訓資料量 D 之間最優地分配這個算力的預算:通常情況,我們使用語言模型損失 來度量語言模型:其中 是在給定上下文 和詞表大小為 的分詞器的情況下單詞 的輸出機率。因為對於同一個訓練語料和給定的分詞演算法,不同的詞表大小會得到不同的詞元量 (D), 因此我們以訓練字元量(H)來衡量訓練資料量。為了將我們的發現與現有的關於擴充套件規律的研究聯絡起來,我們需要能夠從 H 對映到 D。這種對映是分詞器的壓縮比,可以透過 計算。分詞器需要表示 H 的標記越多,D 就越大,因此壓縮得越少。我們設計了一個簡單的函式 來僅從選擇的詞表大小 V 估計這個比例:在基於 FLOPs 和損失函式的估計方法中,我們可以直接統計出訓練的詞元數量。在基於導數的估計方法,我們是透過 FLOPs 關於的解析式來匯出最優的,而不是使用具體的大量實驗資料來擬合。這時候,我們需要使用來估計 D 和 H 的關係。附錄中我們視覺化了擬合結果,並展示了我們的近似方法適用於不同的分詞器,並且對不同的詞表大小具有魯棒性。語言模型損失或者常用的困惑度(perplexity)是隨詞表大小變化而變的,因此在模型詞表大小是非固定的情況,我們不能直接在擴充套件法則中直接取樣這個損失來度量模型。為了公平地評估不同詞表大小的模型,我們取樣了一種歸一化損失函式,來消減由詞表大小對語言建模損失帶來的影響:
其中,是給定上下文和詞表大小V的條件下,詞的輸出機率。是詞在分詞之後的語料庫中的出現頻率。備註:BPC (平均每字的位元數)也是一個值得嘗試的、對詞表大小非敏感的指標,本文認為和 BPC 分別是從詞元(token)和字元 (character) 的角度對語言建模損失進行歸一化,達到對詞表大小非敏感的特點。我們分析了隨著詞表大小的增長,模型效能先是提高然後降低的原因。詞表大小 對語言模型的效能的影響:較小的 V:增加詞表大小可以提高標記化分詞的效率,也就是用更短的詞元去表示文字,從而提高模型效能。較大的 V:逐漸增加詞表大小的時候,分詞效率提高的收益會逐漸減少,且可能導致詞表有關引數的欠擬合,特別是針對低頻詞的詞表徵。進一步地,我們研究了在固定 FLOP 預算下,詞表如何影響損失,並發現對於每個 FLOPs 預算,存在一個使損失最小化的最優詞表大小。圖上是在不同 FLOP 預算下,不同詞表大小的損失曲線。對於每個預算,都存在一個最小化損失的最優詞表大小。並且隨著 FLOPs 預算的增加,這個最優詞表大小也會增加(向右移動)。在第 4 章中,論文描述了三種不同的方法來估計大型語言模型(LLMs)的最優詞表大小。這三種方法包括:透過 IsoFLOPs 估計冪律、基於導數的快速估計和損失公式的引數擬合。每一種方法都旨在預測在給定計算預算下,最優的詞表大小應該是多少。不失一般性的,我們建立了詞表大小和詞表引數的關係,, 其中 d 是詞表徵的維度。這一方法的核心思想是透過保持 FLOPs 不變,變化詞表配置,來探索詞表大小對模型效能的影響。本文定義了 6 組模型,每組的非詞表引數(模型總引數 - 詞表引數)從 33M 到 1.13B 不等。在每組中,只改變詞表大小 V,從 4K 到 96K 選擇了 10 種大小的詞表,並在相同的 FLOPs 預算下評估不同的模型。模型架構遵循 Llama 模型的設計,訓練資料集為 SlimPajama,一個大規模的文字清理和去重資料集,採用了 bfloat16 混合精度訓練。本文選擇了每個 FLOPs 預算下歸一化損失最小的資料點,曲線如圖所示:我們發現了非詞表引數、詞表引數和訓練字元數與 FLOPs 預算之間的關係可以用冪律表示。基於以前的研究 [1],資料量和模型引數在最優的算力分配下應該同比例的放縮,我們在擬合過程中,加入了假設:對於詞表引數和訓練字元數, 都和 FLOPs 保持同樣的放縮比例。透過擬合,本文得到了以下冪律關係:- LLMs 對資料需求量大。與非詞表引數 相比,從業者應分配更多計算資源用於訓練資料
- 詞表引數與 FLOPs 呈冪律關係()。隨著模型計算量的增加,更大的詞表大小增強了模型理解更多樣化文字的能力,因此詞表大小對模型擴充套件至關重要。
- 詞表引數應比非詞表引數增長得更慢。這種差異可以從它們的冪律指數中看出,即。
這一方法的核心思想是透過計算 FLOPs 相對於詞表大小的導數,並找到零點解,來估計最優詞表大小。根據前人的研究,transformer 架構的訓練 FLOPs 可以近似表示為:透過設定導數等於 0,我們可以求解最優的,也就是。這個方程的解將給出在給定的 FLOPs 預算下,能夠使 FLOPs 最小化的詞表大小。這種方法的優勢在於它不需要大量的實驗資料,而是透過數學推導和數值方法來快速估計最優詞表大小。這對於初步模型設計和快速迭代非常有用。在具體的使用過程,我們是透過導數得到的最優的詞表引數 和非詞表引數 擬合出了一個符合冪律引數,也就是 中的, 從透過一組輕量化小模型的實驗資料點找出一組滿足 和最優的 作為初始點,結合,去預測任意 情況下的最優詞表引數,詳見原文。這一方法的核心思想是直接預測給定非詞表引數、詞表引數和訓練字元數量的損失,然後透過找到損失相對於詞表的最小點來預測最優詞表配置。本文設計了一個依賴於詞表大小的損失函式:其中,是可學習的引數。透過收集不同非詞表引數、詞表大小和訓練資料量的實驗點,並使用這些點來擬合上述損失函式的引數,我們擬合出這個有有關的損失函式,從而可以透過對關於求導的方式,找到最優的。這個方法的好處在於,它可以給出任意的非詞表引數和訓練資料量 的組合情況下的區域性最優的詞表大小,而不僅僅是 和訓練資料量 等比例放縮情況下的最優詞表大小。在這一節中,本文報告了基於三種方法預測的最優詞表引數和大小,遵從以前的關於 scaling laws 中資料量和模型引數的算力分配有關工作 [1],訓練資料的量與非詞表引數等比例地隨 FLOPs 預算縮放。 我們報告了在給定 的情況下,透過提出的三種方法預測的最優詞表引數 和詞表大小。我們假設訓練 FLOPs 被最優分配,即非詞表引數和訓練資料按相同比例擴充套件。結果分析:- 預測結果顯示,隨著非詞表引數的增加,最優的詞表引數和詞表大小也隨之增加。
- 這表明對於更大的模型,更大的詞表是必要的,以充分利用模型的容量。
值得注意的是,主流 LLMs 通常分配給詞表引數偏少。然而,學界和工業界已經開始轉向更大的詞表大小。例如 Llama3 的詞表大小從 Llama2 的 32K 增加到 128K。然而,擴充套件資料仍然是最關鍵的部分,解決資料稀缺問題應成為未來工作的重點。為了驗證這些預測,本文在 3B 引數的模型上進行了實驗,這些模型在不同的 FLOPs 預算下進行了訓練。實驗中,本文比較了使用常規詞表大小(例如 32K)與使用預測的最優詞表大小的模型效能。效能透過多個下游任務進行評估,包括 ARC-Challenge、Hellaswag 等。實驗結果表明,使用預測的最優詞表大小的模型在多個任務上一致地優於使用常規詞表大小的模型。我們之前的實驗主要集中在訓練計算預算為主要約束條件的情況下,我們尋求將其最優分配給引數和訓練資料。這是擴充套件規律研究中的典型設定。然而,在實踐中,我們經常面臨資料稀缺或者資料相對於模型大小過量的情況,迫使我們進行算力次優分配時候的訓練。為了驗證我們的方法 3 能夠處理這些實際場景中由於訓練資料量變化對最優詞表大小的影響,我們將詞表大小為 的模型與方法 3 預測的最優詞表大小 的模型進行了比較。如表所示,我們的預測可以根據不同的訓練資料量,有效調整詞表大小,實現了更好的模型。本文透過實驗驗證了詞表大小對語言模型效能有顯著影響。他們發現,對於給定的計算預算,存在一個最優的詞表大小,能夠最大化模型效能。詞表大小是影響模型效能的關鍵因素之一。更大的模型受益於更大的詞表,因為它們需要更豐富的詞表來表達更復雜的語言模式。另一方面,詞表引數應該比非詞表引數增長得慢,但仍然對效能至關重要。論文提出了三種方法來預測最優詞表大小,這些方法都基於計算預算和模型效能之間的關係,論文強調了在設計和訓練 LLMs 時,需要綜合考慮模型引數、訓練資料和詞表大小。本文建議在分配計算資源時,應該考慮到詞表大小的影響。[1] Jordan Hoffmann, Sebastian Borgeaud, Arthur Mensch, Elena Buchatskaya, Trevor Cai, Eliza Rutherford, Diego de Las Casas, Lisa Anne Hendricks, Johannes Welbl, Aidan Clark, et al. 2022. Training compute-optimal large language models. arXiv preprint arXiv:2203.15556.