JaLMS
最新の AI 研究を日本語で解読

Byte Latent Transformer: Patches Scale Better Than Tokens

Artidoro Pagnoni    Ram Pasunuru    Pedro Rodriguez    John Nguyen    Benjamin Muller    Margaret Li    Chunting Zhou    Lili Yu    Jason Weston    Luke Zettlemoyer    Gargi Ghosh    Mike Lewis    Ari Holtzman    Srinivasan Iyer [ [ [ cs.washington.edu meta.com
Abstract

我々は、Byte Latent Transformer(BLT)を紹介する。これは新しいバイトレベルのLLMアーキテクチャであり、初めてトークン化ベースのLLMのパフォーマンスを大規模に匹敵させ、推論効率と堅牢性を大幅に向上させたものである。 BLTはバイトを動的サイズのパッチにエンコードし、これらを主要な計算単位として使用する。 パッチは次のバイトのエントロピーに基づいてセグメント化され、データの複雑性が増す箇所により多くの計算とモデル容量を割り当てる。 我々は、8Bパラメータと4Tトレーニングバイトまでのバイトレベルモデルの初のflop制御されたスケーリング研究を提示する。我々の結果は、固定語彙なしで生のバイトでトレーニングされたモデルのスケーリングの実現可能性を示している。 データが予測可能な場合に動的に長いパッチを選択することで、トレーニングと推論の効率が向上し、推論と長尾の一般化に質的な改善が見られる。全体として、固定された推論コストに対して、BLTはパッチサイズとモデルサイズの両方を同時に拡大することで、トークン化ベースのモデルよりも大幅に優れたスケーリングを示している。

1 Introduction

Refer to caption
Refer to caption
図1: 固定推論フロップモデルの様々な訓練予算での(完全)訓練におけるスケーリング傾向。 トークンベースのモデルでは、固定推論予算がモデルサイズを決定する。 対照的に、BLTアーキテクチャは、同じ訓練および推論予算を維持しながら、モデルサイズとパッチサイズを同時に増加させることができる新しいスケーリング軸を提供する。 BLTパッチサイズ(ps)6および8のモデルは、bpe Llama 2および3のスケーリング傾向をすぐに上回る。より大きな推論予算に移行すると、より大きなパッチサイズ8のモデルがより早く望ましくなる。BPEの計算最適点と交差点は垂直線で示されている。
Refer to caption
図2: BLTは3つのモジュールで構成される。入力バイトをパッチ表現にエンコードする軽量な局所エンコーダ、パッチ表現に対する計算コストの高い潜在変換器、そして次のバイトパッチをデコードする軽量な局所デコーダである。BLTはバイトn𝑛nitalic_nグラム埋め込みとクロスアテンション機構を組み込み、潜在変換器とバイトレベルモジュール間の情報流を最大化する(図5)。固定語彙トークン化とは異なり、BLTはバイトを動的にグループ化してパッチを作成し、バイトレベルの情報へのアクセスを保持する。

我々は、バイトレイテント変換器(BLT)を紹介する。これは、生のバイトデータから学習するトークナイザーフリーのアーキテクチャであり、初めて大規模なトークン化ベースのモデルと同等の性能を達成し、効率性と堅牢性において大幅な改善を実現している(§6)。 既存の大規模言語モデル(llm)は、トークン化を除いてほぼ完全にエンドツーエンドで訓練されている。トークン化は、バイトを静的なトークンセットにグループ化するヒューリスティックな前処理ステップである。 このようなトークンは文字列の圧縮方法にバイアスをかけ、ドメイン/モダリティの感度(Dagan et al., 2024)、入力ノイズへの感度(§6)、正書法的知識の欠如(Edman et al., 2024)、多言語の不平等(Liang et al., 2023; Petrov et al., 2024; Limisiewicz et al., 2024)などの欠点につながる。

トークン化は、これまで不可欠であった。なぜなら、長いシーケンス長のために、バイトで直接llmを訓練することは大規模では禁止的にコストがかかるためである(Xue et al., 2022)。 先行研究では、より効率的な自己注意機構(El Boukkouri et al., 2020; Clark et al., 2022)や注意機構を用いないアーキテクチャ(Wang et al., 2024)(§8)を採用することでこれを緩和している。しかし、これは主に小規模モデルの訓練に役立つ。 大規模では、Transformerの計算コストは、注意機構のコストではなく、各バイトで実行される大規模なフィードフォワードネットワーク層によって支配される。

計算資源を効率的に配分するために、我々はバイトをパッチにグループ化する動的で学習可能な方法(§2)と、バイト情報とパッチ情報を混合する新しいモデルアーキテクチャを提案する。 トークン化とは異なり、BLTにはパッチのための固定語彙がない。 任意のバイトグループが、軽量な学習済みエンコーダーおよびデコーダーモジュールを介して潜在パッチ表現にマッピングされる。 我々は、これがトークン化ベースのモデルよりもより効率的な計算資源の配分をもたらすことを示す。

トークン化ベースのLLMは、すべてのトークンに同量の計算リソースを割り当てる。これは、効率性を犠牲にして性能を優先する方法である。なぜなら、トークンは必ずしも予測の複雑さと相関しない圧縮ヒューリスティクスによって生成されるからである。我々のアーキテクチャの中心にあるのは、モデルが必要な箇所に動的に計算リソースを割り当てるべきだという考えである。例えば、ほとんどの単語の語尾を予測するのに大規模なトランスフォーマーは必要ない。これらは、新しい文の最初の単語を選択する場合と比べて、比較的容易で低エントロピーな決定だからである。 この考えはBLTのアーキテクチャ(§3)に反映されており、3つのトランスフォーマーブロックがある:2つの小規模なバイトレベルのローカルモデルと1つの大規模な潜在トランスフォーマー図2)である。 バイトをパッチにグループ化し、それによって計算リソースを動的に割り当てる方法を決定するために、BLTは次のバイト予測のエントロピーに基づいてデータをセグメント化し、比較的均一な情報密度を持つバイトの文脈化されたグループを作成する。

我々は、8Bパラメータと4Tトレーニングバイトまでのバイトレベルモデルの初めてのflop制御スケーリング研究を提示し、固定語彙トークン化なしでバイトからスケールでモデルをエンドツーエンドでトレーニングできることを示す。 全体として、BLTはLlama 3のトレーニングflop制御パフォーマンス111モデルの計算コストは、必要な浮動小数点演算(flops)の数を数えることで計算する。に匹敵し、推論時に最大50%少ないflopを使用する(§5)。 また、生のバイトを直接扱うことで、データの長いテールのモデリングに大きな改善をもたらすことを示す。BLTモデルは、トークナイザーベースのモデルよりもノイズの多い入力に対してより堅牢であり、正書法の知識、音韻論、低リソース機械翻訳タスクで実証されるように、文字レベルの理解能力が向上している(§6)。 最後に、BLTモデルでは、同じ推論flop予算を維持しながら、モデルサイズとパッチサイズを同時に増加させることができる。パッチサイズが長くなると、平均的に計算を節約でき、それをグローバルな潜在トランスフォーマーのサイズを大きくするために再配分できる。なぜなら、それはより少ない頻度で実行されるからである。我々は推論flop制御スケーリング実験を行い(図1)、トークン化ベースのアーキテクチャよりも著しく優れたスケーリング傾向を観察した。

要約すると、本稿は以下の貢献をする: 1) 我々は、計算を動的に割り当ててflop効率を改善するバイト潜在llmアーキテクチャであるBLTを導入する、 2) 8Bスケールまでのトレーニングflop制御パリティをLlama 3と達成しつつ、評価指標のわずかな損失と引き換えに最大50%のflop効率の向上を選択できることを示す、3) BLTモデルはllmのスケーリングの新次元を開き、固定推論予算を維持しながらモデルサイズをスケーリングできるようになる、4) BLTモデルの入力ノイズに対する改善された堅牢性と、トークンベースのllmが見逃す入力データのサブワード側面への認識を実証する。 我々はBLTのトレーニングおよび推論コードをhttps://github.com/facebookresearch/bltで公開する。

2 Patching: From Individual Bytes to Groups of Bytes

Refer to caption
図3: パッチングスキームは異なる方法でバイトをグループ化し、それぞれが異なる数のパッチを生成する。 各パッチは大規模なトランスフォーマーステップを使用して処理されるため、パッチの数がflopの観点から費やされる計算量の大部分を直接決定する。 これらのスキームは以下の方法でバイトをパッチにグループ化する: (a) MegaByte (Yu et al., 2023)のように4バイトごとにストライドする (§2.1)、(b) Byte-Pair Encoding (bpe)でトークン化する、この場合はLlama-3 (Dubey et al., 2024)トークナイザーを使用、(c & d) 本研究のエントロピーベースのパッチング (§2.3)、(e) スペースバイトでのパッチング (Slagle, 2024)、(f) 2バイトのコンテキストを持つ小規模なCNNバイトレベルモデルを使用したエントロピーによるパッチング。

バイトをパッチに分割することで、BLTはコンテキストに基づいて動的に計算を割り当てることができる。 図3は、バイトをパッチに分割するいくつかの異なる方法を示している。 形式的には、パッチング関数fpsubscript𝑓𝑝f_{p}italic_f start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPTは長さn𝑛nitalic_nのバイト列𝒙={xi,|i=1,n}\boldsymbol{x}=\{x_{i},|i=1,\ldots n\}bold_italic_x = { italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , | italic_i = 1 , … italic_n }m<n𝑚𝑛m<nitalic_m < italic_n個のパッチ𝒑={pj|j=1,,m}𝒑conditional-setsubscript𝑝𝑗𝑗1𝑚\boldsymbol{p}=\{p_{j}|j=1,\ldots,m\}bold_italic_p = { italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT | italic_j = 1 , … , italic_m }の列に分割し、各xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTを集合{0,1}にマッピングする。ここで1は新しいパッチの開始を示す。 トークンベースモデルとパッチベースモデルの両方において、データ処理の計算コストは主に主要なトランスフォーマーによって実行されるステップ数によって決定される。BLTでは、これは与えられたパッチング関数でデータをエンコードするのに必要なパッチの数である。 したがって、パッチの平均サイズ、つまり単にパッチサイズが、与えられたパッチング関数での訓練と推論の両方におけるデータ処理コストを決定する主な要因となる (§4.5)。 次に、我々は3つのパッチング関数を紹介する: パッチごとに固定数のバイトを使用するパッチング (§2.1)、空白パッチング (§2.2)、そして小規模なバイトlmからのエントロピーを用いた動的パッチング (§2.3)。最後に、インクリメンタルパッチングとトークン化がパッチングとどのように異なるかについて議論する (§2.4)。

2.1 Strided Patching Every K Bytes

おそらく、バイトをグループ化する最も直接的な方法は、MegaByte (Yu et al., 2023) で行われているように、固定サイズ k𝑘kitalic_k のパッチにすることである。 固定ストライドは、トレーニングと推論の実装が容易であり、平均パッチサイズを変更するための簡単なメカニズムを提供し、したがって flop コストを制御しやすくする。 しかし、このパッチング関数には重大な欠点がある。 第一に、計算が最も必要な場所に動的に割り当てられない:コード内の空白のみを予測する場合にトランスフォーマーのステップ j𝑗jitalic_j を無駄にしたり、数式のような情報密度の高いバイトに十分な計算を割り当てていない可能性がある。 第二に、これは同様のバイト列の一貫性のない、文脈に依存しないパッチングにつながり、例えば同じ単語が異なる方法で分割されることになる。

2.2 Space Patching

Slagle (2024) は、ストライド化パッチングに対する単純かつ効果的な 改善を提案している。これは、多くの言語で言語単位の自然な境界となる空白のようなバイト222 空白のようなバイトは、ラテン文字、数字、または utf-8 継続バイトではないバイトとして定義される。 さらに、各パッチには少なくとも1つの非空白のようなバイトが含まれていなければならない。 の後に新しいパッチを作成する。 スペースパッチングでは、潜在的なトランスフォーマーのステップ(つまり、より多くの flop)が各単語をモデル化するために割り当てられる。 これにより、単語が異なるシーケンス間で同じ方法でパッチ化され、空白の後に続く難しい予測に flop が割り当てられることが保証される。例えば、「魔笛を作曲したのは誰ですか? 」という質問の答えの最初のバイトを予測することは、「M」の後の残りのバイトを予測するよりもはるかに難しい。なぜなら、最初の文字が可能性の高い選択肢の数を大幅に減らし、「Mozart」という補完を比較的容易に予測できるようにするからである。 しかし、スペースパッチングはすべての言語やドメインを適切に処理することができず、最も重要なことに、パッチサイズを変更することができない。 次に、我々は単語の最初のバイトが通常最も予測が難しいという洞察を利用しつつ、パッチサイズを制御するための自然なメカニズムを提供する新しいパッチング方法を紹介する。

2.3 Entropy Patching: Using Next-Byte Entropies from a Small Byte LM

空白のような規則ベースのヒューリスティックに依存するのではなく、我々はデータ駆動型のアプローチを採用して、不確実性の高い次バイト予測を識別する。 我々はエントロピーパッチングを導入する。これはエントロピー推定値を使用してパッチ境界を導出する手法である。

BLTの訓練データで小規模なバイトレベルの自己回帰言語モデルを訓練し、バイト語彙𝒱𝒱\mathcal{V}caligraphic_Vに対するLM分布pesubscript𝑝𝑒p_{e}italic_p start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPTの下で次バイトのエントロピーを計算する:

