KitsuVp commited on
Commit
42fc5d7
·
verified ·
1 Parent(s): 1941a71

Model save

Browse files
Files changed (5) hide show
  1. README.md +38 -186
  2. config.json +2 -3
  3. generation_config.json +1 -1
  4. model.safetensors +2 -2
  5. training_args.bin +1 -1
README.md CHANGED
@@ -1,203 +1,55 @@
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
- datasets:
12
- - HuggingFaceFW/fineweb-edu
13
  ---
14
 
15
- # NeoLLM
16
-
17
- NeoLLM is a **135 M parameter** decoder-only language model trained from scratch on
18
- [FineWeb-Edu](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu) in **FP8**
19
- precision, completing training in approximately **6 hours** on a single NVIDIA RTX 5090.
20
- It integrates a collection of recently published attention and normalization techniques
21
- into a single architecture, with the goal of studying how they interact during
22
- pretraining. The model is actively being developed and the current checkpoint represents
23
- an intermediate training state.
24
-
25
- > **Author / contact:** [@Kyokopom](https://x.com/Kyokopom) on X
26
- > **Repository:** [KitsuVp/NeoLLM](https://huggingface.co/KitsuVp/NeoLLM)
27
-
28
- ---
29
-
30
- ## Architecture
31
-
32
- NeoLLM is a decoder-only transformer with the following configuration:
33
-
34
- | Parameter | Value |
35
- |---|---|
36
- | Hidden size | 512 |
37
- | Layers | 12 |
38
- | Attention heads | 8 |
39
- | KV heads (GQA) | 4 |
40
- | Head dim | 64 |
41
- | Intermediate size | 1536 |
42
- | Vocabulary | Qwen3 tokenizer (64,402 tokens) |
43
- | Context length | 512 tokens |
44
-
45
- ### Parameter breakdown
46
-
47
- | Parameter bucket | Count |
48
- |---|---|
49
- | **Total parameters** | 113.07M (113,070,456) |
50
- | **Embedding parameters** (tied) | 32.97M (32,973,824) |
51
- | **Non-embedding parameters** | 80.10M (80,096,632) |
52
- | **Effective trainable parameters** | 113.07M (113,070,456) |
53
-
54
- > Weight tying is **enabled**: the input embedding matrix and the language-model head
55
- > share the same parameters, so the effective trainable budget is
56
- > `total − embed = 80.10M`.
57
-
58
- ### Integrated techniques
59
-
60
- Each layer combines the following mechanisms simultaneously.
61
-
62
- **Normalization and residual stream**
63
-
64
- - **SeeDNorm** ([arXiv:2510.22777](https://arxiv.org/abs/2510.22777)) — Applied to Q and K
65
- projections. Dynamically rescales the normalization based on the input's own statistics,
66
- making the attention geometry more stable across varying input distributions.
67
- - **PolyNorm** ([arXiv:2602.04902](https://arxiv.org/abs/2602.04902)) — Replaces the standard
68
- MLP activation with three branches: linear (x), quadratic (x²), and cubic (x³) — each
69
- normalized and combined with learned weights. This allows the MLP to express both linear
70
- and non-linear relationships simultaneously.
71
- - **GPAS** ([arXiv:2506.22049](https://arxiv.org/abs/2506.22049)) — Gradient-Preserving
72
- Activation Scaling. Applied to residual connections between sublayers; helps gradients
73
- flow more cleanly during training without distorting the residual stream.
74
- - **LayerNorm Scaling / LNS** ([arXiv:2502.05795](https://arxiv.org/abs/2502.05795)) — Each
75
- layer's output is scaled by 1/√ℓ where ℓ is the layer index. Directly addresses the
76
- "Curse of Depth" in Pre-LN transformers.
77
-
78
- **Attention mechanisms**
79
-
80
- - **FAN** ([arXiv:2502.21309](https://arxiv.org/abs/2502.21309)) — Fourier Analysis Networks.
81
- A portion of the input projection channels are dedicated to representing periodic patterns
82
- (cosine/sine pairs), while the remainder handle standard linear content.
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
 
104
- **MLP**
105
-
106
- - **Learnable Multipliers** ([arXiv:2601.04890](https://arxiv.org/abs/2601.04890)) — Adds
107
- per-row and per-column learnable scalar parameters to each linear layer.
108
- - **SimpleGPT** ([arXiv:2602.01212](https://arxiv.org/abs/2602.01212)) — A normalization
109
- strategy derived from second-order geometry analysis, applied inside MLP projections to
110
- improve optimization stability.
111
-
112
- ---
113
-
114
- ## Training
115
-
116
- | Setting | Value |
117
- |---|---|
118
- | Dataset | FineWeb-Edu (sample-10BT) |
119
- | Tokens seen | ~1.54B (46,875 steps × batch 64 × length 512) |
120
- | Precision | FP8 native (E4M3 weights/activations, E5M2 gradients) + BF16 fallback |
121
- | Optimizer | Conda (Column-Normalized Adam) + GPA |
122
- | Learning rate | 6e-04 with linear warmup (10 % of steps) |
123
- | Weight decay | 0.1 |
124
- | Training time | ~3h 31m |
125
- | Hardware | NVIDIA RTX 5090 (single GPU) |
126
-
127
- ### Training curve
128
-
129
- | Step | Train Loss | Val Loss |
130
- |---|---|---|
131
- | 5,000 | 4.005 | 3.905 |
132
- | 10,000 | 3.727 | 3.637 |
133
- | 15,000 | 3.616 | 3.534 |
134
- | 20,000 | 3.559 | 3.475 |
135
- | 25,000 | 3.521 | 3.437 |
136
- | 30,000 | 3.494 | 3.410 |
137
- | 35,000 | 3.479 | 3.390 |
138
- | 40,000 | 3.395 | 3.321 |
139
- | 45,000 | 3.355 | 3.273 |
140
- | 46,875 | — | 3.266 |
141
-
142
- ---
143
-
144
- ## Limitations
145
-
146
- - **Token budget** — ~1.5 B tokens seen; below estimated optimum. Knowledge-intensive tasks
147
- will improve with more training.
148
- - **Gradient spike at step 40k** — Reorganized the attention pattern in layer 9 that
149
- previously captured long-range token correlations. A checkpoint from ~step 38k is expected
150
- to have better aggregate benchmark scores.
151
- - **PolyNorm exclusivity** — The quadratic branch has become partially redundant with the
152
- linear branch. Will be corrected in the next training run.
153
- - **Base model only** — Not instruction-tuned or aligned; purely a next-token-prediction
154
- base model.
155
-
156
- ---
157
 
158
- ## References
 
 
 
 
 
 
 
159
 
160
- All papers whose techniques are integrated into NeoLLM's architecture:
161
 
162
- | Technique | Paper title | arXiv |
163
- |---|---|---|
164
- | SeeDNorm | Self-Rescaled Dynamic Normalization | [2510.22777](https://arxiv.org/abs/2510.22777) |
165
- | MEA | Explicit Multi-head Attention | [2601.19611](https://arxiv.org/abs/2601.19611) |
166
- | Learnable Multipliers | Freeing the Scale of Language Model Matrix Layers | [2601.04890](https://arxiv.org/abs/2601.04890) |
167
- | Directional Routing | Directional Routing in Transformers | [2603.14923](https://arxiv.org/abs/2603.14923) |
168
- | XSA | Exclusive Self Attention | [2603.09078](https://arxiv.org/abs/2603.09078) |
169
- | Gated Attention | Gated Attention for LLMs | [2505.06708](https://arxiv.org/abs/2505.06708) |
170
- | Affine-Scaled Attention | Affine-Scaled Attention | [2602.23057](https://arxiv.org/abs/2602.23057) |
171
- | LNS | The Curse of Depth in LLMs | [2502.05795](https://arxiv.org/abs/2502.05795) |
172
- | LUCID | Attention with Preconditioned Representations | [2602.10410](https://arxiv.org/abs/2602.10410) |
173
- | FAN | Fourier Analysis Networks | [2502.21309](https://arxiv.org/abs/2502.21309) |
174
- | SimpleGPT | SimpleGPT | [2602.01212](https://arxiv.org/abs/2602.01212) |
175
- | GPAS | Gradient-Preserving Activation Scaling | [2506.22049](https://arxiv.org/abs/2506.22049) |
176
- | PolyNorm | PolyNorm / PolyCom | [2602.04902](https://arxiv.org/abs/2602.04902) |
177
- | Momentum Attention | Momentum Attention | [2411.03884](https://arxiv.org/abs/2411.03884) |
178
- | TWEO (analysis ref.) | Transformers Without Extreme Outliers | [2511.23225](https://arxiv.org/abs/2511.23225) |
179
 
180
- ---
181
 
182
- ## Citation
183
 
184
- ```bibtex
185
- @misc{neollm2026,
186
- title = {NeoLLM: A Research Language Model Integrating Recent Attention and Normalization Techniques},
187
- author = {KitsuVp},
188
- year = {2026},
189
- url = {https://huggingface.co/KitsuVp/NeoLLM}
190
- }
191
- ```
192
 
193
- ---
194
 
195
- ## Author
196
 
197
- [@Kyokopom](https://x.com/Kyokopom) on X
198
 
199
- ---
 
 
 
 
 
 
 
 
200
 
201
- ## License
202
 
203
- Apache 2.0
 
 
 
 
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
+ - eval_loss: 3.3300
18
+ - eval_runtime: 88.5321
19
+ - eval_samples_per_second: 170.277
20
+ - eval_steps_per_second: 2.666
21
+ - epoch: 0.96
22
+ - step: 45000
23
 
24
+ ## Model description
25
 
26
+ More information needed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
+ ## Intended uses & limitations
29
 
30
+ More information needed
31
 
32
+ ## Training and evaluation data
 
 
 
 
 
 
 
33
 
34
+ More information needed
35
 
36
+ ## Training procedure
37
 
38
+ ### Training hyperparameters
39
 
40
+ The following hyperparameters were used during training:
41
+ - learning_rate: 0.0006
42
+ - train_batch_size: 64
43
+ - eval_batch_size: 64
44
+ - seed: 42
45
+ - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
46
+ - lr_scheduler_type: linear
47
+ - lr_scheduler_warmup_steps: 0.1
48
+ - num_epochs: 1
49
 
50
+ ### Framework versions
51
 
52
+ - Transformers 5.8.1
53
+ - Pytorch 2.12.0+cu130
54
+ - Datasets 4.8.5
55
+ - Tokenizers 0.22.2
config.json CHANGED
@@ -22,7 +22,6 @@
22
  "fan_ratio_ffn": 0.0625,
23
  "generator_d_seed": 128,
24
  "generator_k": 3,
25
- "generator_khronos_chunk_size": 16,
26
  "generator_krank": 64,
27
  "generator_num_knots": 32,
28
  "generator_num_modes": 8,
@@ -73,7 +72,7 @@
73
  "stack_memory_cache_size": 2048,
74
  "stack_slots": 16,
75
  "tie_word_embeddings": false,
76
- "transformers_version": "5.8.0",
77
  "use_affine_scaled_attention": false,
78
  "use_attn_res": false,
79
  "use_cache": false,
@@ -101,7 +100,7 @@
101
  "use_siamesenorm": true,
102
  "use_spelling_bee_embeddings": true,
103
  "use_stack_memory": false,
104
- "use_token_generator": false,
105
  "use_versatile_ffn": false,
106
  "use_xsa": true,
107
  "versatile_active_experts": 2,
 
22
  "fan_ratio_ffn": 0.0625,
23
  "generator_d_seed": 128,
24
  "generator_k": 3,
 
25
  "generator_krank": 64,
26
  "generator_num_knots": 32,
27
  "generator_num_modes": 8,
 
72
  "stack_memory_cache_size": 2048,
73
  "stack_slots": 16,
74
  "tie_word_embeddings": false,
75
+ "transformers_version": "5.8.1",
76
  "use_affine_scaled_attention": false,
77
  "use_attn_res": false,
78
  "use_cache": false,
 
100
  "use_siamesenorm": true,
101
  "use_spelling_bee_embeddings": true,
102
  "use_stack_memory": false,
103
+ "use_token_generator": true,
104
  "use_versatile_ffn": false,
105
  "use_xsa": true,
106
  "versatile_active_experts": 2,
generation_config.json CHANGED
@@ -7,5 +7,5 @@
7
  "output_attentions": false,
8
  "output_hidden_states": false,
9
  "pad_token_id": 0,
10
- "transformers_version": "5.8.0"
11
  }
 
7
  "output_attentions": false,
8
  "output_hidden_states": false,
9
  "pad_token_id": 0,
10
+ "transformers_version": "5.8.1"
11
  }
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:adf4cf118e8db2b8f126d7d1ecf9c6795ab7df172095edae7788e31d3c46cae2
3
- size 234563356
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8dd96ef8d8c02d6ff194e1f5d4fa8c27936abd94c0f60240f29f16f6f9b571a5
3
+ size 173668524
training_args.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f3cb95d622aaf5240b2ab92566316ecd151c8b597d3d86bcfc154933227d34f5
3
  size 5457
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b1c3c25d3f289220adf32328d1a78c81a4fe69b32cfac36940998fdfcda2254a
3
  size 5457