j0no12 commited on
Commit
c5c0500
·
verified ·
1 Parent(s): cf5dd22

Rewrite model card for clarity

Browse files
Files changed (1) hide show
  1. README.md +41 -118
README.md CHANGED
@@ -17,41 +17,46 @@ tags:
17
 
18
  # Sol Milkshake
19
 
20
- Sol Milkshake is an exact **2,990,000-parameter** recurrent, hyperspherical decoder-only language model trained from scratch and continued through **2,526,565,888 total token exposures**.
21
-
22
- It combines recurrent block reuse, grouped-query attention, parameter-free XSA value subtraction, value residuals, tensorized 2–5-gram memory, completed-chunk rolling memory, adaptive recurrent routing, and nGPT-style hyperspherical optimization.
23
-
24
- **This is a base model, not an instruction-tuned assistant.**
25
-
26
- ## Model summary
27
-
28
- | Property | Value |
29
- | --- | --- |
30
- | Parameters | **2,990,000** |
31
- | Total token exposures | **2,526,565,888** |
32
- | Architecture | Decoder-only recurrent causal language model |
33
- | Physical / effective blocks | 5 / 11 |
34
- | Residual width | 192 |
35
- | Vocabulary | 2,048-token byte-level BPE |
36
- | Maximum context | 2,048 tokens |
37
- | Weight format | MLX NPZ |
38
- | License | CC BY 4.0 |
 
 
 
 
 
39
 
40
- ## Quick start
41
 
42
- Install the runtime dependencies:
43
 
44
  ```bash
45
  pip install "mlx>=0.29" "tokenizers>=0.22" huggingface_hub
46
  ```
47
 
48
- Load the model and generate text on Apple Silicon:
49
 
50
  ```python
51
  from huggingface_hub import snapshot_download
52
  import sys
53
 
54
- model_dir = snapshot_download("solintellegence/Sol-Milkshake-3M-Base")
55
  sys.path.insert(0, model_dir)
56
 
57
  from modeling_sol_milkshake import load_model, generate
@@ -68,114 +73,32 @@ text = generate(
68
  print(text)
69
  ```
70
 
71
- The repository includes the complete standalone MLX implementation and does not require the original training repository.
72
-
73
- ## Results
74
 
75
- | Benchmark | Examples | Score |
76
- | --- | ---: | ---: |
77
  | HellaSwag | 10,042 | 25.02% |
78
  | ARC-Easy | 2,376 | 29.76% |
79
  | ARC-Challenge | 1,172 | 22.70% |
80
  | PIQA | 1,838 | 52.50% |
81
  | ArithMark-3 | 1,000 | 30.60% |
82
- | Intelligence Index | — | **3.158** |
83
-
84
- The four language-model tasks were evaluated zero-shot on their complete evaluation splits with `lm-eval` 0.4.12 using normalized accuracy.
85
-
86
- ArithMark-3 used its independent-tokenization normalized-accuracy protocol.
87
-
88
- Raw evaluation outputs are included under `evals/`.
89
-
90
- These measurements are not independently verified, and no leaderboard position is claimed. The release checkpoint was selected from recovery checkpoints using this evaluation suite, so the results should not be treated as a pristine held-out estimate.
91
-
92
- ## Architecture
93
-
94
- | Component | Configuration |
95
- | --- | --- |
96
- | Stored parameters | **2,990,000** |
97
- | Physical / effective blocks | 5 / 11 |
98
- | Recurrent layout | 1 prelude + 3 middle blocks × 3 passes + 1 coda |
99
- | Residual width | 192 |
100
- | Attention | 6 query heads, 2 key/value heads, head dimension 32 |
101
- | Attention modification | XSA value subtraction after causal attention |
102
- | Attention normalization | Unit-normalized Q/K with RoPE |
103
- | Recurrent routing | Full first pass, then 75% and 50% token capacity |
104
- | MLP | Gated SiLU MLP, width 512 |
105
- | Vocabulary | 2,048-token byte-level BPE |
106
- | Learned memory | Rank-26 tensorized 2–5-gram memory |
107
- | Rolling memory | 32-token chunks, 32 slots, width 64 |
108
- | Embeddings | Tied input/output table |
109
- | Maximum context | 2,048 tokens |
110
-
111
- ## Training data
112
-
113
- Initial pretraining used a staged English curriculum built from:
114
-
115
- - FineWeb-Edu
116
- - FinePDFs-Edu
117
- - English UltraFineWeb multi-domain and question-answer subsets
118
- - Cosmopedia
119
- - FineMath
120
-
121
- Recovery training used a **70% / 15% / 15%** mixture of the original frozen curriculum, Cosmopedia-v2 English, and FinePhrase.
122
-
123
- The tokenizer and prepared training streams were frozen before training. Existing quality filtering, deduplication, and decontamination rules were retained.
124
-
125
- ## Intended use
126
-
127
- Sol Milkshake is intended for research on highly parameter-efficient language modeling, including:
128
-
129
- - extremely small language models
130
- - recurrent-depth architectures
131
- - nGPT-style hyperspherical optimization
132
- - compact learned and rolling memory
133
- - grouped-query attention at small scale
134
- - Apple Silicon and MLX inference research
135
-
136
- Because this is a base model, users should expect raw next-token completion behavior rather than instruction-following or assistant-style responses.
137
-
138
- ## Limitations
139
-
140
- At approximately 3M parameters, Sol Milkshake has severe capability limitations.
141
-
142
- Outputs may be:
143
-
144
- - inconsistent
145
- - factually incorrect
146
- - repetitive
147
- - incoherent
148
- - unsafe
149
-
150
- The model is not instruction tuned and should not be treated as a conversational assistant.
151
-
152
- Do not use it for high-stakes decisions.
153
 