H(xi)=v𝒱pe(xi=v|𝒙<i)logpe(xi=v|𝒙<i)𝐻subscript𝑥𝑖subscript𝑣𝒱subscript𝑝𝑒subscript𝑥𝑖conditional𝑣subscript𝒙absent𝑖subscript𝑝𝑒subscript𝑥𝑖conditional𝑣subscript𝒙absent𝑖H(x_{i})=\sum_{v\in\mathcal{V}}p_{e}(x_{i}=v|\boldsymbol{x}_{<i})\log p_{e}(x_% {i}=v|\boldsymbol{x}_{<i})italic_H ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = ∑ start_POSTSUBSCRIPT italic_v ∈ caligraphic_V end_POSTSUBSCRIPT italic_p start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_v | bold_italic_x start_POSTSUBSCRIPT < italic_i end_POSTSUBSCRIPT ) roman_log italic_p start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_v | bold_italic_x start_POSTSUBSCRIPT < italic_i end_POSTSUBSCRIPT ) (1)
Refer to caption
図4: この図は、「Daenerys Targeryen is in Game of Thrones, a fantasy epic by George R.R. Martin.」の各バイトのエントロピーH(xi)𝐻subscript𝑥𝑖H(x_{i})italic_H ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT )をプロットしている。スペースはアンダースコアとして表示されている。 エントロピーが全体的な閾値θgsubscript𝜃𝑔\theta_{g}italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT(赤い水平線で示されている)を超えるとパッチが終了する。 新しいパッチの開始は垂直の灰色の線で示されている。 例えば、「George R.R. Martin」の「G」と「e」のエントロピーがθgsubscript𝜃𝑔\theta_{g}italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPTを超えているため、「G」は単一バイトのパッチの開始となり、「e」はより大きなパッチの開始となり、エントロピーH(xi)𝐻subscript𝑥𝑖H(x_{i})italic_H ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT )が低いままであるため固有表現の終わりまで続き、追加のパッチは生成されない。

我々は、エントロピーH(xi)𝐻subscript𝑥𝑖H(x_{i})italic_H ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT )が与えられた場合にパッチ境界を識別する2つの方法を実験した。1つ目は、図4に示されているように、全体的なエントロピー閾値を超える点を見つける方法である。2つ目は、前のエントロピーと比較して相対的に高い点を識別する方法である。2つ目のアプローチは、パッチ内でおおよそ単調減少するエントロピーを破る点を識別するとも解釈できる。

Global ConstraintH(xt)Global Constraint𝐻subscript𝑥𝑡\displaystyle\text{Global Constraint}\hskip 28.45274ptH(x_{t})Global Constraint italic_H ( italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) >θgabsentsubscript𝜃𝑔\displaystyle>\theta_{g}> italic_θ start_POSTSUBSCRIPT italic_g end_POSTSUBSCRIPT
Approx. Monotonic ConstraintH(xt)Approx. Monotonic Constraint𝐻subscript𝑥𝑡\displaystyle\text{Approx. Monotonic Constraint}\hskip 28.45274ptH(x_{t})Approx. Monotonic Constraint italic_H ( italic_x start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) H(xt1)>θr𝐻subscript𝑥𝑡1subscript𝜃𝑟\displaystyle-H(x_{t-1})>\theta_{r}- italic_H ( italic_x start_POSTSUBSCRIPT italic_t - 1 end_POSTSUBSCRIPT ) > italic_θ start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT

パッチ境界は、データ読み込み中に実行される軽量な前処理ステップで識別される。これは、エントロピーベースのパッチ境界を予測するために分類器が訓練されるNawrot et al. (2023)とは異なる。 我々の実験(§4)では、低エントロピーバイトと高エントロピーバイトを区別するためのこれら2つの方法を比較する。

2.4 The Byte-Pair Encoding (BPE) Tokenizer and Incremental Patching

我々のベースラインであるLlama 3を含む多くの現代のllmは、bpeのようなサブワードトークナイザーを使用している(Gage, 1994; Sennrich et al., 2016)。 我々は、トレーニング前に決定された有限の語彙から抽出されたバイトグループを指す「トークン」と、固定された語彙を持たない動的にグループ化されたシーケンスを指す「パッチ」を区別して使用する。 パッチとトークンの重要な違いは、トークンでは、モデルが基礎となるバイト特徴に直接アクセスできないことである。

トークン化ベースのモデルに対するBLTの重要な改善点は、語彙サイズと計算量のトレードオフを再定義することである。標準的なllmでは、語彙サイズを増やすことは、平均的により大きなトークンを意味し、したがってモデルのステップ数は少なくなるが、モデルの最終投影層の出力次元も大きくなる。このトレードオフにより、トークン化ベースのアプローチがトークンサイズと推論コストに大きな変化をもたらす余地はほとんどない。例えば、Llama 3は平均トークンサイズを3.7バイトから4.4バイトに増やしているが、これはLlama 2と比較して埋め込みテーブルのサイズを4倍に増やすコストがかかっている。

生成時、BLTは、バイトシーケンスの現在のステップがパッチ境界にあるかどうかを決定する必要がある。これは、潜在変換器を通じてより多くの計算が呼び出されるかどうかを決定するためである。この決定は、まだ生成されていないシーケンスの残りの部分とは独立して行われる必要がある。したがって、パッチングはバイトシーケンスをどのようにセグメント化するかを選択するために、将来のバイトへのアクセスを前提とすることはできない。形式的には、パッチングスキームfpsubscript𝑓𝑝f_{p}italic_f start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPTが増分的パッチングの性質を満たすのは、以下を満たす場合である:

fp(𝒙<i)=fp(𝒙)<isubscript𝑓𝑝subscript𝒙absent𝑖subscript𝑓𝑝subscript𝒙absent𝑖f_{p}(\boldsymbol{x}_{<i})=f_{p}(\boldsymbol{x})_{<i}italic_f start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( bold_italic_x start_POSTSUBSCRIPT < italic_i end_POSTSUBSCRIPT ) = italic_f start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( bold_italic_x ) start_POSTSUBSCRIPT < italic_i end_POSTSUBSCRIPT

bpeは増分的パッチングスキームではない。同じプレフィックスが継続シーケンスに応じて異なるトークン化をされる可能性があるため、上記の性質を満たさない333特別な区切りトークンを使用してパッチ境界を示すことで、bpeを増分的パッチングスキームに変換できるが、バイトシーケンスの長さが増加する。

3 BLT Architecture

BLTは、パッチ表現上で動作する大規模なグローバル自己回帰言語モデルと、バイト列をパッチにエンコードし、パッチ表現をバイトにデコードする2つの小規模なローカルモデルで構成されている(図2)。

3.1 Latent Global Transformer Model

潜在グローバルトランスフォーマーは、𝒢𝒢\mathcal{G}caligraphic_G層を持つ自己回帰トランスフォーマーモデルl𝒢subscript𝑙𝒢l_{\mathcal{G}}italic_l start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPTであり、潜在入力パッチ表現の列pjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTを出力パッチ表現の列ojsubscript𝑜𝑗o_{j}italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTにマッピングする。本稿を通じて、我々は添字j𝑗jitalic_jをパッチを表すために、i𝑖iitalic_iをバイトを表すために使用する。グローバルモデルは、ブロック因果的注意マスク(Dubey et al., 2024)を使用し、これは現在の文書内の現在のパッチまでを含む範囲に注意を制限する。このモデルは事前学習および推論時に大部分のflopを消費するため、このモデルを呼び出すタイミングを選択することで、入力/出力の複雑さに応じて入力および出力の異なる部分に費やされる計算量を制御および変更することができる。

3.2 Local Encoder

ローカルエンコーダモデル\mathcal{E}caligraphic_Eで表される)は、l<<l𝒢much-less-thansubscript𝑙subscript𝑙𝒢l_{\mathcal{E}}<<l_{\mathcal{G}}italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT < < italic_l start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT層を持つ軽量なトランスフォーマーベースのモデルであり、その主な役割は入力バイト列bisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTを効率的に表現力豊かなパッチ表現pjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTにマッピングすることである。 トランスフォーマーアーキテクチャからの主な変更点は、各トランスフォーマー層の後にクロスアテンション層を追加したことであり、その機能はバイト表現をパッチ表現にプールすることである(図5)。 まず、入力バイト列bisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT256×hsuperscript256subscript\mathbb{R}^{256\times h_{\mathcal{E}}}blackboard_R start_POSTSUPERSCRIPT 256 × italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT end_POSTSUPERSCRIPT行列を用いて埋め込まれ、xisubscript𝑥𝑖x_{i}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTと表される。 これらの埋め込みは、ハッシュ埋め込み(§3.2.1)の形で追加情報によって任意に拡張される。 一連の交互に配置されたトランスフォーマー層とクロスアテンション層(§3.2.2)が、これらの表現をグローバルトランスフォーマー𝒢𝒢\mathcal{G}caligraphic_Gによって処理されるパッチ表現pisubscript𝑝𝑖p_{i}italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTに変換する。 トランスフォーマー層はローカルブロック因果アテンションマスクを使用する。各バイトは、一般的に動的パッチ境界を越えることはできるが文書境界を越えることはできない、固定ウィンドウのwsubscript𝑤w_{\mathcal{E}}italic_w start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT先行バイトに注目する。 以下のサブセクションでは、埋め込みとクロスアテンションブロックの詳細について説明する。

3.2.1 Encoder Hash n-gram Embeddings

各ステップi𝑖iitalic_iで堅牢で表現力豊かな表現を作成する上で重要な要素は、先行バイトに関する情報を組み込むことである。 BLTでは、バイトbisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTを個別におよびバイトn-gramの一部として両方モデル化することでこれを実現している。 各ステップi𝑖iitalic_iについて、我々はまずバイトグラムを構築する

gi,n={bin+1,,bi}subscript𝑔𝑖𝑛subscript𝑏𝑖𝑛1subscript𝑏𝑖\displaystyle g_{i,n}=\{b_{i-n+1},\ldots,b_{i}\}italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT = { italic_b start_POSTSUBSCRIPT italic_i - italic_n + 1 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } (2)

ここで、各バイト位置i𝑖iitalic_iについてn𝑛nitalic_nは3から8までである。444 n𝑛nitalic_n以上のサイズのバイトグラムは、i<n𝑖𝑛i<nitalic_i < italic_nの場合は省略する。

次に、我々はハッシュn𝑛nitalic_n-gram埋め込みを導入する。これは、各サイズn{3,4,5,6,7,8}𝑛345678n\in\{3,4,5,6,7,8\}italic_n ∈ { 3 , 4 , 5 , 6 , 7 , 8 }について、すべてのバイトn𝑛nitalic_n-gramをハッシュ関数を介して固定サイズの埋め込みテーブルEnhashsuperscriptsubscript𝐸𝑛𝑎𝑠E_{n}^{hash}italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h italic_a italic_s italic_h end_POSTSUPERSCRIPTのインデックスにマッピングする(Bai et al., 2010)。 得られた埋め込みは、バイトの埋め込みに加算され、正規化された後、ローカルエンコーダモデルへの入力として渡される。 我々は拡張された埋め込みを以下のように計算する

eisubscript𝑒𝑖\displaystyle e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT =xi+n=3,,8Enhash(Hash(gi,n))absentsubscript𝑥𝑖subscript𝑛38superscriptsubscript𝐸𝑛𝑎𝑠Hashsubscript𝑔𝑖𝑛\displaystyle=x_{i}+\sum_{n=3,...,8}E_{n}^{hash}(\text{Hash}(g_{i,n}))= italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_n = 3 , … , 8 end_POSTSUBSCRIPT italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h italic_a italic_s italic_h end_POSTSUPERSCRIPT ( Hash ( italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT ) ) (3)
where, Hash(gi,n)where, Hashsubscript𝑔𝑖𝑛\displaystyle\text{where, Hash}(g_{i,n})where, Hash ( italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT ) =RollPolyHash(gi,n)%|Enhash|absentRollPolyHashpercentsubscript𝑔𝑖𝑛superscriptsubscript𝐸𝑛𝑎𝑠\displaystyle=\text{RollPolyHash}(g_{i,n})\%|E_{n}^{hash}|= RollPolyHash ( italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT ) % | italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_h italic_a italic_s italic_h end_POSTSUPERSCRIPT | (4)

我々はeisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTn𝑛nitalic_n-gramサイズの数に1を加えたもので正規化し、付録13で定義されているRollPolyHashを使用する。 セクション7では、異なるn𝑛nitalic_nの値と埋め込みテーブルサイズについて、n𝑛nitalic_n-gramハッシュ埋め込みの効果をflop制御されたスケーリング法則の傾向に対してアブレーション実験を行う。 ハッシュn𝑛nitalic_n-gram埋め込みに加えて、我々は頻度ベースのn𝑛nitalic_n-gram埋め込みも実験し、この探索の詳細を付録14で提供する。

Refer to caption
図5: ローカルエンコーダは、パッチ表現をクエリとし、バイト表現をキー/バリューとするクロスアテンションブロックを使用して、バイト表現をパッチ表現にエンコードする。ローカルデコーダは同様のブロックを使用するが、役割が逆転している。つまり、バイト表現がクエリとなり、パッチ表現がキー/バリューとなる。ここでは、Cross-Attn k=2𝑘2k=2italic_k = 2を使用している。

3.2.2 Encoder Multi-Headed Cross-Attention

我々はPerceiverアーキテクチャの入力クロスアテンションモジュール(Jaegle et al., 2021)に密接に従っているが、主な違いは、潜在表現が固定された潜在表現セットではなく、可変のパッチ表現に対応していること(図5)、および各パッチを構成するバイトにのみ注目することである。 このモジュールは、各パッチpjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTに対応するクエリベクトルで構成されており、これはパッチpjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTに対応するバイト表現をプールし、線形射影Ch×(h×U)subscript𝐶superscriptsubscriptsubscriptsubscript𝑈\mathcal{E}_{C}\in\mathbb{R}^{h_{\mathcal{E}}\times(h_{\mathcal{E}}\times U_{% \mathcal{E}})}caligraphic_E start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT × ( italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT × italic_U start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPTを行うことで初期化される。ここで、Usubscript𝑈U_{\mathcal{E}}italic_U start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPTはエンコーダクロスアテンションヘッドの数である。 形式的には、パッチpjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTに対応するバイト列をfbytes(pj)subscript𝑓bytessubscript𝑝𝑗f_{\text{bytes}}(p_{j})italic_f start_POSTSUBSCRIPT bytes end_POSTSUBSCRIPT ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT )とすると、我々は以下のように計算する

