/ Модель

Характеристики

Лицензия
CC BY-SA 4.0
Библиотека
pytorch
Опубликована
4 окт 2026

TokenizerTest-32m-B

Генерация текстаТекст → текст

Небольшая польская базовая языковая модель Fabryka AI для продолжения текста и исследования влияния токенизатора.

265скачиваний за 30 дней0лайковвеса обновлены5 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

TokenizerTest-32m-B — небольшая базовая языковая модель Fabryka AI, созданная Аркадиушем Слотой как вариант B контролируемого эксперимента по сравнению токенизаторов. Модель обучена продолжать польский текст и предназначена для исследования влияния токенизатора, а не для практического использования или выполнения инструкций.

Это PyTorch-модель примерно на 38,9 млн параметров с 15 слоями, размерностью 384, 6 головами внимания и контекстом 1024 токена. Вариант B использует токенизатор stubbornGuy с размером словаря 32 000. Для сравнения с вариантом A модели обучались на одинаковых данных, с одинаковой архитектурой и рецептом; README сообщает, что у B не обнаружено выигрыша по битам на байт. Лицензия — CC BY-SA 4.0.

Сценарии применения

  • продолжение польского текста
  • сравнение токенизаторов на польском языке
  • оценка языковых моделей по битам на байт
  • воспроизведение эксперимента с вариантами токенизатора A и B

Ограничения

Это небольшой базовый чекпойнт, который продолжает текст, но не предназначен для ответов на вопросы или выполнения инструкций; знания ограничены, возможны ошибки и смещения из обучающих веб-текстов. Эксперимент основан на одном запуске и одном seed для каждого варианта, поэтому оценка различий не учитывает разброс результатов.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

TokenizerTest-32m-B (Polish research base model, tokenizer comparison — arm B)

A small Polish base language model trained as arm B of a controlled tokenizer experiment. It is a research checkpoint for comparing tokenizers, not a model for use. It is a Fabryka AI project (formerly SlayerLab).

Author: Arkadiusz Słota (Fabryka AI), who designed and ran the experiment. Tokenizer of this arm: stubbornGuy.

Companion model (tokenizer A/B experiment)

This model is one half of a controlled tokenizer comparison. Two models were trained with the same architecture, training recipe, seed and the same Polish text. The only difference is the tokenizer:

armtokenizerrepofinal step
AFabryka AI BPE, vocab 32 000 (60e23148)SlayerLab/TokenizerTest-32m-A89 000
Btokenizer by stubbornGuy, vocab 32 000 (77eeebed)SlayerLab/TokenizerTest-32m-B95 000

This model: B.

Shared recipe: ~38.9M parameters (tied input/output embeddings); "32m" in the repo name is the recipe name ("Glint 32M r6"), not the parameter count. Architecture: 15 layers, d_model 384, 6 heads, context 1024, Muon optimizer, batch 32, seed 1337, trainer train_gpt_ref_r6.py (0223c083).

Both arms saw the same ~12.4 GB of Polish text (public dataset SlayerLab/slayer-pl-8x3b @ d50df04a, files pack-00, pack-01 and shared/{core,core_sa,legal,legal_sa}; validation = pack-07 after 13-gram decontamination); B splits it more finely (on the training text 3.96 vs 4.25 bytes per token incl. EOS; on validation 4.14 vs 4.41), so it needed more steps for the same bytes. For the same reason B has lower bits per token (val 4.395 vs 4.668), which says nothing about model quality.

How to compare: loss per token is not comparable across tokenizers. We compare bits per byte on the same bytes (lower is better):

ABB − A
validation (7 232 820 B)1.05831.0622+0.0040 (+0.37 %)
held-out W (1 430 217 B)1.07811.0883+0.0101 (+0.94 %)

From ~4 B bytes onward the gap is roughly constant (val +0.003…+0.004, W +0.008…+0.010) and does not close by the end of training. Curve every 10k steps (bits per byte; note: at the same step B has seen fewer bytes than A):

