Inject a fact mid-stream, ask 25 facts later — it still answers, on a model that does no multiplies.
- GO
- does-it-stick, with dreaming
- cos 0.77
- 25 facts, drift-bounded
- cos 0.87
- on real Qwen-0.5B embeddings
- 4.4×
- saving — 22%-width prefix keeps 95%
A transformer remembers by attending over everything it has seen, which is why
its cost climbs as context grows. We took a different bet: a second-order,
resonant recurrence — think of state as a wave evolving under a Verlet-style
update — paired with ternary weights in {−1, 0, +1}, so the core does
additions, not multiplies. The question that decides whether the bet pays off
is blunt: does a fact stick?
Does-it-stick: a genuine, validated GO
ResearchAs of 2026-07-02 the plastic-mind go/no-go is GO — with caveats we state up front. 🔬 Two experiments:
- Scale. Inject 25 facts into the stream and query them later: recall holds at cosine 0.77, drift-bounded, with capacity around 85–90 (the knee is not reached even at N=60). 🔬
- On real embeddings. The harder test — running on real Qwen-0.5B embeddings rather than synthetic vectors — holds at cosine 0.87, versus 0.90 for random. Real, correlated text is only +0.008 harder. 🔬 No catastrophic forgetting.
That last number is the one we care about most: the memory does not collapse when the inputs are real, correlated language instead of tidy orthogonal vectors.
Reshape beats route
ResearchA structural result worth its own line: a 22%-width prefix keeps 95% of accuracy — a 4.4× saving — in a regime where a flat network simply collapses. 🔬 Reshaping the representation beats routing around it. This is the mechanism that lets a small, cheap model carry more than its parameter count suggests it should.
The honest negatives — on the page, not in a footnote
Research- It needs to dream. 🔬 Without a consolidation ("dreaming") pass, the memory is recency-only — it remembers the last thing, not the right thing. Dreaming is what turns the store into a real associative memory.
- Recall is approximate, not verbatim. 🔬 It answers about the fact; it does not quote it back character-for-character. For some uses that is fine; for others it is disqualifying, and we say so.
- An on-disk ternary-7B is a known negative. 🔬 At 7B, on disk, the ternary path runs roughly 7× slower. We keep this failure visible because a lab that hides its negatives forfeits the right to be believed on its positives.
How it works, briefly
State evolves as a damped, driven oscillation — a wave — so information persists through resonance rather than through an attention matrix. Weights are ternary, so the hot loop is add-and-accumulate, not multiply-accumulate: friendly to cheap silicon and to an in-memory analog substrate later. A separate SSM/wave decode path reaches 45× at 16k tokens with a 1.14 MB state — the kind of number that comes from not re-reading the whole context every step.
Why it ladders back
A capable model that runs on hardware you already own — because it does additions, not multiplies, and remembers without a datacentre — is access for everyone, not just the people who can rent a cluster.
The open edges
Kept visible on purpose. These are what turn 🔬 into 🟢 — honestly.
- It needs a 'dreaming' consolidation pass — without it, memory is recency-only.
- Recall is approximate, not verbatim.
- An on-disk ternary-7B is an honest negative: roughly 7× slower. We keep it on the page.
Sources
- vocabotics Dashboard — Organ 2 (WaveTernary / The Body), measured 2026-07-02vocabotics internal record · as of July 2026
- BitNet: 1.58-bit ternary weights for large language modelsthe public ternary-weight line of work our body draws on · as of 2024