Exea LabsBlog
日本語Japanese version

Day 1 ·

Starting ExeaLM

An open 0.1B language model built by high schoolers, with retrieval and agent messaging inside its layers.

Date
2026-11-10
Read
4 min read
Topics
Plan, Architecture
By
The Exea team
0.1B

parameters planned

100B

training tokens planned

14

circuit types a TONN layer can hold

ExeaLM is an open language model built by high schoolers at Exea Labs. It will have 0.1 billion parameters. It will train on about 100 billion tokens of English, Japanese and code, then be post-trained into an assistant. The code, the data recipe, every result and these notes are public.

01The bet

A model of 0.1B parameters is small. On its own it can hold little knowledge and work on short problems only. ExeaLM tests whether two abilities, built into the architecture, change that:

  • Its own retrieval. The model learns its own embeddings. It decides what to search for, then reads text from a read-only library. Its knowledge does not all have to fit in 100 million weights.
  • Talking to copies of itself. Several copies of the model, a , share a message board. A large problem can be split across the copies. They pass what they find over the board.

Both are trained from the first step of pretraining, end to end, with ordinary gradients. The headline test comes later: a swarm of 0.1B agents with retrieval against one larger open model, on the same tasks, at the same inference compute. This is a hypothesis. These notes will say so plainly if it fails.

Copies of one small model share a message board and a library. The bet is that together they take on problems no single copy could.

02Why 0.1B parameters and 100B tokens

100B tokens on 0.1B parameters is 1,000 tokens per parameter, about 50 times the compute-optimal ratio of about 20. Small models are trained past that ratio on purpose, because they are cheap to run afterwards. A swarm runs many copies, so that matters even more here.

The returns fall quickly. By the loss fit of Hoffmann et al. (2022), predicted loss drops by about 0.19 going from 20B to 100B tokens. From 100B to 200B it drops by about 0.06; from 200B to 400B, by about 0.05. At about 300 TFLOPs per GPU, 100B tokens on 0.1B parameters is about 56 GPU-hours.

Predicted loss drop for each step up in training tokens
20B → 100Bplan0.19
100B → 200B0.06
200B → 400B0.05

03The architecture: TONN

ExeaLM is built on TONN (pronounced "tone"), the architecture from our paper. A layer replaces attention with a row of small :

  1. One input projection reads the residual stream (640 channels) into 20 slots. Each slot gets three , A, B and C, of 32 channels each.
  2. Each slot runs one circuit type: a delay, a short convolution, a running sum, a state space, a small attention head, and others.
  3. Each slot's output is divided by a running estimate of its size, so every slot speaks at the same volume.
  4. One output projection writes the 20 results back to the residual stream. A gated MLP follows, as in a transformer.
DDCCCIIIEPEPSMSMOSOSOSOSRPRPRGAGto the next layerResidual stream, 640 channelsInput projection20 slots × streams A, B, C (32 channels each)One circuit per slotUnit scale per slotMask (the search switches slots off to measure them)Output projectionAdd back to the residual streamGated MLP
Point at a circuit.
One TONN layer of the 0.1B model, from the residual stream in to the next layer. Point at a circuit to see which of the three streams it reads. The 20 circuits shown are one starting draw; training changes them.

Which circuit sits in which slot is not fixed by hand. During training, TONN's switches off one group of circuits at a time. It measures how much the loss rises, then redraws the weakest slots. The network picks part of its own architecture from the data.

Delay
Short range
D

Copies stream A from a fixed number of steps back (the lag).

Short convolution
Short range
C

Adds A now, B one gap back and C two gaps back, then a smooth gate (silu). Good at short word pieces.

Leaky running sum
Running state
I

Keeps a sum of A that fades by a learned rate per channel.

Gated running sum
Running state
GI

Like the running sum, but B decides at every step how much of the past to keep.

Running sum of a product
Running state
MI

Multiplies a lagged A by B and keeps a fading sum of the result.

Gated product memory
Running state
MIM

A running sum of products, read out through C. It behaves like an induction head: see a pair, recall it later.

Softmax pooling
Running state
EP

A weighted average of B over the whole past, with weights exp(A).

Selective state space
Running state
SM

A Mamba-like state: B sets the step size at each position, so the circuit chooses what to remember.

Oscillating memory
Running state
OS

A state that rotates as it fades (S4D-like), so it can track rhythms and periodic patterns.

Gated unit
Gates and products
G

silu(A) times B at the same position. A small per-position MLP.

Product
Gates and products
M

A from a few steps back times B now.

Rotary attention
Attention
RP

One small attention head inside a slot: A asks, B answers, C is what gets passed on.

Retrieval
Memory
RG

Searches a read-only library with the model's own embeddings and reads the chunks it finds.

Agent board
Memory
AG

Posts a message after every chunk and reads the messages other copies of the model posted.

The 14 circuit types a slot can hold, each run on the same toy input. The faint bars are stream A; the line is the circuit's output, drawn as the playhead moves forward in time. No output looks ahead of the playhead: every circuit is causal.

04Two new circuits

ExeaLM adds two circuit types to TONN's menu. Every TONN layer is guaranteed one of each. The search cannot remove them.

  • RG, retrieval. Once per of 64 tokens, the circuit turns the chunk it just read into a query, searches the library with the model's own chunk encoder, takes the top 4 chunks and reads them.
  • AG, the agent board. After each chunk, every agent posts a message: a value, a key and a strength. In later chunks, every agent reads the earlier posts on the board with attention, its teammates' and its own. An empty entry stands for "nothing useful".

In training, consecutive rows of a batch form swarms of 4 that share one board. Gradients flow through the board, so an agent learns what to post from how much its teammates' losses fall.

05What went up on day 1

  • The repository, the Apache 2.0 license, the contributing guide and the code of conduct.
  • The skeleton (commit 7a63ac9): the TONN model with RG and AG, a datastore, a board, data download and packing, a pretraining loop, and SFT, DPO and GRPO losses, with 16 tests.
  • The plan in DATA.md: the token budget and two candidate mixes.
  • A to-do list in the README. Most items run on a laptop or a free Colab GPU.

06What day 1 does not show

Nothing in this post is tested yet. The skeleton runs and its 16 tests pass. No model has been trained on real data yet. The bet in the first section is a hypothesis. The next post tests both new circuits on tasks built so that they can only be solved through them.

07

Who did the work

Avneh Bhatia@AvnehSBhatia
Set up the repository, the license, the contributing guide and the code of conduct. Wrote DATA.md, with the 100B-token budget and the candidate mixes. Pushed the model skeleton with its 16 tests.
08

Sources