Exea LabsBlog
English英語版

2日目 ·

TONN だけでは Llama に負けた。ハイブリッドなら勝つ

TONN 層 1 つにつき、アテンション層を 2 つ。計算量をそろえた比較で、0.1B まで同じサイズの Llama に勝ちます。

日付
2026-11-11
読む時間
8分で読めます
トピック
アーキテクチャ, 速度, スケーリング
執筆
Exea チーム
1.464

バイトあたりビット数。0.1B の ExeaLM、Llama と同じ学習時間(Llama は 1.481)

1.01×

トークンあたりの学習コスト(Llama 比)

49

スイープでの学習の実行回数(Mac 1 台)

最初の公平な比較は、私たちの負けでした。13M の TONN と、同じサイズの を、同じデータで同じステップ数だけ学習させました。文章では僅差でした。コードでは大差がつきました。この記事では、それを勝ちに変えた 49 回の実行を追います。計算量をそろえた比較でも勝ちが保たれるようにした、速度改善も扱います。

数値はすべて、英語、日本語 Wikipedia、日本語ウェブテキスト、コードの評価用テキストでの(bpb)です。低いほど良い値です。どのモデルも、同じ 32k トークナイザーと同じデータ配合(英語 50%、日本語 30%、コード 20%)を使います。

01TONN だけのモデル対 Llama

13M パラメータ、3,000 ステップ、それぞれ 2 シードでの結果です。

モデル英語日本語 wiki日本語ウェブコード
Llama1.4671.5401.4201.789
TONN(探索あり)1.4761.5641.4201.970
TONN1.4801.5681.4221.979

文章では、TONN は接戦です。日本語ウェブテキストでは同点、英語では 0.009 の差です。差のほとんどはコードで、バイトあたりビット数で約 0.18 です。コードでは、名前を正確に写すことが点につながります。アテンションはこれが得意です。Llama は、すべての層にフルアテンションを持ちます。ランダムな初期配置の TONN 層が持つ小さなアテンション回路は、平均で 1 つ未満です。

02スイープ

その晩、Mac で実行のキューを動かし始めました。1 回に 1 つのアイデアを試し、毎回同じベースラインと比べます。キューは翌日の夜まで動きました。

03:0006:0009:0012:0015:0018:00ハイブリッド層(ランダムな初期配置)畳み込み寄りの初期配置学習率と長い学習大きいモデル(ステップ数をそろえる)計算量をそろえた比較層の並べ方ハイブリッドでの検索とスウォーム速度
スイープのすべての実行。Mac Studio の GPU 1 つで、11 月 11 日の午前 1:41 から。各棒が 1 回の学習で、答えた問いのレーンに置いています。オレンジは計算量をそろえた比較の実行です。棒にカーソルを合わせると結果が出ます。右側の実行は大きなモデルなので、時間がかかります。

試したことを順に挙げます。

  1. ランダムな初期配置のハイブリッド。 TONN 層とフルアテンション層を交互に置きます(アテンションは第 1・3・5 層)。シード 0 は Llama に勝ちました。シード 1 は勝てませんでした。文章では接戦で、コードは 1.950 でした。シードは、TONN 層の最初の回路も決めます。シード 0 は短い畳み込みを 7 つ引きました。シード 1 は 3 つだけで、位置ごとのゲートユニットも引きました。ゲートユニットは、MLP がすでにしていることと重なります。
  2. 探索は、シード 1 を少し改善しました(1.594 から 1.585)。ただし、解決はしませんでした。
  3. TONN だけのモデルの中でアテンション回路を増やすと、コードの差は 0.17 から 0.08 に縮みました。それでも Llama には届きませんでした。小さなアテンション回路をたくさん置くより、フルアテンション層のほうが良い結果になります。
  4. にすると、シード 1 が直りました。コードは 1.950 から 1.748 になりました。

畳み込み寄りの初期配置のハイブリッドは、両方のシードで、すべての種類のテキストで Llama に勝ちました。

モデルシード英語日本語 wiki日本語ウェブコード平均
ハイブリッド01.4521.5231.4061.7451.532
ハイブリッド11.4511.5191.4021.7481.530
Llama01.4611.5341.4131.7751.546
Llama11.4731.5451.4261.8031.562

