KitsuVp commited on
Commit
31ef0b7
·
verified ·
1 Parent(s): 2c9bde9

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +519 -72
README.md CHANGED
@@ -1,78 +1,525 @@
1
  ---
2
- library_name: transformers
 
3
  tags:
4
- - generated_from_trainer
5
- model-index:
6
- - name: NeoLLM
7
- results: []
 
 
 
 
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
- This model is a fine-tuned version of [](https://huggingface.co/) on an unknown dataset.
16
- It achieves the following results on the evaluation set:
17
- - Loss: 4.7246
18
- - Ce: 3.6781
19
- - Valid Targets: 2083162.0
20
- - Ppl: 39.5722
21
- - Mile Loss: 4.3050
22
- - Mile Ppl: 74.0700
23
- - Top1 Accuracy: 0.3333
24
- - Top3 Accuracy: 0.4934
25
- - Topk Valid Targets: 2083162.0
26
- - Ntp Loss: 4.3064
27
- - Ntp Ce Unweighted: 3.6786
28
- - Mile Reweighting Delta: 0.6268
29
- - Mu Loss: 0.0010
30
- - Tweo Loss: 0.0521
31
- - Nitp Loss: 0.4177
32
- - Total Model Loss: 4.7246
33
- - Tweo Weighted Loss: 0.0005
34
- - Nitp Weighted Loss: 0.4177
35
- - Auxiliary Loss: 0.4183
36
- - Regularization Loss: 0.0015
37
-
38
- ## Model description
39
-
40
- More information needed
41
-
42
- ## Intended uses & limitations
43
-
44
- More information needed
45
-
46
- ## Training and evaluation data
47
-
48
- More information needed
49
-
50
- ## Training procedure
51
-
52
- ### Training hyperparameters
53
-
54
- The following hyperparameters were used during training:
55
- - learning_rate: 0.001
56
- - train_batch_size: 64
57
- - eval_batch_size: 64
58
- - seed: 42
59
- - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
60
- - lr_scheduler_type: linear
61
- - num_epochs: 1
62
-
63
- ### Training results
64
-
65
- | Training Loss | Epoch | Step | Validation Loss | Ce | Valid Targets | Ppl | Mile Loss | Mile Ppl | Top1 Accuracy | Top3 Accuracy | Topk Valid Targets | Ntp Loss | Ntp Ce Unweighted | Mile Reweighting Delta | Mu Loss | Tweo Loss | Nitp Loss | Total Model Loss | Tweo Weighted Loss | Nitp Weighted Loss | Auxiliary Loss | Regularization Loss |
66
- |:-------------:|:-----:|:-----:|:---------------:|:------:|:-------------:|:-------:|:---------:|:--------:|:-------------:|:-------------:|:------------------:|:--------:|:-----------------:|:----------------------:|:-------:|:---------:|:---------:|:----------------:|:------------------:|:------------------:|:--------------:|:-------------------:|
67
- | 5.6578 | 0.32 | 5000 | 5.2354 | 4.2068 | 2083162.0 | 67.1415 | 4.7663 | 117.4795 | 0.2826 | 0.4308 | 2083162.0 | 4.7669 | 4.2072 | 0.5594 | 0.0003 | 0.1404 | 0.4671 | 5.2354 | 0.0014 | 0.4671 | 0.4685 | 0.0017 |
68
- | 5.3755 | 0.64 | 10000 | 4.9153 | 3.9128 | 2083162.0 | 50.0411 | 4.5054 | 90.5008 | 0.3101 | 0.4651 | 2083162.0 | 4.5065 | 3.9133 | 0.5925 | 0.0007 | 0.0969 | 0.4079 | 4.9153 | 0.0010 | 0.4079 | 0.4088 | 0.0017 |
69
- | 5.2147 | 0.96 | 15000 | 4.7451 | 3.7053 | 2083162.0 | 40.6616 | 4.3234 | 75.4442 | 0.3306 | 0.4903 | 2083162.0 | 4.3248 | 3.7058 | 0.6180 | 0.0010 | 0.0559 | 0.4198 | 4.7451 | 0.0006 | 0.4198 | 0.4204 | 0.0015 |
70
- | 5.1882 | 1.0 | 15625 | 4.7246 | 3.6781 | 2083162.0 | 39.5722 | 4.3050 | 74.0700 | 0.3333 | 0.4934 | 2083162.0 | 4.3064 | 3.6786 | 0.6268 | 0.0010 | 0.0521 | 0.4177 | 4.7246 | 0.0005 | 0.4177 | 0.4183 | 0.0015 |
71
-
72
-
73
- ### Framework versions
74
-
75
- - Transformers 5.20.2
76
- - Pytorch 2.14.1+cu130
77
- - Datasets 4.8.5
78
- - Tokenizers 0.23.3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language: en
3
+ license: apache-2.0
4
  tags:
5
+ - causal-lm
6
+ - research
7
+ - bf16
8
+ - attention
9
+ - normalization
10
+ - neollm
11
+ datasets:
12
+ - HuggingFaceFW/fineweb-edu
13
  ---
14
 
 
 
 
15
  # NeoLLM
16
 
17
+ NeoLLM is a **84.57 M parameter** decoder-only language model trained from scratch on
18
+ [FineWeb-Edu](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu) with
19
+ **BF16** compute, completing training in approximately
20
+ **~1h 00m** on **NVIDIA RTX PRO 6000 Blackwell Server Edition**.
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 | LiquidAI/LFM2.5-1.2B-Thinking tokenizer (64,402 tokens) |
44
+ | Context length | 512 tokens |
45
+ | Leviathan | enabled=True; d_seed=128, modes=8, knots=16 |
46
+ | JTok / JTok-M | enabled=False / False; Torch continuous surfaces, experts=5, top_k=2 |
47
+ | DAGFormer | enabled=False; {'predictor_dim': 256, 'predictor_layers': 2, 'predictor_heads': 4, 'local_dim': 128, 'input_source': 'tokens'} |
48
+
49
+ ### Parameter breakdown
50
+
51
+ | Parameter bucket | Count |
52
+ |---|---|
53
+ | **Total parameters** | 84.57M (84,567,992) |
54
+ | **Embedding parameters** (tied) | 32.97M (32,973,824) |
55
+ | **Non-embedding parameters** | 51.59M (51,594,168) |
56
+ | **Effective trainable parameters** | 84.57M (84,567,992) |
57
+
58
+ > Weight tying is **enabled**: the input embedding matrix and the language-model head
59
+ > share the same parameters, so the effective trainable budget is
60
+ > `total − embed = 51.59M`.
61
+
62
+ ### Integrated techniques
63
+
64
+ NeoLLM combines architecture modules, optional auxiliary objectives, and
65
+ training-time optimizer/stability components from the following papers.
66
+
67
+ **Embedding and token representation**
68
+
69
+ - **Learnable Multipliers** ([arXiv:2601.04890](https://arxiv.org/abs/2601.04890)) — Adds
70
+ per-row and per-column learnable scalar parameters to selected matrix layers and, when
71
+ enabled, embeddings.
72
+ - **Leviathan** ([arXiv:2601.22040](https://arxiv.org/abs/2601.22040)) — Optional
73
+ continuous token embedding generator that can replace the discrete input lookup table.
74
+ - **Leviathan-JTok / JTok-M** ([arXiv:2602.00800](https://arxiv.org/abs/2602.00800)) —
75
+ Optional continuous adaptation of JTok over the shared Leviathan coordinate. JTok
76
+ applies one normalized surface as a multiplicative MLP gate; JTok-M routes a
77
+ Sigmoid+TopK mixture of continuous surfaces and adds the paper's depth-scaled
78
+ residual. Runtime ``jtok_kernel_backend`` selects the PyTorch reference or the
79
+ CCE Triton adapter; the JTok surfaces remain outside MXFP8 conversion.
80
+ - **KHRONOS** ([arXiv:2505.13315](https://arxiv.org/abs/2505.13315)) — Kernel/basis
81
+ reference used by the Leviathan continuous token generator implementation.
82
+ - **Spelling Bee Embeddings** ([arXiv:2601.18030](https://arxiv.org/abs/2601.18030)) —
83
+ Augments token embeddings with character-level spelling information.
84
+ - **Token Embedding Manifold analysis** ([arXiv:2504.01002](https://arxiv.org/abs/2504.01002)) —
85
+ Reference motivation for treating token embeddings as structured objects rather than
86
+ unconstrained lookup rows.
87
+
88
+ **Attention, positions, and output projection**
89
+
90
+ - **FAN** ([arXiv:2502.21309](https://arxiv.org/abs/2502.21309)) — Fourier Analysis Networks.
91
+ A portion of the projection channels are dedicated to periodic cosine/sine features.
92
+ - **MEA** ([arXiv:2601.19611](https://arxiv.org/abs/2601.19611)) — Explicit Multi-head
93
+ Attention. Adds small learnable interaction matrices between attention heads for K and V.
94
+ - **LUCID** ([arXiv:2602.10410](https://arxiv.org/abs/2602.10410)) — Applies a learned
95
+ lower-triangular preconditioner to V before attention, decorrelating value representations
96
+ across positions.
97
+ - **Affine-Scaled Attention** ([arXiv:2602.23057](https://arxiv.org/abs/2602.23057)) — Adds
98
+ two learnable per-head scalars (α and β) to the softmax weights:
99
+ `[α·softmax(QKᵀ) + β]·V`.
100
+ - **XSA** ([arXiv:2603.09078](https://arxiv.org/abs/2603.09078)) — Exclusive Self Attention.
101
+ After computing attention, removes the component of the output aligned with the token's
102
+ own value vector.
103
+ - **Directional Routing** ([arXiv:2603.14923](https://arxiv.org/abs/2603.14923)) — Each head
104
+ learns K=4 directions in the output space; a learned router suppresses the attention output
105
+ along each direction per input.
106
+ - **Gated Attention** ([arXiv:2505.06708](https://arxiv.org/abs/2505.06708)) — A sigmoid gate
107
+ is applied to the attention output before the output projection, introducing non-linearity
108
+ and preventing attention sinks.
109
+ - **Momentum Attention** ([arXiv:2411.03884](https://arxiv.org/abs/2411.03884)) — Modifies Q
110
+ and K by subtracting a fraction of the previous position's Q and K values (causal
111
+ first-difference).
112
+ - **Interleaved Head Attention / IHA** ([arXiv:2602.21371](https://arxiv.org/abs/2602.21371)) —
113
+ Builds pseudo-heads from learned cross-head mixtures to create multiple attention patterns
114
+ per original head.
115
+ - **REPO** ([arXiv:2512.14391](https://arxiv.org/abs/2512.14391)) — Context re-positioning
116
+ module that learns contextual position coordinates above a configurable start layer.
117
+ - **GRAPE** ([arXiv:2512.07805](https://arxiv.org/abs/2512.07805)) — Group representational
118
+ position encoding used by the REPO-GRAPE positional path.
119
+ - **GOAT priors** ([arXiv:2601.15380](https://arxiv.org/abs/2601.15380)) — Optional
120
+ factorized attention log-prior channels inspired by trainable attention priors.
121
+ - **Hadamard output projection** ([arXiv:2603.08343](https://arxiv.org/abs/2603.08343)) —
122
+ Replaces dense attention output projection with a structured Hadamard transform plus
123
+ lightweight scaling.
124
+
125
+ **Normalization, residual flow, and MLP**
126
+
127
+ - **SeeDNorm** ([arXiv:2510.22777](https://arxiv.org/abs/2510.22777)) — Applied to Q and K
128
+ projections. Dynamically rescales normalization from the input's own statistics.
129
+ - **LayerNorm Scaling / LNS** ([arXiv:2502.05795](https://arxiv.org/abs/2502.05795)) — Each
130
+ layer's output is scaled by 1/√ℓ where ℓ is the layer index.
131
+ - **GPAS** ([arXiv:2506.22049](https://arxiv.org/abs/2506.22049)) — Gradient-Preserving
132
+ Activation Scaling for residual junctions.
133
+ - **PolyNorm** ([arXiv:2602.04902](https://arxiv.org/abs/2602.04902)) — Replaces the standard
134
+ MLP activation with normalized linear, quadratic, and cubic branches.
135
+ - **SimpleGPT** ([arXiv:2602.01212](https://arxiv.org/abs/2602.01212)) — Second-order
136
+ geometry-inspired normalization strategy applied inside MLP projections.
137
+ - **StackMemory / STACKTRANS** ([NeurIPS 2025](https://openreview.net/forum?id=2bbDg587uh)) —
138
+ Optional differentiable hidden-state stack between decoder layers.
139
+ - **Attention Residuals / AttnRes** ([arXiv:2603.15031](https://arxiv.org/abs/2603.15031)) —
140
+ Optional learned depth-wise aggregation over previous layer outputs or block summaries.
141
+ - **LAUREL** ([arXiv:2411.07501](https://arxiv.org/abs/2411.07501)) — Optional learned
142
+ augmented residual layer with residual-weight and low-rank variants.
143
+
144
+ **Training objectives and training-time regularizers**
145
+
146
+ - **Cut Cross Entropy** ([Apple repository](https://github.com/apple/ml-cross-entropy)) —
147
+ Memory-efficient next-token loss that avoids materializing the full token-by-vocabulary
148
+ logits tensor. NeoLLM remains compatible with the upstream package when the extensions
149
+ below are disabled.
150
+ - **MiLe Loss** ([arXiv:2310.19531](https://arxiv.org/abs/2310.19531)) — Optional detached,
151
+ mean-normalized predictive-entropy weighting of token losses, implemented inside the
152
+ extended CCE path.
153
+ - **Output Embedding Centering / mu-loss**
154
+ ([arXiv:2601.02031](https://arxiv.org/abs/2601.02031)) — Optional
155
+ `lambda * ||mean(output_embeddings)||^2` regularizer for output-logit stability.
156
+ - **MEAP** ([arXiv:2502.07490](https://arxiv.org/abs/2502.07490)) — Optional training-only
157
+ input corruption that masks a fixed fraction of eligible tokens while preserving clean
158
+ next-token labels, causal attention, and the inference path.
159
+ - **TWEO** ([arXiv:2511.23225](https://arxiv.org/abs/2511.23225)) — Optional
160
+ Transformers Without Extreme Outliers activation regularizer for FP8/low-bit-friendly
161
+ training.
162
+ - **NITP** ([arXiv:2605.24956](https://arxiv.org/abs/2605.24956)) — Optional Next Implicit
163
+ Token Prediction auxiliary objective using shallow-layer implicit token targets and a
164
+ cosine loss.
165
+ - **NextLat** ([arXiv:2511.05963](https://arxiv.org/abs/2511.05963)) — Optional next-latent
166
+ prediction objective using latent dynamics, Smooth L1 supervision, and frozen-head KL.
167
+
168
+ ### Optional extended-CCE configuration
169
+
170
+ | Feature | Enabled | Value |
171
+ |---|---:|---:|
172
+ | MiLe Loss | True | gamma=1.0 |
173
+ | mu-loss | True | lambda=0.0001 |
174
+ | MEAP | True | ratio=0.15 |
175
+
176
+ MiLe, mu-loss, and MEAP require the extended
177
+ [`Kitsunp/ml-cross-entropy`](https://github.com/Kitsunp/ml-cross-entropy) package only when
178
+ their corresponding flags are enabled. With all flags disabled, NeoLLM calls upstream CCE
179
+ without extension-specific arguments. When any extension is active, CCE reports three compact
180
+ scalars: unweighted NTP cross entropy, the MiLe reweighting delta, and the mu-loss penalty.
181
+ Their sum reconstructs `ntp_loss` exactly. MEAP reports its eligible and selected counts from
182
+ the masking kernel; the trainer logs the selected count and exact fraction. No diagnostic path
183
+ materializes full-vocabulary logits or a token mask outside the kernels.
184
+
185
+ **Optimizer and training stability**
186
+
187
+ - **Adam-family optimizer mode** — Active variant: **AdEMAMix**.
188
+ **AdEMAMix** ([arXiv:2409.03137](https://arxiv.org/abs/2409.03137)) contributes the optional
189
+ beta3 slow-memory branch when `ADEMAMIX=True`. **DeltaMomentum**
190
+ ([arXiv:2608.19491](https://arxiv.org/abs/2608.19491)) optionally replaces only the fast beta1
191
+ first-moment update on hidden Linear weights when `DELTA=True`; beta2 remains Adam's
192
+ ordinary squared-gradient EMA in every mode.
193
+ - **BF16 stochastic rounding** ([arXiv:2502.20566](https://arxiv.org/abs/2502.20566)) —
194
+ Optional master-free BF16 model update with stochastic rather than nearest rounding; the same
195
+ write-back path is shared by AdamW, DeltaAdamW, AdEMAMix, and DeltaAdEMAMix.
196
+ - **Cautious Weight Decay** ([arXiv:2510.12402](https://arxiv.org/abs/2510.12402)) —
197
+ Sign-selective weight decay variant used by the custom optimizer logic.
198
+ - **Correction of Decoupled Weight Decay** ([arXiv:2512.08217](https://arxiv.org/abs/2512.08217)) —
199
+ Adapts decoupled weight decay during learning-rate decay.
200
+ - **AdamHD** ([arXiv:2511.14721](https://arxiv.org/abs/2511.14721)) —
201
+ Decoupled Huber decay regularization reference used by the optimizer.
202
+ - **Gradient conditioning** — Active; repository per-parameter tensor norms; bias correction=True; no stabilizer warmup; EMA state stored in optimizer checkpoints.
203
+ References: [CAST](https://arxiv.org/abs/2610.19761),
204
+ [GradientStabilizer](https://arxiv.org/abs/2502.17055).
205
+ ---
206
+
207
+ ## Training
208
+
209
+ | Setting | Value |
210
+ |---|---|
211
+ | Dataset | FineWeb-Edu (sample-10BT) |
212
+ | Tokens seen | ~0.51B (15,625 steps × batch 64 × length 512) |
213
+ | Precision | BF16 model state (bfloat16: 84,565,816 elements, float32: 2,176 elements) + AdEMAMix FP32 master active; stochastic rounding disabled |
214
+ | Optimizer | AdEMAMix |
215
+ | Gradient transform | Active; repository per-parameter tensor norms; bias correction=True; no stabilizer warmup; EMA state stored in optimizer checkpoints |
216
+ | Learning rate | 1e-03 with 4,000-step linear warmup |
217
+ | Weight decay | coefficients [0.005, 0.01, 0.1]; WD 5/5 groups; CWD 2; Huber 0; Correction 0 |
218
+ | Training time | ~1h 00m |
219
+ | Hardware | NVIDIA RTX PRO 6000 Blackwell Server Edition |
220
+
221
+
222
+ ### Training curve — total objective
223
+
224
+ Total includes MiLe when enabled, plus all active auxiliary objectives and regularizers. Without MiLe means model total minus its MiLe delta on the same forward; this is not a separate training run without MiLe.
225
+
226
+ | Step | Train total | Val total | Train without MiLe | Val without MiLe |
227
+ |---|---|---|---|---|
228
+ | 1 | 12.1628 | — | 12.1628 | — |
229
+ | 250 | 7.60646 | — | 7.43483 | — |
230
+ | 500 | 7.11046 | — | 6.83781 | — |
231
+ | 750 | 6.78445 | — | 6.49071 | — |
232
+ | 1,000 | 6.56215 | — | 6.25472 | — |
233
+ | 1,250 | 6.41043 | — | 6.0883 | — |
234
+ | 1,500 | 6.3068 | — | 5.97184 | — |
235
+ | 1,750 | 6.21515 | — | 5.86749 | — |
236
+ | 2,000 | 6.14136 | — | 5.77925 | — |
237
+ | 2,250 | 6.08889 | — | 5.70973 | — |
238
+ | 2,500 | 6.03413 | — | 5.64105 | — |
239
+ | 2,750 | 5.98894 | — | 5.58622 | — |
240
+ | 3,000 | 5.95055 | — | 5.54003 | — |
241
+ | 3,250 | 5.91021 | — | 5.48942 | — |
242
+ | 3,500 | 5.87788 | — | 5.4486 | — |
243
+ | 3,750 | 5.83239 | — | 5.40089 | — |
244
+ | 4,000 | 5.79932 | — | 5.36159 | — |
245
+ | 4,250 | 5.76789 | — | 5.32479 | — |
246
+ | 4,500 | 5.7337 | — | 5.28573 | — |
247
+ | 4,750 | 5.69838 | — | 5.24759 | — |
248
+ | 5,000 | 5.65781 | 5.23543 | 5.2039 | 4.67604 |
249
+ | 5,250 | 5.63635 | — | 5.17947 | — |
250
+ | 5,500 | 5.61476 | — | 5.15386 | — |
251
+ | 5,750 | 5.5869 | — | 5.1214 | — |
252
+ | 6,000 | 5.56535 | — | 5.09997 | — |
253
+ | 6,250 | 5.54592 | — | 5.07789 | — |
254
+ | 6,500 | 5.52431 | — | 5.05509 | — |
255
+ | 6,750 | 5.51545 | — | 5.04329 | — |
256
+ | 7,000 | 5.4953 | — | 5.02273 | — |
257
+ | 7,250 | 5.48169 | — | 5.00525 | — |
258
+ | 7,500 | 5.47765 | — | 4.99956 | — |
259
+ | 7,750 | 5.45981 | — | 4.98085 | — |
260
+ | 8,000 | 5.44806 | — | 4.9653 | — |
261
+ | 8,250 | 5.43501 | — | 4.95204 | — |
262
+ | 8,500 | 5.428 | — | 4.9437 | — |
263
+ | 8,750 | 5.42458 | — | 4.93817 | — |
264
+ | 9,000 | 5.41423 | — | 4.9277 | — |
265
+ | 9,250 | 5.39804 | — | 4.91027 | — |
266
+ | 9,500 | 5.3914 | — | 4.90269 | — |
267
+ | 9,750 | 5.38942 | — | 4.89884 | — |
268
+ | 10,000 | 5.37553 | 4.91535 | 4.8827 | 4.32289 |
269
+ | 10,250 | 5.37482 | — | 4.88179 | — |
270
+ | 10,500 | 5.3682 | — | 4.87639 | — |
271
+ | 10,750 | 5.36149 | — | 4.86526 | — |
272
+ | 11,000 | 5.35708 | — | 4.86357 | — |
273
+ | 11,250 | 5.35302 | — | 4.85766 | — |
274
+ | 11,500 | 5.35091 | — | 4.85158 | — |
275
+ | 11,750 | 5.34317 | — | 4.84358 | — |
276
+ | 12,000 | 5.34214 | — | 4.84396 | — |
277
+ | 12,250 | 5.33081 | — | 4.83187 | — |
278
+ | 12,500 | 5.31501 | — | 4.81569 | — |
279
+ | 12,750 | 5.31292 | — | 4.80983 | — |
280
+ | 13,000 | 5.29299 | — | 4.78959 | — |
281
+ | 13,250 | 5.28632 | — | 4.77953 | — |
282
+ | 13,500 | 5.27245 | — | 4.76257 | — |
283
+ | 13,750 | 5.27055 | — | 4.76017 | — |
284
+ | 14,000 | 5.2511 | — | 4.74102 | — |
285
+ | 14,250 | 5.23908 | — | 4.72851 | — |
286
+ | 14,500 | 5.22941 | — | 4.71561 | — |
287
+ | 14,750 | 5.21514 | — | 4.69735 | — |
288
+ | 15,000 | 5.21468 | 4.74511 | 4.69776 | 4.12708 |
289
+ | 15,250 | 5.19578 | — | 4.67791 | — |
290
+ | 15,500 | 5.18821 | — | 4.66907 | — |
291
+ | 15,625 | 5.17338 | 4.72462 | 4.65385 | 4.09783 |
292
+
293
+ ### Cross-entropy with and without MiLe
294
+
295
+ CE without MiLe is unweighted CE; CE with MiLe adds the reweighting delta. Both exclude mu and auxiliary terms. `ntp_loss` includes mu when enabled.
296
+
297
+ | Step | Train CE without MiLe | Val CE without MiLe | Train CE with MiLe | Val CE with MiLe |
298
+ |---|---|---|---|---|
299
+ | 1 | 11.1858 | — | 11.1858 | — |
300
+ | 250 | 7.01026 | — | 7.18189 | — |
301
+ | 500 | 6.21718 | — | 6.48982 | — |
302
+ | 750 | 5.84786 | — | 6.1416 | — |
303
+ | 1,000 | 5.60969 | — | 5.91713 | — |
304
+ | 1,250 | 5.44332 | — | 5.76544 | — |
305
+ | 1,500 | 5.32873 | — | 5.66369 | — |
306
+ | 1,750 | 5.2266 | — | 5.57426 | — |
307
+ | 2,000 | 5.14025 | — | 5.50236 | — |
308
+ | 2,250 | 5.07082 | — | 5.44999 | — |
309
+ | 2,500 | 5.00553 | — | 5.39861 | — |
310
+ | 2,750 | 4.95387 | — | 5.35659 | — |
311
+ | 3,000 | 4.91284 | — | 5.32336 | — |
312
+ | 3,250 | 4.87043 | — | 5.29122 | — |
313
+ | 3,500 | 4.8399 | — | 5.26919 | — |
314
+ | 3,750 | 4.80168 | — | 5.23318 | — |
315
+ | 4,000 | 4.77362 | — | 5.21135 | — |
316
+ | 4,250 | 4.74767 | — | 5.19077 | — |
317
+ | 4,500 | 4.71803 | — | 5.166 | — |
318
+ | 4,750 | 4.68754 | ��� | 5.13833 | — |
319
+ | 5,000 | 4.65231 | 4.20722 | 5.10622 | 4.76661 |
320
+ | 5,250 | 4.63333 | — | 5.09021 | — |
321
+ | 5,500 | 4.61365 | — | 5.07455 | — |
322
+ | 5,750 | 4.58672 | — | 5.05222 | — |
323
+ | 6,000 | 4.5698 | — | 5.03518 | — |
324
+ | 6,250 | 4.55087 | — | 5.0189 | — |
325
+ | 6,500 | 4.53138 | — | 5.00059 | — |
326
+ | 6,750 | 4.52143 | — | 4.99358 | — |
327
+ | 7,000 | 4.50296 | — | 4.97553 | — |
328
+ | 7,250 | 4.4874 | — | 4.96384 | — |
329
+ | 7,500 | 4.48267 | — | 4.96075 | — |
330
+ | 7,750 | 4.46623 | — | 4.94519 | — |
331
+ | 8,000 | 4.45225 | — | 4.93501 | — |
332
+ | 8,250 | 4.44049 | — | 4.92346 | — |
333
+ | 8,500 | 4.43286 | — | 4.91715 | — |
334
+ | 8,750 | 4.42866 | — | 4.91507 | — |
335
+ | 9,000 | 4.41742 | — | 4.90394 | — |
336
+ | 9,250 | 4.40077 | — | 4.88854 | — |
337
+ | 9,500 | 4.39266 | — | 4.88136 | — |
338
+ | 9,750 | 4.38946 | — | 4.88003 | — |
339
+ | 10,000 | 4.37345 | 3.91333 | 4.86628 | 4.50578 |
340
+ | 10,250 | 4.37077 | — | 4.8638 | — |
341
+ | 10,500 | 4.36409 | — | 4.8559 | — |
342
+ | 10,750 | 4.35384 | — | 4.85006 | — |
343
+ | 11,000 | 4.35064 | — | 4.84415 | — |
344
+ | 11,250 | 4.34393 | — | 4.83929 | — |
345
+ | 11,500 | 4.33768 | — | 4.83701 | — |
346
+ | 11,750 | 4.3293 | — | 4.82889 | — |
347
+ | 12,000 | 4.32781 | — | 4.826 | — |
348
+ | 12,250 | 4.31572 | — | 4.81466 | — |
349
+ | 12,500 | 4.2998 | — | 4.79911 | — |
350
+ | 12,750 | 4.29454 | — | 4.79763 | — |
351
+ | 13,000 | 4.27499 | — | 4.77838 | — |
352
+ | 13,250 | 4.26461 | — | 4.77139 | — |
353
+ | 13,500 | 4.24787 | — | 4.75775 | — |
354
+ | 13,750 | 4.24555 | — | 4.75592 | — |
355
+ | 14,000 | 4.22651 | — | 4.7366 | — |
356
+ | 14,250 | 4.21505 | — | 4.72561 | — |
357
+ | 14,500 | 4.20286 | — | 4.71666 | — |
358
+ | 14,750 | 4.18628 | — | 4.70407 | — |
359
+ | 15,000 | 4.18707 | 3.70576 | 4.70399 | 4.32378 |
360
+ | 15,250 | 4.16733 | — | 4.68519 | — |
361
+ | 15,500 | 4.15842 | — | 4.67756 | — |
362
+ | 15,625 | 4.14494 | 3.67859 | 4.66447 | 4.30539 |
363
+
364
+ ### Observed loss components — weighted contributions
365
+
366
+ Only contributions actually added to the objective are shown; raw values and subcomponents remain in training metrics. `regularization_loss` is the subtotal of mu, weighted TWeo, JTok-M and StackMemory entropy, excluding NITP/NextLat; do not add it again to those components. JTok-M auxiliary loss is training-only.
367
+
368
+ | Step | Phase | mu | TWeo | NITP | Reg. subtotal |
369
+ |---|---|---|---|---|---|
370
+ | 1 | train | 3.18928e-10 | 1.73896e-06 | 0.976953 | 1.73928e-06 |
371
+ | 250 | train | 6.84891e-06 | 0.000676235 | 0.42389 | 0.000683084 |
372
+ | 500 | train | 1.96041e-05 | 6.16063e-05 | 0.620559 | 8.12103e-05 |
373
+ | 750 | train | 3.3879e-05 | 4.86311e-05 | 0.642769 | 8.25101e-05 |
374
+ | 1,000 | train | 4.82082e-05 | 6.36086e-05 | 0.644915 | 0.000111817 |
375
+ | 1,250 | train | 6.0768e-05 | 0.00010342 | 0.644818 | 0.000164188 |
376
+ | 1,500 | train | 7.04269e-05 | 0.000192415 | 0.642843 | 0.000262841 |
377
+ | 1,750 | train | 7.75483e-05 | 0.000342753 | 0.64047 | 0.000420301 |
378
+ | 2,000 | train | 8.38168e-05 | 0.000578622 | 0.63834 | 0.000662439 |
379
+ | 2,250 | train | 9.03597e-05 | 0.00085802 | 0.637955 | 0.00094838 |
380
+ | 2,500 | train | 0.000100004 | 0.00115163 | 0.634271 | 0.00125163 |
381
+ | 2,750 | train | 0.000113281 | 0.0014239 | 0.63081 | 0.00153718 |
382
+ | 3,000 | train | 0.000121862 | 0.00165795 | 0.625408 | 0.00177981 |
383
+ | 3,250 | train | 0.000132248 | 0.00182268 | 0.617035 | 0.00195493 |
384
+ | 3,500 | train | 0.000148375 | 0.00187566 | 0.606676 | 0.00202403 |
385
+ | 3,750 | train | 0.000165467 | 0.00187988 | 0.597164 | 0.00204534 |
386
+ | 4,000 | train | 0.000180491 | 0.00183098 | 0.58596 | 0.00201147 |
387
+ | 4,250 | train | 0.000198139 | 0.00178194 | 0.57514 | 0.00198007 |
388
+ | 4,500 | train | 0.000220956 | 0.00169323 | 0.565785 | 0.00191419 |
389
+ | 4,750 | train | 0.000241636 | 0.00160502 | 0.558204 | 0.00184665 |
390
+ | 5,000 | train | 0.000259585 | 0.00144827 | 0.549893 | 0.00170785 |
391
+ | 5,000 | validation | 0.000273011 | 0.00140449 | 0.467142 | 0.0016775 |
392
+ | 5,250 | train | 0.000285291 | 0.00137516 | 0.544479 | 0.00166045 |
393
+ | 5,500 | train | 0.000303946 | 0.00127061 | 0.538641 | 0.00157455 |
394
+ | 5,750 | train | 0.000329422 | 0.00121415 | 0.533132 | 0.00154357 |
395
+ | 6,000 | train | 0.000353627 | 0.00118309 | 0.52863 | 0.00153672 |
396
+ | 6,250 | train | 0.000376571 | 0.00113181 | 0.525507 | 0.00150838 |
397
+ | 6,500 | train | 0.00040026 | 0.00103695 | 0.522277 | 0.00143721 |
398
+ | 6,750 | train | 0.000426527 | 0.000991961 | 0.520443 | 0.00141849 |
399
+ | 7,000 | train | 0.000443904 | 0.000980956 | 0.518338 | 0.00142486 |
400
+ | 7,250 | train | 0.000466515 | 0.000963704 | 0.516422 | 0.00143022 |
401
+ | 7,500 | train | 0.000493662 | 0.00095226 | 0.515451 | 0.00144592 |
402
+ | 7,750 | train | 0.000522439 | 0.000951694 | 0.513145 | 0.00147413 |
403
+ | 8,000 | train | 0.000548451 | 0.000962954 | 0.511537 | 0.00151141 |
404
+ | 8,250 | train | 0.000573295 | 0.000961034 | 0.510014 | 0.00153433 |
405
+ | 8,500 | train | 0.000590981 | 0.000977169 | 0.509274 | 0.00156815 |
406
+ | 8,750 | train | 0.000606377 | 0.00095807 | 0.507948 | 0.00156445 |
407
+ | 9,000 | train | 0.000622443 | 0.000957854 | 0.508708 | 0.0015803 |
408
+ | 9,250 | train | 0.000648756 | 0.000963291 | 0.50789 | 0.00161205 |
409
+ | 9,500 | train | 0.000669239 | 0.000969349 | 0.508395 | 0.00163859 |
410
+ | 9,750 | train | 0.000691675 | 0.000935606 | 0.507755 | 0.00162728 |
411
+ | 10,000 | train | 0.000712 | 0.000931068 | 0.507608 | 0.00164307 |
412
+ | 10,000 | validation | 0.000721167 | 0.0009688 | 0.407873 | 0.00168997 |
413
+ | 10,250 | train | 0.000736315 | 0.000914907 | 0.50937 | 0.00165122 |
414
+ | 10,500 | train | 0.000777281 | 0.00088052 | 0.510645 | 0.0016578 |
415
+ | 10,750 | train | 0.000806279 | 0.000859968 | 0.509759 | 0.00166625 |
416
+ | 11,000 | train | 0.000826967 | 0.000838481 | 0.511263 | 0.00166545 |
417
+ | 11,250 | train | 0.00083419 | 0.000837565 | 0.512058 | 0.00167176 |
418
+ | 11,500 | train | 0.000834836 | 0.000822191 | 0.512248 | 0.00165703 |
419
+ | 11,750 | train | 0.000863479 | 0.000848665 | 0.512566 | 0.00171214 |
420
+ | 12,000 | train | 0.00089745 | 0.000850088 | 0.514401 | 0.00174754 |
421
+ | 12,250 | train | 0.000905931 | 0.000829532 | 0.514414 | 0.00173546 |
422
+ | 12,500 | train | 0.000906045 | 0.000873171 | 0.51412 | 0.00177922 |
423
+ | 12,750 | train | 0.000912162 | 0.000857579 | 0.513524 | 0.00176974 |
424
+ | 13,000 | train | 0.000919919 | 0.000819745 | 0.512863 | 0.00173966 |
425
+ | 13,250 | train | 0.000935974 | 0.00078068 | 0.513211 | 0.00171665 |
426
+ | 13,500 | train | 0.000945851 | 0.000747928 | 0.513005 | 0.00169378 |
427
+ | 13,750 | train | 0.000948116 | 0.000699751 | 0.512978 | 0.00164787 |
428
+ | 14,000 | train | 0.000957065 | 0.000670298 | 0.512876 | 0.00162736 |
429
+ | 14,250 | train | 0.000960524 | 0.000637824 | 0.511865 | 0.00159835 |
430
+ | 14,500 | train | 0.000959794 | 0.000615776 | 0.511177 | 0.00157557 |
431
+ | 14,750 | train | 0.000965124 | 0.000594786 | 0.509515 | 0.00155991 |
432
+ | 15,000 | train | 0.000968428 | 0.000552157 | 0.509166 | 0.00152059 |
433
+ | 15,000 | validation | 0.000970282 | 0.000559313 | 0.419799 | 0.00152959 |
434
+ | 15,250 | train | 0.000970819 | 0.000518389 | 0.509097 | 0.00148921 |
435
+ | 15,500 | train | 0.000968686 | 0.000494455 | 0.509181 | 0.00146314 |
436
+ | 15,625 | train | 0.000967579 | 0.00047286 | 0.507476 | 0.00144044 |
437
+ | 15,625 | validation | 0.000967973 | 0.000520825 | 0.417745 | 0.0014888 |
438
+
439
+ Tables use exact logged steps; missing values are — without carrying values forward. Repeated evaluations at one step use the latest logged value. Components average batch scalars weighted by examples; CE/PPL token metrics retain their valid-target weighting. Weight decay/CWD act in the optimizer, outside these forward losses.
440
+
441
+ ---
442
+
443
+ ## Limitations
444
+
445
+ - **Token budget** — ~1.5 B tokens seen; below estimated optimum. Knowledge-intensive tasks
446
+ will improve with more training.
447
+ - **Gradient spike at step 40k** — Reorganized the attention pattern in layer 9 that
448
+ previously captured long-range token correlations. A checkpoint from ~step 38k is expected
449
+ to have better aggregate benchmark scores.
450
+ - **PolyNorm exclusivity** — The quadratic branch has become partially redundant with the
451
+ linear branch. Will be corrected in the next training run.
452
+ - **Base model only** — Not instruction-tuned or aligned; purely a next-token-prediction
453
+ base model.
454
+
455
+ ---
456
+
457
+ ## References
458
+
459
+ All papers whose techniques are integrated into NeoLLM's architecture,
460
+ training objective, or training stack:
461
+
462
+ | Area | Technique | Paper title | Reference |
463
+ |---|---|---|---|
464
+ | Embeddings | Learnable Multipliers | Freeing the Scale of Language Model Matrix Layers | [arXiv:2601.04890](https://arxiv.org/abs/2601.04890) |
465
+ | Embeddings | Leviathan | A Separable Architecture for Continuous Token Representation in Language Models | [arXiv:2601.22040](https://arxiv.org/abs/2601.22040) |
466
+ | Embeddings / residual modulation | JTok / JTok-M | JTok: On Token Embedding as another Axis of Scaling Law via Joint Token Self-modulation | [arXiv:2602.00800](https://arxiv.org/abs/2602.00800) |
467
+ | Embeddings | KHRONOS | KHRONOS: a Kernel-Based Neural Architecture for Rapid, Resource-Efficient Scientific Computation | [arXiv:2505.13315](https://arxiv.org/abs/2505.13315) |
468
+ | Embeddings | Spelling Bee | Spelling Bee Embeddings for Language Modeling | [arXiv:2601.18030](https://arxiv.org/abs/2601.18030) |
469
+ | Embeddings | Token embedding analysis | Token Embeddings Violate the Manifold Hypothesis | [arXiv:2504.01002](https://arxiv.org/abs/2504.01002) |
470
+ | Attention / positions | FAN | Fourier Analysis Networks | [arXiv:2502.21309](https://arxiv.org/abs/2502.21309) |
471
+ | Attention / positions | MEA | Explicit Multi-head Attention for Inter-head Interaction in Large Language Models | [arXiv:2601.19611](https://arxiv.org/abs/2601.19611) |
472
+ | Attention / positions | LUCID | Attention with Preconditioned Representations | [arXiv:2602.10410](https://arxiv.org/abs/2602.10410) |
473
+ | Attention / positions | Affine-Scaled Attention | Affine-Scaled Attention: Towards Flexible and Stable Transformer Attention | [arXiv:2602.23057](https://arxiv.org/abs/2602.23057) |
474
+ | Attention / positions | XSA | Exclusive Self Attention | [arXiv:2603.09078](https://arxiv.org/abs/2603.09078) |
475
+ | Attention / positions | Directional Routing | Directional Routing in Transformers | [arXiv:2603.14923](https://arxiv.org/abs/2603.14923) |
476
+ | 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) |
477
+ | Attention / positions | Momentum Attention | Momentum Attention | [arXiv:2411.03884](https://arxiv.org/abs/2411.03884) |
478
+ | Attention / positions | IHA | Interleaved Head Attention | [arXiv:2602.21371](https://arxiv.org/abs/2602.21371) |
479
+ | Attention / positions | REPO | Language Models with Context Re-Positioning | [arXiv:2512.14391](https://arxiv.org/abs/2512.14391) |
480
+ | Attention / positions | GRAPE | Group Representational Position Encoding | [arXiv:2512.07805](https://arxiv.org/abs/2512.07805) |
481
+ | Attention / positions | GOAT priors | You Need Better Attention Priors | [arXiv:2601.15380](https://arxiv.org/abs/2601.15380) |
482
+ | Attention / positions | Hadamard o_proj | Rethinking Attention Output Projection: Structured Hadamard Transforms for Efficient Transformers | [arXiv:2603.08343](https://arxiv.org/abs/2603.08343) |
483
+ | Residual / normalization | SeeDNorm | Self-Rescaled Dynamic Normalization | [arXiv:2510.22777](https://arxiv.org/abs/2510.22777) |
484
+ | Residual / normalization | LNS | The Curse of Depth in LLMs | [arXiv:2502.05795](https://arxiv.org/abs/2502.05795) |
485
+ | Residual / normalization | GPAS | Gradient-Preserving Activation Scaling | [arXiv:2506.22049](https://arxiv.org/abs/2506.22049) |
486
+ | Residual / normalization | PolyNorm | PolyNorm / PolyCom | [arXiv:2602.04902](https://arxiv.org/abs/2602.04902) |
487
+ | Residual / normalization | SimpleGPT | SimpleGPT | [arXiv:2602.01212](https://arxiv.org/abs/2602.01212) |
488
+ | Residual / normalization | StackMemory / STACKTRANS | Recursive Transformer: Boosting Reasoning Ability with State Stack | [NeurIPS 2025](https://openreview.net/forum?id=2bbDg587uh) |
489
+ | Residual / normalization | Attention Residuals | Attention Residuals | [arXiv:2603.15031](https://arxiv.org/abs/2603.15031) |
490
+ | Residual / normalization | LAUREL | LAUREL: Learned Augmented Residual Layer | [arXiv:2411.07501](https://arxiv.org/abs/2411.07501) |
491
+ | Objectives | TWEO | Transformers Without Extreme Outliers Enables FP8 Training And Quantization For Dummies | [arXiv:2511.23225](https://arxiv.org/abs/2511.23225) |
492
+ | Objectives | NITP | Next Implicit Token Prediction for LLM Pre-training | [arXiv:2605.24956](https://arxiv.org/abs/2605.24956) |
493
+ | Objectives | NextLat | Next-Latent Prediction Transformers Learn Compact World Models | [arXiv:2511.05963](https://arxiv.org/abs/2511.05963) |
494
+ | Optimizer / training | AdEMAMix | The AdEMAMix Optimizer: Better, Faster, Older | [arXiv:2409.03137](https://arxiv.org/abs/2409.03137) |
495
+ | Optimizer / training | DeltaMomentum | DeltaMomentum: A Key-Value based Anisotropic Momentum Update via Delta Rule | [arXiv:2608.19491](https://arxiv.org/abs/2608.19491) |
496
+ | Optimizer / training | BF16 + SR | Stochastic Rounding for LLM Training: Theory and Practice | [arXiv:2502.20566](https://arxiv.org/abs/2502.20566) |
497
+ | Optimizer / training | CWD | Cautious Weight Decay | [arXiv:2510.12402](https://arxiv.org/abs/2510.12402) |
498
+ | Optimizer / training | WD correction | Correction of Decoupled Weight Decay | [arXiv:2512.08217](https://arxiv.org/abs/2512.08217) |
499
+ | Optimizer / training | AdamHD | AdamHD: Decoupled Huber Decay Regularization for Language Model Pre-Training | [arXiv:2511.14721](https://arxiv.org/abs/2511.14721) |
500
+ | Optimizer / training | GradientStabilizer | GradientStabilizer | [arXiv:2502.17055](https://arxiv.org/abs/2502.17055) |
501
+
502
+ ---
503
+
504
+ ## Citation
505
+
506
+ ```bibtex
507
+ @misc{neollm2026,
508
+ title = {NeoLLM: A Research Language Model Integrating Recent Attention and Normalization Techniques},
509
+ author = {KitsuVp},
510
+ year = {2026},
511
+ url = {https://huggingface.co/KitsuVp/NeoLLM}
512
+ }
513
+ ```
514
+
515
+ ---
516
+
517
+ ## Author
518
+
519
+ [@Kyokopom](https://x.com/Kyokopom) on X
520
+
521
+ ---
522
+
523
+ ## License
524
+
525
+ Apache 2.0