GODELEV commited on
Commit
b3882f4
·
verified ·
1 Parent(s): 155ce4c

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +315 -16
README.md CHANGED
@@ -9,23 +9,322 @@ tags:
9
  - refresh-gate
10
  - rose-x1
11
  license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  ---
13
 
14
  # Rose-Mini
15
 
16
- Rose X1 SLM (49.4M params).
17
-
18
- ## Architecture
19
- | Property | Value |
20
- |---|---|
21
- | Layers | 14 |
22
- | Hidden | 512 |
23
- | Heads | 8 (kv=2) |
24
- | QK Norm | True |
25
- | Refresh Gate | [4, 9] |
26
- | Params | 49.443M |
27
-
28
- ## Training
29
- - Tokens: 12,206,861,568
30
- - Val PPL: 6.14
31
- - Optimizer: muon_adamw
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  - refresh-gate
10
  - rose-x1
11
  license: apache-2.0
12
+ pipeline_tag: text-generation
13
+ ---
14
+
15
+ ---
16
+
17
+ license: mit
18
+ language:
19
+
20
+ * en
21
+ pipeline_tag: text-generation
22
+ tags:
23
+ * causal-lm
24
+ * custom-architecture
25
+ * pytorch
26
+ * transformers
27
+ * rose-x1
28
+
29
  ---
30
 
31
  # Rose-Mini
32
 