stepA valB valA WB W
10 0001.19101.20091.23271.2463
20 0001.14481.15231.17991.1896
30 0001.12001.12781.14991.1634
40 0001.10321.11091.13041.1435
50 0001.08881.09691.11411.1291
60 0001.07731.08501.10001.1145
70 0001.06751.07521.08851.1025
80 0001.06101.06771.08181.0944
89 0001.0583—1.0781—
90 000—1.0633—1.0892
95 000—1.0622—1.0883

The same numbers, with checkpoint and data hashes, are in bpb_curve.json.

Caveat: one seed per arm, no noise estimate. The honest reading is "at this scale the B tokenizer brings no gain in bits per byte", not "B is worse".

Training data

Public dataset SlayerLab/slayer-pl-8x3b at revision d50df04a; the same files for both arms:

fileusesha256
pack-00/web.parquettraining (web)5cbb6dfa3a276a30db3c2034105ffffa75cc29b767456e7d75c305f9bd7ec562
pack-01/web.parquettraining (web)802f4829f41ef83e23979d2460500907bcfd44278e300eccb5e39ac666a04c2c
shared/core.parquettraining (core)ea0b4b901ace3780501b02a3972f014f77ce722315476e6f93681616958e0a99
shared/core_sa.parquettraining (core, CC BY-SA)910b18eeebbc26efbbd76554d7484d016c6df692a3b6a18492b5c9ceb32549cb
shared/legal.parquettraining (legal)6d4cc2f604d76452cd7e7ea52d1a04826f5e44f09bb035ba0853232fe373e74a
shared/legal_sa.parquettraining (legal, CC BY-SA)a1609cd31e12e0f6fdfdb030edb538bc230fc5f5ab376d23136180338e9dbd1e
pack-07/web.parquetvalidation (13-gram decontaminated against training)3d93331061595949f2e2cab187cfe688a117785c048e94688808b399b3f53b67

Usage

The model is a custom PyTorch architecture (same code as SlayerLab/GoLLeM-v6-250M), not a transformers class.

filecontent
model.safetensorsfinal weights, step 95 000 (fp32, 38,866,958 parameters; output head stored as a copy of the tied embedding)
config.jsonarchitecture
tokenizer.jsonarm B tokenizer by stubbornGuy, 32 000 tokens (tokenizers)
modeling_gollem_v6.pymodel code (inference) and a small generate helper
step_10000/ … step_90000/intermediate checkpoints every 10k steps (same three files each; weights only, no optimizer state)
bpb_curve.jsonbits-per-byte curve (step, checkpoint sha256, val, W)
SHA256SUMSsha256 of every file
# pip install torch safetensors tokenizers huggingface_hub
from huggingface_hub import snapshot_download
import sys

path = snapshot_download("SlayerLab/TokenizerTest-32m-B")   # pin revision="<commit>" for reproducibility
sys.path.insert(0, path)
from modeling_gollem_v6 import load_gollem_v6, generate

model, tok = load_gollem_v6(path)                          # final checkpoint
print(generate(model, tok, "Kraków jest miastem", max_new_tokens=40, temperature=0.8, top_k=50, seed=1))
model_10k, _ = load_gollem_v6(f"{path}/step_10000")        # an intermediate checkpoint

Loading any model.safetensors of this repository into modeling_gollem_v6.py reproduces the logits of the corresponding training checkpoint exactly (checked with torch.equal for every step).

Limitations

  • Small base model (~38.9M parameters): it continues Polish text; it does not answer questions or follow instructions. Limited knowledge; may reproduce errors and biases of web text. Research use only.
  • Single run, single seed per arm; see the caveat above.

License

Weights: CC BY-SA 4.0 (the training text includes CC BY-SA parts of SlayerLab/slayer-pl-8x3b). Attribution: TokenizerTest-32m-B, Arkadiusz Słota / Fabryka AI, link to this repository; derivative weights under the same licence. The tokenizer (tokenizer.json) was created by stubbornGuy and is released here under CC BY-SA 4.0 with his consent. Training data keep their upstream licences; see the dataset card of SlayerLab/slayer-pl-8x3b.

TokenizerTest — Fabryka AI. Author: Arkadiusz Słota. Tokenizer of arm B: stubbornGuy.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch

Нельзя запустить

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
92995f0

0 моделей