Model reference · open weights

gollem-pl

LLMs SlayerLab Text gen 1 build Its own licence terms 1k dl/mo

gollem-pl is an open-weight language model from SlayerLab. gollem-v4-250m-pl (BF16) weighs 22.8 GB; the smallest configuration that runs it is RTX 5090 32 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • GoLLeM v4 is a 250M-parameter decoder-only language model developed by SlayerLab for research purposes.
  • It is a base model trained from scratch on a 16.58B token Polish corpus, designed for text generation and analysis of training dynamics rather than instruction following.
  • The model features a context length of 1024 tokens, uses a 32,000 token vocabulary, and is released under an "other" license for research use only.

Summary of the SlayerLab/gollem-v4-250m-pl model card, 2026-10-01

What it is

Released bySlayerLab
Released2026-09-14
VRAM22.8 GB for the weights

What it runs on

Memory and cards for gollem-v4-250m-pl (BF16)

22.8 GBweights, file size
762 MBruntime overhead, at least

How much memory each request adds isn't estimated yet for this architecture. The weights need at least the cards below, plus room for the context.

CardWeights alone
RTX 3060 12 GB … RTX 4090 24 GB
4 smaller cards
does not fit
RTX 5090 32 GBfits
L40S 48 GBfits
A100 80 GBfits
H100 80 GBfits
RTX PRO 6000 Blackwell 96 GBfits
DGX Spark (GB10) 128 GB unifiedfits
H200 141 GBfits
B200 180 GBfits

From the model card

What SlayerLab says about gollem-pl

Read the model card

⚠️ STATUS: BADAWCZY / W TRAKCIE TRENINGU (work-in-progress). To repozytorium zawiera pośrednie punkty treningu modelu (seria migawek, ~4–45% zaplanowanego budżetu), udostępnione wyłącznie do celów badawczych. To nie jest gotowy model — jakość rośnie z każdą kolejną migawką i będzie znacząco wyższa na końcu treningu. Nie używaj go w zastosowaniach produkcyjnych ani do oceny „jak dobry jest GoLLeM".

Polski model językowy typu dekoder (GPT), 250 mln parametrów, trenowany od zera na polskim korpusie. Projekt Laboratorium Slayer. Udostępniamy serię migawek z kolejnych etapów treningu, aby umożliwić badanie dynamiki uczenia się modelu.

Autor: Arkadiusz Słota (Laboratorium Slayer).

Do czego służy (a do czego nie)

Służy do: badań nad skalowaniem i dynamiką uczenia (porównywanie kolejnych migawek), analizy polskiego modelu językowego, testów płynności i kontynuacji polskiego tekstu.

Nie służy do wydawania poleceń: to model bazowy (wstępnie wytrenowany), a nie model dostrojony do instrukcji — kontynuuje podany tekst, ale nie wykonuje poleceń. Rozumie tylko język polski — po angielsku oraz przy odpowiadaniu na pytania bez kontekstu radzi sobie słabo, zgodnie z założeniem. Na tym etapie nie kończy wypowiedzi w sposób niezawodny (nie wstawia stabilnie znacznika końca ``) i generuje tekst aż do limitu długości — jest to normalne dla modelu bazowego we wczesnej fazie treningu i nie stanowi błędu.

Migawki treningu (trajektoria)

MigawkaKrok% treningustrata walidacyjnaBPB
ckpt_20002000~4%3.4161.135
ckpt_60006000~12%2.9661.001
ckpt_80008000~16%2.9370.978
ckpt_1000010000~20%2.8780.961
ckpt_1200012000~25%2.8460.947
ckpt_1400014000~29%2.8490.938
ckpt_1600016000~33%2.7890.932
ckpt_1800018000~37%2.7990.924
ckpt_2000020000~41%2.7570.915
ckpt_2200022000~45%2.7560.910
ckpt_2400024000~49%2.6890.903
ckpt_2600026000~53%2.6700.901
ckpt_2800028000~57%2.6520.897
ckpt_3000030000~61%2.6720.891
ckpt_3200032000~66%2.6920.888

