Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,78 +1,339 @@
|
|
| 1 |
---
|
| 2 |
-
|
|
|
|
| 3 |
tags:
|
| 4 |
-
-
|
| 5 |
-
|
| 6 |
-
-
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
|
| 11 |
-
should probably proofread and complete it, then remove this comment. -->
|
| 12 |
-
|
| 13 |
# NeoLLM
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
##
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language: en
|
| 3 |
+
license: apache-2.0
|
| 4 |
tags:
|
| 5 |
+
- causal-lm
|
| 6 |
+
- research
|
| 7 |
+
- fp8
|
| 8 |
+
- attention
|
| 9 |
+
- normalization
|
| 10 |
+
- neollm
|
| 11 |
+
- pace
|
| 12 |
+
datasets:
|
| 13 |
+
- HuggingFaceFW/fineweb-edu
|
| 14 |
---
|
| 15 |
|
|
|
|
|
|
|
|
|
|
| 16 |
# NeoLLM
|
| 17 |
|
| 18 |
+
NeoLLM is a **135 M parameter** decoder-only language model trained from scratch on
|
| 19 |
+
[FineWeb-Edu](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu) in **FP8**
|
| 20 |
+
precision, completing training in approximately **6 hours** on a single NVIDIA RTX 5090.
|
| 21 |
+
It integrates a collection of recently published attention and normalization techniques
|
| 22 |
+
into a single architecture, with the goal of studying how they interact during
|
| 23 |
+
pretraining. The model is actively being developed and the current checkpoint represents
|
| 24 |
+
an intermediate training state.
|
| 25 |
+
|
| 26 |
+
> **Author / contact:** [@Kyokopom](https://x.com/Kyokopom) on X
|
| 27 |
+
> **Repository:** [KitsuVp/NeoLLM](https://huggingface.co/KitsuVp/NeoLLM)
|
| 28 |
+
|
| 29 |
+
---
|
| 30 |
+
|
| 31 |
+
## Architecture
|
| 32 |
+
|
| 33 |
+
NeoLLM is a decoder-only transformer with the following configuration:
|
| 34 |
+
|
| 35 |
+
| Parameter | Value |
|
| 36 |
+
|---|---|
|
| 37 |
+
| Hidden size | 512 |
|
| 38 |
+
| Layers | 12 |
|
| 39 |
+
| Attention heads | 8 |
|
| 40 |
+
| KV heads (GQA) | 4 |
|
| 41 |
+
| Head dim | 64 |
|
| 42 |
+
| Intermediate size | 1536 |
|
| 43 |
+
| Vocabulary | Qwen3 tokenizer (64,402 tokens) |
|
| 44 |
+
| Context length | 512 tokens |
|
| 45 |
+
|
| 46 |
+
### Parameter breakdown
|
| 47 |
+
|
| 48 |
+
| Parameter bucket | Count |
|
| 49 |
+
|---|---|
|
| 50 |
+
| **Total parameters** | 84.57M (84,569,432) |
|
| 51 |
+
| **Embedding parameters** (tied) | 32.97M (32,973,824) |
|
| 52 |
+
| **Non-embedding parameters** | 51.60M (51,595,608) |
|
| 53 |
+
| **Effective trainable parameters** | 84.57M (84,569,432) |
|
| 54 |
+
|
| 55 |
+
> Weight tying is **enabled**: the input embedding matrix and the language-model head
|
| 56 |
+
> share the same parameters, so the effective trainable budget is
|
| 57 |
+
> `total − embed = 51.60M`.
|
| 58 |
+
|
| 59 |
+
### Integrated techniques
|
| 60 |
+
|
| 61 |
+
NeoLLM combines architecture modules, optional auxiliary objectives, and
|
| 62 |
+
training-time optimizer/stability components from the following papers.
|
| 63 |
+
|
| 64 |
+
**Embedding and token representation**
|
| 65 |
+
|
| 66 |
+
- **Learnable Multipliers** ([arXiv:2601.04890](https://arxiv.org/abs/2601.04890)) — Adds
|
| 67 |
+
per-row and per-column learnable scalar parameters to selected matrix layers and, when
|
| 68 |
+
enabled, embeddings.
|
| 69 |
+
- **Leviathan** ([arXiv:2601.22040](https://arxiv.org/abs/2601.22040)) — Optional
|
| 70 |
+
continuous token embedding generator that can replace the discrete input lookup table.
|
| 71 |
+
- **KHRONOS** ([arXiv:2505.13315](https://arxiv.org/abs/2505.13315)) — Kernel/basis
|
| 72 |
+
reference used by the Leviathan continuous token generator implementation.
|
| 73 |
+
- **Spelling Bee Embeddings** ([arXiv:2601.18030](https://arxiv.org/abs/2601.18030)) —
|
| 74 |
+
Augments token embeddings with character-level spelling information.
|
| 75 |
+
- **Token Embedding Manifold analysis** ([arXiv:2504.01002](https://arxiv.org/abs/2504.01002)) —
|
| 76 |
+
Reference motivation for treating token embeddings as structured objects rather than
|
| 77 |
+
unconstrained lookup rows.
|
| 78 |
+
|
| 79 |
+
**Attention, positions, and output projection**
|
| 80 |
+
|
| 81 |
+
- **FAN** ([arXiv:2502.21309](https://arxiv.org/abs/2502.21309)) — Fourier Analysis Networks.
|
| 82 |
+
A portion of the projection channels are dedicated to periodic cosine/sine features.
|
| 83 |
+
- **MEA** ([arXiv:2601.19611](https://arxiv.org/abs/2601.19611)) — Explicit Multi-head
|
| 84 |
+
Attention. Adds small learnable interaction matrices between attention heads for K and V.
|
| 85 |
+
- **LUCID** ([arXiv:2602.10410](https://arxiv.org/abs/2602.10410)) — Applies a learned
|
| 86 |
+
lower-triangular preconditioner to V before attention, decorrelating value representations
|
| 87 |
+
across positions.
|
| 88 |
+
- **Affine-Scaled Attention** ([arXiv:2602.23057](https://arxiv.org/abs/2602.23057)) — Adds
|
| 89 |
+
two learnable per-head scalars (α and β) to the softmax weights:
|
| 90 |
+
`[α·softmax(QKᵀ) + β]·V`.
|
| 91 |
+
- **XSA** ([arXiv:2603.09078](https://arxiv.org/abs/2603.09078)) — Exclusive Self Attention.
|
| 92 |
+
After computing attention, removes the component of the output aligned with the token's
|
| 93 |
+
own value vector.
|
| 94 |
+
- **Directional Routing** ([arXiv:2603.14923](https://arxiv.org/abs/2603.14923)) — Each head
|
| 95 |
+
learns K=4 directions in the output space; a learned router suppresses the attention output
|
| 96 |
+
along each direction per input.
|
| 97 |
+
- **Gated Attention** ([arXiv:2505.06708](https://arxiv.org/abs/2505.06708)) — A sigmoid gate
|
| 98 |
+
is applied to the attention output before the output projection, introducing non-linearity
|
| 99 |
+
and preventing attention sinks.
|
| 100 |
+
- **Momentum Attention** ([arXiv:2411.03884](https://arxiv.org/abs/2411.03884)) — Modifies Q
|
| 101 |
+
and K by subtracting a fraction of the previous position's Q and K values (causal
|
| 102 |
+
first-difference).
|
| 103 |
+
- **Interleaved Head Attention / IHA** ([arXiv:2602.21371](https://arxiv.org/abs/2602.21371)) —
|
| 104 |
+
Builds pseudo-heads from learned cross-head mixtures to create multiple attention patterns
|
| 105 |
+
per original head.
|
| 106 |
+
- **REPO** ([arXiv:2512.14391](https://arxiv.org/abs/2512.14391)) — Context re-positioning
|
| 107 |
+
module that learns contextual position coordinates above a configurable start layer.
|
| 108 |
+
- **GRAPE** ([arXiv:2512.07805](https://arxiv.org/abs/2512.07805)) — Group representational
|
| 109 |
+
position encoding used by the REPO-GRAPE positional path.
|
| 110 |
+
- **GOAT priors** ([arXiv:2601.15380](https://arxiv.org/abs/2601.15380)) — Optional
|
| 111 |
+
factorized attention log-prior channels inspired by trainable attention priors.
|
| 112 |
+
- **Hadamard output projection** ([arXiv:2603.08343](https://arxiv.org/abs/2603.08343)) —
|
| 113 |
+
Replaces dense attention output projection with a structured Hadamard transform plus
|
| 114 |
+
lightweight scaling.
|
| 115 |
+
|
| 116 |
+
**Normalization, residual flow, and MLP**
|
| 117 |
+
|
| 118 |
+
- **SeeDNorm** ([arXiv:2510.22777](https://arxiv.org/abs/2510.22777)) — Applied to Q and K
|
| 119 |
+
projections. Dynamically rescales normalization from the input's own statistics.
|
| 120 |
+
- **LayerNorm Scaling / LNS** ([arXiv:2502.05795](https://arxiv.org/abs/2502.05795)) — Each
|
| 121 |
+
layer's output is scaled by 1/√ℓ where ℓ is the layer index.
|
| 122 |
+
- **GPAS** ([arXiv:2506.22049](https://arxiv.org/abs/2506.22049)) — Gradient-Preserving
|
| 123 |
+
Activation Scaling for residual junctions.
|
| 124 |
+
- **PolyNorm** ([arXiv:2602.04902](https://arxiv.org/abs/2602.04902)) — Replaces the standard
|
| 125 |
+
MLP activation with normalized linear, quadratic, and cubic branches.
|
| 126 |
+
- **SimpleGPT** ([arXiv:2602.01212](https://arxiv.org/abs/2602.01212)) — Second-order
|
| 127 |
+
geometry-inspired normalization strategy applied inside MLP projections.
|
| 128 |
+
- **StackMemory / STACKTRANS** ([NeurIPS 2025](https://openreview.net/forum?id=2bbDg587uh)) —
|
| 129 |
+
Optional differentiable hidden-state stack between decoder layers.
|
| 130 |
+
- **Attention Residuals / AttnRes** ([arXiv:2603.15031](https://arxiv.org/abs/2603.15031)) —
|
| 131 |
+
Optional learned depth-wise aggregation over previous layer outputs or block summaries.
|
| 132 |
+
- **LAUREL** ([arXiv:2411.07501](https://arxiv.org/abs/2411.07501)) — Optional learned
|
| 133 |
+
augmented residual layer with residual-weight and low-rank variants.
|
| 134 |
+
|
| 135 |
+
**Training objectives and training-time regularizers**
|
| 136 |
+
|
| 137 |
+
- **Cut Cross Entropy** ([Apple repository](https://github.com/apple/ml-cross-entropy)) —
|
| 138 |
+
Memory-efficient next-token loss that avoids materializing the full token-by-vocabulary
|
| 139 |
+
logits tensor. NeoLLM remains compatible with the upstream package when the extensions
|
| 140 |
+
below are disabled.
|
| 141 |
+
- **MiLe Loss** ([arXiv:2310.19531](https://arxiv.org/abs/2310.19531)) — Optional detached,
|
| 142 |
+
mean-normalized predictive-entropy weighting of token losses, implemented inside the
|
| 143 |
+
extended CCE path.
|
| 144 |
+
- **Output Embedding Centering / mu-loss**
|
| 145 |
+
([arXiv:2601.02031](https://arxiv.org/abs/2601.02031)) — Optional
|
| 146 |
+
`lambda * ||mean(output_embeddings)||^2` regularizer for output-logit stability.
|
| 147 |
+
- **MEAP** ([arXiv:2502.07490](https://arxiv.org/abs/2502.07490)) — Optional training-only
|
| 148 |
+
input corruption that masks a fixed fraction of eligible tokens while preserving clean
|
| 149 |
+
next-token labels, causal attention, and the inference path.
|
| 150 |
+
- **TWEO** ([arXiv:2511.23225](https://arxiv.org/abs/2511.23225)) — Optional
|
| 151 |
+
Transformers Without Extreme Outliers activation regularizer for FP8/low-bit-friendly
|
| 152 |
+
training.
|
| 153 |
+
- **NITP** ([arXiv:2605.24956](https://arxiv.org/abs/2605.24956)) — Optional Next Implicit
|
| 154 |
+
Token Prediction auxiliary objective using shallow-layer implicit token targets and a
|
| 155 |
+
cosine loss.
|
| 156 |
+
- **NextLat** ([arXiv:2511.05963](https://arxiv.org/abs/2511.05963)) — Optional next-latent
|
| 157 |
+
prediction objective using latent dynamics, Smooth L1 supervision, and frozen-head KL.
|
| 158 |
+
|
| 159 |
+
### Optional extended-CCE configuration
|
| 160 |
+
|
| 161 |
+
| Feature | Enabled | Value |
|
| 162 |
+
|---|---:|---:|
|
| 163 |
+
| MiLe Loss | True | gamma=1.0 |
|
| 164 |
+
| mu-loss | True | lambda=0.0001 |
|
| 165 |
+
| MEAP | True | ratio=0.15 |
|
| 166 |
+
|
| 167 |
+
MiLe, mu-loss, and MEAP require the extended
|
| 168 |
+
[`Kitsunp/ml-cross-entropy`](https://github.com/Kitsunp/ml-cross-entropy) package only when
|
| 169 |
+
their corresponding flags are enabled. With all flags disabled, NeoLLM calls upstream CCE
|
| 170 |
+
without extension-specific arguments. When any extension is active, CCE reports three compact
|
| 171 |
+
scalars: unweighted NTP cross entropy, the MiLe reweighting delta, and the mu-loss penalty.
|
| 172 |
+
Their sum reconstructs `ntp_loss` exactly. MEAP reports its eligible and selected counts from
|
| 173 |
+
the masking kernel; the trainer logs the selected count and exact fraction. No diagnostic path
|
| 174 |
+
materializes full-vocabulary logits or a token mask outside the kernels.
|
| 175 |
+
|
| 176 |
+
**Optimizer and training stability**
|
| 177 |
+
|
| 178 |
+
- **Conda** ([arXiv:2509.24218](https://arxiv.org/abs/2509.24218)) —
|
| 179 |
+
Column-Normalized Adam optimizer path used by the training script.
|
| 180 |
+
- **Cautious Weight Decay** ([arXiv:2510.12402](https://arxiv.org/abs/2510.12402)) —
|
| 181 |
+
Sign-selective weight decay variant used by the custom optimizer logic.
|
| 182 |
+
- **Correction of Decoupled Weight Decay** ([arXiv:2512.08217](https://arxiv.org/abs/2512.08217)) —
|
| 183 |
+
Adapts decoupled weight decay during learning-rate decay.
|
| 184 |
+
- **AdamHD** ([arXiv:2511.14721](https://arxiv.org/abs/2511.14721)) —
|
| 185 |
+
Decoupled Huber decay regularization reference used by the optimizer.
|
| 186 |
+
- **GradientStabilizer** ([arXiv:2502.17055](https://arxiv.org/abs/2502.17055)) —
|
| 187 |
+
Optional threshold-free gradient magnitude stabilizer.
|
| 188 |
+
- **PACE** ([arXiv:2606.25086](https://arxiv.org/abs/2606.25086)) —
|
| 189 |
+
Optional iterate-average controller that trains for the EMA model returned at evaluation
|
| 190 |
+
and final serialization. The Conda-basis adaptation and its difference from AdamW are
|
| 191 |
+
documented below.
|
| 192 |
+
|
| 193 |
+
---
|
| 194 |
+
|
| 195 |
+
### PACE integration and AdamW-reference differences
|
| 196 |
+
|
| 197 |
+
PACE follows Au and Block's returned-model objective: the live weights are pulled toward a
|
| 198 |
+
power-law EMA with a clipped per-coordinate gain, and evaluation/final serialization use that
|
| 199 |
+
EMA estimator.
|
| 200 |
+
|
| 201 |
+
- **Reference AdamW rule:** the gain uses AdamW's original-coordinate diagonal
|
| 202 |
+
second moment, `eta * c * (1+t)^(-kappa) / (sqrt(v_hat) + eps)`.
|
| 203 |
+
- **NeoLLM Conda rule (`mode=conda`):** for projected 2-D tensors, both the EMA
|
| 204 |
+
displacement and `v_hat` are represented in Conda's cached SVD basis. The control is
|
| 205 |
+
projected back after applying the diagonal gain. This is a deliberate change from AdamW
|
| 206 |
+
required to avoid mixing incompatible coordinate systems.
|
| 207 |
+
- **Optional exact AdamW pullback geometry (`mode=adamw`):** an additional
|
| 208 |
+
original-coordinate second moment is maintained for projected matrices. The live optimizer
|
| 209 |
+
step remains Conda.
|
| 210 |
+
- **Conda scale:** in `mode=conda`, Conda's matrix-update scale multiplies the unsaturated
|
| 211 |
+
gain automatically because it is part of the effective Conda preconditioner. AdamW has no
|
| 212 |
+
corresponding scale.
|
| 213 |
+
- **Fixed algorithm internals:** the EMA is stored in FP32, the gain is clipped at `1`, and PACE
|
| 214 |
+
reuses each Conda group’s numerical epsilon. These are not exposed as independent switches.
|
| 215 |
+
- **Minimal modes:** `use_pace=False` is plain Conda; `use_pace=True, c=0` is Conda+EMA;
|
| 216 |
+
`use_pace=True, c>0` is complete PACE.
|
| 217 |
+
- **Ordering:** PACE runs only after Conda, CWD/CHD, and weight-decay correction have fully
|
| 218 |
+
updated the live weights.
|
| 219 |
+
- **Disabled guarantee:** with `use_pace=False`, no PACE state is allocated and no existing
|
| 220 |
+
Conda arithmetic or parameter update is changed.
|
| 221 |
+
- **Checkpoint policy:** resumable internal checkpoints retain live weights and complete optimizer
|
| 222 |
+
state, while evaluation and the final returned/Hub model always use the EMA when PACE is active.
|
| 223 |
+
|
| 224 |
+
Current run: **disabled; no EMA state, auxiliary moment, or pullback is allocated**.
|
| 225 |
+
|
| 226 |
+
---
|
| 227 |
+
|
| 228 |
+
## Training
|
| 229 |
+
|
| 230 |
+
| Setting | Value |
|
| 231 |
+
|---|---|
|
| 232 |
+
| Dataset | FineWeb-Edu (sample-10BT) |
|
| 233 |
+
| Tokens seen | ~1.54B (46,875 steps × batch 64 × length 512) |
|
| 234 |
+
| Precision | FP8 native (E4M3 weights/activations, E5M2 gradients) + BF16 fallback |
|
| 235 |
+
| Optimizer | Conda (PACE disabled) |
|
| 236 |
+
| PACE | disabled; no EMA state, auxiliary moment, or pullback is allocated |
|
| 237 |
+
| Learning rate | 6e-04 with linear warmup (10 % of steps) |
|
| 238 |
+
| Weight decay | 0.1 |
|
| 239 |
+
| Training time | ~4h 14m |
|
| 240 |
+
| Hardware | NVIDIA RTX 5090 (single GPU) |
|
| 241 |
+
|
| 242 |
+
### Training curve
|
| 243 |
+
|
| 244 |
+
| Step | Train Loss | Val Loss |
|
| 245 |
+
|---|---|---|
|
| 246 |
+
| 5,000 | 5.898 | 5.449 |
|
| 247 |
+
| 10,000 | 5.829 | 5.364 |
|
| 248 |
+
| 15,000 | 5.682 | 5.204 |
|
| 249 |
+
| 20,000 | 6.148 | 5.526 |
|
| 250 |
+
| 25,000 | 5.551 | 5.051 |
|
| 251 |
+
| 30,000 | 5.410 | 4.911 |
|
| 252 |
+
| 35,000 | 5.560 | 5.120 |
|
| 253 |
+
| 40,000 | 5.364 | 4.864 |
|
| 254 |
+
| 45,000 | 5.246 | 4.722 |
|
| 255 |
+
| 46,875 | — | 4.671 |
|
| 256 |
+
|
| 257 |
+
---
|
| 258 |
+
|
| 259 |
+
## Limitations
|
| 260 |
+
|
| 261 |
+
- **Token budget** — ~1.5 B tokens seen; below estimated optimum. Knowledge-intensive tasks
|
| 262 |
+
will improve with more training.
|
| 263 |
+
- **Gradient spike at step 40k** — Reorganized the attention pattern in layer 9 that
|
| 264 |
+
previously captured long-range token correlations. A checkpoint from ~step 38k is expected
|
| 265 |
+
to have better aggregate benchmark scores.
|
| 266 |
+
- **PolyNorm exclusivity** — The quadratic branch has become partially redundant with the
|
| 267 |
+
linear branch. Will be corrected in the next training run.
|
| 268 |
+
- **Base model only** — Not instruction-tuned or aligned; purely a next-token-prediction
|
| 269 |
+
base model.
|
| 270 |
+
|
| 271 |
+
---
|
| 272 |
+
|
| 273 |
+
## References
|
| 274 |
+
|
| 275 |
+
All papers whose techniques are integrated into NeoLLM's architecture,
|
| 276 |
+
training objective, or training stack:
|
| 277 |
+
|
| 278 |
+
| Area | Technique | Paper title | Reference |
|
| 279 |
+
|---|---|---|---|
|
| 280 |
+
| Embeddings | Learnable Multipliers | Freeing the Scale of Language Model Matrix Layers | [arXiv:2601.04890](https://arxiv.org/abs/2601.04890) |
|
| 281 |
+
| Embeddings | Leviathan | A Separable Architecture for Continuous Token Representation in Language Models | [arXiv:2601.22040](https://arxiv.org/abs/2601.22040) |
|
| 282 |
+
| Embeddings | KHRONOS | KHRONOS: a Kernel-Based Neural Architecture for Rapid, Resource-Efficient Scientific Computation | [arXiv:2505.13315](https://arxiv.org/abs/2505.13315) |
|
| 283 |
+
| Embeddings | Spelling Bee | Spelling Bee Embeddings for Language Modeling | [arXiv:2601.18030](https://arxiv.org/abs/2601.18030) |
|
| 284 |
+
| Embeddings | Token embedding analysis | Token Embeddings Violate the Manifold Hypothesis | [arXiv:2504.01002](https://arxiv.org/abs/2504.01002) |
|
| 285 |
+
| Attention / positions | FAN | Fourier Analysis Networks | [arXiv:2502.21309](https://arxiv.org/abs/2502.21309) |
|
| 286 |
+
| Attention / positions | MEA | Explicit Multi-head Attention for Inter-head Interaction in Large Language Models | [arXiv:2601.19611](https://arxiv.org/abs/2601.19611) |
|
| 287 |
+
| Attention / positions | LUCID | Attention with Preconditioned Representations | [arXiv:2602.10410](https://arxiv.org/abs/2602.10410) |
|
| 288 |
+
| Attention / positions | Affine-Scaled Attention | Affine-Scaled Attention: Towards Flexible and Stable Transformer Attention | [arXiv:2602.23057](https://arxiv.org/abs/2602.23057) |
|
| 289 |
+
| Attention / positions | XSA | Exclusive Self Attention | [arXiv:2603.09078](https://arxiv.org/abs/2603.09078) |
|
| 290 |
+
| Attention / positions | Directional Routing | Directional Routing in Transformers | [arXiv:2603.14923](https://arxiv.org/abs/2603.14923) |
|
| 291 |
+
| Attention / positions | Gated Attention | Gated Attention for Large Language Models: Non-linearity, Sparsity, and Attention-Sink-Free | [arXiv:2505.06708](https://arxiv.org/abs/2505.06708) |
|
| 292 |
+
| Attention / positions | Momentum Attention | Momentum Attention | [arXiv:2411.03884](https://arxiv.org/abs/2411.03884) |
|
| 293 |
+
| Attention / positions | IHA | Interleaved Head Attention | [arXiv:2602.21371](https://arxiv.org/abs/2602.21371) |
|
| 294 |
+
| Attention / positions | REPO | Language Models with Context Re-Positioning | [arXiv:2512.14391](https://arxiv.org/abs/2512.14391) |
|
| 295 |
+
| Attention / positions | GRAPE | Group Representational Position Encoding | [arXiv:2512.07805](https://arxiv.org/abs/2512.07805) |
|
| 296 |
+
| Attention / positions | GOAT priors | You Need Better Attention Priors | [arXiv:2601.15380](https://arxiv.org/abs/2601.15380) |
|
| 297 |
+
| Attention / positions | Hadamard o_proj | Rethinking Attention Output Projection: Structured Hadamard Transforms for Efficient Transformers | [arXiv:2603.08343](https://arxiv.org/abs/2603.08343) |
|
| 298 |
+
| Residual / normalization | SeeDNorm | Self-Rescaled Dynamic Normalization | [arXiv:2510.22777](https://arxiv.org/abs/2510.22777) |
|
| 299 |
+
| Residual / normalization | LNS | The Curse of Depth in LLMs | [arXiv:2502.05795](https://arxiv.org/abs/2502.05795) |
|
| 300 |
+
| Residual / normalization | GPAS | Gradient-Preserving Activation Scaling | [arXiv:2506.22049](https://arxiv.org/abs/2506.22049) |
|
| 301 |
+
| Residual / normalization | PolyNorm | PolyNorm / PolyCom | [arXiv:2602.04902](https://arxiv.org/abs/2602.04902) |
|
| 302 |
+
| Residual / normalization | SimpleGPT | SimpleGPT | [arXiv:2602.01212](https://arxiv.org/abs/2602.01212) |
|
| 303 |
+
| Residual / normalization | StackMemory / STACKTRANS | Recursive Transformer: Boosting Reasoning Ability with State Stack | [NeurIPS 2025](https://openreview.net/forum?id=2bbDg587uh) |
|
| 304 |
+
| Residual / normalization | Attention Residuals | Attention Residuals | [arXiv:2603.15031](https://arxiv.org/abs/2603.15031) |
|
| 305 |
+
| Residual / normalization | LAUREL | LAUREL: Learned Augmented Residual Layer | [arXiv:2411.07501](https://arxiv.org/abs/2411.07501) |
|
| 306 |
+
| Objectives | TWEO | Transformers Without Extreme Outliers Enables FP8 Training And Quantization For Dummies | [arXiv:2511.23225](https://arxiv.org/abs/2511.23225) |
|
| 307 |
+
| Objectives | NITP | Next Implicit Token Prediction for LLM Pre-training | [arXiv:2605.24956](https://arxiv.org/abs/2605.24956) |
|
| 308 |
+
| Objectives | NextLat | Next-Latent Prediction Transformers Learn Compact World Models | [arXiv:2511.05963](https://arxiv.org/abs/2511.05963) |
|
| 309 |
+
| Optimizer / training | Conda | Column-Normalized Adam for Training Large Language Models Faster | [arXiv:2509.24218](https://arxiv.org/abs/2509.24218) |
|
| 310 |
+
| Optimizer / training | CWD | Cautious Weight Decay | [arXiv:2510.12402](https://arxiv.org/abs/2510.12402) |
|
| 311 |
+
| Optimizer / training | WD correction | Correction of Decoupled Weight Decay | [arXiv:2512.08217](https://arxiv.org/abs/2512.08217) |
|
| 312 |
+
| Optimizer / training | AdamHD | AdamHD: Decoupled Huber Decay Regularization for Language Model Pre-Training | [arXiv:2511.14721](https://arxiv.org/abs/2511.14721) |
|
| 313 |
+
| Optimizer / training | GradientStabilizer | GradientStabilizer | [arXiv:2502.17055](https://arxiv.org/abs/2502.17055) |
|
| 314 |
+
| Optimizer / training | PACE | Training for the Model You Return: Improving Optimization for Iterate-Averaged Language Models | [arXiv:2606.25086](https://arxiv.org/abs/2606.25086) |
|
| 315 |
+
|
| 316 |
+
---
|
| 317 |
+
|
| 318 |
+
## Citation
|
| 319 |
+
|
| 320 |
+
```bibtex
|
| 321 |
+
@misc{neollm2026,
|
| 322 |
+
title = {NeoLLM: A Research Language Model Integrating Recent Attention and Normalization Techniques},
|
| 323 |
+
author = {KitsuVp},
|
| 324 |
+
year = {2026},
|
| 325 |
+
url = {https://huggingface.co/KitsuVp/NeoLLM}
|
| 326 |
+
}
|
| 327 |
+
```
|
| 328 |
+
|
| 329 |
+
---
|
| 330 |
+
|
| 331 |
+
## Author
|
| 332 |
+
|
| 333 |
+
[@Kyokopom](https://x.com/Kyokopom) on X
|
| 334 |
+
|
| 335 |
+
---
|
| 336 |
+
|
| 337 |
+
## License
|
| 338 |
+
|
| 339 |
+
Apache 2.0
|