Tokenization 不存在了?Meta 最新研究,無需 Tokenizer 的架構來了

轉自 | 機器之心

BLT 在許多基準測試中超越了基於 token 的架構。

最近幾天,來自 Meta 、芝加哥大學等機構的合著論文《 Byte Latent Transformer: Patches Scale Better Than Tokens 》火了,在 Hacker News 上受到廣泛討論。

有人表示,非常期待這項研究取得成功,這樣就可以和 tokenizer 拜拜了!

還有人擔心的表示,「現在 tokenization 是大多數模型的基礎,這項研究被採用的可能性究竟有多大?」

總結而言,該研究提出了一種新的 LLM 思想。傳統的語言模型依賴於 tokenizer 來預處理數據,但 tokenization 有其固有的局限性,包括固定的詞彙表、處理多語言或噪聲數據的效率低下,以及由壓縮啟髮式方法引入的偏見。

該研究提出字節潛在 Transformer(Byte Latent Transformer,簡稱 BLT)挑戰了這種常規做法。BLT 通過直接建模原始字節流,將它們根據熵動態分組為 patch 以實現高效計算。

具體而言,BLT 不需要 tokenizer 架構,可以直接從原始字節數據中學習,避免了靜態詞彙表的限制,並能更好地處理多樣化和帶噪聲的輸入。

基於熵的 Patch:根據信息複雜度動態地將字節分組為 Patch,對高熵區域(複雜輸入)分配更多的計算資源,在低熵區域節省資源。 

高效擴展:通過優化 patch 大小並利用輕量級局部模型,BLT 實現了與基於 token 模型(如 LLaMA)相當或更好的性能,並在推理過程中節省高達 50% 的計算資源。

魯棒性與靈活性:BLT 在需要字符級理解、噪聲輸入或長尾泛化的任務中表現出色,在許多基準測試中超越了基於 token 的架構。

圖源:https://x.com/theraggedflesh/status/1867911485428482131圖源:https://x.com/theraggedflesh/status/1867911485428482131

此外,該研究首次提出了對字節級模型進行 flop 控制的擴展研究,參數規模高達 8B,訓練字節高達 4T,從而展示了在沒有固定詞彙表 tokenization 的情況下,從字節級別端到端地大規模訓練模型。

總體而言,BLT 在訓練時的 flop 控制性能與 Llama 3 相當,同時在推理時使用的 flop 減少了高達 50%。該研究還進行了 inference-flop 控制的擴展實驗(圖 1),並觀察到與基於 tokenization 架構相比,BLT 擴展趨勢明顯更好。

這篇論文貢獻如下:

  • 提出了 BLT,這是一種字節潛在 LLM 架構,動態分配計算資源以提高 flop 效率;

  • 展示了在 8B(即 80 億)參數規模下,能夠實現與 Llama 3 模型相當的訓練 flop 控制,同時可以通過犧牲一小部分評估指標來換取高達 50% 的 flop 效率提升;

  • BLT 模型為擴展大型語言模型開啟了一個新的維度,現在可以在保持固定推理預算的同時擴展模型大小。

  • 論文標題:Byte Latent Transformer: Patches Scale Better Than Tokens

  • 論文地址:https://arxiv.org/pdf/2412.09871

  • 項目地址:https://github.com/facebookresearch/blt

這種無需 tokenizer 的方法代表了語言建模的重大轉變,為更高效、可擴展和魯棒的人工智能系統鋪平了道路。

對此,有研究者表示:「Meta 剛剛殺死了 TOKENIZATION,他們發佈的 BLT 是一種無 tokenizer 的架構,可以動態地將字節編碼為 patch,並實現更好的推理效率和穩健性!」

「2025 年可能是我們告別 tokenization 的一年。」

BLT 架構

BLT 由一個對 patch 表徵進行操作的大型全局自回歸語言模型以及兩個較小的局部模型組成,兩個較小的局部模型將字節序列編碼為 patch 並將 patch 表徵解碼回字節(圖 2)。

潛在全局 Transformer 模型

潛在全局 Transformer 是一個具有 l_G 層的自回歸 transformer 模型 G,它將一系列潛在輸入 patch 表徵 p_j 映射到一系列輸出 patch 表徵 o_j。

論文使用下標 j 表示 patch,使用下標 i 表示字節。全局模型使用塊因果注意力掩碼(Dubey et al., 2024)。

局部編碼器 

局部編碼器模型(用 ε 表示)是一種基於 transformer 的輕量級模型,具有層,其主要作用是有效地將輸入字節序列 b_i 映射為表達性 patch 表徵 p_j。與 Transformer 架構的主要區別是在每個 Transformer 層之後添加了一個交叉注意力層,其功能是將字節表徵池化為 patch 表徵(圖 5)。

首先,使用

