1日目 ·
ExeaLM を始める
高校生がつくるオープンな 0.1B の言語モデル。検索とエージェント同士のメッセージのやりとりを、層の中に持ちます。
- 日付
- 2026-11-10
- 読む時間
- 5分で読めます
- トピック
- 計画, アーキテクチャ
- 執筆
- Exea チーム
予定のパラメータ数
予定の学習トークン数
TONN 層に入れられる回路の種類
ExeaLM は、Exea Labs の高校生がつくっているオープンな言語モデルです。パラメータ数は 0.1B になる予定です。英語、日本語、コードからなる約 100B トークンで学習します。そのあと、事後学習でアシスタントに仕上げます。コード、データのレシピ、すべての結果、そしてこのノートは公開しています。
01賭け
0.1B パラメータのモデルは小さいです。単独では、持てる知識が少なくなります。扱えるのも短い問題だけです。ExeaLM は、アーキテクチャに組み込んだ 2 つの能力でこれが変わるかを試します。
- 自前の検索。 モデルは自分の埋め込みを学びます。何を探すかは自分で決めます。そのうえで、読み取り専用のライブラリからテキストを読みます。知識のすべてを 1 億個の重みに収める必要はありません。
- 自分のコピーとの会話。 モデルの複数のコピー()が、1 つのメッセージ掲示板を共有します。大きな問題は、コピーの間で分担できます。見つけたことは掲示板で伝え合います。
どちらも事前学習の最初のステップから、通常の勾配でエンドツーエンドに学習します。中心となる検証はもっと先です。検索を持つ 0.1B エージェントのスウォームを、より大きなオープンモデル 1 つと比べます。タスクは同じにし、推論時の計算量もそろえます。これは仮説です。うまくいかなければ、このノートではっきりそう書きます。
020.1B パラメータと 100B トークンにした理由
0.1B パラメータに 100B トークンは、1 パラメータあたり 1,000 トークンです。計算量最適とされる比率(約 20)のおよそ 50 倍にあたります。小さなモデルは、あえてこの比率を超えて学習させます。学習後に安く動かせるからです。スウォームは多くのコピーを動かすので、ここではこの点がさらに効いてきます。
トークンを増やした効果は、すぐに小さくなります。Hoffmann ら(2022)の損失の当てはめ式では、20B から 100B トークンに増やすと、予測損失は約 0.19 下がります。100B から 200B では約 0.06、200B から 400B では約 0.05 です。GPU 1 枚あたり約 300 TFLOPs とすると、0.1B パラメータで 100B トークンの学習は約 56 GPU 時間です。
03アーキテクチャ:TONN
ExeaLM は、私たちの論文のアーキテクチャである TONN(トーン)の上に作ります。 層は、アテンションの代わりに小さなを並べたものです。
- 1 つの入力射影が、残差ストリーム(640 チャネル)を 20 個のスロットに読み込みます。各スロットは、32 チャネルずつの 3 本の A、B、C を受け取ります。
- 各スロットは、回路の種類を 1 つ動かします。遅延、短い畳み込み、累積和、状態空間、小さなアテンションヘッドなどです。
- 各スロットの出力は、その大きさを逐次推定した値で割ります。こうして、どのスロットも同じ音量で話します。
- 1 つの出力射影が、20 個の結果を残差ストリームに書き戻します。そのあとに、トランスフォーマーと同じくゲートつき MLP が続きます。
どのスロットにどの回路を入れるかは、人の手では決めません。学習中、TONN のは回路のグループを 1 つずつ止めます。そのとき損失がどれだけ上がるかを測ります。そして、もっとも弱いスロットを引き直します。ネットワークは、自分のアーキテクチャの一部をデータから選びます。
ストリーム A を一定ステップ前(ラグ)からそのまま写します。
現在の A、1 間隔前の B、2 間隔前の C を足し、滑らかなゲート(silu)を通します。短い語の断片に強い回路です。
チャネルごとに学習した割合で薄れていく A の和を保ちます。
累積和と同じですが、過去をどれだけ残すかを B が毎ステップ決めます。
ラグをつけた A と B の積をとり、その減衰つきの和を保ちます。
積の累積和を C を通して読み出します。誘導ヘッドのように、組を見て後で思い出す働きをします。
過去全体にわたる B の加重平均で、重みは exp(A) です。
Mamba に似た状態です。B が位置ごとにステップ幅を決め、何を覚えるかを回路が選びます。
減衰しながら回転する状態(S4D に似ています)で、リズムや周期的なパターンを追えます。
同じ位置で silu(A) と B を掛けます。位置ごとの小さな MLP です。
数ステップ前の A と現在の B の積です。
スロットの中の小さなアテンションヘッドです。A が問い、B が答え、C が渡す内容です。
モデル自身の埋め込みで読み取り専用のライブラリを検索し、見つけたチャンクを読みます。
チャンクごとにメッセージを投稿し、ほかのモデルのコピーが投稿したメッセージを読みます。
042 つの新しい回路
ExeaLM は、TONN の回路メニューに 2 種類を加えます。どの TONN 層にも、それぞれ必ず 1 つずつ入ります。探索はこれらを外せません。
- RG(検索)。 64 トークンのごとに 1 回動きます。直前に読んだチャンクをクエリに変えます。モデル自身のチャンクエンコーダでライブラリを検索します。上位 4 つのチャンクを取り出して読みます。
- AG(エージェント掲示板)。 各チャンクのあと、すべてのエージェントがメッセージを 1 つ投稿します。中身は値、キー、強さです。以降のチャンクでは、各エージェントが掲示板の過去の投稿をアテンションで読みます。仲間の投稿も、自分の投稿も読みます。空のエントリは「役に立つものはない」を表します。
学習では、バッチの連続する 4 行が 1 つのスウォームになります。スウォームは掲示板を 1 つ共有します。勾配は掲示板を通って流れます。そのため、エージェントは仲間の損失がどれだけ下がるかから、何を投稿すべきかを学びます。
051 日目に公開したもの
- リポジトリ、Apache 2.0 ライセンス、コントリビューションガイド、行動規範。
- 骨組み(コミット 7a63ac9)。RG と AG を持つ TONN モデル、データストア、掲示板、データのダウンロードとパッキング、事前学習ループ、SFT・DPO・GRPO の損失と、16 個のテスト。
- DATA.md の計画。トークン予算と、データ配合の候補 2 つ。
- README の to-do リスト。ほとんどの項目は、ノートパソコンか無料の Colab GPU で動きます。
061 日目が示していないこと
この記事の内容は、まだ何も検証していません。骨組みは動き、16 個のテストも通ります。実データで学習したモデルは、まだありません。最初の節の賭けは仮説です。次の記事では、新しい 2 つの回路を、それらを通してしか解けないように作ったタスクで試します。