154
- Users are responsible for evaluating outputs and determining whether the model is suitable for their application.
155
 
156
- ## Repository files
157
 
158
- | File | Purpose |
159
- | --- | --- |
160
- | `model.npz` | MLX model weights |
161
- | `modeling_sol_milkshake.py` | Standalone model, loader, and generator |
162
- | `sol_config.py` | Frozen architecture configuration |
163
- | `config.json` | Model metadata |
164
- | `tokenizer.json` | Frozen tokenizer |
165
- | `tokenizer_config.json` | Tokenizer metadata |
166
- | `training_state.json` | Training and provenance summary |
167
- | `evals/` | Raw benchmark results |
168
 
169
- ## Reproducibility and evaluation notes
170
 
171
- The repository includes raw evaluation outputs under `evals/`.
172
 
173
- Reported benchmark values should be interpreted as reference measurements for this release. They have not been independently verified, and checkpoint selection used the same suite.
174
 
175
- No leaderboard position is claimed.
176
 
177
- ## License
178
 
179
- Sol Milkshake Base is released under the **CC BY 4.0** license.
180
 
181
- Dataset licenses and terms remain with their respective owners.
 
17
 
18
  # Sol Milkshake
19
 
20
+ Sol Milkshake is a 2,990,000-parameter recurrent language model for MLX on Apple Silicon. Its checkpoint received 2,526,565,888 token exposures across pretraining and recovery training.
21
+
22
+ It uses hyperspherical optimization, shared transformer blocks, and local and rolling memory. This is a base model for text completion.
23
+
24
+ ## Model
25
+
26
+ | Setting | Value |
27
+ |---|---|
28
+ | Parameters | 2,990,000 |
29
+ | Token exposures | 2,526,565,888 |
30
+ | Context | 2,048 tokens |
31
+ | Tokenizer | 2,048-entry byte-level BPE |
32
+ | Hidden width | 192 |
33
+ | Stored blocks / effective applications | 5 / 11 |
34
+ | Recurrent layout | 1 prelude, 3 middle blocks used three times, 1 coda |
35
+ | Attention | 6 query heads, 2 KV heads, head dimension 32 |
36
+ | Q/K normalization | Unit normalization with RoPE |
37
+ | Attention features | XSA value subtraction and value residuals |
38
+ | Routing | Full first pass, then 75% and 50% token capacity |
39
+ | FFN | Gated SiLU, width 512 |
40
+ | Local memory | Rank-26 tensorized 2-5-gram memory |
41
+ | Rolling memory | 32-token chunks, 32 slots, width 64 |
42
+ | Token embeddings | Tied to the output head |
43
+ | Weights | MLX NPZ |
44
 
45
+ ## Use
46
 
47
+ Install MLX, the tokenizer library, and the Hub client:
48
 
49
  ```bash
50
  pip install "mlx>=0.29" "tokenizers>=0.22" huggingface_hub
51
  ```
52
 
53
+ Download the repository and use its included loader:
54
 
55
  ```python
56
  from huggingface_hub import snapshot_download
57
  import sys
58
 
59
+ model_dir = snapshot_download("solintellegence/Sol-Milkshake")
60
  sys.path.insert(0, model_dir)
61
 
62
  from modeling_sol_milkshake import load_model, generate
 
73
  print(text)
74
  ```
75
 
76
+ ## Evaluation
 
 
77
 
78
+ | Benchmark | Examples | Normalized accuracy |
79
+ |---|---:|---:|
80
  | HellaSwag | 10,042 | 25.02% |
81
  | ARC-Easy | 2,376 | 29.76% |
82
  | ARC-Challenge | 1,172 | 22.70% |
83
  | PIQA | 1,838 | 52.50% |
84
  | ArithMark-3 | 1,000 | 30.60% |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
+ The reported Intelligence Index is 3.158. The four language-model tasks use full zero-shot splits with `lm-eval` 0.4.12. ArithMark-3 uses independent tokenization and normalized accuracy. Raw outputs are in `evals/`.
87
 
88
+ The checkpoint was selected from recovery runs using this same evaluation suite. These scores therefore include checkpoint-selection effects and are not an untouched held-out estimate. They have not been independently verified.
89
 
90
+ ## Training
 
 
 
 
 
 
 
 
 
91
 
92
+ Initial pretraining used FineWeb-Edu, FinePDFs-Edu, English UltraFineWeb multi-domain and question-answer subsets, Cosmopedia, and FineMath. Recovery training mixed 70% of the original frozen curriculum with 15% Cosmopedia-v2 English and 15% FinePhrase.
93
 
94
+ The tokenizer and prepared streams were fixed. Recovery retained the existing filtering, deduplication, and decontamination rules. Training details are recorded in `training_state.json`.
95
 
96
+ ## Files
97
 
98
+ `model.npz` holds the MLX weights. `modeling_sol_milkshake.py` includes the loader and generator, and `sol_config.py` contains the architecture settings. The repository also includes `config.json`, the tokenizer files, training metadata, and evaluation outputs.
99
 
100
+ ## Limits and license
101
 
102
+ Milkshake is a small research model for recurrence, memory, hyperspherical optimization, and MLX inference. It can produce repetitive or incoherent text and incorrect answers. It has not been instruction-tuned.
103
 
104
+ The model is licensed under [CC BY 4.0](LICENSE). Dataset licenses remain separate.