矩陣嵌入輸入字節序列 b_i ,表示為 x_i 。然後,這些嵌入可以選擇以散列嵌入的形式添加附加信息。然後,一系列交替的 transformer 和交叉注意力層將這些表徵轉換為由全局 transformer G 處理的 patch 表徵 p_i。transformer 層使用局部塊因果注意力掩碼;每個字節都關注前面字節的固定窗口,該窗口通常可以跨越動態 patch 邊界,但不能跨越文檔邊界。

局部解碼器

與局部編碼器類似,局部解碼器 D 是一個基於 transformer 的輕量級模型,具有

層,它將全局 patch 表徵序列 o_j 解碼為原始字節 y_i 。局部解碼器根據先前解碼的字節來預測原始字節序列,因此將局部編碼器為字節序列生成的隱藏表徵作為輸入。它應用了一系列交叉注意力層和 transformer 層的 lD 交替層。解碼器中的交叉注意力層在 transformer 層之前應用,以首先從 patch 表徵創建字節表徵,並且局部解碼器 transformer 層對生成的字節序列進行操作。

擴展趨勢 

該研究展示了字節級模型擴展趨勢的整體圖景,可以為 BLT 模型的進一步擴展提供信息,旨在通過以下方式解決先前字節級模型研究的局限性:

  • 比較計算最優訓練方案的趨勢;

  • 在大量訓練上訓練匹配的 8B 模型數據並評估下遊任務;

  • 測量推理成本控制設置中的擴展趨勢。

參數匹配計算最優擴展趨勢 

使用 Llama 2 數據集,該研究訓練了四種不同大小(參數範圍從 1B 到 8B)的各種計算最優 bpe 和 BLT 模型。然後在訓練數據混合物的代表性子集上根據語言建模性能繪製訓練 flops 圖。BPE 模型使用 Llama 3 確定的模型參數與訓練數據的最佳比率進行訓練(Dubey et al., 2024)。這種計算最優設置理論上旨在在給定的訓練預算內實現訓練數據集的最佳性能(Hoffmann et al., 2022),為模型提供魯棒的基線。對於每個 bpe 模型,該研究還使用與相應 bpe Transformer 的大小和架構相匹配的潛在 Transformer 在相同數據上訓練相應的 BLT 模型。 

如圖 6(右)所示,BLT 模型要麼相當,要麼優於 BPE 模型,並且隨著擴展模型大小和 flops,這種趨勢仍然存在。

為了進一步評估擴展特性,該研究在更大的高質量數據集 BLT-1T 上訓練了一個 8B 參數規模的 BLT 模型。表 1 比較了在 BLT-1T 數據集上訓練的三個模型,基於 tokenizer 的 BPE Llama 3 模型和 BLT 模型的兩個變體(一個採用空間 – patch 方案 (BLT-Space),另一個採用基於熵的 patch 方案 (BLT-Entropy))。

結果顯示,BLT-Entropy 模型在 7 項任務中的 4 項上的表現優於 Llama 3 模型。這種改進是由於 (1) 通過動態 patch 更好地利用了訓練計算,以及 (2) 直接對字節級信息進行建模,而不是對 token 進行建模。

此外,論文還介紹了 Patch 比 Token 更容易擴展。

總結來說,對 patch 長度擴展研究表明,BLT 這種基於 patch 的架構可以通過同時增加 patch 和模型的大小來實現更好的擴展趨勢。這樣的趨勢似乎在更大規模的模型中持續存在,甚至有所改善。

字節建模提高魯棒性

字符級任務

在對帶噪聲的 HellaSwag 測試結果發現,BLT 確實在魯棒性方面全面超越了基於 tokenizer 的模型,平均優勢達到 8 個百分點,甚至超過了在更大數據集上訓練的 Llama 3.1 模型。

圖 7 展示了 Llama 3 tokenizer 模型表現不佳,但 BLT 模型表現良好的幾個場景。圖 7 展示了 Llama 3 tokenizer 模型表現不佳,但 BLT 模型表現良好的幾個場景。

表 4 表明,BLT 的表現超過了使用 Llama 3 tokenizer 訓練的模型。在流行的語言對中,BLT 的表現與 Llama 3 相當或略好。然而,在資源較少的語言對上,BLT 的表現超過了 Llama 3,這強調了字節建模在泛化到長尾字節序列上的有效性。

從 Llama 3 到 BLT 

最後,作者還探討了一種工作流,其中 BLT 模型可以利用經過預訓練的基於 tokenizer 的模型,通過使用經過預訓練的 Llama 3.1 初始化 BLT 的全局 tokenizer 參數來實現更好更快的訓練收斂。表 5 為結果。

很明顯,經過 Llama 3.1 初始化的 BLT 顯著優於 Llama 3 和 BLT 基線,這些基線是用相同數量的 flop 訓練的。