2 つのシードの差は 0.002 以内です。実際のモデルと同じく、検索回路と掲示板回路を残しても、すべての種類のテキストで勝ちます。この設定では働かない記憶用の回路が、0.010 のコストになります。

03大きなモデル、同じステップ数

27M パラメータ(幅 384、8 層、2 シード)では、ハイブリッドのリードが 0.023 から 0.045 へと 2 倍になりました。このサイズでは、Llama は学習率を下げたほうが良くなります。そこで、各モデルをそれぞれの最適な学習率で確かめました。それでもハイブリッドは、すべての種類のテキストで 0.031 リードしています。48M では、同じ 3,000 ステップで 0.013 リードしています。

04計算量をそろえた比較:速度の問題

ステップあたりで勝つのは、テストの半分にすぎません。ステップあたりでは良くても遅いモデルは、両方に同じ学習時間を与えると負けることがあります。これがです。アーキテクチャを使う価値があるかどうかは、この比較で決まります。

Mac では、ハイブリッドは 1 ステップに Llama の 1.3 倍の時間がかかっていました。アテンションは、1 つの融合カーネルで動きます。TONN の回路は、素の PyTorch で動きます。1 つの層をプロファイルすると、時間の使い道がわかりました。

1 層の順伝播と逆伝播(ミリ秒)
GI127 → 25 ms
SM145 → 45 ms
改善前プレフィックススキャン後アテンションブロック 18 ms
トークンあたりの学習コスト(Llama を 1 とした値、0.1B)
純粋な TONN1.54× / 2.66×
ハイブリッド(アテンション半分)1.13× / 1.66×
ハイブリッド 2:1(標準)1.01× / 1.49×
メモリ回路は休止検索ありLlama = 1
速度がどこから来たか。左:回路の種類ごとの、1 つの層の順伝播と逆伝播の時間(幅 256)。並列プレフィックススキャンの前と後を示します。アテンションブロックは約 18 ms です。右:Mac での 0.1B モデル全体の学習スループットを、同じサイズの Llama との比で示します。トークンあたりのコストは、低いほど良い値です。
  • 2 つのゲートつき再帰回路 GI と SM は、1 ステップずつ動いていたため、127 ms と 145 ms かかっていました。は、同じ累積和を対数回のパスで計算します。それぞれ 5 倍と 3.3 倍速くなりました。
  • ソフトマックスプーリング回路では、FFT を 2 回から 1 回にしました。
  • 回転位置埋め込みの計算を軽くしました。
  • TONN 層は、活性化を並べ替える代わりに、小さな重み行列を回路の種類の順に並べ替えるようにしました。計算する関数は 3e-7 の精度で同じです。1 ステップあたり 9% 速くなりました。

05計算量をそろえた比較:結果

各ペアに、同じ GPU で同じ秒数を与えます。各モデルは、それぞれの最適な学習率で学習します。

計算量をそろえた比較(同じ学習時間)ステップ数をそろえた比較
-0.04-0.020.00+0.02+0.04+0.06ハイブリッドが良い ↑Llama が良い ↓13M27M48M90M
48M の最初の試み(アテンション半分)0.1B、ハイブリッドの学習率 1.5e-3
同じサイズの Llama に対するハイブリッドのリード(モデルサイズ別)。ゼロより上なら、ハイブリッドのほうが良い結果です。ステップ数をそろえた比較:両方とも同じ 3,000 ステップ。計算量をそろえた比較:同じ GPU で同じ学習時間。速いモデルほど多くのステップを進めます。48M では、計算量をそろえた最初の試行は負けました(白抜きの点)。TONN 層 1 つにつきアテンション層を 2 つにすると、勝ちを取り戻しました。点にカーソルを合わせると数値が出ます。
  • 13M、600 秒: 引き分け(どちらも 1.527)。文章では Llama がわずかに上で、コードではハイブリッドが上です。
  • 27M、1,000 秒: 両方のシードで、ハイブリッドが 0.006 差で勝ちます。
  • 48M、2,000 秒: 最初の試行は 0.020 差で負けました。同じ時間で、Llama は 23% 多くステップを進めました。ステップ数をそろえた比較では、ハイブリッドがまだ勝っていました。したがって、負けた原因は速度です。アーキテクチャの強みが薄れたからではありません。
  • 48M、TONN 層 1 つにつきアテンション層 2 つ: ハイブリッドが再び勝ちます。1.445 対 1.452 で、両方のシード、すべての種類のテキストで上回ります。アテンション層を増やすと、速くなります。残った TONN 層が、引き続き改善を担っています。

