Current status: Replaced Sinusoidal attention with RoPE
Training at 512. Sinusoidal PE doesn't generalize beyond training length without quality collapse. RoPE generalizes cleanly. Relative position is genuinely a better inductive bias for autoregressive transformers. Vaswani's original sinusoidal PE was a placeholder; the field moved on. For Mycelia, this is the Bonanza. With RoPE, position lives in the attention geometry (rotated Q and K), not in the residual stream.
So: h(l) = content(l) # pure content, position-agnostic
Now velocity, acceleration, curvature, jerk measure content dynamics only. The MPC's prediction, the rate governor's growth detection, the pressure tensor's work accounting, all of these get cleaner signals. Took me over milion and half training steps to figure it out - but it is never too late!
The main reason is that my recursive instability forecast treats each layer as a Bayesian filter:
I = confidence * P_current + (1 - confidence) * P_persist
The "temporal persistence" term P_persist is the previous layer's instability, passed forward.
RoPE gives the attention a relative position view: "token at position j attends to token at position i with weight that depends on |j - i|."
That's exactly the kind of structural prior the Bayesian filter needs to make good predictions about future instability. Sinusoidal PE forces the model to learn this from scratch, baked into the residual stream where it's entangled with content.
Some people say: don't change horses in the middle of the stream. How will the model react to this change. Current model is trained for 1.7M steps with sinusoidal Positional Encoding baked into the residual stream. Switching to RoPE mid-training isn't a like-for-like transition. Well, I say - what an exciting experiment this would be!
We will compare sinusoidal and rotary position encodings at matched compute to isolate whether Mycelia's geometric observables benefit from position-decoupled residual streams, preliminary evidence from this regime-change experiment suggests they do, since pressure concentration dropped in moments when loss reached low level, indicating the model could exploit representational headroom when not contending with position geometry in the residual stream.
Here is the telemetry after the switch (to be compared with the telemetry featured at: https://doi.org/10.5281/zenodo.21261148
And on GitHub: https://github.com/Ergo-sum-AGI/mycelia_llm
The transition in brief: RoPE caused a severe but expected shock (loss 4.62 → 9.44, coherence 0.56 → 0.13), but the model is recovering rapidly: Loss is already down to 4.73 in just 7,000 steps, approaching pre-RoPE levels, with long-range coherence benefits still ahead.
Nevertheless, Friction: 🟢 HARMONIZED at EVERY step. This is unprecedented and proves the architecture is robust enough to absorb major changes without becoming unstable. RoPE implementation proved worth the while from the very beginning.
See the new telemetry at: https://github.com/Ergo-sum-AGI/mycelia_llm/blob/main/EPOCH 48 — STEP 1%2C760%2C000 (post RoPE).txt
🍄 Mycelia architecture loaded
======================================================================
🍄 MYCELIA TRAINING v8.8.1
Gradual Transition + Interaction Guard + No Adaptive Targets
Stanford (30%) + FineWeb (70%) | No compression
📚 Loading tokenizer...
Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.
Vocab: 151,643
🏗️ Building model...
199,935,516 params on cuda:0
🔥 Scheduler: HF cosine | peak=3.00e-04 | min=3.00e-05 | warmup=500 | total=305,175
⚙️ Auto-tune: every 5000 steps | control_gain ∈ [0.5, 1.5]
📈 Gradual transition: FFN 50→150 | α 100→150 over 10,000 steps
🛡️ Rate governor: DISABLED for first 5,000 steps
🛡️ LR Burst: DISABLED
======================================================================
🚀 EPOCH 48 — STEP 1,775,000
📊 Step 1,775,000 | Loss: 4.5493 | LR: 5.09e-05 | 📉 Annealing | 📈 Transition: 100% (FFN=150 α=150)
Coherence: 0.3896 📉
Friction: 🟢 HARMONIZED | early=1.01 late=1.54 Δ=-0.52
FFNVeto: 99.4% mean_norm=82.7 max_norm=210.1 | target=150
AlphaScale: 99.8% scale=0.775 contrib_norm=129.1 | target=150
SoftCap: hit=86.5% max_raw=650.3 mean_raw=451.2
🔮 MPC: intervene=17.4% control=0.510 I=0.604
📊 Pred: 0.594 | Conf: 0.749 (min: 0.749)
📈 Dynamics: v=+0.0043 a=+0.0067
🎯 Forecast Error: 0.406 (predicted=0.580 vs actual=0.174)
I-field: 0.19 0.41 0.50 0.52 0.52 0.53
Conf-field:0.32 0.65 0.75 0.77 0.77 0.76
🔥 Π=272.9 | χ=0.67 | dominant=ffn
🔥 Π breakdown: ffn=183.2 alpha=41.9 cap=45.0 mpc=2.9
📐 Rate Governor: hit=0.0% scale=0.912 | ffn_growth=1.00x res_growth=1.52x
⚠️ GOVERNOR INTERACTION GUARD: 3 governors active, limit is 2
⚙️ Auto-tune: coh/fcst weights↑1.06/1.06
💾 Checkpoint: step 1,775,000 → /home/ec2-user/SageMaker/mycelia_checkpoints/mycelia_step_1b1598.pt
Training: 1776000it [1:16:43, 3.51it/s]
⏱️ Step 1,776,000 | 6296219 tok/s | 29.10/28.8 GB | 100.9% (>28.8B target) | ETA N/A | Elapsed 1:17:01
📊 Step 1,776,000 | Loss: 4.8099 | LR: 5.10e-05 | 📉 Annealing | 📈 Transition: 100% (FFN=150 α=150)
Coherence: 0.4111 📉
Friction: 🟢 HARMONIZED | early=0.85 late=1.51 Δ=-0.66
FFNVeto: 99.7% mean_norm=89.3 max_norm=232.5 | target=150
AlphaScale: 100.0% scale=0.782 contrib_norm=128.0 | target=150
SoftCap: hit=82.5% max_raw=643.3 mean_raw=441.9
🔮 MPC: intervene=23.0% control=0.500 I=0.631
📊 Pred: 0.615 | Conf: 0.741 (min: 0.741)
📈 Dynamics: v=+0.0045 a=+0.0127
🎯 Forecast Error: 0.364 (predicted=0.594 vs actual=0.230)
I-field: 0.18 0.48 0.52 0.52 0.52 0.53
Conf-field:0.32 0.68 0.76 0.77 0.78 0.77
🔥 Π=267.7 | χ=0.70 | dominant=ffn
🔥 Π breakdown: ffn=186.1 alpha=40.9 cap=38.1 mpc=2.7
📐 Rate Governor: hit=0.0% scale=0.919 | ffn_growth=1.00x res_growth=1.50x
⚠️ GOVERNOR INTERACTION GUARD: 3 governors active, limit is 2
Training: 1777000it [1:21:25, 3.82it/s]
⏱️ Step 1,777,000 | 5937802 tok/s | 29.11/28.8 GB | 101.0% (>28.8B target) | ETA N/A | Elapsed 1:21:43
📊 Step 1,777,000 | Loss: 4.8139 | LR: 5.11e-05 | 📉 Annealing | 📈 Transition: 100% (FFN=150 α=150)
Coherence: 0.4142 📉
Friction: 🟢 HARMONIZED | early=0.86 late=1.51 Δ=-0.65
FFNVeto: 99.7% mean_norm=87.9 max_norm=185.0 | target=150
AlphaScale: 100.0% scale=0.773 contrib_norm=129.4 | target=150
SoftCap: hit=83.4% max_raw=680.9 mean_raw=450.1
🔮 MPC: intervene=22.1% control=0.515 I=0.578
📊 Pred: 0.586 | Conf: 0.779 (min: 0.779)
📈 Dynamics: v=-0.0180 a=-0.0247
🎯 Forecast Error: 0.375 (predicted=0.596 vs actual=0.221)
I-field: 0.19 0.47 0.52 0.54 0.53 0.54
Conf-field:0.31 0.71 0.77 0.75 0.77 0.76
🔥 Π=279.7 | χ=0.68 | dominant=ffn
🔥 Π breakdown: ffn=190.5 alpha=42.3 cap=44.2 mpc=2.6
📐 Rate Governor: hit=0.0% scale=0.891 | ffn_growth=1.00x res_growth=1.54x
⚠️ GOVERNOR INTERACTION GUARD: 3 governors active, limit is 2
Training: 1778000it [1:26:07, 3.51it/s]
⏱️ Step 1,778,000 | 5617911 tok/s | 29.13/28.8 GB | 101.0% (>28.8B target) | ETA N/A | Elapsed 1:26:25
📊 Step 1,778,000 | Loss: 4.7235 | LR: 5.12e-05 | 📉 Annealing | 📈 Transition: 100% (FFN=150 α=150)
Coherence: 0.3754 📉
Friction: 🟢 HARMONIZED | early=0.88 late=1.56 Δ=-0.68
FFNVeto: 99.7% mean_norm=84.9 max_norm=201.1 | target=150
AlphaScale: 100.0% scale=0.761 contrib_norm=131.5 | target=150
SoftCap: hit=92.4% max_raw=653.6 mean_raw=460.0
🔮 MPC: intervene=44.1% control=0.442 I=0.727
📊 Pred: 0.628 | Conf: 0.759 (min: 0.759)
📈 Dynamics: v=+0.0328 a=+0.0329
🎯 Forecast Error: 0.137 (predicted=0.579 vs actual=0.441)
I-field: 0.16 0.41 0.50 0.52 0.53 0.54
Conf-field:0.29 0.64 0.74 0.75 0.77 0.76
🔥 Π=284.9 | χ=0.66 | dominant=ffn
🔥 Π breakdown: ffn=186.8 alpha=44.6 cap=50.7 mpc=2.8
📐 Rate Governor: hit=0.0% scale=0.832 | ffn_growth=1.00x res_growth=1.60x
⚠️ GOVERNOR INTERACTION GUARD: 3 governors active, limit is 2
Training: 1779000it [1:30:49, 3.83it/s]
⏱️ Step 1,779,000 | 5330754 tok/s | 29.15/28.8 GB | 101.1% (>28.8B target) | ETA N/A | Elapsed 1:31:07
📊 Step 1,779,000 | Loss: 4.7054 | LR: 5.12e-05 | 📉 Annealing | 📈 Transition: 100% (FFN=150 α=150)
Coherence: 0.4064 📉
Friction: 🟢 HARMONIZED | early=0.82 late=1.67 Δ=-0.85
FFNVeto: 99.8% mean_norm=88.8 max_norm=187.7 | target=150
AlphaScale: 100.0% scale=0.785 contrib_norm=127.4 | target=150
SoftCap: hit=80.0% max_raw=628.5 mean_raw=441.2
🔮 MPC: intervene=21.7% control=0.513 I=0.578
📊 Pred: 0.585 | Conf: 0.785 (min: 0.785)
📈 Dynamics: v=-0.0214 a=-0.0491
🎯 Forecast Error: 0.382 (predicted=0.599 vs actual=0.217)
I-field: 0.17 0.42 0.50 0.52 0.53 0.53
Conf-field:0.32 0.65 0.74 0.76 0.77 0.77
🔥 Π=271.0 | χ=0.70 | dominant=ffn
🔥 Π breakdown: ffn=190.2 alpha=40.3 cap=37.9 mpc=2.6
📐 Rate Governor: hit=0.0% scale=0.946 | ffn_growth=1.00x res_growth=1.46x
⚠️ GOVERNOR INTERACTION GUARD: 3 governors active, limit is 2
Training: 1779147it [1:31:46, 3.87it/s]
For a detailed description of the presented project see the research paper published at: https://doi.org/10.5281/zenodo.21261148
Here is the abstract and Introduction:
Abstract
We introduce a novel training paradigm where a 200M-parameter language model monitors, predicts, and regulates its own internal dynamics.
Unlike traditional approaches that treat instability as a post-hoc diagnostic, our architecture embeds governance directly into the forward pass. The model learns to predict its own future instability and adjusts its internal parameters accordingly.
We demonstrate that this self-aware training leads to stable convergence, early warning of collapse, and interpretable internal metrics. The approach is validated on a 200M-parameter transformer (12 layers, 8 heads, 512 d_model) trained on 12.9B tokens of mixed academic and web corpus.
We introduce the optimization pressure tensor Π, a macroscopic observable that quantifies where the optimizer attempts to push the model beyond its dynamical constraints. To our knowledge, this is the first instance of a neural network that maintains a real-time dashboard of its own hidden-state geometry.
Introduction: From Post-Hoc Diagnosis to Embedded Governance
Traditional approaches to neural network stability fall into two categories: post-hoc analysis (examining activations after training) and static regularization (dropout, weight decay, gradient clipping). Both treat instability as something to be observed or prevented, never as something to be predicted and negotiated.
We propose a third way: recursive instability forecasting. The model maintains an internal representation of its own dynamical state, predicts how that state will evolve, and preemptively adjusts its behavior. Not as a simple regularization techniquem but as a cognitive architecture in which the model learns to trust (or distrust) its own predictions about itself.
The key insight is that every layer of a deep network can be viewed as a Bayesian filter. Layer ℓ receives not only the hidden state from layer ℓ − 1, but also a forecast of how unstable that state is likely to be. The layer then decides: “Should I trust what the previous layer warned me about?” This recursive propagation of (prediction, confidence) pairs creates a self-model that co-evolves with the task mode.