P0,jsubscript𝑃0𝑗\displaystyle P_{0,j}italic_P start_POSTSUBSCRIPT 0 , italic_j end_POSTSUBSCRIPT =C(fbytes((pj)),fis a pooling function\displaystyle=\mathcal{E}_{C}(f_{\text{bytes}}((p_{j})),f\leavevmode\nobreak\ % \text{is a pooling function}= caligraphic_E start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ( italic_f start_POSTSUBSCRIPT bytes end_POSTSUBSCRIPT ( ( italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) , italic_f is a pooling function (5)
Plsubscript𝑃𝑙\displaystyle P_{l}italic_P start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =Pl1+Wo(softmax(QKTdk)V)absentsubscript𝑃𝑙1subscript𝑊𝑜softmax𝑄superscript𝐾𝑇subscript𝑑𝑘𝑉\displaystyle=P_{l-1}+W_{o}\left(\text{softmax}\left(\frac{QK^{T}}{\sqrt{d_{k}% }}\right)V\right)= italic_P start_POSTSUBSCRIPT italic_l - 1 end_POSTSUBSCRIPT + italic_W start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ( softmax ( divide start_ARG italic_Q italic_K start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_ARG start_ARG square-root start_ARG italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG end_ARG ) italic_V ) (6)
where Qjwhere subscript𝑄𝑗\displaystyle\text{where }Q_{j}where italic_Q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT =Wq(Pl1,j),Ki=Wk(hl1,i),Vi=Wv(hl1,i)formulae-sequenceabsentsubscript𝑊𝑞subscript𝑃𝑙1𝑗formulae-sequencesubscript𝐾𝑖subscript𝑊𝑘subscript𝑙1𝑖subscript𝑉𝑖subscript𝑊𝑣subscript𝑙1𝑖\displaystyle=W_{q}(P_{l-1,j}),K_{i}=W_{k}(h_{l-1,i}),V_{i}=W_{v}(h_{l-1,i})= italic_W start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ( italic_P start_POSTSUBSCRIPT italic_l - 1 , italic_j end_POSTSUBSCRIPT ) , italic_K start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_h start_POSTSUBSCRIPT italic_l - 1 , italic_i end_POSTSUBSCRIPT ) , italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ( italic_h start_POSTSUBSCRIPT italic_l - 1 , italic_i end_POSTSUBSCRIPT ) (7)
hlsubscript𝑙\displaystyle h_{l}italic_h start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =Encoder-Transformer-Layerl(hl1)absentsubscriptEncoder-Transformer-Layer𝑙subscript𝑙1\displaystyle=\text{Encoder-Transformer-Layer}_{l}(h_{l-1})= Encoder-Transformer-Layer start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_h start_POSTSUBSCRIPT italic_l - 1 end_POSTSUBSCRIPT ) (8)

ここで、Pnp×h𝒢𝑃superscriptsubscript𝑛𝑝subscript𝒢P\in\mathbb{R}^{n_{p}\times h_{\mathcal{G}}}italic_P ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT × italic_h start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT end_POSTSUPERSCRIPTはグローバルモデルによって処理されるnpsubscript𝑛𝑝n_{p}italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPTパッチ表現を表し、各パッチpjsubscript𝑝𝑗p_{j}italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTに対応するバイト埋め込みeisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTをプールすることで初期化される。 Wqsubscript𝑊𝑞W_{q}italic_W start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPTWksubscript𝑊𝑘W_{k}italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPTWvsubscript𝑊𝑣W_{v}italic_W start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPTWosubscript𝑊𝑜W_{o}italic_W start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPTは、クエリ、キー、バリュー、出力に対応する射影であり、キーとバリューは前の層(最初の層の場合はeisubscript𝑒𝑖e_{i}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT)からのバイト表現hisubscript𝑖h_{i}italic_h start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPTの射影である。 我々は、各クエリQjsubscript𝑄𝑗Q_{j}italic_Q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPTがパッチj𝑗jitalic_j内のバイトに対応するキーとバリューにのみ注目するパッチング特有のマスキング戦略を使用する。Q,K𝑄𝐾Q,Kitalic_Q , italic_KV𝑉Vitalic_Vに対してマルチヘッドアテンションを使用し、パッチ表現は通常より大きな次元(h𝒢subscript𝒢h_{\mathcal{G}}italic_h start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT)を持つため、クロスアテンション時にPlsubscript𝑃𝑙P_{l}italic_P start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPTを次元hsubscripth_{\mathcal{E}}italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPTの複数のヘッドとして維持し、後でこれらの表現をh𝒢subscript𝒢h_{\mathcal{G}}italic_h start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT次元に連結する。 さらに、クエリ、キー、バリューにはpre-LayerNormを使用し、このクロスアテンションモジュールでは位置埋め込みは使用しない。 最後に、クロスアテンションブロックの周りに残差接続を使用する。

3.3 Local Decoder

ローカルエンコーダーと同様に、ローカルデコーダー 𝒟𝒟\mathcal{D}caligraphic_Dl𝒟<<l𝒢much-less-thansubscript𝑙𝒟subscript𝑙𝒢l_{\mathcal{D}}<<l_{\mathcal{G}}italic_l start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT < < italic_l start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT 層を持つ軽量なトランスフォーマーベースのモデルであり、グローバルパッチ表現のシーケンス ojsubscript𝑜𝑗o_{j}italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT を生のバイト yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT にデコードする。ローカルデコーダーは、以前にデコードされたバイトの関数として生のバイトのシーケンスを予測するため、バイトシーケンスに対してローカルエンコーダーが生成した隠れ表現を入力として受け取る。 これは、クロスアテンションとトランスフォーマー層の l𝒟subscript𝑙𝒟l_{\mathcal{D}}italic_l start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT 個の交互の層を適用する。デコーダーのクロスアテンション層は、トランスフォーマー層の前に適用され、まずパッチ表現からバイト表現を作成し、ローカルデコーダーのトランスフォーマー層は結果として得られるバイトシーケンスに対して動作する。

3.3.1 Decoder Multi-headed Cross-Attention

デコーダーのクロスアテンションでは、クエリとキー/バリューの役割が入れ替わる。つまり、バイト表現がクエリとなり、パッチ表現がキー/バリューとなる。クロスアテンションの初期バイト表現は、最後のエンコーダー層のバイト埋め込み、すなわち hlsubscriptsubscript𝑙h_{l_{\mathcal{E}}}italic_h start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT end_POSTSUBSCRIPT として初期化される。層 l𝑙litalic_l の後続のバイト表現 dl,isubscript𝑑𝑙𝑖d_{l,i}italic_d start_POSTSUBSCRIPT italic_l , italic_i end_POSTSUBSCRIPT は以下のように計算される:

D0subscript𝐷0\displaystyle D_{0}italic_D start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT =hlabsentsubscriptsubscript𝑙\displaystyle=h_{l_{\mathcal{E}}}= italic_h start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT end_POSTSUBSCRIPT (9)
Blsubscript𝐵𝑙\displaystyle B_{l}italic_B start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =Dl1+Wo(softmax(QKTdk)V),absentsubscript𝐷𝑙1subscript𝑊𝑜softmax𝑄superscript𝐾𝑇subscript𝑑𝑘𝑉\displaystyle=D_{l-1}+W_{o}\left(\text{softmax}\left(\frac{QK^{T}}{\sqrt{d_{k}% }}\right)V\right),= italic_D start_POSTSUBSCRIPT italic_l - 1 end_POSTSUBSCRIPT + italic_W start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT ( softmax ( divide start_ARG italic_Q italic_K start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_ARG start_ARG square-root start_ARG italic_d start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_ARG end_ARG ) italic_V ) , (10)
where Qi=Wq(dl1,i),Ki=Wk(𝒟C(oj)),Vi=Wv(𝒟C(oj))formulae-sequencewhere subscript𝑄𝑖subscript𝑊𝑞subscript𝑑𝑙1𝑖formulae-sequencesubscript𝐾𝑖subscript𝑊𝑘subscript𝒟𝐶subscript𝑜𝑗subscript𝑉𝑖subscript𝑊𝑣subscript𝒟𝐶subscript𝑜𝑗\displaystyle\text{where }Q_{i}=W_{q}(d_{l-1,i}),K_{i}=W_{k}(\mathcal{D}_{C}(o% _{j})),V_{i}=W_{v}(\mathcal{D}_{C}(o_{j}))where italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT ( italic_d start_POSTSUBSCRIPT italic_l - 1 , italic_i end_POSTSUBSCRIPT ) , italic_K start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( caligraphic_D start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ( italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) , italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_W start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ( caligraphic_D start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT ( italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ) (11)
Dlsubscript𝐷𝑙\displaystyle D_{l}italic_D start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT =Decoder-Transformer-layerl(Bl)absentsubscriptDecoder-Transformer-layer𝑙subscript𝐵𝑙\displaystyle=\text{Decoder-Transformer-layer}_{l}(B_{l})= Decoder-Transformer-layer start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( italic_B start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) (12)

ここでも、Wk,Wvsubscript𝑊𝑘subscript𝑊𝑣W_{k},W_{v}italic_W start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_W start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT はグローバルモデルからの最終パッチ表現 ojsubscript𝑜𝑗o_{j}italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT に適用される線形変換と分割操作 𝒟Csubscript𝒟𝐶\mathcal{D}_{C}caligraphic_D start_POSTSUBSCRIPT italic_C end_POSTSUBSCRIPT に対して動作するキー/バリュー射影行列であり、Wqsubscript𝑊𝑞W_{q}italic_W start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT は前のデコーダートランスフォーマー層(または最初の層の場合は hlsubscriptsubscript𝑙h_{l_{\mathcal{E}}}italic_h start_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT end_POSTSUBSCRIPT)からのバイト表現 dl1subscript𝑑𝑙1d_{l-1}italic_d start_POSTSUBSCRIPT italic_l - 1 end_POSTSUBSCRIPT に対して動作するクエリ射影行列であり、Wosubscript𝑊𝑜W_{o}italic_W start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT は出力射影行列である。したがって、Bh𝒟×nb𝐵superscriptsubscript𝒟subscript𝑛𝑏B\in\mathbb{R}^{h_{\mathcal{D}}\times n_{b}}italic_B ∈ blackboard_R start_POSTSUPERSCRIPT italic_h start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT end_POSTSUPERSCRIPT となり、ここで nbsubscript𝑛𝑏n_{b}italic_n start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT は出力バイト数である。次のデコーダー表現 Dlsubscript𝐷𝑙D_{l}italic_D start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT は、クロスアテンションブロックの出力 B𝐵Bitalic_B に対してデコーダートランスフォーマー層を使用して計算される。ローカルエンコーダーのクロスアテンションと同様に、我々はアテンションで複数のヘッドを使用し、事前のLayerNormを使用し、位置埋め込みは使用せず、クロスアテンションモジュールの周りに残差接続を使用する。

4 Experimental Setup

我々は、BLTとトークン化ベースのモデルを比較するために、慎重に制御された実験を設計した。特に、BLTがより長いシーケンスコンテキストを使用する可能性からの利点を得ないように注意を払った。

4.1 Pre-training Datasets

本稿で実験するすべてのモデルスケールは、2つのデータセットで事前学習されている:1) Llama 2データセット(Touvron et al., 2023)。これは、様々な公開ソースから収集された2兆トークンで構成され、品質向上のためにクリーニングとフィルタリングが行われている。2) BLT-1T:様々な公開ソースから収集された1兆トークンの新しいデータセットで、Datacomp-LM(Li et al., 2024)によってリリースされた事前学習データの一部も含まれている。前者は、Dubey et al. (2024)によって決定されたトークンの最適数に関するスケーリング法実験に使用され、BLTの最適なアーキテクチャ選択を決定するために用いられる。後者は、ダウンストリームタスクでLlama 3と比較するための完全な事前学習実行に使用される。これらのデータセットには、Metaの製品やサービスから収集されたデータは含まれていない。 さらに、トークナイザーベースのモデルのベースライン実験では、128Kトークンの語彙サイズを持つLlama 3トークナイザーを使用した。これは我々の実験において、Llama 2トークナイザーよりも強力なベースラインパフォーマンスを生成した。

4.2 Entropy Model

我々の実験におけるエントロピーモデルは、完全なBLTモデルと同じ訓練分布で訓練されたバイトレベルの言語モデルである。特に言及がない限り、我々は1億パラメータ、14層、隠れ次元512、512バイトのスライディングウィンドウ注意を持つトランスフォーマーを使用する。残りのハイパーパラメータは、我々のローカルおよびグローバルトランスフォーマーと同じである。我々は、セクション7で議論されているように、異なるモデルサイズ、受容野、およびアーキテクチャを実験した。特に、モデルの受容野が十分に小さい場合、訓練されたエントロピーモデルは効率的なルックアップテーブルにエンコードできる。

4.3 Entropy Threshold and Equalizing Context Length

エントロピーベースのパッチングを使用するモデルでは、事前学習データミックスにおいて所望の平均パッチサイズを達成するパッチング閾値を推定する。BLTでは、トークン化とは異なり、パッチサイズを任意に選択できるため、モデルが使用する文脈サイズに大きな影響を与える。 同じ平均文脈長を維持し、より大きなパッチサイズに不当な優位性を与えないようにするため、我々は各バッチのバイト数が期待値において一定になるようにしている。これは、より大きなパッチサイズを持つモデルのシーケンス長を短縮することを意味する。Llama 2データでは8kバイトの文脈を使用し、BLT-1Tデータセットでは、平均16Mバイトの同じバッチサイズを維持しながら、平均で文脈を16kバイトに増加させる。

平均バッチサイズは一定であるが、データのバッチをロードする際、動的パッチング手法はバイトとパッチの異なる比率を生み出す。 効率性の理由から、BLT学習の我々の実装では、より計算コストの高い潜在変換器におけるパディングステップを避けるため、パッチのバッチをパックしている。これにより、すべてのバッチが同じ数のパッチを持つことが保証される。学習中、我々は異常に大きなパッチを持つシーケンスによるメモリスパイクを避けるため、Llama 2およびBLT-1Tデータセットに対してそれぞれ12kおよび24kバイトにバイトシーケンスをパディングし、場合によっては切り捨てる。

4.4 Entropy Model Context

経験的に、我々はエントロピーパッチングを使用すると、多肢選択タスクのような構造化されたコンテンツにおいて徐々に大きなパッチが生成されることを発見した(図9のMMULUの例におけるパッチングを参照)。これらの変動は、エントロピーモデルの文脈に見られる繰り返しコンテンツによる低いエントロピーに起因する。そのため、パッチサイズ4.5のBLT-Entropyの大規模実行では、改行でエントロピー文脈をリセットし、文脈長の変化による「エントロピードリフト」の影響が少ない近似的単調性制約を使用する。この変更はエントロピーの計算方法にのみ影響を与えるが、エントロピー閾値の値を特定する手順は同じままである。

4.5 FLOPs Estimation

我々は、主にChinchilla (Hoffmann et al., 2022)からのトランスフォーマーのFLOP計算式に従っており、これにはフィードフォワード層、自己注意層のqkvo投影、注意の計算と出力投影のFLOPが含まれる。 注目すべき違いは、入力埋め込み層が密行列乗算ではなく効率的な検索として実装されていると仮定しているため、0-FLOP操作となることである。 先行研究に倣い、逆伝播のFLOP数は順伝播の2倍と推定している。

BLTモデルのバイトあたりのFLOPを計算するために、我々はローカルエンコーダートランスフォーマー、グローバル潜在トランスフォーマー、ローカルデコーダートランスフォーマーのFLOPを合計し、さらにエンコーダーとデコーダーのクロスアテンションブロックを加算する:

FLBLTsubscriptFLBLT\displaystyle\text{FL}_{\text{{{B}LT}{}}}FL start_POSTSUBSCRIPT smallcaps_B LT end_POSTSUBSCRIPT =Transf. FL(h𝒢,l𝒢,m=nctx/np,V=0)/np\displaystyle=\text{Transf. FL}(h_{\mathcal{G}},l_{\mathcal{G}},m=n_{ctx}/n_{p% },V=0)/n_{p}= Transf. FL ( italic_h start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT , italic_m = italic_n start_POSTSUBSCRIPT italic_c italic_t italic_x end_POSTSUBSCRIPT / italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT , italic_V = 0 ) / italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT (13)
+Transf. FL(h,l,m=w,V=0)\displaystyle+\text{Transf. FL}(h_{\mathcal{E}},l_{\mathcal{E}},m=w_{\mathcal{% E}},V=0)+ Transf. FL ( italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT , italic_m = italic_w start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT , italic_V = 0 ) (14)
+Transf. FL(h𝒟,l𝒟,m=w𝒟,V=256)\displaystyle+\text{Transf. FL}(h_{\mathcal{D}},l_{\mathcal{D}},m=w_{\mathcal{% D}},V=256)+ Transf. FL ( italic_h start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT , italic_m = italic_w start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT , italic_V = 256 ) (15)
+Cross Attn. FL(h,l,m=np,r=np/k)×k/np\displaystyle+\text{Cross Attn. FL}(h_{\mathcal{E}},l_{\mathcal{E}},m=n_{p},r=% n_{p}/k)\times k/n_{p}+ Cross Attn. FL ( italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT , italic_m = italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT , italic_r = italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT / italic_k ) × italic_k / italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT (16)
+Cross Attn. FL(h𝒟,l𝒟,m=k,r=k/np)\displaystyle+\text{Cross Attn. FL}(h_{\mathcal{D}},l_{\mathcal{D}},m=k,r=k/n_% {p})+ Cross Attn. FL ( italic_h start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT , italic_l start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT , italic_m = italic_k , italic_r = italic_k / italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ) (17)

ここで、nctxsubscript𝑛𝑐𝑡𝑥n_{ctx}italic_n start_POSTSUBSCRIPT italic_c italic_t italic_x end_POSTSUBSCRIPTはバイト単位のシーケンス長、npsubscript𝑛𝑝n_{p}italic_n start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPTはパッチサイズ、r𝑟ritalic_rはキー/バリューに対するクエリの比率、k𝑘kitalic_kはバイト次元に対するパッチ次元の比率、つまりグローバルモデル表現を形成するために連結されるローカルモデル分割の数(図5k=2𝑘2k=2italic_k = 2)である。V𝑉Vitalic_Vは出力投影の語彙サイズに対応し、これはローカルデコーダーでのみ使用される。 モジュールがバイトシーケンスまたはパッチシーケンスのどちらに適用されるかに応じて、注意は異なる文脈長m𝑚mitalic_mを使用する。我々は各コンポーネントの注意のFLOPを適切に修正している。 トランスフォーマーFLOPとクロスアテンションFLOPの正確な計算式は付録12に記載されている。

4.6 Bits-Per-Byte Estimation

パープレキシティは固定のトークナイザーの文脈でのみ意味を持つ、各トークンの不確実性の尺度である。バイトレベルとトークンレベルのモデルを比較する際、先行研究(Xue et al., 2022; Yu et al., 2023; Wang et al., 2024)に従い、我々はトークナイザーに依存しないパープレキシティの版であるビット/バイト(BPB)を代わりに報告する。具体的には:

BPB(x)BPB𝑥\displaystyle\text{BPB}(x)BPB ( italic_x ) =CE(𝒙)ln(2)nbytesabsentsubscript𝐶𝐸𝒙2subscript𝑛bytes\displaystyle=\frac{\mathcal{L}_{CE}(\boldsymbol{x})}{\ln(2)\cdot n_{\text{% bytes}}}= divide start_ARG caligraphic_L start_POSTSUBSCRIPT italic_C italic_E end_POSTSUBSCRIPT ( bold_italic_x ) end_ARG start_ARG roman_ln ( 2 ) ⋅ italic_n start_POSTSUBSCRIPT bytes end_POSTSUBSCRIPT end_ARG (18)

ここで、データ𝒙𝒙\boldsymbol{x}bold_italic_xに対する不確実性𝒙𝒙\boldsymbol{x}bold_italic_xは、クロスエントロピー損失の合計として測定され、𝒙𝒙\boldsymbol{x}bold_italic_xの総バイト数と定数で正規化される。

4.7 Transformer Architecture Hyperparameters

BLTのすべてのTransformerブロック、つまりローカルモデルとグローバルモデルの両方において、我々は主にLlama 3 (Dubey et al., 2024)のアーキテクチャに従っている。フィードフォワード層ではSwiGLU活性化関数(Shazeer, 2020)を使用し、自己注意層では回転位置埋め込み(RoPE)(Su et al., 2021)θ=500000𝜃500000\theta=500000italic_θ = 500000 (Xiong et al., 2024)とともに使用し、層正規化にはRMSNorm (Zhang and Sennrich, 2019)を使用している。ブロック因果固定幅ブロック因果などの固定標準注意マスクを使用するすべての自己注意層にはFlash attention (Dao et al., 2022)を使用し、固定幅注意マスクのウィンドウサイズは512としている。我々のクロス注意層は動的なパッチ依存マスクを含むため、融合実装を生成し、トレーニングを大幅に高速化するためにFlex Attention555https://pytorch.org/blog/flexattentionを使用している。

4.8 BLT-Specific Hyperparameters

BLTモデルの有効性を研究するために、我々はスケーリングの傾向とダウンストリームタスクの評価という2つの方向で実験を行い、これらの実験のために400M、1B、2B、4B、8Bの異なるスケールのモデルを考慮する。これらのモデルのアーキテクチャハイパーパラメータは付録の表10に示されている。 我々はローカルエンコーダーの最初のクロスアテンション層のクエリを初期化するためにmax-poolingを使用する。すべてのBLTモデルに対して、500,000500000500,000500 , 000ハッシュを単一のハッシュ関数で使用し、n-gramサイズは3から8の範囲である。我々はすべてのモデルに対して学習率4e44𝑒44e-44 italic_e - 4を使用する。トークンモデルとBLTモデル間で同じ学習率を選択したのは、400Mと1Bのモデルスケールで1e31𝑒31e-31 italic_e - 3から1e41𝑒41e-41 italic_e - 4の間でハイパーパラメータ探索を行った結果、同じ学習率が最適であることが示されたためである。 Llama-2データのスケーリング傾向については、Dubey et al. (2024)が推奨するトレーニングバッチサイズまたはそれに相当するバイト数を使用する。最適化には、AdamW最適化器(Loshchilov and Hutter, 2017)を使用し、β1subscript𝛽1\beta_{1}italic_β start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTを0.9、β2subscript𝛽2\beta_{2}italic_β start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTを0.95に設定し、ϵ=108italic-ϵsuperscript108\epsilon=10^{-8}italic_ϵ = 10 start_POSTSUPERSCRIPT - 8 end_POSTSUPERSCRIPTを使用する。我々は2000ステップの線形ウォームアップと学習率を0まで減衰させるコサインスケジュールを使用し、0.1の重み減衰を適用し、グローバル勾配クリッピングを閾値1.0で行う。

5 Scaling Trends

我々は、BLTモデルのさらなるスケーリングに情報を提供できるバイトレベルモデルのスケーリング傾向の全体像を提示する。 我々のスケーリング研究は、以下の方法でバイトレベルモデルに関する従来の研究の限界に対処することを目的としている:(a) 計算最適な訓練レジームの傾向を比較する、(b) 無視できない量の訓練データ(最大1Tトークン/4Tバイト)で一致する8Bモデルを訓練し、下流タスクで評価する、(c) 推論コスト制御設定でスケーリング傾向を測定する。 後のセクションでは、バイト列のモデリングによる具体的な利点を調査する。

Refer to caption
Refer to caption
図6: 異なるアーキテクチャ選択を持つBLTモデル、およびベースラインのBPEトークンベースモデルのスケーリング傾向。我々は、Dubey et al. (2024)によって計算された最適なトークン数で1Bから8Bパラメータまでの複数のスケールでモデルを訓練し、訓練分布のサンプルに対するビット/バイトを報告する。BLTモデルは、スケールにおいてLlama 3などの最先端のトークナイザーベースのモデルと同等のパフォーマンスを示す。PSはパッチサイズを表す。我々は、空間パッチング()に関する個別のアーキテクチャ改善を示し、それらを動的パッチング()と組み合わせる。

5.1 Parameter Matched Compute Optimal Scaling Trends

Llama 2データセットを使用して、我々は1Bから8Bパラメータの範囲で4つの異なるサイズの様々な計算最適bpeおよびBLTモデルを訓練した。その後、訓練データ混合の代表的なサブセットに対する言語モデリング性能に対して訓練flopをプロットした。 bpeモデルは、Llama 3 (Dubey et al., 2024)によって決定されたモデルパラメータと訓練データの最適な比率を使用して訓練された。この計算最適セットアップは、理論的に与えられた訓練予算内で訓練データセットに対して最高の性能を達成するように設計されており(Hoffmann et al., 2022)、我々のモデルの堅牢なベースラインを提供する。 各bpeモデルに対して、我々は同じデータで対応するBLTモデルも訓練し、対応するbpeTransformerのサイズとアーキテクチャに一致するLatent Transformerを使用した。

図6(右)に示されているように、BLTモデルはそれらのbpeカウンターパートと同等かそれ以上の性能を示し、この傾向はモデルサイズとflopをスケールアップしても維持される。我々の知る限り、BLTは計算最適レジームでBPEベースのモデルと一致するスケーリング傾向を達成した最初のバイトレベルTransformerアーキテクチャである。したがって、これはbpeのパラメータと訓練計算の最適比率がBLTにも適用されるという我々の仮定を検証するものである、あるいは少なくともそれほど大きく外れていないことを示している。

アーキテクチャの改善と動的パッチングの両方がbpeのスケーリング傾向に一致するために重要である。図6(左)では、我々はスペースパッチングベースのモデルをLlama 3と比較している。我々はSpaceByte (Slagle, 2024)を、n-gram埋め込みとクロスアテンションを使用しないBLTスペースパッチングを用いて近似した。 SpaceByteはMegabyteを改善しているが、依然としてLlama 3には遠く及ばない。図6(右)では、アーキテクチャの変更と動的パッチングの両方からの改善を示している。BLTモデルは、スケールにおいてLlama 3のような最先端のトークナイザーベースのモデルと同等の性能を示している。

我々はまた、トークナイザーベースのモデルにおいて、トークナイザーの選択が性能に与える影響も観察した。つまり、同じ訓練データで訓練された場合、Llama-3トークナイザーを使用して訓練されたモデルはLlama-2トークナイザーを使用して訓練されたモデルよりも優れた性能を示す。

最後に、我々のBLTアーキテクチャは、かなり大きなパッチサイズを使用した場合、Llama 2と3の間の傾向を示す。Llama 2と3のbpeトークナイザーの平均トークンサイズはそれぞれ3.7バイトと4.4バイトである。対照的に、BLTは平均パッチサイズ6バイト、さらには8バイトでも同様のスケーリング傾向を達成できる。推論flopは平均パッチサイズに反比例するため、8バイトのパッチサイズを使用すると、推論flopを約50%削減できる。 より大きなパッチサイズのモデルは、モデルとデータサイズをスケールアップするにつれてより良い性能を示すようである。パッチサイズ8のBLTは1Bでbpe Llama 2と比較して大幅に劣る点から始まるが、7Bスケールではbpeよりも優れた性能を示す。これは、そのようなパッチサイズがさらに大きなスケールでより良い性能を示す可能性があり、おそらくモデルサイズと訓練計算が増加するにつれて、さらに大きなパッチサイズも実現可能であることを示唆している。

5.2 Beyond Compute Optimal Task Evaluations

スケーリング特性をさらに評価するために、我々は8BのBLTモデルを計算最適比を超えてBLT-1Tデータセット(より大規模で高品質なデータセット)で訓練し、標準的な分類および生成ベンチマークのスイートでパフォーマンスを測定する。評価のために、以下の常識推論、世界知識、コード生成タスクを選択する:

Classification tasks

ARC-Easy(0ショット)(Clark et al., 2018)、Arc-Challenge(0ショット)(Clark et al., 2018)、HellaSwag(0ショット)(Zellers et al., 2019)、PIQA(0ショット)(Bisk et al., 2020)、およびMMLU(5ショット)(Hendrycks et al., 2020)を含む。我々はプロンプトスコアリング法を採用し、選択肢の文字に対する尤度を計算し、平均精度を報告する。

Coding related generation tasks:

我々はMBPP(3ショット)(Austin et al., 2021)とHumanEval(0ショット)(Chen et al., 2021)のpass@1スコアを報告し、LLMのPythonコード生成能力を評価する。

表1: 公開されているソースからのテキストとコードの高品質トークンで構成されるBLT-1Tデータセットで訓練された、フロップマッチングされたBLT 8Bモデルと、Llama 3トークナイザーを使用したベースラインモデルの比較。BLTは平均してLlama 3よりも優れており、パッチングスキームに応じて、パフォーマンスをわずかに低下させるだけで大幅なフロップ削減を達成している。
Llama 3
1T Tokens
BLT-Space
6T Bytes
BLT-Entropy
4.5T Bytes
Arc-E 77.6 75.4 79.6
Arc-C 53.3 49.8 52.1
HellaSwag 79.1 79.6 80.6
PIQA 80.7 81.1 80.6
MMLU 58.1 54.8 57.4
MBPP 40.2 37.6 41.8
HumanEval 31.1 27.4 35.4
平均 60.0 58.0 61.1
訓練ミックスにおけるバイト/パッチ 4.4 6.1 4.5

表1では、BLT-1Tデータセットで訓練された3つのモデルを比較している:bpe Llama 3トークナイザーベースのモデル、666我々は、Llama 2の32kボキャブラリーよりも性能が優れているため、128kボキャブラリーを持つLlama 3トークナイザーを選択した。およびBLTモデルの2つのバリアント。1つはスペースパッチングスキーム(BLT-Space)を採用し、もう1つはエントロピーベースのパッチングスキーム(BLT-Entropy)を使用している。これらは近似的な単調性制約を持ち、エントロピーモデルのコンテキストを改行で初期化している(4.4節で議論されている通り)。3つのモデルはすべて同等のフロップ予算で訓練されている。ただし、BLT-Entropyでは、推論時にエントロピーしきい値を0.6から0.1に調整しており、これによりより多くの推論ステップを犠牲にしてタスクパフォーマンスが向上することを見出している。

BLT-Entropyモデルは、同じバイト数で訓練されているにもかかわらず、7つのタスクのうち4つでLlama 3モデルを上回っている。この改善は、(1)動的パッチングによる訓練計算の効率的な使用、および(2)トークンではなくバイトレベルの情報を直接モデル化していることの組み合わせによるものと考えられる。

一方、BLT-Spaceは1つのタスクを除いてLlama 3トークナイザーを下回っているが、平均パッチサイズが6バイトと大きいため、推論フロップを大幅に削減している。 比較すると、bpeとエントロピーパッチングベースのモデルは、訓練データミックスにおいて約4.5バイトとほぼ同等の平均パッチサイズを持っている。同じ訓練予算で、より大きなパッチサイズのモデルは他の2つのモデルよりも30%多くのデータをカバーしており、これによりBLTが計算最適点からさらに離れる可能性がある。

Llama 2 Llama 3 Entropy ps=6 Entropy ps=8 Inference flops Compute Optimal (Bytes) Crossover (Bytes)
470m 450m 610m (1.2x) 760m (1.6x) 3.1E8 50B 150B
3.6B 3.9B 5.2B  (1.3x) 6.6B  (1.7x) 2.1E9 400B 1T
表2: 固定推論スケーリング研究で使用されたモデルの詳細。各モデルの非埋め込みパラメータとLlama 2と比較した相対数を報告している。バイトあたりの推論フロップが等しいモデルサイズを選択している。また、BPEの計算最適な訓練データ量と、図1に示されているBLTがBPEを上回るクロスオーバーポイントも示している(どちらも訓練データのバイト数で表現)。このポイントは、多くの現代の訓練予算と比較してはるかに小さなスケールで達成される。

5.3 Patches Scale Better Than Tokens

BLTモデルでは、トレーニングと推論のflop予算を維持し、トレーニングデータ量を一定に保ちながら、モデルサイズとパッチサイズを同時に増加させることができる。パッチサイズを任意に増加させることは、固定語彙のトークンベースモデルの効率性のトレードオフから解放された、パッチベースモデル特有の機能である。これについては第2.4節で議論した。より長いパッチサイズは計算量を節約し、その節約分をグローバルな潜在変換器のサイズ拡大に再配分することができる。なぜなら、それはより少ない頻度で実行されるからである。

Llama 3
(1T tokens)
Llama 3.1
(16T tokens)
BLT
(1T tokens)
HellaSwag オリジナル 79.1 80.7 80.6
HellaSwag ノイズ平均 56.9 64.3 64.3
- AntSpeak 45.6 61.3 57.9
- Drop 53.8 57.3 58.2
- RandomCase 55.3 65.0 65.7
- Repeat 57.0 61.5 66.6
- UpperCase 72.9 76.5 77.3
音韻論-G2P 11.8 18.9 13.0
CUTE 27.5 20.0 54.1
- 文字を含む 0.0 0.0 55.9
- 単語を含む 55.1 21.6 73.5
- 文字削除 34.6 34.3 35.9
- 単語削除 75.5 84.5 56.1
- 文字挿入 7.5 0.0 7.6
- 単語挿入 33.5 63.3 31.2
- 正書法 43.1 0.0 52.4
- 意味 65 0.0 90.5
- スペリング 1.1 - 99.9
- スペリング逆 30.1

6 Byte Modeling Improves Robustness

我々は、直接的なバイトレベルの情報を持たないトークンベースのモデルと比較して、BLTの堅牢性も測定し、事前学習済みのトークンベースモデルをバイト化するアプローチを提示する。

6.1 Character-Level Tasks

バイトレベルモデルを訓練する非常に初期の動機は、入力のバイトレベルノイズに対する堅牢性を活用し、また現在のトークナイザーベースのモデルが苦戦しているトークンの構成要素に対する認識を利用することでした。これらの現象を測定するために、我々は入力ノイズに対する堅牢性と文字(英語および多言語、数字や音素を含む)の認識の両方を評価するベンチマークで追加の評価を行います。これらの結果を表3に示します。

Noisy Data

我々は、セクション5.2で説明したベンチマーク分類タスクのノイズ版を作成し、トークナイザーベースのモデルとBLTの堅牢性を比較します。 テキストにバリエーションを導入するために、5つの異なる文字レベルのノイズ付与戦略を採用しています:(a) AntSpeak:テキスト全体を大文字の空白区切り文字に変換します。(b) Drop:テキストからランダムに10%の文字を削除します。(c) RandomCase:テキスト全体で50%の文字をランダムに大文字に、50%を小文字に変換します。(d) Repeat:20%の文字を最大4回まで繰り返します。(e) UpperCase:テキスト内のすべての文字を大文字に変換します。 評価時には、各ノイズ付与戦略をプロンプト、補完、またはその両方に別々のタスクとして適用し、平均スコアを報告します。表3では、ノイズを付与したHellaSwag (Zellers et al., 2019)の結果を報告しており、BLTが堅牢性の面で全体的にトークナイザーベースのモデルを上回っていることがわかります。同じデータで訓練されたモデルに対して平均8ポイントの優位性があり、さらに遥かに大規模なデータセットで訓練されたLlama 3.1モデルをも上回っています。

Phonology - Grapheme-to-Phoneme (G2P)

我々は、BLTのグラフェーム(単語を表す文字)の列をその単語の発音の転写(音素)にマッピングする能力を評価します。表3では、Phonology Bench (Suvarna et al., 2024)を使用した5ショット設定でのG2Pタスクの結果を示しており、BLTがこのタスクでベースラインのLlama 3 1Tトークナイザーベースモデルを上回っていることがわかります。

Task Prompt Llama 3 BLT
Substitute Word Question: Substitute " and " with " internet " in " She went to the kitchen and saw two cereals. ". Answer: She went to the kitchen and saw two cereals. She went to the kitchen internet saw two cereals.
Swap Char Question: Swap " h " and " a " in " that ". Answer: that taht
Substitute Char Question: Substitute " a " with " m " in " page ". Answer: - pmge
Semantic Similarity Question: More semantically related to " are ": " seem ", " acre ". Answer: acre seem
Orthographic Similarity Question: Closer in Levenshtein distance to " time ": " timber ", " period ". Answer: period timber
Insert Char Question: Add an " z " after every " n " in " not ". Answer: znotz nzot
図7: CUTEベンチマークの様々なタスクに対するLlama 3とBLTモデルの出力応答。BLTモデルは、トークナイザーベースのLlama 3モデルと比較して、シーケンス操作タスクでより良いパフォーマンスを示しています。なお、明確さを保つため、上記のプロンプトには少数ショットの例は表示されていません。
CUTE

文字レベルの理解を評価するために、我々はBLTをCUTEベンチマーク (Edman et al., 2024)で評価します。このベンチマークは、構成の理解、正書法的類似性の理解、シーケンス操作能力の3つのカテゴリーに大きく分類されるいくつかのタスクで構成されています。このベンチマークは、ほとんどのトークナイザーベースのモデルにとって大きな課題となっています。なぜなら、これらのモデルはトークンのスペリングに関する知識を持っているように見えますが、この情報を効果的に利用してテキストを操作することに苦戦しているからです。表3は、BLT-Entropyがこのベンチマークで両方のBPE Llama 3モデルを25ポイント以上上回っていることを示しています。特に、我々のモデルは文字操作タスクで卓越した能力を示し、両方のスペリングタスクで99.9%を達成しています。BLTがLlama 3.1の16分の1のデータで訓練されているにもかかわらず、このような大幅な改善が見られることは、文字レベルの情報がBPEモデルにとって学習が困難であることを示しています。 図7は、Llama 3トークナイザーモデルが苦戦しているが、我々のBLTモデルがうまく機能しているいくつかのシナリオを示しています。 単語の削除と挿入は、BPEがより良いパフォーマンスを示す唯一の2つのタスクです。このような単語操作はバイトレベルモデルにとって直接的ではないかもしれませんが、その差はそれほど大きくなく、文字から単語を構築する方が逆よりも容易である可能性があります。我々はすべてのタスクで同じ評価セットアップを使用し、Huggingfaceのオリジナルのプロンプトを使用しています。BPEモデルは追加のプロンプトエンジニアリングから恩恵を受ける可能性があります。

Low Resource Machine Translation

我々は、FLORES-101ベンチマーク (Goyal et al., 2022)から6つの主要な言語ファミリーと21の低リソース言語(様々な文字体系を持つ)への翻訳および翻訳元としてのBLTを評価し、表4にSentencePiece BLEUを報告します。 我々の結果は、BLTがLlama 3トークナイザーで訓練されたモデルを上回り、英語への翻訳で全体的に2ポイントの優位性を、英語からの翻訳で0.5ポイントの優位性を達成していることを示しています。主要な言語ペアでは、BLTはLlama 3と同等かわずかに優れたパフォーマンスを示しています。しかし、BLTは低リソース言語ファミリー内の多数の言語ペアでLlama 3を上回っており、長尾のバイトシーケンスへの一般化におけるバイトモデリングの有効性を強調しています。

6.2 Training BLT from Llama 3

我々は、BLTモデルが既存の事前訓練されたトークナイザーベースのモデルを活用して、より良く、より速い訓練収束を実現できるワークフローを探索する。これは、BLTのグローバルトランスフォーマーパラメータを事前訓練されたLlama 3.1モデルのパラメータで初期化することで達成される。その後、我々はグローバルトランスフォーマーの重みを、ローカルエンコーダーとローカルデコーダーモデルに使用される学習率の10分の1を用いて、Llama 3の最適なステップ数で更新し、ベースラインのBLTとの比較を表5に示す。Llama 3.1から派生したBLTが、同じ数のflopで訓練されたLlama 3とBLTのベースラインの両方を大きく上回ることは明らかである。さらに、はるかに大規模なデータセット(1Tトークン)で訓練された我々のBLT-Entropyモデル(表1に示されている)と比較しても、Llama 3.1から派生したBLTはMMLUタスクでより優れた性能を達成しており、これが訓練のflopを大幅に削減する効果的なアプローチとなり得ることを示唆している。

このセットアップは、トークナイザーベースのモデルをトークナイザーフリーのモデルに変換する方法としても見ることができ、事前訓練されたLLaMA 3.1モデルをBLTモデルに効果的に変換している。包括的な比較を提供するために、我々は15Tトークンで訓練された元のLLaMA 3.1モデルを表5に含め、LLaMAから派生したBLTと比較評価する。我々のモデルはMMLUとHumanEvalでわずかな性能低下を経験するが、他のタスクではより顕著な低下が見られる。これは、事前訓練されたモデルを十分に活用し、その性能を向上させるためには、特にデータミックスチャーやその他のハイパーパラメータの最適化の観点から、さらなる作業が必要であることを示唆している。

Llama 3
8B
(220B tokens)
BLT
8B
(220B tokens)
BLT from Llama 3.1
8B
(220B tokens)
Llama 3.1
8B
(15T tokens)
Arc-E 67.4 66.8 66.6 83.4
Arc-C 40.4 38.8 45.8 55.2
HellaSwag 71.2 72.2 76.1 80.7
PIQA 77.0 78.2 77.4 80.7
MMLU 26.5 25.2 63.7 66.3
MBPP 11.8 10.0 38.2 47.2
HumanEval 9.2 7.3 34.2 37.2

7 Ablations and Discussion

本節では、BLTのアーキテクチャ選択を正当化するアブレーションと、BLT-1Tデータセットで訓練された8Bパラメータのモデルのパッチングスキームおよびハイパーパラメータについて議論する。

Refer to caption
図8: 異なるサイズと文脈窓を持つエントロピーモデルでパッチングされた400mおよび1bのBLTモデルの、訓練フロップに対する言語モデリング性能(ビット/バイト)の変化。両次元とも性能のスケーリングを改善するが、50mパラメータのエントロピーモデルと512バイトの文脈を超えると収益逓減となる。
Entropy Model Hyper-parameters

エントロピーモデルのサイズと文脈窓長の変化がスケーリング性能に与える影響を調査するため、我々は1mから100mパラメータの間で異なるモデルサイズを持ち、64から512の範囲で文脈窓長が変化するバイトレベルのエントロピートランスフォーマーモデルを訓練した。我々は、Llama-2データセットで訓練された400m400𝑚400m400 italic_mおよび1b1𝑏1b1 italic_b BLTモデルを使用して作成した、訓練フロップに対するビット/バイトのスケーリング法則曲線をプロットし、図8に示す。エントロピーモデルのこれら2つの次元の両方とスケーリング性能が正の相関を持つことが分かったが、50mパラメータを超えてスケールすると収益逓減となることが判明した。

Types of Patching

我々は、第2節で紹介した4つの異なるパッチング方式について検証する。すなわち、1) ストライド4および6のストライドパッチング、2) 空白文字に基づくパッチング、3) Llama 3トークナイザーに基づくBPEトークナイザーパッチング、4) 小規模なバイトllmを用いたエントロピーベースのパッチングである。

表6: 8b BLTモデルの2つのパッチング方式とBPE Llama3ベースラインのベンチマーク評価。これらのモデルは、Dubey et al. (2024)によって決定された最適なステップ数でLlama 2データで訓練されている。
Llama 3
BPE
Space Patching
BLT
Entropy
BLT
Arc-E 67.4 67.2 68.9
Arc-C 40.5 37.6 38.3
HellaSwag 71.3 70.8 72.7
PIQA 77.0 76.5 77.6

動的パッチングはシーケンスの実効長を短縮するが、我々はすべてのパッチング方式で同様のコンテキスト長を維持するためにシーケンス長を制御している。訓練と推論時に、すべてのモデルが期待値として同じ数のバイトを各シーケンスで見ることで、より大きなコンテキストをモデル化できることによる交絡因子を防いでいる。図6はこれらの検証結果を示している。残りのすべてのパッチング方式は静的パッチングを上回り、空白パッチングは動的エントロピーベースのパッチングに非常に近い競争相手となっている。

表6では、トークナイザーベースのモデル、空白パッチング、およびエントロピーベースのパッチングを比較したBLTモデルのベンチマーク評価を示している。これらは、Llama 2データセットで最適なステップ数(Dubey et al., 2024)で訓練されている。空白パッチングは、訓練中にエントロピーモデルをその場で実行する必要のないより単純な戦略であるが、エントロピーベースのパッチングを使用してスケーリングトレンド(第5節)で観察した利点が、下流のベンチマークタスクにも確かに引き継がれることがわかった。777空白パッチングの結果は、クロスアテンションを使用しない以前の実行からのものであるが、クロスアテンションを使用しても同様のトレンドが観察される。

BPB
Cross Attn. Dec. Cross Attn. Enc. Pooling Init Wikipedia CC Github Train Dist
- All Layers False 0.830 0.915 0.442 0.891
- Last Layer False 0.836 0.906 0.447 0.886
- - - 0.833 0.892 0.446 0.866
First Layer Last Layer True 0.825 0.883 0.443 0.861
All Layers Last Layer True 0.823 0.871 0.443 0.846
All Layers All Layers True 0.828 0.868 0.443 0.844
表7: 100Bバイトで訓練された1B BLTモデルにおけるクロスアテンションの使用に関する検証。異なるデータセットにおけるビット/バイト(bpb)を報告する。また、訓練データのランダムサンプル(Train Dist.と表記)におけるbpbも報告する。Cross Attn. Enc.およびDec.列は、ローカルエンコーダーおよびデコーダーでそれぞれクロスアテンションブロックが適用されるトランスフォーマー層(デコーダーの場合は適用前の層)を示している。
BPB
Ngram Sizes Per Ngram Vocab Total Vocab Wikipedia CC Github Train Dist
- - - 0.892 0.867 0.506 0.850
6,7,8 100k 300k 0.873 0.860 0.499 0.842
6,7,8 200k 600k 0.862 0.856 0.492 0.838
3,4,5 100k 300k 0.859 0.855 0.491 0.837
6,7,8 400k 1M 0.855 0.853 0.491 0.834
3,4,5 200k 600k 0.850 0.852 0.485 0.833
3,4,5,6,7,8 100k 600k 0.850 0.852 0.486 0.833
3,4,5 400k 1M 0.844 0.851 0.483 0.832
3,4,5,6,7,8 200k 1M 0.840 0.849 0.481 0.830
3,4,5,6,7,8 400k 2M 0.831 0.846 0.478 0.826
表8: 100Bバイトで訓練された1B BLTモデルにおけるn-gramハッシュ埋め込みテーブルの使用に関する検証。ハッシュn-gram埋め込みが非常に効果的であり、BPBに大きな改善をもたらすことがわかった。 最も重要なパラメータはn-gramごとの語彙サイズであり、より小さなn-gramサイズがより大きなものよりも影響力が大きい。
Cross-Attention

