階層型ネットワークのスケーリング:トークンからバイトへ
Scaling Hierarchical Networks (cartesia.ai)
要約
この記事では、AIの「ビタート・レッスン」の原則に基づき、データから直接学習する新しいAIアーキテクチャである階層型ネットワーク(H-Nets)を紹介しています。H-Netsは、従来のトークン化プロセスを動的な学習プロセスに置き換えることで、言語モデルの効率とスケーラビリティを大幅に向上させ、特にコード生成などの分野で顕著な成果を示しています。
全文翻訳
トークンからバイトへ I:階層型ネットワークのスケーリング
2019年のリチャード・サットンによる影響力のあるエッセイ以来、「ビタート・レッスン」という概念は、AIにおける多くの現代的な進歩を導いてきました。この概念は、計算を活用し、可能な限り人間のエンジニアリングによる事前知識から解放された形でスケールさせて学習する汎用的な手法を提唱しています。私たちの解釈では、根本的に、知能とは生データから学習することです。つまり、パターンを自律的に発見し、抽象化を構築し、乱雑な低レベルの入力から意味を発展させることであり、理想的にはエンドツーエンドで、可能な限りデータ効率よく行うことです。AIが科学、ロボット工学、生物学といった複雑な領域に進むにつれて、データは希少で、人間が理解するのが困難であり、ましてやエンジニアリングするのが難しい場合が多いですが、より汎用的な学習アルゴリズムを開発するためにこの哲学を内面化することが、これまで以上に重要になっています。
言語モデルは、おそらく今日のAIにおける最大の成功事例であり、ビタート・レッスンを大いに採用しています。それらの能力は、Transformerアーキテクチャ、次トークン予測、強化学習、テスト時計算といった少数の単純なアルゴリズムをスケーリングすることに主に起因しています。しかし、それらは依然としてトークナイザーのような手作業でエンコードされたステップに依存しており、基盤となるデータからエンドツーエンドで学習する能力を著しく妨げています。スケーリングにおける次の段階的変化を解き放つために、バイトレベルの言語モデルを開発することがAIの進歩の基盤であると私たちは信じています。これは、スタンドアロンのLLMを改善するためだけでなく、汎用学習手法の試金石としてもです。文字やバイトから言語をうまく学習できないとしたら、次のフロンティアで進歩する権利が私たちにあるでしょうか?
2025年、私たちは階層型ネットワーク(H-Nets)の概念を開発しました。これは、言語モデルにおけるトークン化の問題に対処しただけでなく、異なるモダリティを横断して生データから学習できる、より汎用的なアーキテクチャへの一歩を踏み出しました。それ以来、H-Netsの技術を大幅に改善しており、その能力を共有できることを楽しみにしています!この2部構成の記事シリーズでは、新しい結果を掘り下げ、その意味について議論します。
この2部構成シリーズの最初の記事では、H-Netsのスケーリング則とその定性的な振る舞いを探ります。
- トークン化されたTransformerの標準的なスケーリングラダーを作成し、注意深く制御された1段階のH-Netsが、学習されたトークン化のみを通じて、意味のある計算効率の向上(最大3〜5倍)をもたらすことを示します。
- より柔軟な2段階H-Netをスケールアップした経験的結果を示し、それが極端な効率改善(計算量とデータ量が10分の1)で、マッチングされたオープンソースモデルを上回ることを示します。
- H-Netsが学習するパターンを分析し、言語モデルでは以前は見られなかった豊かな多様性の新しい振る舞い、例えばコンテキスト内トークン化を示すことを示します。
- H-Netsが言語モデリングを超えて、生物学とビジョンにおける進行中の研究結果を示し、モダリティを横断する汎用アーキテクチャとしての可能性を示していることを議論します。
次の記事では、H-Netsが言語モデリングにおいてなぜそれほど効率的になりうるのかをよりよく理解するために、より広範なモデルのより深い探求を行います。
総じて、私たちの結果は、H-Netsがビタート・レッスンに真に沿った基盤アーキテクチャであり、生データから直接意味を学習し、効率とスケーラビリティを大幅に向上させることを示す証拠を提供します。この研究アジェンダは、AIがあらゆるデータからどのように学習できるかを前進させるための大きな機会を表しており、私たちはフロンティアを押し進めることにこれ以上ないほど興奮しています!
階層型ネットワーク(H-Nets)
私たちは昨年、言語モデリングやそれ以降で有望であることを示した、データ内の複数の抽象化レベルをモデル化する新しいエンドツーエンドアーキテクチャとして、階層型ネットワーク(論文、ブログ)を導入しました。要するに:
この用語は、認知心理学における既存のチャンキングの概念に触発されたもので、人間の知能の不可欠な部分です。私たちは、人工知能のフロンティアにとっても必要であると信じています。
言語モデリングの文脈では、そのアイデアは、モデルが低レベルのデータを再帰的に高レベルの意味にチャンク化することを可能にする新しい学習プリミティブを構築することです。文字から単語へ、単語からフレーズへ、フレーズから概念へと。
この記事の文脈では、ほとんどの場合、階層型ネットワークをトークン化の置き換えと考えることができます。データをバイトからトークン(バイトの固定チャンク)に前処理する代わりに、H-Netsはモデル内で直接チャンク化を動的に実行します。さらに、H-Netsの特徴的な特性は、このチャンク化をエンドツーエンドで階層的に実行することです。対照的に、標準的なトークン化された言語モデルや他の代替手法(ポストIIでいくつか見るでしょう)でさえ、複数のトレーニング段階を採用しており、データのチャンク化/トークン化プロセスは完全にオフラインで実行されます。
詳細:トークン化とBPE
言語モデルはテキストを直接読み取るのではなく、固定語彙からのトークンのシーケンスを入力として受け取ります。自然な語彙は256バイト値であり、UTF-8バイトごとに1つのトークンを生成します。しかし、バイトレベルのシーケンスは長く、標準的な言語モデルが処理するにはコストがかかります。トークン化は、頻繁に出現するチャンクにバイトシーケンスを圧縮することで、この問題を軽減することを目的としています。最も一般的なアプローチであるバイトペアエンコーディング(BPE)は、256バイトから始まり、固定トレーニングコーパス上で最も頻繁に出現する隣接トークンのペアを繰り返しマージし、語彙が設定サイズ(例:Llama-3の場合は128k)に達するまで続きます。私たちのデータミックスでは、各BPEトークンは約4.57バイトをカバーしており、バイトレベルよりもシーケンスがはるかに短くなります。しかし、この圧縮は固定されており、トークン化は、学習されるのではなく、手作業で設計された言語モデリングパイプラインの最後の部分の1つとして残っています。
このポストシリーズでは、トークン化の置き換えという狭い文脈でさえ、H-Netsのエンドツーエンドの特性が実際のパフォーマンス向上をもたらすことを見ていきます。トークン化を超えて、H-Netsは基盤アーキテクチャとして幅広い有用性を持っています:
- H-Netsは再帰的にネストできるため、複数の抽象化レベルを構築できます。このポストの主な結果は、オープンソースベースラインと比較された、より大きな2段階階層型ネットワークです。
- H-Netsは、バイトだけでなく、離散データだけでなく、あらゆる種類のデータで動作できます。対照的に、連続データのトークン化は深刻な課題です。このポストの最後の部分では、テキストを超えたH-Netsの応用に関する将来の研究をプレビューします。
H-Netアーキテクチャ
2段階バイトH-Net
デコーダー
デチャンキング
デコーダー
デチャンキング
メインネットワーク
チャンキング
エンコーダー
チャンキング
エンコーダー
図1。階層型ネットワーク(H-Net)アーキテクチャ。入力は5つのモジュールを通過します:(1)エンコーダーはバイトなどの入力を読み取ります;(2)学習されたチャンキングステップがそれらを少数のチャンクに圧縮します;(3)メインネットワークが粗いチャンク(トークンに類似)上で動作します;(4)チャンクは入力解像度に戻され、残差と合計されます;(5)デコーダーが結合された表現の処理を完了します。1段階H-Netは1レベルの動的なチャンク化を実行します。メインネットワーク自体はH-Netにすることができ、チャンク化プロセスを再帰的にネストできます。異なるバイトにカーソルを合わせると、この2段階階層型ネットワークをどのようにルーティングされるかを確認できます!
図1は2段階H-Netを図示し、モデルの主要なコンポーネント(エンコーダー、メインネットワーク、デコーダー)を定義しています。エンコーダーとデコーダーをまとめてアウターネットワークと呼び、メインモデルをインナーネットワークと呼ぶことがあります。
この記事全体を通して、私たちは大幅に改善されたH-Netsのバージョンで結果を示しており、これをコミュニティにリリースする予定です。以前のアーキテクチャとの違いについては、この記事の後半でさらにコメントします。
パート1:BPEとH-Netのスケーリングラダー
多くのアーキテクチャ論文と同様に、階層型ネットワークに関する元の論文は、特定の固定サイズの言語モデルとデータホライゾン(例:FineWeb-Eduの100Bトークン上の約1.3Bパラメータモデル)の調整に焦点を当てていました。それらは非常に有望に見えましたが、計算最適スケーリング則の欠如が、現在プトレーニングイノベーションを測定する標準的な方法となっています。例えば、KimiのKimi Delta Attention(KDA)とアテンション残差に関する人気のイノベーションは、それぞれ1.16倍と1.25倍の計算乗数を示しました。
改善されたH-Netアーキテクチャの利点を検証するために、まず、最新のLLMスケーリングラダーを構築し、次にそのトークン化コンポーネントを注意深く制御された階層型ネットワークに置き換えました。
- バイトレベルとBPEのスケーリング則を同等に比較するためのトレーニングミックスを設定し、処理を注意深く一致させ、ベースライン用にBPEトークナイザーを再トレーニングしました。
- 標準的なプラクティスに従って、標準的なBPE Transformer言語モデルのスケーリングラダーを設定し、文献の結果を再現しました。
- 次に、各ラングをバイトレベルの1段階H-Netにドロップイン交換として変換し、BPEバックボーンアーキテクチャとハイパーパラメータを再利用しました。
このレシピは、検証損失(1.3倍)で直接より強力な結果を示し、コード(2倍)などのサブドメインでの利点は増加し、分布外(評価で2倍、コードの分布外で最大5倍)も改善しました。
データ制御による比較
バイトレベルモデルとBPEモデルは同じデータを異なる粒度で処理するため、方法論を制御するために追加の注意が必要です。
データミックス:トレーニングデータセットは、バイト数で測定して、英語70%、コード20%、数学5%、多言語5%で構成されていました。
データ処理:各サンプルはバイトとBPEトークンの両方として処理され、同じ境界で分割されます。したがって、バイト処理およびBPE処理されたデータセットは、アラインされたドキュメント境界を持つまったく同じテキストを含みます。
メトリック:異なるトークナイザー間で正規化された方法で、次トークン予測損失を測定するために標準的なビット/バイト(bpb)メトリックを使用します。
コーパス内BPEトークナイザー:LLMは一般的に市販のBPEトークナイザーを使用します。H-Netsの利点は、トレーニング分布で直接チャンク化を学習することです。さらに注意を払うために、コーパス上でBPEトークナイザーもトレーニングしました。以下に示すBPEスケーリング則に使用したところ、検証損失と下流評価の両方で約1.1倍の計算ゲインが得られました(したがって、H-Netは標準的な市販トークナイザーに対してさらに大きな計算乗数を持つことになります!)。
BPEトークナイザーの語彙サイズは128kで、私たちが使用していたLlama-3トークナイザーと一致します。コーパス内トークナイザーはデータセットをわずかに多く圧縮し、平均BPEトークン長を4.45(Llama-3トークナイザー)から4.57に増加させました。コーパス内BPEトークナイザーのトークンで測定すると、トレーニングデータセットは英語64.7%、コード23.7%、数学6.1%、多言語5.5%で構成されていました。
バイト/BPEトークン
ソースUTF-8バイト/BPEトークン
ターゲットミックス 4.57
図2。BPEトークナイザーが、UTF-8バイト/トークンで、プリトレーニングミックスの各ソースをどの程度圧縮するか。各バーは、ソースの合計バイト数/合計トークン数です。4つのカテゴリのうち、BPEはデータ頻度に偏っているため、英語のWebテキストは各トークンに最も多くのバイトをパックします。コード、数学、およびほとんどの他の言語は、より少ないバイトを使用します。
堅牢なBPEベースラインの作成
ベースラインとして、標準的なBPE Transformerのよく調整されたスケーリング則を適合させました。これを行うために、KimiやMAIなどの最新のスケーリングレシピに従ってスケーリングラダーを構築し、L(レイヤー数)によってモデルファミリーを完全に定義しました。隠れ次元Dを128の倍数に設定し、アスペクト比D/Lが約75になるようにしました。すべてのモデルで、レイヤー数に等しいヘッド数と128の固定ヘッド次元を持つマルチヘッドアテンションを使用しました。MLPについては、中間次元を3.6Dに設定したSwiGLUレイヤーを使用し、これも128の最も近い倍数に丸めました。1
| モデル | 総パラメータ数 | バックボーンパラメータ数 | レイヤー数 | 隠れ次元 | アテンションヘッド数 | ヘッド次元 | FFN次元 |
|---|---|---|---|---|---|---|---|
| L08 | 221M | 56.4M | 8 | 640 | 8 | 128 | 2304 |
| L12 | 399M | 169M | 12 | 896 | 12 | 128 | 3200 |
| L16 | 673M | 378M | 16 | 1152 | 16 | 128 | 4096 |
| L20 | 1.22B | 822M | 20 | 1536 | 20 | 128 | 5504 |
| L24 | 1.81B | 1.35B | 24 | 1792 | 24 | 128 | 6400 |
| L28 | 2.62B | 2.10B | 28 | 2048 | 28 | 128 | 7424 |
表1。BPE Transformerラダーからの例。ラングは深さで名前が付けられ、幅は深さと共に増加します。すべてのラングは128次元のアテンションヘッドを使用し、クエリヘッドごとに1つのキー/バリューヘッドがあります。バックボーンパラメータは、トークン埋め込みと出力レイヤーを除きます。
次に、標準的なiso-FLOPスイープ方法論を使用して、計算最適スケーリング則を適合させました。
- すべての実行は、MuonオプティマイザーとWSD学習率スケジュール(固定割合のウォームアップと減衰)を使用します。
- 選択されたラングでバッチサイズと学習率を調整し、ハイパーパラメータのスケーリング則を適合させて、より大きなものに外挿しました。
- すべてのモデルのFLOPsを注意深くカウントしました。これには、すべてのシーケンスミキシングレイヤーとLMヘッドが含まれます。ソフトマックスアテンションについては、因果関係のあるFLOPsのみをカウントします。これは、二次複雑性のため、非因果関係のあるFLOPsを過剰にカウントすると、より長いシーケンスを処理するバイトレベルモデルにペナルティを与えるためです。
同等のH-Netラダー
バイト上のH-Netsは標準的なトークン化モデルとは大きく異なるため、直接比較することは非常に困難です。チャンク化のステージ数、それぞれの圧縮率、各ステージのアーキテクチャ構成(アウター vs インナーネットワーク)、および各コンポーネントのハイパーパラメータなど、多くの可動部分があります。
私たちは、より狭い設定を調査することにしました。H-Netsは、言語モデルのトークン化部分のみを置き換えるものと制限した場合、BPEモデルと比較してどうでしょうか?
これを行うために、BPEラダーの各ラングをバイトレベルの1段階H-Netに変換しました。1段階H-Netは、学習されたトークン化を持つ標準的な言語モデルと見なすことができます。インナーネットワークはチャンク(トークンの役割を果たす)上で動作し、アウターネットワークは動的トークン化の役割を果たし、バイトをチャンクにエンコードし、それらをデコードします。各ラングは非常に注意深くマッチングされています:
- H-Netのインナーネットワークは、標準的なTransformerアーキテクチャとまったく同じです。
- H-Netのアウターネットワーク(エンコーダーとデコーダー)は、トークン化レイヤー(埋め込みと「アンエンベディング」または射影ヘッド)とFLOP数およびパラメータ数でマッチングされています。
- H-Netの圧縮率は、強力な補助損失を使用してBPEの圧縮率(4.57)にマッチングされています。
- BPE Transformerのハイパーパラメータ(バッチサイズと学習率)は直接転送されます。
BPEラングをH-Netに変換する
ラダーの1ラング
BPEラダーとその等価なH-Netの1ラング
両方のモデルはバイトで同一のテキストを読み取ります。それぞれが独自のメインバックボーンを持ち、約4.5バイト単位で動作し、2つのバックボーンは同一のアーキテクチャを持っています。トークン化された言語モデルのトークナイザーと埋め込み(パラメータ、ほとんどFLOPなし)と射影ヘッド(パラメータとFLOP)はまとめて括られ、H-Netのエンコーダーとチャンカー、およびデコーダーとデチャンカーも同様です。アウターネットワークは、総パラメータ数とFLOP数でマッチングされています。
トークン化言語モデル
1段階H-Net
射影ヘッド
パラメータとFLOP
デコーダー + デチャンカー
パラメータとFLOP
メインバックボーン
約4.5バイト単位で実行
メインバックボーン
約4.5バイト単位で実行
トークナイザー + 埋め込み
パラメータ、ほとんどFLOPなし
エンコーダー + チャンカー
パラメータとFLOP
バイトで同一のテキスト
同一アーキテクチャ
アウターネットワークは総パラメータ数とFLOP数でマッチング
図3。BPEラダーの1ラングをバイトレベルの1段階H-Netに変換します。メインバックボーンは同じアーキテクチャを維持し、約4.5バイト単位で両方のモデルで実行されます。H-Netのアウターネットワークはトークン化レイヤーを置き換え、総パラメータ数とFLOP数でそれらにマッチングされます。
計算乗数:検証、下流タスク
計算最適スケーリング則
バイトH-Net vs. BPE Transformer
1.28
×
検証BPB
1.83
×
Paloma平均
2.06
×
OLMES平均
バイトH-Net
BPE Transformer
図4。BPE TransformerラダーとマッチングされたH-Netモデルの計算最適スケーリング。H-Netは、保持されたプトレーニングデータ(検証bpb)で22%少ない計算量でBPE Transformerの損失に到達し、下流評価スイートではその差が広がります。
すべてのモデルサイズで、H-Net実行はマッチングされたBPE Transformerラングよりも低い損失を達成しました。「動的トークン化」という解釈は、すぐに静的トークナイザーを上回りました!
両方のラダーに計算対損失のべき乗則を適合させた後、H-Netが同じ損失に到達するために必要な計算量がどれだけ少ないかで定量化される、両アーキテクチャの計算効率を比較できます(図4)。
インドメイン:H-NetはBPE Transformerよりも1.28倍計算効率が高いです。
評価:PalomaやOLMESなどの標準的な下流評価スイートを調査しました。それぞれが、人間の言語とドメイン(コード、数学など)にまたがる数十のデータセットとタスクのミックスで構成されています。それぞれについて、モデルの「ソフト精度」を、正解に割り当てるビット/バイトとして測定しました。各スイートに計算対bpbスケーリング則を再適合させると、H-NetsとBPE Transformerの差が約2倍に広がるのがわかります。
このシリーズの2番目の記事では、さまざまな言語モデルの分布外の振る舞いをより深く分析し、より柔軟で意味のあるチャンク化がより強力な下流転移につながるという仮説を支持します。
計算乗数:コード
興味深いことに、H-Netsは特にコードで優れています。トレーニングミックスに含まれる各プログラミング言語に同じ法則を適合させると、H-Netの計算乗数はすべての15言語で増加します。Markdownの1.49倍からGoの2.40倍まで、中央値は2.04倍です(図5)。
トレーニングミックスに含まれていない10のStack v2言語(OCaml、Prolog、Lean、Fortranなど)では、利点はさらに大きくなります。H-Netの乗数は、Haskellの2.19倍からPrologの5.37倍まで、中央値3.10倍に増加します。
(なぜこれが重要か?LLMは、データがあまり見られなかったコードを扱うことをよく求められ、DSL、カーネルプログラミング言語、ハードウェア抽象化レイヤーなどの新しい言語を考案または推論するためにますます使用されています。したがって、OODコードパフォーマンスは、フロンティアモデルにとって実際に非常に意味のあるものになる可能性があります。)
コードでの計算効率の向上
1 / 15
バイトH-Net
BPE Transformer
図5。コードでの計算乗数、言語ごとに:BPEがH-Netにマッチングするためにどれだけ多くの計算が必要か。H-Netの計算効率は、トレーニングミックス内の15言語(インディストリビューション)では1.49倍(Markdown)から2.40倍(Go)に増加し、それ以外の10言語(分布外)では2.19倍(Haskell)から5.37倍(Prolog)にさらに増加します。リストをスクロールするか、矢印を使用して言語間を移動します。
直感的には、これらの現象はいくつかの理由で発生すると仮説を立てています:
- H-Netsは、よりよく一般化する意味概念を低レベルデータから学習するため、新しい分布で一般的にパフォーマンスが向上します。これは、インディストリビューション(1.28倍)から下流評価(2.06倍)、およびインドメインプログラミング言語(中央値2.04倍)から分布外プログラミング言語(中央値3.10倍)への増加に反映されています。ポストIIでは、分布外転移についてさらに詳しく説明します。
- H-Netsは、小さな語彙の再利用可能なパターンがないという意味で、トークン化が難しいデータに対してより優れています。これは特にコードで顕著です。コードは非常に動的であり、幅広い空白文字や記号、構文構造、変数名(ラテン文字でさえ実質的に無限の語彙!)を持っています。事前に定義されたトークンは、意味の全範囲を捉える可能性が低いです。
- パート3では、H-Netsが推論時にオンザフライで意味を学習することを示します。例えば、コード内の変数名を1つのトークンとして学習できます。これは、コードで優れているメカニズムの1つであると仮説を立てています。
最後に、H-Netのコードでのパフォーマンス向上は、追加の計算量を費やしていることによるものではないという興味深い観察をします。
データソース別の圧縮率
各データソースにおけるH-NetとBPEの圧縮率の比較
26のデータソースについて、H-Netのバイト/チャンク ÷ BPEのバイト/トークンの棒グラフ。最も高い:stack-v2-sql 1.40、stack-v2-go 1.26、stack-v2-typescript 1.21。最も低い:fineweb2-hq-chinese 0.43、fineweb2-hq-arabic 0.64、fineweb2-hq-russian 0.65。
Equal compression
stack-v2-sql
stack-v2-go
stack-v2-typescript
stack-v2-python
stack-v2-ruby
stack-v2-cpp
stack-v2-php
stack-v2-csharp
stack-v2-javascript
stack-v2-java
stack-v2-rust
fineweb2-hq-italian
stack-v2-c
stack-v2-swift
finemath-3plus
fineweb-edu
infiweb
math-3plus
fineweb2-hq-french
fineweb2-hq-portuguese
fineweb2-hq-spanish
stack-v2-shell
stack-v2-markdown
fineweb2-hq-german
fineweb2-hq-russian
fineweb2-hq-arabic
fineweb2-hq-chinese
0.50
0.75
1.00
1.25
1.50
H-Netバイト/チャンク ÷ BPEバイト/トークン
H-Netがより多く圧縮
H-Netがより少なく圧縮
図6。最も低い検証損失を持つH-Netの、最も高いFLOP予算での圧縮率。各データソースについて、BPEと比較しています。H-Netは、ほぼすべてのコード言語をBPEベースラインよりも多く圧縮しており、コードをより良くモデル化しながらも、より少ない計算量で済むことを示しています。
図6は、言語モデリング能力は計算量とパラメータ数だけでなく、データから正しい意味を学習することであるという私たちのテーゼを支持しています。生バイトから意味的なチャンクを見つけることにより、H-Netsは、より少ない計算量で、トークン化が難しいドメインでより優れたパフォーマンスを発揮します。
H-Netラダーの限界
私たちがここで行ったようにH-NetsをBPEトークン化モデルにマッチングさせるように制御することは、実際には非常に制限的です。階層型ネットワークは、驚くほどの柔軟性を持っています:
- BPEの単一の静的フェーズとは対照的に、複数のチャンク化ステージを含めることができます。
- 圧縮率は自由に制御できます。それらをBPEによって定義された比率と等しくすることは、実際にはH-Netsの精神に反します。H-Netsは理想的にはデータの自然な圧縮率(情報のコンテンツとデータの意味論によって緩やかに管理される)を見つけるべきです。
- 各ネットワークのハイパーパラメータは調整可能であるべきです。実際、それらをBPEモデルと同じに設定することは最適ではないことがわかりました。
重要なのは、BPE Transformerのトークン化部分のみを変更することによって定義されたH-Netラダーは、最適化されたH-Netアーキテクチャではまったくないということです。実際、それはBPE Transformerベースラインに非常に有利であると見なすことができます。これらの制限を取り除くとどうなるでしょうか?
パート2:より大きなH-Netのトレーニング
データ効率 vs. SmolLM3
バイトH-Net
SmolLM3-3B(BPE Transformer)
図7。プトレーニング評価におけるバイトレベル2段階H-Net vs. SmolLM3(計算量とデータ量をマッチング)。
私たちは、スケーリングラダーや以前のバージョンよりも大きなH-Netsをスケールアップすることを目指しました(最初の論文は100Bトークンで1.3Bパラメータモデルの同等物までトレーニングしました)。ベースラインとして、Hugging Faceによってリリースされた3B Transformer LLMであるSmolLM3を選択しました。これは、完全に文書化されたトレーニングレシピを備えています。SmolLM3チームがモデルアーキテクチャ、トレーニングデータミックス、およびトレーニング実行中のいくつかのチェックポイントを公開したため、レシピを再現し、トレーニングプロセス全体でモデルを比較することができました。トレーニングしたホライゾンを超えても!
データ:SmolLM3のプトレーニングは、8T/2T/1Tトークンの3つのフェーズで構成され、Llama-3トークナイザーを使用し、合計11.1Tトークンでした。私たちのターゲットホライゾンははるかに短かったため、ステージ1のデータミックスのみを使用しました。同じ公開ソースから構築されたベストエフォートの再現を行いました。データ制御は微妙です。ほとんどのトレーニングレシピは、データミックスを(例:SmolLM3の73.2 / 12.1 / 12.0 / 2.7は英語Web /多言語/コード/数学)割合として報告しますが、これは通常トークン単位です。データを適切に制御するために、バイトレベルのミックス(スケーリングラダーで行ったのと同じように)をマッチングすることにしました。これは、76.5 / 10.9 / 10.3 / 2.2になりました。
最適化:追加のチューニングなしで、ベースラインと完全に一致させます。AdamW(0.9、0.95)、重み減衰0.1、クリッピング1.0、ピークLR 2e-4、5Bトークン相当のウォームアップを持つ同じWSDスケジュール。トレーニングの最後の15%でクールダウンしました。ベースラインとの1つの違いは、SmolLM3のクールダウンフェーズが3番目のプトレーニングステージ(10Tトークン後)中に、異なるデータミックスで発生したことです。
アーキテクチャ:バイト上で2段階階層型ネットワークを構築しました。
- 最も外側の(バイトレベルの)ステージは、エンコーダーに4つのMamba-2レイヤー、デコーダーに4つのMamba-2レイヤーを使用します。
- 次のステージには、スライディングウィンドウアテンションブロックと、各側にさらに4つのMamba-2レイヤーが追加されます。
- メインネットワークは、SmolLM3と同じレイヤーごとの形状を持つ40レイヤーのTransformerであり、すべてのレイヤーにグローバルアテンションがあります。
- 圧縮率は、以前の研究に従って設定されました(2つの外側エンコーダー/デコーダーステージで4倍と2倍をターゲット)。
FLOPsはどこに使われるのか?
スケーリングラダーとは異なり、階層型ネットワークの哲学に沿って、複数のステージでモデルが動的なチャンク化を実行できるようにすることに重点を置きました。これは、パラメータと計算量が非常に異なる方法で費やされるため、すべての軸をベースラインにマッチングさせることを不可能にしました。私たちはFLOPs/バイトを制御することを目指しました。これにより、各ミニバッチのトレーニングは、同じ基盤データを見て、ベースラインと同じ量の計算量を費やすことができます。
- メインネットワークが約8バイトあたり1つの位置を見るように圧縮率が設定されました(トレーニングされたモデルは約7.6倍になります)。SmolLM3の約4.5バイト/トークンと比較して、これはSmolLM3が同じテキストで処理するトークンよりも約40%少ないです。
- その節約は、H-NetのFLOPsの約43%を占めるアウターエンコーダー/デコーダーステージ(トークン化されたTransformerの埋め込みとLMヘッドの8%と比較)とのトレードオフになります。
- 結果として得られるモデルは、FLOPs/バイトで2%以内に計算量がマッチングされています。
H-Netの総パラメータ数は3.67Bになり、ベースラインの3.08Bと比較されます。差の大部分はエンコーダーとデコーダー、および4つの追加のメインステージレイヤーによるものです。バイト埋め込みは非常に小さいです。
パラメータとFLOPs/コンポーネント
H-Net vs. SmolLM3
図8。H-NetとSmolLM3のパラメータ数と(トレーニング)FLOPs/バイト。
結果
公式のSmolLM3の結果と同じ評価スイートと、それらの「推論と常識」および「知識と理解」の評価セットを使用して評価しました。
図7は、トレーニング中の両モデルのベンチマークスコアを示しています。H-Netは、約11Tトークンと比較して、約1Tトークン後にSmolLM3の最終平均スコアに到達します。2つのモデルはバイトあたり計算量がマッチングされているため、トレーニングFLOPsの節約は比例します。
議論:データ制御
データと計算量を公平に制御しようとしたにもかかわらず、後から考えると、適切な方法論が何であるかは依然として明らかではないことに気づきました。例えば、英語とコードを見てみましょう。SmolLM3のトークンミックスがそれぞれ73.2% / 12.0%からバイトレベルで76.5% / 10.3%になる理由は、トークナイザーが英語をより多く圧縮するためです(図8bを参照)。これは、BPEトークン化のアーティファクトであり、頻繁に出現するデータにより多くの努力を費やすため、任意のデータ分布に依存しています。
一方、H-Netsの哲学は、「本質的な」圧縮可能性と意味論の概念に従ってデータを圧縮することです。例えば、H-Netsはコードを大幅に圧縮します。なぜなら、コードは自然に圧縮可能だからです。そして、H-Netのコードでの改善の多くをこのデータをよりよく理解する能力に起因すると考えています。しかし同時に、これはH-NetsがBPEベースラインと比較して、コードにより少ない計算量を費やすことを意味します(同じコードデータがメインネットワークに送信されるチャンクの数がはるかに少なくなるため)!したがって、より良い制御方法は、モデルがソースごとに同等の計算量を費やすようにすることでしょうか?
要するに、BPEモデルとH-Netsはサブドメインを反対方向に圧縮できます。例えば、BPEは英語よりもコードを少なく圧縮しますが、H-Netsはコードをより多く圧縮します。したがって、データと計算量の両方をマッチングすることは不可能であり、モデルを比較する正しい方法は微妙です。これらはすべて未解決の研究問題です!
ソースごとの圧縮と計算量
ソート順
Hindi
C#
Java
Greek
Russian
Thai
C
TypeScript
PHP
Swift
JavaScript
Python
C++
Persian
SQL
HTML
Rust
peS2o papers
FineWeb-Edu (en)
Issues + Kaggle notebooks
StackExchange
Ruby
Go
DCLM (en)
FineMath 3+
Wikipedia
InfiWeb
Math 3+
Markdown
Spanish
French
Portuguese
Shell
Italian
German
Vietnamese
Korean
Japanese
Chinese
equal compression
equal compute
Compression
Compute per byte
1
1.5
2
2.5
3
3.5
0.5
0.75
1.25
1.5
H-Net ÷ SmolLM3, バイト/ユニット
H-Net ÷ SmolLM3, GFLOPs/バイト
H-Netがより多く圧縮またはより少なく消費
H-Netがより多く消費
SmolLM3と同等
ソースをホバーして数値を表示します。
図8b。トレーニングミックス内の38ソースのそれぞれについて、1TトークンバイトH-NetとSmolLM3のLlama-3トークナイザーの圧縮率とトレーニング計算量/バイト。圧縮率は、メインネットワーク内のH-Netチャンクのテキストバイト数、およびSmolLM3トークンのバイト数です。計算量は、テキストバイトあたりのトレーニングGFLOPsです。
パート3:学習された振る舞いの定性分析
トレーニングダイナミクス
H-Netがトレーニング開始からどのように学習し、特定の保持されたテキスト(元のH-Net論文の要約!)の表現を継続的に更新するかを示します。
トレーニング中のチャンキング
保持されたテキスト
ステップ71,856 · 671.0B バイト
H-Net
H-Net要約 · 208チャンク · 各8.4バイト
このテキストのチャンク
ステージ0
ステージ1
図9。元のH-Net論文の英語要約に対する2段階H-Netのトレーニングダイナミクス。
H-Netの動的トークンの視覚化
データミックスの各ソースについて、H-Netのチャンクをいくつかの例(トレーニングに使用していないもの)で示します。3つのBPEトークナイザーを含むいくつかのベースラインも示します:
- SmolLM3が使用するLlama-3トークナイザー
- SmolLM3トレーニングコーパスで直接トレーニングされた新しいBPEトークナイザー(BPEが完全にインディストリビューションで学習するものを示す)(コーパス)
- 事前トークン化なしのコーパス内BPEトークナイザー(コーパス(NP))。これは次の記事でさらに詳しく説明します。
また、元のH-Net(LH-Netと表記)のチャンクも提供し、内部バージョンの定性的な改善を例示します。
言語
H-Net
比較対象:
図10a。H-Net(左)とさまざまなBPEメソッド(右)でチャンク化された自然言語テキスト。言語と例を選択してください。H-Netはステージ1チャンク(デフォルト)またはより細かいステージ0チャンクを表示できます。バイトにカーソルを合わせると、そのチャンク、ルーターの境界確率p、およびそれが属するBPEトークンが表示されます。
図10aは、人間の言語からの例を示しています。
- H-Netは、スペースを区切り文字として使用するラテンベース/ゲルマン語、および明示的な区切り文字の有無にかかわらずマルチバイト文字言語(例:CJK、ヒンディー語)を含む自然言語に対して、一貫性があり意味的に意味のある境界を提示します。
- H-Netは、自然にグループ化できる複数の単語を単一のチャンクにマージします。例えば、「a foot」、「quite a few」など。
- 興味深いことに、事前トークン化なしのBPEトークナイザーからのトークンも、しばしば複数の単語で構成されます。しかし、それらは
beat a bearがbeat abearに分離されるなど、多くの奇妙な境界を示します。
- 興味深いことに、事前トークン化なしのBPEトークナイザーからのトークンも、しばしば複数の単語で構成されます。しかし、それらは
- H-Netの境界はパターンベースではありません。むしろ、コンテキストベースです。例えば、「a」は英語でしばしば後続の名詞とマージされますが、イタリア語では「a」は異なる意味を持つため、他の単語とグループ化されることはめったにありません。
- すべての言語で、H-NetはBPEトークナイザーよりもはるかに高い圧縮率を達成します。これは、ヒンディー語のように文字を形成するために多くのバイトを必要とする特定の言語では、より顕著です。
コード
H-Net
比較対象:
図10b。H-Net(左)とさまざまなBPEメソッド(右)でチャンク化されたコード例。言語と例を選択してください。H-Netはステージ1チャンク(デフォルト)またはより細かいステージ0チャンクを表示できます。バイトにカーソルを合わせると、そのチャンク、ルーターの境界確率p、およびそれが属するBPEトークンが表示されます。
図10bは、プログラミング言語からの例を示しています。
- コーディング言語に対するH-Netの境界も、コンテキストベースのプロパティから派生した興味深い特性を示しています。例えば、BPEトークナイザーは厳密に改行を境界として使用しますが、H-Netsは複数のスペース/タブ/改行チャンクを受け入れます(例:
__init__( self,)。 - H-Netsは、一般的にBPEよりもコードを大幅に圧縮できます(図8bの議論も参照)。
- H-Netsは、コンテキスト内トークン化の恩恵を受けることができます。これにより、新しい変数名/関数名などの繰り返し現れるモチーフを認識できます。
余談:元のH-Netとの比較
階層型ネットワークの概念を2025年に発表して以来、コアアーキテクチャと学習メカニズムに多くの重要な改善を加えてきました。これらのアーキテクチャの一部を時間とともにコミュニティにリリースする予定です。ここでは、具体的な定性的な改善領域について説明します。
この比較のために、以前のモデルをLH-Netと呼びます。Lは「lazy」または「lookahead」を意味すると考えることができます。要するに、この元のモデルは、次のチャンクの開始を見るまでチャンク境界を描画しないことを目指しています。2これにより、LH-Netはチャンクを作成する際にコンテキストをより多く持つことができますが、次トークン(バイト)予測のパフォーマンスや複数の階層のモデル化能力に悪影響を与えることが判明しました。
LH-Netと現在の内部H-Netの定性的な違いは、特に複数のステージを持つ再帰的な階層型ネットワークを調べるときに明らかです。
- 英語では、最初の例を考えてみてください。
- H-Netからのステージ0チャンクは、一般的にLH-Netのものよりも意味があります。例えば、英語の単語の途中で発生する場合、それらは言語学的に意味のある語幹によりよく一致します。
- H-Netの例:
trackers→trackers、wondered→wondered、nearby→nearby - LH-Netの例:
rhino→rhino、from the fact→from thefact、mass→mass、Over→Over、ethical→ethical
- 文字が複数のバイトで表されるスクリプト、例えばCJK(中国語、日本語、韓国語)では、マルチステージLH-Netは、両方のステージのチャンク化の後でさえ、文字を正しくセグメント化できません。
新しい創発行動:コンテキスト内トークン化
コンテキスト内トークン化
H-Netのトークン化は、トレーニング時間とともに変化するだけでなく、推論中にも進化する可能性があり、これをコンテキスト内トークン化と呼びます。以前に、H-Netsの境界がパターンベースではなくコンテキストベースであることの簡単な例をいくつか議論しました。図11では、コンテキスト内トークン化の4つの興味深い例を強調しています:
- 新しい概念:H-Netが見慣れない単語や新しい概念に遭遇すると、単語を複数のチャンクに分割する傾向があります(BPEが見慣れない文字列を読む方法に似ています)。同じ単語に複数回遭遇すると、徐々に単語をより少ないチャンクにグループ化することを学習します。
- 繰り返しフォーマット:繰り返されるフレーズがある場合、次に何が来るかを簡単に予測できます。同様に、そのようなシナリオでは、H-Netsは入力をさらに圧縮することを学習し、計算量を節約するために非常に大きなチャンクを描画します。
- 繰り返しモチーフ:図に示すように、H-Netsは入力内の暗黙のパターンを発見することを学習します。文字ブロックの例では、繰り返されるブロック(
LURD、WHYV、FYB)がグループ化されます。数字ブロックの例は、H-Netがデータの下にある繰り返されるモチーフ(2526、3987、3526)を発見する方法を示す興味深いケースです。ステージ0とステージ1の振る舞いも観察するのに興味深いです。
H-Net
比較対象:
図11。コンテキスト内トークン化:段落で繰り返される架空の単語、1つのフォーマットを繰り返す行、および繰り返される文字と数字ブロックの実行。
分布外プログラミング言語
最後に、H-Netsが見たことのないプログラミング言語をどのように処理するかを視覚化します。以前に、H-Netラダーが分布外プログラミング言語に対して特に効果的であったことを見ました(ベースラインと比較して)。図12は、これらの10のプログラミング言語からの例を示しています。
H-Net
比較対象:
図12。H-Netがトレーニングで見なかったプログラミング言語。
パート4:トークンからアトムへ:言語を超えた階層型ネットワーク
この記事では、これまでのところ、言語の文脈で生データから学習するという理想を捉えた、バイト上の言語モデリングに適用される階層型ネットワークの機能に焦点を当ててきました。
私たちは、H-Netsの有用性が言語をはるかに超えていると信じています。低レベルのデータを高レベルのパターンにチャンク化するというコアコンセプトは、知能の基盤であり、あらゆるドメインに適用できます。
そのような領域の1つがオーディオです。Cartesiaのコアフォーカスであり、モデルが生のオーディオを音素や単語に自律的に抽象化できないことは、マルチモーダル音声間音声モデルへの主要なボトルネックとなっています(実際、数年前にH-Netsの調査を開始した動機でもありました!)。
より広範には、バイトはすべてのドメインの普遍的なエンコーディングであるとは限りません。ほとんどのドメインには、「原始的な構成要素」の概念があります。例えば、言語の場合は文字またはバイト、画像とビデオの場合はピクセル、オーディオの場合は波形、生物学の場合はヌクレオチドなどです。私たちは、さまざまなモダリティがさまざまな基本アトムから構築されていると考えるようになり、いわゆるアトミックモデルを、マルチモダリティのための強力な基盤モデルを構築するための真にビタート・レッスンを実践した方法と考えています。追加のドメインの例をいくつか紹介します。
生物学(DNA)
DNAは、生物学の最も低レベルのプログラミング言語です。文脈に応じて、その自然な抽象化レベル、したがってその自然な原始単位は劇的に変化します。このため、H-Netの動的なトークン化は、DNAドメインにおける静的なトークン化スキームよりも大幅に効果的であると仮説を立てました。
DNAスケーリングラダー
DNAシーケンスの自己回帰モデリングにおいて、H-NetとTransformerを比較します。両方のモデルは、ヌクレオチド解像度で動作します(したがって、語彙サイズは4に特殊トークンIDが加わります)。H-Netは6倍のターゲット圧縮率を持っています。そのメインネットワークは、約6ヌクレオチドごとに1つのチャンクを表示します。
パート1と同様の手順を使用して、計算最適スケーリングラダーを適合させました。H-Netは、3つのセットすべてで6〜7倍の計算ゲインをもたらします。
詳細:DNAデータセット
- トレーニングデータ。OpenGenome(ステージ1)からの原核生物ゲノムのGTDBセット、約2740億ヌクレオチド。各コンティグを8,192ヌクレオチド以下のセグメントにカットし、セグメントをミックスします。
- 検証セット。トレーニングから除外した8,192セグメント(約5600万ヌクレオチド)。同じゲノムの他のセグメントはトレーニングデータに含まれています。
gtdb_valid_smallおよびgtdb_test。OpenGenomeの2つの公式保持セット:5コンティグ(26,000ヌクレオチド)と50コンティグ(374,000ヌクレオチド)。これらのコンティグはすべて1つのゲノムから来ています。これらのコンティグはトレーニングしませんが、このゲノムの他のコンティグはトレーニングデータに含まれています。
DNAにおける計算最適スケーリング
H-Net vs. Transformer
5.95
×
検証BPB
5.83
×
gtdb_valid_small
7.06
×
gtdb_test
H-Net
Transformer
図13。10^18.5から10^20.5 FLOPsまでの、DNAにおけるTransformerとH-Netsの計算最適スケーリング。
DNAにおける定性分析:生物学のコンテキスト依存的なアトム
H-Netは原核生物(細菌および古細菌)ゲノムの次文字予測タスクのみでトレーニングされたため、H-Netのチャンクセグメンテーションが人間のゲノムにおける生物学の自然な構造に準拠していることは純粋に創発的な振る舞いです。ここでは、これらの例のいくつかを展示します:
例
1 / 5
H-Netチャンク
ヒト染色体6、ヒストン遺伝子H2BC17 · トレーニングでは見たことがない
バンドごとのチャンク
コドンの最初の文字
コドンの2番目の文字
コドンの3番目の文字
開始/停止コドン
プロモーター
ヘアピン
RNAの終了
680文字の86チャンク · 各7.9文字
図14a。ヒトヒストン遺伝子(H2BC17)全体:コード領域と非コード領域。ヒストンはDNAが巻き付くタンパク質です。この例のウィンドウは、遺伝子のプロモーター(非コード領域)、その126個のコドン(コード)、およびRNAが終了するヘアピン(非コード領域)まで実行されます。コード領域内では、単位はコドンです。H-Netはコドン境界で開始し、ほとんどが1〜3コドンの長さのチャンクを学習します。その両側にある非コードDNA(前方のプロモーター領域と後方の終結シグナル)は構造がはるかに少なく、情報が少ないです。そこでは、H-Netは長く、構造化されていないチャンクを描画します。
生物学/DNAの簡単な入門
DNAと遺伝子。DNAは4つの文字(A、C、G、T)の文字列です。遺伝子は、通常タンパク質に翻訳されるRNA配列を生成する責任のあるDNAのストレッチです。そのコード領域のみが実際にタンパク質をコードしますが、その周囲のDNAははるかに制約が少なく、情報が少ないです。前のプロモーター領域、後のRNAを終了するシグナルです。それらはタンパク質のタンパク質をどのように作るかを制御しますが、何であるかではありません。さらに、ヒト遺伝子では、コード領域の真ん中にある非コード領域であるイントロンはスプライスアウトされ、タンパク質配列にも寄与しません。
コドンと読み取りフレーム。コード領域は、開始コドン(通常ATG)から停止コドン(TAA、TAG、またはTGA)まで、3文字ずつ読み取られます。各3文字のコドンは、タンパク質配列の1つのアミノ酸を名付けます。読み取りが開始される場所が読み取りフレームを設定します。1文字ずらすと、下流のすべてのコドンが変更されます。
いくつかの注目すべき学習された振る舞い:
- 遺伝子内では、H-Netルーターは、それが何を読んでいるかに応じて異なるアトム単位に落ち着きます。生物学的にアラインされた処理を確認します:
- コード領域 vs. 非コード領域
- エクソン vs. イントロン
- 堅牢性:H-Netの学習したコドングリッドは固定されていません。2つのコード領域が重複し、2番目がオフセットされている場合、H-Netの境界は迅速に適応します。
- トランスファーRNA(tRNA)遺伝子では、自然な単位が1文字に縮小します。H-Netの境界は、この新しい自然な単位に準拠するように学習します。
- DNAの繰り返しの大規模なセクションは通常情報が少ないため、繰り返しでは、自然な生物学的単位が繰り返し全体に成長します。
興味深いことに、予想されるように、これらの生物学的に準拠した振る舞いの多くは、学習軌道アニメーションで示されているように、トレーニングの後半まで学習されません。これらの振る舞いの遅い発症は、DNAドメインにおける「トークン化タスク」の非自明性を強調し、手作業で作成されたトークン化スキームは、言語よりもマルチモーダルドメインではさらに困難で効果が低いだろうというテーゼを支持しています。
ビジョン
階層型ネットワークは、チャンク化とセグメンテーションが直感的な1次元シーケンシャルデータに対して自然に定義されます。しかし、それらを高次元モダリティに拡張することは、大きな技術的課題を提示します。同時に、ビジョンは階層に適したドメインであるため、大きな機会でもあります。進行中の研究では、H-Netsを画像やビデオなどのN次元データに適用するための新しい技術を開発しました。ピクセル空間拡散モデルに統合すると、H-Netsは生成品質を向上させるだけでなく、生データから直接教師なしの意味的概念を明らかにします。これは、言語で見られた創発行動を反映しています。
詳細には、標準的なピクセル空間フローマッチングベースラインJiTを取り、そのバックボーンを多次元H-Netに置き換えます。1D H-Netsと同様に、モデルはチャンク化する場所と圧縮する量の両方を学習します。これにより、3つの軸に沿って動的に計算を再割り当てできます。空間的(単純な領域よりも詳細な領域に焦点を当てる)、統合時間(デノイズステップごとに労力を変える)、およびサンプル(複雑な画像により多くの計算量を割り当てる)。結果として、モデルは均一または情報量の少ない領域を統合し、顕著な詳細に焦点を当て、完全に教師なしで画像の意味的セグメンテーションを発見します。最後の興味深い詳細は、隣接するパッチの類似性に依存する既存のトークンマージングメソッドとは異なり、私たちの2D H-Netはローカルグルーピングを強制しないことです。このため、モデルはしばしば平坦な2D投影から基盤となる3D構造を推測するように見えます。例えば、前景オブジェクトによって画像内で分離されていても、分離された背景領域を単一の連続したチャンクにグループ化することがよくあります。
画像での学習チャンク
保持された画像
レッドシャンク
177チャンク
図15。多次元H-Netからの学習チャンク。結果は、t=0.7のノイズ画像で示されています(t=0は純粋なノイズ、t=1はクリーンな画像)。チャンクは、ピクセルレベルで空間的に連続または均一である必要はありません。
次:ポストII
次の記事では、計算効率の結果をさらに詳しく掘り下げます。損失対損失のスケーリング則を研究し、H-Netのパフォーマンス向上が実際に生バイトからエンドツーエンドで学習する能力から来ているという経験的証拠を見つけます。
引用
この作品を次のように引用してください:
Cartesia Research, "From Tokens to Bytes: Scaling Hierarchical Networks", Cartesia Blog, October 2026.
またはBibTeX引用を使用してください:
@article{cartesia2026hnet,
author = {{Cartesia Research}},
title = {From Tokens to Bytes: Scaling Hierarchical Networks},
journal = {Cartesia Blog},
year = {2026},
month = {October},
note = {https://www.cartesia.ai/blog/from-tokens-to-bytes-part-1}
}