Published on

Meta BLT 架構:突破傳統 Token 化,以 Byte 為基礎的新型語言模型

Authors
  • avatar
    Name
    Ajax
    Twitter

Meta 的 BLT 架構:以 Byte 為基礎,徹底擺脫 Token 化

Meta 近期與芝加哥大學等機構合作發表了一篇突破性的論文,名為「Byte Latent Transformer: Patches Scale Better Than Tokens」。這項研究在 Hacker News 等平台引發了廣泛討論。其核心概念在於一種全新的語言模型方法,可能取代傳統的 Token 化處理。許多研究人員對此感到興奮,渴望擺脫 Tokenizer 的束縛。然而,由於 Token 化是許多現有模型的基礎,如何整合這項新技術也引起了人們的擔憂。

Token 化的問題

傳統的語言模型依賴 Token 化來預處理數據。然而,這種方法存在一些限制,包括:

  • 固定的詞彙量: 可能不足以應對所有語言或語境。
  • 處理多語或雜訊數據的效率低下: 在處理多種語言或包含雜訊的數據時,效率可能會降低。
  • 壓縮啟發式方法引入偏差: 壓縮數據的過程中可能引入偏差,影響模型的準確性。

Byte Latent Transformer (BLT)

這項研究引入了 Byte Latent Transformer (BLT) 作為解決方案,挑戰傳統的 Token 化方法。BLT 不使用 Token,而是直接對原始 Byte 流進行建模。它會根據 Byte 的熵值動態地將其分組為 Patches,從而優化計算效率。這意味著 BLT 可以直接從原始 Byte 數據中學習,而無需依賴靜態詞彙表。BLT 的設計使其能夠更有效地處理多樣化和雜訊輸入。

BLT 的主要特點包括:

  • 基於熵值的 Patching: BLT 根據資訊複雜度動態地將 Byte 分組為 Patches。這種方法將更多計算資源分配給高熵(複雜)區域,並節省低熵區域的資源。
  • 高效擴展: BLT 優化了 Patch 的大小,並使用輕量級的本地模型,實現了與 LLaMA 等基於 Token 的模型相當甚至更好的效能。它還將推理過程中的計算成本降低了高達 50%。
  • 穩健性和靈活性: BLT 在需要字元級理解、處理雜訊輸入或泛化到長尾數據的任務中表現出色,在許多基準測試中超越了基於 Token 的架構。

BLT 架構

BLT 架構包含:

  1. 一個大型的全局自回歸語言模型,用於處理 Patch 表示。
  2. 兩個較小的本地模型,用於將 Byte 序列編碼為 Patches,並將 Patches 表示解碼回 Byte。

全局潛在 Transformer 模型

全局潛在 Transformer 是一個自回歸模型,將輸入的 Patch 表示映射到輸出的 Patch 表示。它使用塊因果注意力遮罩。

本地編碼器

本地編碼器模型是一個輕量級的基於 Transformer 的模型,可有效地將輸入的 Byte 序列映射到表達力強的 Patch 表示。它在每個 Transformer 層之後都有交叉注意力層,將 Byte 表示池化為 Patch 表示。

  • Byte Embedding: 輸入的 Byte 序列使用矩陣進行 Embedding。
  • Transformer 層: 一系列交替的 Transformer 和交叉注意力層將 Embedding 轉換為 Patch 表示。這包括一個本地塊因果注意力遮罩。

本地解碼器

本地解碼器是另一個輕量級的基於 Transformer 的模型。它將全局 Patch 表示解碼為原始 Byte。它使用一系列交叉注意力和 Transformer 層。這允許根據先前解碼的 Byte 預測原始 Byte 序列。

擴展趨勢

該研究探討了 Byte 級模型的擴展趨勢,以指導 BLT 模型的進一步開發。這包括:

  • 比較計算最佳訓練方案中的趨勢。
  • 在大型數據集上訓練 80 億參數模型,並評估其在下游任務中的效能。
  • 衡量在推理成本控制設定中的擴展趨勢。

參數匹配的計算最佳擴展趨勢

研究人員使用 Llama 2 數據集,以計算最佳設定訓練了各種大小(10 億到 80 億參數)的 BPE 和 BLT 模型。他們繪製了訓練 flops 與語言建模效能的關係圖。BLT 模型要么與 BPE 模型相匹配,要么優於 BPE 模型,並且這種趨勢隨著模型大小和 flops 的增加而持續存在。

BLT-1T 數據集

一個 80 億參數的 BLT 模型在更大的高品質數據集 BLT-1T 上進行了訓練。結果顯示,BLT-Entropy 模型在 7 項任務中的 4 項上優於 Llama 3 模型。這種改進歸因於動態 Patches 更好地利用了訓練計算,以及對 Byte 級資訊而不是 Token 的建模。

Patch 擴展

研究強調,Patches 比 Token 更容易擴展。對 Patch 長度擴展的研究表明,基於 Patch 的 BLT 架構可以通過增加 Patch 和模型大小來實現更好的擴展趨勢。

通過 Byte 建模實現穩健性

字元級任務

BLT 模型在嘈雜的 HellaSwag 測試中表現出卓越的穩健性,平均超過基於 Tokenizer 的模型 8 個百分點。它甚至優於在較大數據集上訓練的 Llama 3.1 模型。

低資源語言

BLT 在流行的語言對中表現與 Llama 3 相當或略好。然而,它在低資源語言對中顯著超越了 Llama 3,證明了 Byte 建模在泛化到長尾 Byte 序列方面的有效性。

從 Llama 3 到 BLT

作者研究了一種工作流程,其中 BLT 模型可以使用預訓練的基於 Tokenizer 的模型。這是通過使用預訓練的 Llama 3.1 初始化 BLT 的全局 Tokenizer 參數來完成的。結果表明,用 Llama 3.1 初始化的 BLT 優於 Llama 3 和使用相同 flops 訓練的基線 BLT 模型。