表7において、我々はBLTのエンコーダーとデコーダーの様々な箇所でクロスアテンションを含めることの効果を検証している。 エンコーダーのクロスアテンションについては、クエリの初期化を1) すべてのグローバル状態に対して同じ学習済み埋め込みを使用、2) パッチ内のバイトのハッシュ埋め込みを使用、3) 特定のエンコーダー層におけるパッチバイトのエンコーダー隠れ表現のプーリングを使用、という3つの方法でテストしている。

我々はデコーダーでクロスアテンションを使用することが最も効果的であることを見出した。エンコーダーでは、クロスアテンションを使用することでわずかな改善が見られるが、それはクエリのプーリング初期化を用いた場合のみである。さらに、クロスアテンションは特にCommon-Crawlにおいて、そして特に大きなパッチサイズで効果があることがわかった。

n-gram Hash Embeddings

我々は0、100K、200K、400Kのn-gramハッシュ埋め込み語彙の設定を検証し、その結果を表8に示している。ハッシュ埋め込みはすべてのドメインで効果があるが、特にWikipediaとGithubで効果が大きいことがわかった(8Bモデルで15,000ステップ後、0のケースと比較して0.04 bpbの差があるのに対し、他のドメインでは0.01 bpbの差)。 8Bスケールでは、500Kから300Kハッシュに減らしても15,000ステップでの性能変化は0.001 bpbであった。これは、ハッシュがBLTの性能をトークナイザーベースのモデルと同等にするために不可欠であることを示しているが、300Kハッシュ以降は収穫逓減の傾向がある。さらに、クロスアテンションとの利得は大きく補完的であり、異なるデータセットで改善をもたらしているように見える。

Ngram Embeddings Encoder Layers Decoder Layers Train Dist BPB
False 1 9 0.850
False 5 5 0.843
True 5 5 0.844
True 3 7 0.824
True 1 9 0.822
表9: ハッシュn-gram埋め込みと組み合わせると、軽量なローカルエンコーダーで十分である。同じコストで、より多くの層をデコーダーに割り当てることができる。
Local Model Hyperparamaters

9では、ローカルエンコーダーとデコーダーの層数に関する様々な設定を検証している。ハッシュn-gram埋め込みと組み合わせると、BLTは非常に軽量なエンコーダー(つまり1層のみ)と、より重いデコーダーで良好に機能することがわかった。

8 Related Work

文字レベルのRNN:文字言語モデリングは、ニューラルモデルの初期の頃から人気のあるタスクであった(Sutskever et al., 2011; Mikolov et al., 2012; Graves, 2013)。これは、バックオフ法に頼ることなく、語彙外の単語を有機的にモデル化する柔軟性によるものである。Kim et al. (2016)もまた、入力側のみで文字を処理するモデルを訓練している。このモデルは、畳み込みネットワークとハイウェイネットワークを使用し、LSTM基盤のRNNに供給する。そして、英語では当時のRNN基盤の最先端言語モデルと同等の性能を達成し、形態的に豊かな言語ではそれらを上回る性能を示した。これは、文字レベルのLLMのもう一つの求められる利点である。Kenter et al. (2018)は、バイトレベルのLSTMモデルを使用して機械読解を行い、形態的に豊かなトルコ語とロシア語において、再び単語レベルのモデルを上回る性能を示した。同様の方向性で、Zhang et al. (2015)は分類タスクに文字ベースの畳み込みモデルを使用し、特定のタスクにおいて単語レベルのモデルを上回る性能を示した。Chung et al. (2019)は、各レベルで境界検出器を使用する階層的LSTMモデルを用いてテキスト内の潜在的階層を発見し、文字レベルの言語モデリングの性能をさらに向上させた。Kalchbrenner et al. (2016)によるByteNetは、機械翻訳において注意機構の代わりに文字に対してCNNベースの層を使用している。

文字レベルのトランスフォーマー:注意機構を用いたトランスフォーマーモデルの開発(Vaswani et al., 2017)と、サブワードトークン化(Sennrich et al., 2016)により、言語モデリングとベンチマークタスクにおけるニューラルモデルの性能が大幅に向上した。しかし、単語およびサブワード単位は、モデルが操作すべき抽象化レベルに対して暗黙的な帰納バイアスを定義している。トランスフォーマーモデルの成功と文字言語モデリングにおける初期の有望な結果を組み合わせるため、Al-Rfou et al. (2019)は非常に深いトランスフォーマーを使用し、補助的な損失関数の助けを借りて、以前のLSTMベースの文字llmを上回る性能を持つトランスフォーマーベースのモデルを訓練した。しかし、彼らは依然として単語レベルのLLMとの間に大きな差があることを確認した。GPT-2 (Radford et al., 2019)もまた、10億語ベンチマークのような大規模データセットにおいて、バイトレベルのLMが単語レベルのLMと競合できないことを観察している。

Choe et al. (2019)はバイトレベルの変換器ベースのllmが同等のパラメータを持つサブワードレベルのLLMを上回る性能を示したが、これらのモデルは非常に多くの計算リソースを必要とし、訓練に長時間を要することを実証した。同様に、El Boukkouri et al. (2020)は文字埋め込みに畳み込みを適用して単語表現を構築するBERTモデル(CharFormer)を訓練し、医療分野での改善を示したが、これも多くの計算リソースを必要とした。Clark et al. (2022)は文字列シーケンスを直接扱う150MパラメータのエンコーダーのみのモデルであるCANINEを開発した。CANINEは我々のグローバルモデルと同様の精神に基づく深い変換器スタックを中核とし、ローカル変換器と階層的畳み込みの組み合わせを用いて入力文字をダウンサンプリングし、下流の多言語タスクにおいて同等のトークンレベルのエンコーダーのみのモデル(mBERT)を上回る性能を示した。ByT5 (Xue et al., 2022)はパッチング操作を一切使用しないバイトレベルのエンコーダー・デコーダーモデルのアプローチを探究した。彼らのモデルはノイズに対する堅牢性が向上し、4倍少ないデータでトークナイザーベースのモデルと競合できたが、パッチングを使用しないため、すべてのバイトに対して計算コストの高い注意操作を行う必要があり、非常に計算負荷が高かった。サブワードユニットの代わりにバイトを直接モデル化することで入力のシーケンス長が増加し、バイトレベルモデルを効率的にスケールアップすることが課題となる。最近、非常に長いコンテキスト長にわたって固定サイズのメモリ状態を維持できるMambaアーキテクチャ(Gu and Dao, 2023)を使用して、Wang et al. (2024)はパッチングを使用せずにバイトレベルのMambaアーキテクチャを訓練し、350Mパラメータスケールのflop制御設定において、複数のデータセットでのビット/バイトの観点からバイトレベルの変換器モデルを上回る性能を達成した。

パッチベースのアプローチ:パッチングの効果的な使用により、バイトレベルLLMによって過度に増加したflop数を削減しつつ、潜在的にパフォーマンスを維持することができる。多くの研究が、モデルサイズと学習バイト数の小規模なスケールで初期の成功を実証している。Nawrot et al. (2022)は、静的パッチングに基づくダウンサンプリングとアップサンプリングを実験し、150Mスケールで他のバイトレベルのベースラインを上回るアワーグラストランスフォーマーを開発した。Nawrot et al. (2023)は、動的パッチングスキームを用いてこれをさらに改良した。これには、エンドツーエンドで学習される境界予測器、特定のトークナイザーを用いて教師あり学習される境界予測器、およびBLTに類似したエントロピーベースのパッチングモデルが含まれる。彼らは、このアプローチが400Mトークンの40Mパラメータスケールで言語モデリングタスクにおいて当時のバニラトランスフォーマーを上回ることができることを示した。Lester et al. (2024)は、BPEが達成できる以上の圧縮率を実現するために算術符号化を用いて圧縮されたシーケンスでの学習を調査した。等情報ウィンドウ技術を使用することで、言語モデリングタスクにおいてバイトレベルのベースラインを上回ることができたが、サブワードベースラインには及ばなかった。

我々の研究は、MegaByte (Yu et al., 2023)から着想を得ており、最も密接に関連している。MegaByteは、デコーダーのみの因果的LLMであり、固定的な静的パッチングと表現の連結を用いてバイトをパッチに変換し、デコーダー側でローカルモデルを使用してパッチをバイトに戻す。彼らは、MegaByteが400Bバイトのデータセットにおいて、1Bパラメータスケールでトークナイザーベースのモデルと匹敵することを実証している。我々はすべての実験でMegaByteを詳細に検討し、静的パッチングがflop制御設定において現在の最先端の計算最適化されたトークナイザーベースモデルに遅れをとっていることを発見し、BLTがこのギャップをどのように埋めるかを実証する。Slagle (2024)もMegaByteについて同様の観察を行い、静的パッチング方法を空白文字やその他の空白のようなバイトへのパッチングに拡張し、さらにローカルエンコーダーモデルを追加することを提案している。彼らは、1Bパラメータスケールにおいて、GitHubやarXivなどの一部のドメインで計算制御設定下でトークン化ベースのトランスフォーマーモデルを上回る改善を見出している。我々もこのモデルに関する実験を報告し、バイトレベルモデルをさらにスケールアップし、Llama 3のような現在の最先端のトークンベースモデルと真に匹敵するためには、さらなるアーキテクチャの改善が必要であることを示す。

9 Limitations and Future Work

本稿では、アーキテクチャの選択のために、Llama 3 (Dubey et al., 2024)で決定された最適なステップ数でモデルを訓練している。しかし、これらのスケーリング則はBPEレベルのトランスフォーマーに対して計算されたものであり、BLTの場合には最適ではない(データ、パラメータサイズ)比率につながる可能性がある。我々は、BLTのスケーリング則の計算を今後の課題として残しており、これにより我々のアーキテクチャにとってさらに有利なスケーリングの傾向が得られる可能性がある。さらに、これらの実験の多くは1Bパラメータまでの規模で行われており、8Bパラメータ以上にスケールアップする際に最適なアーキテクチャの選択が変わる可能性があり、より大規模な場合にパフォーマンスの向上が解放される可能性がある。

既存のトランスフォーマーライブラリやコードベースは、トークナイザーベースのトランスフォーマーアーキテクチャに対して高度に効率化されるよう設計されている。我々は理論的なflopマッチング実験を提示し、また標準的なトランスフォーマーアーキテクチャから逸脱するレイヤーを扱うために特定の効率的な実装(FlexAttentionなど)を使用しているが、我々の実装は壁時計時間の観点からトークナイザーベースのモデルと同等ではない可能性があり、さらなる最適化の恩恵を受ける可能性がある。