Migawki dokładamy w miarę postępu treningu (obecnie do ckpt_32000, ~66% budżetu). Widać jednostajny spadek — model naprawdę się uczy (strata walidacyjna ≈ strata treningowa, brak przeuczenia; prognozę sprawdzamy poza oknem dopasowania — @18000 trafiła, @20000–26000 realny wynik wyszedł poniżej ekstrapolacji (model uczył się szybciej niż krzywa potęgowa), @26000–32000 zgodne z odświeżonym dopasowaniem (Δ≈−0.002…−0.004, forward-check HOLDS 4× z rzędu; 2 z nich in-annealing po onset @30000)). BPB spada monotonicznie (0.978→0.888); wahania straty walidacyjnej to szum pojedynczego batcha, nie zmiana trendu.

Prognoza na koniec treningu (24 mld tokenów, ~48828 kroków): BPB rzędu ~0.87–0.89 — odręczny przedział (nie formalne CI) z dopasowania power-law na 11 punktach pomiarowych (kroki 2000–22000). To wartość RUCHOMA i jeszcze niezabankowana: wszystkie punkty są sprzed wygaszania współczynnika uczenia (annealing), gdzie krzywa może zmienić nachylenie. Rzetelny test prognozy nastąpi dopiero na punktach z fazy annealingu (>40 tys. kroków). Teoretyczne dno języka ~0.83. Podajemy orientacyjnie, z niepewnością, nie jako twardą liczbę. Strata walidacyjna ~2.5–2.8 (metryka szumna, końcowa wartość niepewna; z wygaszaniem współczynnika uczenia realny wynik bliżej dolnej granicy). Model dotąd bije prognozę power-law na dwóch niezależnych metrykach (strata walidacyjna i BPB) — spadek jest realny; przedziały zawężą się w miarę treningu.

Architektura

Parametry247 954 432 (~250 mln, współdzielone embeddingi)
Warstwy (n_layer)17
Wymiar (d_model)1024
Głowice uwagi (n_head)16 (wymiar głowicy 64)
Długość kontekstu (block)1024
Słownik (vocab)32 000 (tokenizer V32k, polski BPE)
Pozycjewyuczone embeddingi pozycyjne (nn.Embedding, nie RoPE)
Blokpre-LayerNorm, uwaga SDPA (przyczynowa), warstwa MLP z GELU 4×
Wagiembedding i głowica wyjściowa współdzielone (weight tying, jak w GPT-2)

Architektura jest niestandardowa — nie wczytuje się przez transformers/AutoModel. Użyj dołączonego wczytywacza modeling_gollem.py (samodzielny, wymaga jedynie torch, tokenizers i safetensors).

Dane treningowe

Korpus SlayerLab/gollem-corpus-16b-pl — 16,58 mld tokenów, w 100% polski, oczyszczony (deduplikacja, filtr danych osobowych, dekontaminacja):

RejestrTokenyUdział
web (HPLT v3 PL, oczyszczony)14,62 mld88,2%
encyklopedyczny (Wikipedia PL)984 mln5,9%
nauka522 mln3,1%
wiadomości211 mln1,3%
prawniczy176 mln1,1%
literacki60 mln0,4%
mieszany1,6 mln0,01%

Trening: cel 24 mld tokenów (~1,45 epoki, świadomy trening nadmiarowy ~5× względem Chinchilli — optymalny pod kątem kosztu późniejszej inferencji, nie samego treningu). Sprzęt: pojedyncza karta RTX 5090.

Jak użyć

pip install torch tokenizers safetensors
# najnowsza migawka (domyślnie):
python generate.py "Polska to kraj" --n 100 --temp 0.8 --topk 50
# wybrana migawka trajektorii:
python generate.py "Polska to kraj" --ckpt ckpt_6000.safetensors --n 100
from modeling_gollem import GollemGPT
m = GollemGPT.from_pretrained("./")                          # najnowsza migawka
# m = GollemGPT.from_pretrained("./", ckpt="ckpt_6000.safetensors")  # wybrany etap
print(m.generate("Stolica Polski to", max_new_tokens=100, temperature=0.8, top_k=50))

Pliki w repozytorium: ckpt_*.safetensors (wagi każdej migawki, format bez pikli), config.json (architektura + lista migawek), tokenizer.json (V32k), modeling_gollem.py i generate.py (samodzielny wczytywacz i skrypt generowania).

**Uw

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

How it works

How language models work

Your prompttext / messagesTransformerattention over tokensNext-token loopgenerate + streamResponsetext · tool callsA language model reads your tokens and predicts the next one, again and again, streaming the reply back.
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms