Mission – Slayer 1B
Arkadiusz Słota – Fabryka AI (SlayerLab)
We are building a Polish language model of ~1 billion parameters from scratch and improving it version by version — each version continues training from a checkpoint of the previous one taken before its final learning-rate decay, on new data. All versions, checkpoints and results are public.
Versions
Results
| test | 1.00 | 1.01 | 1.02 |
|---|---|---|---|
| training tokens | 1.5 B | 3.0 B | 6.0 B |
| ARC-Easy (EN), % | 42.89 | 47.98 | 48.99 |
| BLiMP (EN, grammar), % | 71.51 | 73.63 | 74.71 |
| WikiText-2, byte perplexity ↓ | 2.5857 | 2.4230 | 2.3735 |
| MultiBLiMP (PL, grammar), % | 97.89 | 98.29 | 98.38 |
| ARC-Easy-PL, % | 36.91 | 40.36 | 41.84 |
One instrument for all versions (leaderboard protocol of track.fabryka.ai/models, zero-shot). Item-by-item comparison 1.01 → 1.02: BLiMP +1.08 pp (95% interval [+0.78; +1.37]); on the other tests the direction is positive but the difference is unresolved. 1.00 and 1.01 ended with a learning-rate decay, 1.02 did not — so 1.02 vs 1.01 is not a clean comparison.
How the scores grow during training

Measured values only, no fits: one checkpoint every 150 steps. Data: scores-history.csv.
How we do it
- From scratch. A transformer (20 layers, width 2048), our own Polish tokenizer, Polish data with an English minority (slayer-pl-8x3b).
- Continued training instead of a new run. Each version starts from a checkpoint of the previous one — taken before its final learning-rate decay — and gets a new portion of data the model has not seen yet.
- From 1.02 on, no decay along the way. We keep training on the whole prepared corpus (~24 B tokens) and apply the final decay once, at the end.
- We verify everything. Every checkpoint has a SHA-256 sum recorded off the training machine; files are downloaded back and compared with it. From version 1.01 on, a loss forecast is written down before each run and evaluated afterwards.
Technical report: Slayer1B: Continuing a Polish-Dominant Base Model.
What's next
Slayer1B 1.03 — another 1.5 B tokens (7.5 B in total), continued from 1.02 on our own 4×RTX 4090 cards. Live progress on track.fabryka.ai.
At the end of the line: one final learning-rate decay, then extending the context window in stages — first to 32k tokens, with up to 256k as the target, each stage checked with long-context tests.
These are base models: they predict the continuation of a text, they were not tuned for chat or for following instructions, and they can be wrong.
Misja – Slayer 1B
Arkadiusz Słota – Fabryka AI (SlayerLab)
Budujemy od zera polski model językowy wielkości ~1 mld parametrów i ulepszamy go wersja po wersji — każdą wersję trenujemy dalej od punktu kontrolnego poprzedniej sprzed jej końcowego wygaszania tempa uczenia, na nowych danych. Wszystkie wersje, punkty kontrolne i wyniki są publiczne.
Wersje
Wyniki
| test | 1.00 | 1.01 | 1.02 |
|---|---|---|---|
| tokeny treningu | 1,5 mld | 3,0 mld | 6,0 mld |
| ARC-Easy (EN), % | 42,89 | 47,98 | 48,99 |
| BLiMP (EN, gramatyka), % | 71,51 | 73,63 | 74,71 |
| WikiText-2, perpleksja na bajt ↓ | 2,5857 | 2,4230 | 2,3735 |
| MultiBLiMP (PL, gramatyka), % | 97,89 | 98,29 | 98,38 |
| ARC-Easy-PL, % | 36,91 | 40,36 | 41,84 |
Jeden przyrząd dla wszystkich wersji (protokół tablicy track.fabryka.ai/models, zero-shot). Porównanie 1.01 → 1.02 pytanie po pytaniu: BLiMP +1,08 pp (95 % przedział [+0,78; +1,37]); na pozostałych testach kierunek dodatni, ale różnica nierozstrzygnięta. 1.00 i 1.01 kończyły się wygaszaniem tempa uczenia, 1.02 nie — więc 1.02 nie jest „czystym” porównaniem z 1.01.
Jak rosną wyniki w trakcie treningu

Same pomiary, bez dopasowań: punkt kontrolny co 150 kroków. Dane: scores-history.csv.
Jak to robimy
- Od zera. Architektura typu transformer (20 warstw, szerokość 2048), własny polski tokenizer, polskie dane z mniejszością angielską (slayer-pl-8x3b).
- Dalszy trening zamiast nowego. Każda wersja startuje z punktu kontrolnego poprzedniej — sprzed końcowego wygaszania tempa uczenia — i dostaje nową porcję danych, której model jeszcze nie widział.
- Od 1.02 nie wygaszamy po drodze. Trenujemy dalej na całym przygotowanym zasobie (~24 mld tokenów), a końcowe wygaszanie zrobimy raz, na końcu.
- Wszystko sprawdzamy. Każdy punkt kontrolny ma sumę SHA-256 zapisaną poza maszyną treningową, a pliki pobieramy z powrotem i porównujemy z nią; od wersji 1.01 przed każdym biegiem zapisujemy prognozę straty i potem ją oceniamy.
Raport techniczny: Slayer1B: Continuing a Polish-Dominant Base Model.
Co dalej
Slayer1B 1.03 — kolejne 1,5 mld tokenów (razem 7,5 mld), dalszy trening 1.02 na naszych kartach 4×RTX 4090. Postęp na żywo pojawi się na track.fabryka.ai.
Na końcu linii: jedno końcowe wygaszanie tempa uczenia, a potem etapami wydłużanie okna kontekstu — najpierw do 32k tokenów, docelowo do 256k, każdy etap sprawdzany testami długiego kontekstu.
To modele bazowe: przewidują dalszy ciąg tekstu, nie były dostrajane do rozmowy ani wykonywania poleceń i mogą się mylić.