33
+ ## The First Bloom
34
+
35
+ Every model teaches you something.
36
+ Some teach optimization.
37
+ Some teach patience.
38
+ Some teach you that a single misplaced line of code can quietly destroy months of work.
39
+
40
+ My previous projects taught me all three.
41
+
42
+ **Archaea** taught me how to train language models from scratch.
43
+
44
+ The **Ant** series taught me that lowering loss does not necessarily mean a model has learned anything useful.
45
+
46
+ **Exp-1** humbled me by exposing a catastrophic implementation bug hidden inside my Transformer blocks.
47
+
48
+ **Archaea-74M-V1.1** reminded me that refining a good model is sometimes more valuable than building a new one.
49
+
50
+ Rose-Mini begins where those projects ended.
51
+ Not with another Transformer.
52
+ Not with another checkpoint.
53
+ But with a question.
54
+
55
+ > **What if I stopped modifying existing architectures and started building one of my own?**
56
+
57
+ That question eventually became **Rose X1**.
58
+ And Rose-Mini is the first public model built upon it.
59
+
60
+ ---
61
+
62
+ # A Different Kind of Project
63
+
64
+ Unlike my previous releases, Rose-Mini is not simply another pretrained language model.
65
+ It represents my first successful custom architecture.
66
+ For a long time I had wanted to move beyond reproducing existing Transformer implementations.
67
+ Training models is fun.
68
+ Understanding them is even more fun.
69
+ Building one yourself...
70
+ That is where the real adventure begins.
71
+ Rose X1 became my playground for exploring architectural ideas while still remaining practical enough to train on consumer hardware.
72
+ Fortunately...
73
+ The architecture worked.
74
+
75
+ ---
76
+
77
+ # Acknowledgements
78
+
79
+ Before talking about Rose X1, I want to thank **Datdanboi25**.
80
+ The **TX4** architecture was one of the first compact language model designs that genuinely made me stop scrolling and start reading code.
81
+ Rather than simply scaling parameters, TX4 explored interesting architectural ideas for making smaller language models more capable.
82
+ Rose X1 is **inspired by** many of those ideas while exploring its own design decisions and implementation.
83
+ It is **not** a reproduction of TX4.
84
+ It is my own architectural exploration built upon lessons learned from previous projects and inspired by the excellent work shared by the community.
85
+ As an independent developer, openly published research and implementations are invaluable learning resources.
86
+
87
+ So...
88
+
89
+ Thank you, **Datdanboi25**.
90
+ Without builders willing to share ideas, projects like Rose probably would never have existed.
91
+
92
+ ---
93
+
94
+ # Meet Rose X1
95
+
96
+ Rose X1 is a lightweight decoder-only architecture designed around one simple philosophy:
97
+
98
+ > **Extract more capability from fewer parameters.**
99
+
100
+ Instead of chasing larger parameter counts, Rose focuses on architectural efficiency and better utilization of compute.
101
+ The architecture incorporates several modern design ideas including:
102
+
103
+ * Grouped Query Attention (GQA)
104
+ * RMSNorm
105
+ * QK Normalization
106
+ * Refresh Gates
107
+ * Efficient decoder-only design
108
+ * BF16 training
109
+
110
+ The goal was never to reinvent the Transformer.
111
+ The goal was to explore it.
112
+
113
+ ---
114
+
115
+ # The Four Hour Battle
116
+
117
+ Designing an architecture turned out to be easier than convincing Hugging Face that it actually existed.
118
+
119
+ Training was straightforward.
120
+
121
+ Writing the custom Hugging Face implementation...
122
+
123
+ That was another story.
124
+
125
+ Since Rose X1 is a custom architecture, I had to implement everything required for Hugging Face compatibility.
126
+
127
+ Configuration classes.
128
+
129
+ Model classes.
130
+
131
+ Registration.
132
+
133
+ Auto mapping.
134
+
135
+ Generation support.
136
+
137
+ Loading.
138
+
139
+ Saving.
140
+
141
+ Everything.
142
+
143
+ I spent nearly **four hours** fighting the modeling file.
144
+
145
+ Every time I fixed one error...
146
+
147
+ Python politely introduced two more.
148
+
149
+ Even AI models tried to help.
150
+
151
+ They certainly made excellent suggestions.
152
+
153
+ Unfortunately, they underestimated one critical variable.
154
+
155
+ **Me.**
156
+
157
+ I have a remarkable talent for introducing new bugs while fixing old ones.
158
+
159
+ Some people have green fingers.
160
+
161
+ Some have sticky fingers.
162
+
163
+ I have **buggy fingers**.
164
+
165
+ Eventually...
166
+
167
+ The architecture loaded successfully.
168
+
169
+ The checkpoints loaded.
170
+
171
+ Generation worked.
172
+
173
+ `AutoModelForCausalLM.from_pretrained()` finally stopped complaining.
174
+
175
+ That tiny success was honestly one of the most satisfying moments of the entire project.
176
+
177
+ ---
178
+
179
+ # Model Overview
180
+
181
+ | Property | Value |
182
+ | ---------------- | -------------- |
183
+ | Model | Rose-Mini |
184
+ | Architecture | Rose X1 |
185
+ | Parameters | 49.443 Million |
186
+ | Layers | 14 |
187
+ | Hidden Size | 512 |
188
+ | Attention Heads | 8 |
189
+ | KV Heads | 2 |
190
+ | QK Normalization | Enabled |
191
+ | Refresh Gates | Layers 4 & 9 |
192
+ | Training Tokens | 12,206,861,568 |
193
+ | Optimizer | Muon AdamW |
194
+
195
+ ---
196
+
197
+ # Training
198
+
199
+ Rose-Mini was trained on over **12.2 billion tokens**, representing my largest pretraining run so far.
200
+ Rather than increasing parameter count, I chose to expose a compact model to significantly more data.
201
+ Training small language models is an interesting balancing act.
202
+ Too few tokens...
203
+ The model memorizes very little.
204
+ Too many...
205
+ You begin wondering whether your SSD has developed feelings. #wirtten by Chat Gpt
206
+ Fortunately, both survived.
207
+
208
+ ---
209
+
210
+ # Comparing My Models
211
+
212
+ One thing I enjoy about independent research is watching projects evolve over time.
213
+ Each model solved a different problem.
214
+
215
+ | Model | Parameters | Tokens | Architecture | Purpose |
216
+ | ---------------- | ---------: | -----------------: | ----------------------- | ------------------------------------- |
217
+ | Archaea-74M | 74M | 1.23B | LLaMA-style Transformer | First successful pretrained model |
218
+ | Archaea-74M-V1.1 | 74M | Continued Training | LLaMA-style Transformer | Refinement and benchmark improvements |
219
+ | **Rose-Mini** | **49.4M** | **12.2B** | **Rose X1** | First custom architecture |
220
+
221
+ Rose-Mini contains roughly **33% fewer parameters** than Archaea-74M.
222
+ Despite that, it demonstrates that architectural experimentation can remain competitive while dramatically reducing parameter count.
223
+ For me, Rose-Mini is less about replacing Archaea.
224
+ It is about exploring a different path.
225
+
226
+ ---
227
+
228
+ # Benchmark Highlights
229
+
230
+ Rose-Mini demonstrates encouraging performance for a model of its size.
231
+
232
+ | Benchmark | Score |
233
+ | ----------------------------- | --------------: |
234
+ | **BananaMind Base Bench 1.1** | **1037.37 Elo** |
235
+ | **ArithMark-2.0** | **29.52%** |
236
+ | **HellaSwag** | **28.95%** |
237
+ | **PIQA** | **58.54%** |
238
+ | **ARC-Easy** | **36.62%** |
239
+ | **ARC-Challenge** | **24.32%** |
240
+
241
+ The BananaMind Base Bench result crossing **1000 Elo** was particularly satisfying.
242
+ Watching a custom architecture compete after weeks of implementation work is an incredibly rewarding experience.
243
+
244
+ ---
245
+
246
+ # Performance Compared to Archaea
247
+
248
+ Rose-Mini was never intended to be a direct replacement for Archaea.
249
+ Both models were built with different objectives.
250
+
251
+ | Category | Archaea-74M | Archaea-74M-V1.1 | Rose-Mini |
252
+ | ------------------- | ----------: | -----------------: | --------------: |
253
+ | Parameters | 74M | 74M | **49.4M** |
254
+ | Training Tokens | 1.23B | Continued Training | **12.2B** |
255
+ | Architecture | LLaMA-style | LLaMA-style | Rose X1 |
256
+ | Custom Architecture | No | No | **Yes** |
257
+ | BananaMind | — | 936 | **1037.37 Elo** |
258
+ | ArithMark-2.0 | 29.30% | **37.37%** | **29.52%** |
259
+
260
+
261
+
262
+ ---
263
+
264
+ # Why Rose?
265
+
266
+ The answer is simple.
267
+
268
+ Curiosity.
269
+
270
+ Training another standard Transformer would certainly have been easier.
271
+
272
+ It also would have been considerably less interesting.
273
+
274
+ Rose exists because experimentation is how progress happens.
275
+
276
+ Sometimes the experiment works.
277
+
278
+ Sometimes it becomes Exp-1.
279
+
280
+ Fortunately...
281
+
282
+ This one worked.
283
+
284
+ ---
285
+
286
+ # Current Limitations
287
+
288
+ Rose-Mini is still a relatively small language model.
289
+
290
+ Like every compact model, it has limitations.
291
+
292
+ * Complex reasoning remains challenging.
293
+ * Long-context understanding can be improved.
294
+ * Factual consistency still has room for growth.
295
+ * Instruction following could be further refined.
296
+
297
+ None of these are surprising.
298
+
299
+ They're simply opportunities for the next version.
300
+
301
+ ---
302
+
303
+ # Future Work
304
+
305
+ Rose-Mini is only the beginning of the Rose family.
306
+ Development is already underway for:
307
+
308
+ ## Rose-Medium
309
+
310
+ The goal of Rose-Medium is not simply to increase parameter count.
311
+
312
+ It is to continue exploring the Rose X1 architecture at a larger scale while preserving the design philosophy that made Rose-Mini successful.
313
+
314
+ Better architecture.
315
+
316
+ Better training.
317
+
318
+ Better models.
319
+
320
+ Hopefully fewer bugs.
321
+
322
+ Although I refuse to make any promises regarding that last point.
323
+
324
+ ---
325
+
326
+ # Final Thoughts
327
+
328
+ Thank you for checking out Rose-Mini.
329
+
330
+ I hope you enjoy experimenting with it as much as I enjoyed building it.