BLTはパッチングのために別個に訓練されたエントロピーモデルを使用しているが、パッチングモデルをエンドツーエンドで学習することは、今後の研究の興味深い方向性となりうる。セクション6.2では、10T以上のトークンで訓練されたLlama 3のようなトークナイザーベースのモデルを「バイト化」することに成功の兆しを示す初期実験を提示しており、これらの重みでグローバルトランスフォーマーを初期化し凍結している。この方向性でのさらなる研究により、バイト化の利点を維持するだけでなく、これらのトークナイザーベースのモデルを一から訓練することなくパフォーマンスを向上させる方法が明らかになる可能性がある。

10 Conclusion

本稿では、大規模言語モデルにおける固定語彙トークン化への従来の依存を再定義する新しいアーキテクチャ、Byte Latent Transformer(BLT)を提示する。バイトをパッチにグループ化する動的で学習可能な方法を導入することで、BLTはデータの複雑さに基づいて計算リソースを効果的に配分し、効率性と堅牢性の両面で大幅な改善をもたらす。我々の広範なスケーリング研究は、BLTモデルが8Bおよび4Tバイトまでのスケールでトークン化ベースのモデル(Llama 3など)のパフォーマンスに匹敵し、評価指標のわずかな損失と引き換えに推論flopを最大50%削減できることを実証している。 さらに、BLTはスケーリングの新次元を開拓し、固定された推論予算内でモデルサイズとパッチサイズを同時に増加させることを可能にする。この新しいパラダイムは、実用的な設定で一般的に遭遇する計算レジームにおいて有利となる。 生のバイトデータに直接取り組むことで、BLTはまた、データの長いテールを処理するモデルの能力を向上させ、ノイズの多い入力に対する堅牢性を大幅に改善し、サブワード構造のより深い理解を提供する。 総じて、これらの結果はBLTを従来のトークン化ベースのアプローチに代わる有望な選択肢として位置づけ、より効率的で適応性の高い言語モデルのためのスケーラブルで堅牢なフレームワークを提供している。

Acknowledgements

我々は、事前学習インフラストラクチャに関するあらゆる支援を提供してくれたKalyan Saladiに感謝の意を表する。また、BLTのスケールアップのためのリソース整理を手伝ってくれたGabriel Synnaeve、Ammar Rizvi、Jacob Kahn、Michel Meyerに感謝する。BLTに関する貴重な議論とフィードバック、BLTのコードをオープンソース化するためのLinguaフレームワークへのアクセス、そして本稿で使用されたBLT-1Tデータセットの準備を手伝ってくれたBadr Youbi Idirissi、Mathurin Videau、Jade Copetに感謝する。プロジェクトの初期段階に積極的に関与し、貴重なフィードバックとアイデアを提供してくれたOmer Levyに感謝する。FlexAttentionに関する支援を提供してくれたDriss Guessousに感謝する。そして、フィードバックと議論を提供してくれたSida Wang、Melanie Sclar、Amanda Bertsch、Hunter Langに感謝する。

Contributors

本節では、個々の貢献について列挙する。

Core Contributors:

Artidoro Pagnoni、Srinivasan Iyer、Ramakanth Pasunuru、Pedro Rodriguez、John Nguyen、Gargi Ghosh(プロジェクトリーダー)

Core Advising Group:

Mike Lewis、Ari Holtzman、Luke Zettlemoyer

Advisors and Contributors:

Jason Weston、Benjamin Muller、Margaret Li、Chunting Zhou、Lili Yu