この 2:1 の構成が、現在の標準です。3 層に 1 層が TONN です。学習予定のサイズでは、トークンあたりのコストは Llama の 1.01 倍です。

060.1B での結果

実際のモデルは、幅 640、14 層です。TONN は第 0・3・6・9・12 層に置きます。32k トークナイザーでは約 90M パラメータになります。両方のモデルに、Mac で 3,000 秒を与えます。

ExeaLM ハイブリッドLlama
4.05.06.07.08.005001000150020002500学習時間(秒)ExeaLM ハイブリッド 3.835Llama 3.963
0.1B での、経過時間に対する学習損失。シード 0、両モデルとも学習率 1e-3。同じ 3,000 秒で、Llama は 11% 多くステップを進めます。それでも、ハイブリッドのほうが低い損失で終わります。グラフにカーソルを合わせると、どの時点でも 2 つを比べられます。
同じ 3,000 秒ステップ数英語日本語 wiki日本語ウェブコード平均
ExeaLM ハイブリッド、学習率 1e-33,1521.3731.4511.3391.6921.464
ExeaLM ハイブリッド、学習率 1.5e-33,1511.3861.4621.3471.7021.474
Llama、学習率 1e-33,4911.3921.4681.3521.7131.481

Llama と同じ学習率で、ハイブリッドはバイトあたりビット数で 0.017 リードしています。すべての種類のテキストで上回っています。

07この記事が示していないこと

  • 0.1B では 1 シードだけです。 シード 1 を実行中です。いまは Llama を回しています。次は学習率 1e-3 のハイブリッドです。学習率 1.5e-3 のシード 1 のハイブリッドは、すでに 1.482 で終わりました。シード 0 の 1.474 より悪い値です。ステップ数は、3,151 に対して 2,902 でした。その実行中、Mac の動作が遅かったためです。比べるためのシード 1 の Llama は、まだありません。13M から 48M では、計算量をそろえた比較の結果は、すべて 2 シードで成り立ちました。
  • 0.1B では、Llama は 1 つの学習率でしか実行していません(1e-3。27M と 48M での最適な学習率です)。より良い学習率なら、差が縮まる可能性があります。
  • どちらのモデルも、学習が大きく足りていません。90M パラメータに対して 50M から 57M トークンで、予定の 100B トークンには遠く及びません。学習を長くすると、差は縮む可能性があります。13M では、ステップ数を 2 倍にすると、リードが 0.014 から 0.006 に縮みました。
  • 速度は Mac の GPU 1 つで、コンパイルなしで測りました。 この GPU では、torch.compile で Llama は 20%、ハイブリッドは 8% 速くなります。そのため、いまコンパイルありで比べると Llama が有利です。コンパイルしやすい TONN 層は、to-do リストに入っています。
00 TONN010203 TONN040506 TONN070809 TONN101112 TONN13残差ストリーム14 層640 チャネル
14 層。約 9 千万パラメータ。

回路が載った板が TONN 層、残りはアテンション層。層にカーソルを合わせてください。

  • メモリ
  • 短距離
  • 状態の蓄積
  • ゲートと積
  • アテンション
0.1B モデルを層ごとに示したもの。回路を載せた 5 枚のプレートが TONN 層です。輪郭だけのプレートは、フルアテンション層です。層にカーソルを合わせると、中身が開きます。

すべての実行の順位は、結果のページにあります。

08

作業した人

Avneh Bhatia@AvnehSBhatia
Mac Studio で、49 回のスイープと、0.1B での計算量をそろえた比較の実行を行いました。プレフィックススキャンと層の高速化を書きました。
09

出典