References

  • Al-Rfou et al. (2019) Rami Al-Rfou, Dokook Choe, Noah Constant, Mandy Guo, and Llion Jones. Character-level language modeling with deeper self-attention. In Association for the Advancement of Artificial Intelligence, volume 33, pages 3159–3166, 2019.
  • Austin et al. (2021) Jacob Austin, Augustus Odena, Maxwell Nye, Maarten Bosma, Henryk Michalewski, David Dohan, Ellen Jiang, Carrie Cai, Michael Terry, Quoc Le, and Charles Sutton. Program synthesis with large language models, 2021.
  • Bai et al. (2010) Bing Bai, Jason Weston, David Grangier, Ronan Collobert, Kunihiko Sadamasa, Yanjun Qi, Olivier Chapelle, and Kilian Weinberger. Learning to rank with (a lot of) word features. Information retrieval, 13:291–314, 2010.
  • Bisk et al. (2020) Yonatan Bisk, Rowan Zellers, Jianfeng Gao, Yejin Choi, et al. Piqa: Reasoning about physical commonsense in natural language. In Association for the Advancement of Artificial Intelligence, pages 7432–7439, 2020.
  • Casson (2023) Adam Casson. Transformer flops, 2023. https://www.adamcasson.com/posts/transformer-flops.
  • Chen et al. (2021) Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Ponde de Oliveira Pinto, Jared Kaplan, Harri Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, Alex Ray, Raul Puri, Gretchen Krueger, Michael Petrov, Heidy Khlaaf, Girish Sastry, Pamela Mishkin, Brooke Chan, Scott Gray, Nick Ryder, Mikhail Pavlov, Alethea Power, Lukasz Kaiser, Mohammad Bavarian, Clemens Winter, Philippe Tillet, Felipe Petroski Such, Dave Cummings, Matthias Plappert, Fotios Chantzis, Elizabeth Barnes, Ariel Herbert-Voss, William Hebgen Guss, Alex Nichol, Alex Paino, Nikolas Tezak, Jie Tang, Igor Babuschkin, Suchir Balaji, Shantanu Jain, William Saunders, Christopher Hesse, Andrew N. Carr, Jan Leike, Josh Achiam, Vedant Misra, Evan Morikawa, Alec Radford, Matthew Knight, Miles Brundage, Mira Murati, Katie Mayer, Peter Welinder, Bob McGrew, Dario Amodei, Sam McCandlish, Ilya Sutskever, and Wojciech Zaremba. Evaluating large language models trained on code, 2021.
  • Choe et al. (2019) Dokook Choe, Rami Al-Rfou, Mandy Guo, Heeyoung Lee, and Noah Constant. Bridging the gap for tokenizer-free language models. arXiv, abs/1908.10322, 2019.
  • Chung et al. (2019) Junyoung Chung, Sungjin Ahn, and Yoshua Bengio. Hierarchical multiscale recurrent neural networks. In Proceedings of the International Conference on Learning Representations, 2019.
  • Clark et al. (2022) Jonathan H Clark, Dan Garrette, Iulia Turc, and John Wieting. Canine: Pre-training an efficient tokenization-free encoder for language representation. Transactions of the Association for Computational Linguistics, 10:73–91, 2022.
  • Clark et al. (2018) Peter Clark, Isaac Cowhey, Oren Etzioni, Tushar Khot, Ashish Sabharwal, Carissa Schoenick, and Oyvind Tafjord. Think you have solved question answering? Try ARC, the AI2 reasoning challenge. arXiv, 2018.
  • Dagan et al. (2024) Gautier Dagan, Gabriel Synnaeve, and Baptiste Roziere. Getting the most out of your tokenizer for pre-training and domain adaptation. In Forty-first International Conference on Machine Learning, 2024.
  • Dao et al. (2022) Tri Dao, Dan Fu, Stefano Ermon, Atri Rudra, and Christopher Ré. FlashAttention: Fast and memory-efficient exact attention with io-awareness. Proceedings of Advances in Neural Information Processing Systems, 35, 2022.
  • Dubey et al. (2024) Abhimanyu Dubey, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, Ahmad Al-Dahle, Aiesha Letman, Akhil Mathur, Alan Schelten, Amy Yang, Angela Fan, et al. The llama 3 herd of models. arXiv, 2024.
  • Edman et al. (2024) Lukas Edman, Helmut Schmid, and Alexander Fraser. CUTE: Measuring llms’ understanding of their tokens. arXiv, 2024.
  • El Boukkouri et al. (2020) Hicham El Boukkouri, Olivier Ferret, Thomas Lavergne, Hiroshi Noji, Pierre Zweigenbaum, and Jun’ichi Tsujii. CharacterBERT: Reconciling elmo and bert for word-level open-vocabulary representations from characters. In Proceedings of International Conference on Computational Linguistics, 2020.
  • Gage (1994) Philip Gage. A new algorithm for data compression. The C Users Journal, 12(2):23–38, 1994.
  • Goyal et al. (2022) Naman Goyal, Cynthia Gao, Vishrav Chaudhary, Peng-Jen Chen, Guillaume Wenzek, Da Ju, Sanjana Krishnan, Marc’Aurelio Ranzato, Francisco Guzmán, and Angela Fan. The Flores-101 evaluation benchmark for low-resource and multilingual machine translation. Transactions of the Association for Computational Linguistics, 10:522–538, 2022. 10.1162/tacl_a_00474. https://aclanthology.org/2022.tacl-1.30.
  • Graves (2013) Alex Graves. Generating sequences with recurrent neural networks. arXiv, 2013.
  • Gu and Dao (2023) Albert Gu and Tri Dao. Mamba: Linear-time sequence modeling with selective state spaces. arXiv, 2023.
  • Hendrycks et al. (2020) Dan Hendrycks, Collin Burns, Steven Basart, Andy Zou, Mantas Mazeika, Dawn Song, and Jacob Steinhardt. Measuring massive multitask language understanding. In Proceedings of the International Conference on Learning Representations, 2020.
  • Hoffmann et al. (2022) 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. Training compute-optimal large language models. In Proceedings of Advances in Neural Information Processing Systems, 2022.
  • Jaegle et al. (2021) Andrew Jaegle, Felix Gimeno, Andy Brock, Oriol Vinyals, Andrew Zisserman, and Joao Carreira. Perceiver: General perception with iterative attention. In Proceedings of the International Conference of Machine Learning. PMLR, 2021.
  • Kalchbrenner et al. (2016) Nal Kalchbrenner, Lasse Espeholt, Karen Simonyan, Aäron van den Oord, Alexander Graves, and Koray Kavukcuoglu. Neural machine translation in linear time. arXiv, 2016.
  • Kaplan et al. (2020) Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, and Dario Amodei. Scaling laws for neural language models. arXiv, 2020.
  • Kenter et al. (2018) Tom Kenter, Llion Jones, and Daniel Hewlett. Byte-level machine reading across morphologically varied languages. In Association for the Advancement of Artificial Intelligence, 2018.
  • Kim et al. (2016) Yoon Kim, Yacine Jernite, David Sontag, and Alexander Rush. Character-aware neural language models. In Association for the Advancement of Artificial Intelligence, 2016.
  • Lester et al. (2024) Brian Lester, Jaehoon Lee, Alex Alemi, Jeffrey Pennington, Adam Roberts, Jascha Sohl-Dickstein, and Noah Constant. Training llms over neurally compressed text. arXiv, 2024.
  • Li et al. (2024) Jeffrey Li, Alex Fang, Georgios Smyrnis, Maor Ivgi, Matt Jordan, Samir Gadre, Hritik Bansal, Etash Guha, Sedrick Keh, Kushal Arora, et al. Datacomp-lm: In search of the next generation of training sets for language models. arXiv, 2024.
  • Liang et al. (2023) Davis Liang, Hila Gonen, Yuning Mao, Rui Hou, Naman Goyal, Marjan Ghazvininejad, Luke Zettlemoyer, and Madian Khabsa. Xlm-v: Overcoming the vocabulary bottleneck in multilingual masked language models. In Proceedings of Empirical Methods in Natural Language Processing, 2023.
  • Limisiewicz et al. (2024) Tomasz Limisiewicz, Terra Blevins, Hila Gonen, Orevaoghene Ahia, and Luke Zettlemoyer. Myte: Morphology-driven byte encoding for better and fairer multilingual language modeling. arXiv, 2024.
  • Loshchilov and Hutter (2017) Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. arXiv, 2017.
  • Mikolov et al. (2012) Tomáš Mikolov, Ilya Sutskever, Anoop Deoras, Hai-Son Le, Stefan Kombrink, and Jan Cernocky. Subword language modeling with neural networks. preprint (http://www. fit. vutbr. cz/imikolov/rnnlm/char. pdf), 8(67), 2012.
  • Nawrot et al. (2022) Piotr Nawrot, Szymon Tworkowski, Michał Tyrolski, Lukasz Kaiser, Yuhuai Wu, Christian Szegedy, and Henryk Michalewski. Hierarchical transformers are more efficient language models. In Conference of the North American Chapter of the Association for Computational Linguistics. Association for Computational Linguistics, 2022.
  • Nawrot et al. (2023) Piotr Nawrot, Jan Chorowski, Adrian Lancucki, and Edoardo Maria Ponti. Efficient transformers with dynamic token pooling. In Proceedings of the Association for Computational Linguistics. Association for Computational Linguistics, 2023.
  • Petrov et al. (2024) Aleksandar Petrov, Emanuele La Malfa, Philip Torr, and Adel Bibi. Language model tokenizers introduce unfairness between languages. Proceedings of Advances in Neural Information Processing Systems, 2024.
  • Radford et al. (2019) Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, et al. Language models are unsupervised multitask learners. OpenAI blog, 1(8):9, 2019.
  • Sennrich et al. (2016) Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural machine translation of rare words with subword units. In Proceedings of the Association for Computational Linguistics. Association for Computational Linguistics, 2016.
  • Shazeer (2020) Noam Shazeer. GLU variants improve transformer. arXiv, 2020.
  • Slagle (2024) Kevin Slagle. Spacebyte: Towards deleting tokenization from large language modeling. arXiv, 2024.
  • Su et al. (2021) Jianlin Su, Yu Lu, Shengfeng Pan, Ahmed Murtadha, Bo Wen, and Yunfeng Liu. RoFormer: Enhanced transformer with rotary position embedding. arxiv e-prints, art. arXiv, 2021.
  • Sutskever et al. (2011) Ilya Sutskever, James Martens, and Geoffrey E Hinton. Generating text with recurrent neural networks. In Proceedings of the International Conference of Machine Learning, pages 1017–1024, 2011.
  • Suvarna et al. (2024) Ashima Suvarna, Harshita Khandelwal, and Nanyun Peng. Phonologybench: Evaluating phonological skills of large language models. arXiv, 2024.
  • Touvron et al. (2023) Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, et al. Llama 2: Open foundation and fine-tuned chat models. arXiv, 2023.
  • Vaswani et al. (2017) Ashish Vaswani, Noam M. Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Neural Information Processing Systems, 2017.
  • Wang et al. (2024) Junxiong Wang, Tushaar Gangavarapu, Jing Nathan Yan, and Alexander M Rush. Mambabyte: Token-free selective state space model. arXiv, 2024.
  • Xiong et al. (2024) Wenhan Xiong, Jingyu Liu, Igor Molybog, Hejia Zhang, Prajjwal Bhargava, Rui Hou, Louis Martin, Rashi Rungta, Karthik Abinav Sankararaman, Barlas Oguz, et al. Effective long-context scaling of foundation models. In Conference of the North American Chapter of the Association for Computational Linguistics, 2024.
  • Xue et al. (2022) Linting Xue, Aditya Barua, Noah Constant, Rami Al-Rfou, Sharan Narang, Mihir Kale, Adam Roberts, and Colin Raffel. Byt5: Towards a token-free future with pre-trained byte-to-byte models. Transactions of the Association for Computational Linguistics, 10:291–306, 2022.
  • Yu et al. (2023) Lili Yu, Dániel Simig, Colin Flaherty, Armen Aghajanyan, Luke Zettlemoyer, and Mike Lewis. Megabyte: Predicting million-byte sequences with multiscale transformers. Proceedings of Advances in Neural Information Processing Systems, 2023.
  • Zellers et al. (2019) Rowan Zellers, Ari Holtzman, Yonatan Bisk, Ali Farhadi, and Yejin Choi. Hellaswag: Can a machine really finish your sentence? arXiv, 2019.
  • Zhang and Sennrich (2019) Biao Zhang and Rico Sennrich. Root mean square layer normalization. Proceedings of Advances in Neural Information Processing Systems, 32, 2019.
  • Zhang et al. (2015) Xiang Zhang, Junbo Zhao, and Yann LeCun. Character-level convolutional networks for text classification. In C. Cortes, N. Lawrence, D. Lee, M. Sugiyama, and R. Garnett, editors, Proceedings of Advances in Neural Information Processing Systems, volume 28. Curran Associates, Inc., 2015. https://proceedings.neurips.cc/paper_files/paper/2015/file/250cf8b51c773f3f8dc8b4be867a9a02-Paper.pdf.

11 Model Hyper Parameters

10は、BLTモデルの異なるハイパーパラメータ設定を示している。

Encoder Global Latent Transf. Decoder Cross-Attn.
Model lsubscript𝑙l_{\mathcal{E}}italic_l start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT #heads hsubscripth_{\mathcal{E}}italic_h start_POSTSUBSCRIPT caligraphic_E end_POSTSUBSCRIPT #Params l𝒢subscript𝑙𝒢l_{\mathcal{G}}italic_l start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT #heads h𝒢subscript𝒢h_{\mathcal{G}}italic_h start_POSTSUBSCRIPT caligraphic_G end_POSTSUBSCRIPT #Params l𝒟subscript𝑙𝒟l_{\mathcal{D}}italic_l start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT #heads h𝒟subscript𝒟h_{\mathcal{D}}italic_h start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT #Params #heads k
400M 1 12 768 7M 24 10 1280 470M 7 12 768 50M 10 2
1B 1 16 1024 12M 25 16 2048 1B 9 16 1024 113M 16 2
2B 1 16 1024 12M 26 20 2560 2B 9 16 1024 113M 16 3
4B 1 16 1024 12M 36 24 3072 4.1B 9 16 1024 113M 16 3
8B 1 20 1280 20M 32 32 4096 6.4B 6 20 1280 120M 20 4
表10: 本稿で説明するflop制御実験のために我々が訓練する、異なるBLTモデルサイズのアーキテクチャハイパーパラメータ。

12 FLOPs Equations

ここでは、Hoffmann et al. (2022); Kaplan et al. (2020); Casson (2023)に基づいて、トランスフォーマーおよびBLTモデルのフォワードパスに対するflop計算に使用される方程式を提供する。バックワードパスはフォワードパスの2倍のflopを使用すると仮定する。

Operation flops per token/byte
Attention (l,hk,nheads,m)𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑚(l,h_{k},n_{heads},m)( italic_l , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_m ) 4×l×hk×nheads×m+124𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑚124\times l\times h_{k}\times n_{heads}\times\frac{m+1}{2}4 × italic_l × italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT × divide start_ARG italic_m + 1 end_ARG start_ARG 2 end_ARG
QKVO (l,h,r)𝑙𝑟(l,h,r)( italic_l , italic_h , italic_r ) (r×2+2)×2×l×h2𝑟222𝑙superscript2(r\times 2+2)\times 2\times l\times h^{2}( italic_r × 2 + 2 ) × 2 × italic_l × italic_h start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT
Feed-forward (l,h,dff)𝑙subscript𝑑𝑓𝑓(l,h,d_{ff})( italic_l , italic_h , italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT ) 2×l×2×h×dffh2𝑙2subscript𝑑𝑓𝑓2\times l\times 2\times h\times d_{ff}h2 × italic_l × 2 × italic_h × italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT italic_h
De-Embedding (h,V)𝑉(h,V)( italic_h , italic_V ) 2×h×|V|2𝑉2\times h\times|V|2 × italic_h × | italic_V |
Cross-Attention (l,hk,nheads,p,r)𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑝𝑟(l,h_{k},n_{heads},p,r)( italic_l , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_p , italic_r ) Attention(l,hk,nheads,p)𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑝(l,h_{k},n_{heads},p)( italic_l , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_p ) + QKVO(l,hk×nheads,r)𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑟(l,h_{k}\times n_{heads},r)( italic_l , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT × italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_r )
表11: トランスフォーマーおよびBLTモデルで使用される演算のflop。l𝑙litalic_lは層数、hhitalic_hは隠れ次元(hksubscript𝑘h_{k}italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPTヘッドを持つnheadssubscript𝑛𝑒𝑎𝑑𝑠n_{heads}italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT)、m𝑚mitalic_mはコンテキスト長、dff=4subscript𝑑𝑓𝑓4d_{ff}=4italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT = 4はフィードフォワード次元の乗数、p𝑝pitalic_pはパッチサイズ、r𝑟ritalic_rはクエリとキーの比率を表す。

l𝑙litalic_l層、隠れ次元hhitalic_h、コンテキスト長m𝑚mitalic_m、次元hksubscript𝑘h_{k}italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPTnheadssubscript𝑛𝑒𝑎𝑑𝑠n_{heads}italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPTアテンションヘッド、フィードフォワード乗数dffsubscript𝑑𝑓𝑓d_{ff}italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPTを持つトランスフォーマーモデルに対して、我々はflopを以下のように計算する:

Transformer-FLOPs(l,h,m,nheads,hk,dff,V)Transformer-FLOPs𝑙𝑚subscript𝑛𝑒𝑎𝑑𝑠subscript𝑘subscript𝑑𝑓𝑓𝑉\displaystyle\text{Transformer-FLOPs}(l,h,m,n_{heads},h_{k},d_{ff},V)Transformer-FLOPs ( italic_l , italic_h , italic_m , italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT , italic_V ) =Feed-forward(l,h,dff)absentFeed-forward𝑙subscript𝑑𝑓𝑓\displaystyle=\text{Feed-forward}(l,h,d_{ff})= Feed-forward ( italic_l , italic_h , italic_d start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT ) (19)
+QKVO(l,h,r=1)QKVO𝑙𝑟1\displaystyle+\text{QKVO}(l,h,r=1)+ QKVO ( italic_l , italic_h , italic_r = 1 ) (20)
+Attention(l,hk,nheads,m)Attention𝑙subscript𝑘subscript𝑛𝑒𝑎𝑑𝑠𝑚\displaystyle+\text{Attention}(l,h_{k},n_{heads},m)+ Attention ( italic_l , italic_h start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_n start_POSTSUBSCRIPT italic_h italic_e italic_a italic_d italic_s end_POSTSUBSCRIPT , italic_m ) (21)
+De-Embedding(h,V)De-Embedding𝑉\displaystyle+\text{De-Embedding}(h,V)+ De-Embedding ( italic_h , italic_V ) (22)

BLTモデルについては、上記の基本要素と第4.5節のflop方程式を組み合わせて総flopを計算する。

13 Rolling Polynomial Hashing

バイトn𝑛nitalic_nグラムgi,n={bin+1,,bi}subscript𝑔𝑖𝑛subscript𝑏𝑖𝑛1subscript𝑏𝑖g_{i,n}=\{b_{i-n+1},\ldots,b_{i}\}italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT = { italic_b start_POSTSUBSCRIPT italic_i - italic_n + 1 end_POSTSUBSCRIPT , … , italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT }が与えられた場合、gi,nsubscript𝑔𝑖𝑛g_{i,n}italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPTのローリングポリノミアルハッシュは以下のように定義される:

Hash(gi,n)Hashsubscript𝑔𝑖𝑛\displaystyle\text{Hash}(g_{i,n})Hash ( italic_g start_POSTSUBSCRIPT italic_i , italic_n end_POSTSUBSCRIPT ) =j=1nbij+1aj1absentsuperscriptsubscript𝑗1𝑛subscript𝑏𝑖𝑗1superscript𝑎𝑗1\displaystyle=\sum_{j=1}^{n}b_{i-j+1}a^{j-1}= ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_i - italic_j + 1 end_POSTSUBSCRIPT italic_a start_POSTSUPERSCRIPT italic_j - 1 end_POSTSUPERSCRIPT (23)

ここで、a𝑎aitalic_aは10桁の素数として選択される。

14 Frequency-based n-gram Embedddings

最終的なBLTアーキテクチャでハッシュn-gram埋め込みを使用する前に、我々は頻度ベースのn-gram埋め込みも実験した。各n{1,2,3,4,5,6,7,8}𝑛12345678n\in\{1,2,3,4,5,6,7,8\}italic_n ∈ { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 }に対して、埋め込み行列Enngramsuperscriptsubscript𝐸𝑛𝑛𝑔𝑟𝑎𝑚E_{n}^{ngram}italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n italic_g italic_r italic_a italic_m end_POSTSUPERSCRIPTがあり、これには与えられたn𝑛nitalic_nに対する最も頻繁なバイトグラムが含まれている。 n𝑛nitalic_nが大きくなるにつれて埋め込みを保存することが困難になるため、我々は各バイトグラムについて最も頻繁な100,000100000100,000100 , 000バイトグラムの埋め込みのみを保存する。 特定の位置i𝑖iitalic_iに対応する埋め込み行列に存在するn𝑛nitalic_nグラムが含まれている場合、この埋め込みは次のステップであるエンコーダーのマルチヘッドクロスアテンションに渡される。バイトグラムが頻度が低く、したがって行列に含まれていない場合、その埋め込みはエンコーダーのハッシュ埋め込みから代わりに取得される。

頻度ベースのn𝑛nitalic_nグラムはn-gramテーブルの語彙によって制限され、頻度の低いn-gramが全く表現されないため、我々はその後ハッシュベースのn𝑛nitalic_nグラム埋め込みに移行した。ハッシュと頻度ベースのn-gram埋め込みの比較については、表12を参照されたい。

bpb
Hash Ngram Sizes Per Hash Ngram Vocab Ngram Sizes Per Ngram Vocab Total Vocab Wikipedia CC Github Train Dist
- - - - - 0.892 0.867 0.506 0.850
6,7,8 50k 6,7,8 50k 300k 0.878 0.860 0.497 0.843
6,7,8 100k - - 300k 0.873 0.860 0.499 0.842
6,7,8 100k 6,7,8 100k 600k 0.868 0.857 0.494 0.839
6,7,8 200k - - 600k 0.862 0.856 0.492 0.838
3,4,5 50k 3,4,5 50k 300k 0.862 0.856 0.491 0.837
3,4,5 100k - - 300k 0.859 0.855 0.491 0.837
6,7,8 200k 6,7,8 200k 1M 0.861 0.855 0.491 0.837
6,7,8 400k - - 1M 0.855 0.853 0.491 0.834
3,4,5,6,7,8 50k 3,4,5,6,7,8 50k 600k 0.855 0.853 0.488 0.834
3,4,5 100k 3,4,5 100k 600k 0.851 0.853 0.486 0.834
3,4,5 200k - - 600k 0.850 0.852 0.485 0.833
3,4,5,6,7,8 100k - - 600k 0.850 0.852 0.486 0.833
3,4,5 400k - - 1M 0.844 0.851 0.483 0.832
3,4,5 200k 3,4,5 200k 1M 0.843 0.850 0.482 0.830
3,4,5,6,7,8 100k 3,4,5,6,7,8 100k 1M 0.844 0.850 0.482 0.830
3,4,5,6,7,8 200k - - 1M 0.840 0.849 0.481 0.830
3,4,5,6,7,8 200k 3,4,5,6,7,8 200k 2M 0.833 0.846 0.478 0.826
3,4,5,6,7,8 400k - - 2M 0.831 0.846 0.478 0.826
表12: 100Bバイトで訓練された1BのBLTモデルにおける、頻度ベースおよびハッシュベースのn-gram埋め込みテーブルの使用に関するアブレーション。

15 Entropy Patching Example from MMLU

我々は、下流タスク(すなわちMMLU (Hendrycks et al., 2020))からの少数ショットの例が、BLTモデルで使用するために訓練されたエントロピーモデルを使用してどのようにパッチされるかを図9で示す。完全なコンテキストウィンドウでエントロピーモデルを直接使用すると、反復パターンが大きくパッチされる。例えば、MMLUクエリの「10回、約のrms偏差で」は、最初に遭遇したときには頻繁にパッチされるが、次の3回は非常に大きなパッチの一部となり、これは推論効率は良いものの、推論には望ましくない可能性がある。我々がこのような「エントロピー」ドリフトを避けるために使用する一つの方法は、改行でエントロピーコンテキストをリセットし、近似的な単調性制約を使用することである(セクション4.4参照)。

Refer to caption
図9: mmluでの推論時のグローバル閾値を用いたデフォルトのエントロピーベースパッチングの例。緑はプロンプト、青は少数ショットの例、赤は回答すべき質問を示す。回答選択肢の繰り返しフレーズのパッチサイズがはるかに大きいことに注目。これは、この推論パッチングスキームでは、グローバルモデルがトークナイザーベースの対応物よりも大幅に少ない回数呼び出されることを意味する。