/ Модель

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

Лицензия
Apache 2.0
Библиотека
mlx
Опубликована
11 авг 2026

silbe-small

Генерация текстаТекст → текст3 профессии

Silbe-small — экспериментальная компактная модель генерации немецкого текста, созданная для изучения токенизации и языкового моделирования.

27скачиваний за 30 дней0лайковвеса обновлены11 авг 2026

Бенчмарки

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

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

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

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

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

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

Silbe-small — небольшая авторегрессионная языковая модель на 20,45 млн параметров, созданная с нуля автором репозитория aamirabbas858. Модель имеет стандартную decoder-only архитектуру Transformer: 8 слоёв, 8 голов внимания и ширину 384; контекст составляет 256 токенов. Она обучена на 531 МБ очищенного текста немецкой Википедии без предобученных весов, дообучения и дистилляции. Модель предназначена для демонстрации влияния токенизатора и небольших экспериментов с генерацией немецкого текста, а не для прикладного использования.

Silbe-small генерирует текст на немецком языке и может воспроизводить некоторые грамматические закономерности, например согласование падежей и порядок слов в придаточных предложениях. При этом сгенерированный текст не следует считать осмысленным или фактически достоверным: модель не подходит для диалога, ответов на вопросы, рассуждений и следования инструкциям. Опубликованный вариант использует MLX и рассчитан на Apple Silicon; веса хранятся в формате safetensors. Лицензия репозитория — Apache-2.0, а использованный корпус немецкой Википедии распространяется по CC BY-SA.

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

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

Ограничения

Модель не предназначена для приложений: её генерации могут быть грамматически правдоподобны, но бессмысленны и фактически недостоверны; она не умеет надёжно отвечать на вопросы или следовать инструкциям. Контекст ограничен 256 токенами, а опубликованный способ запуска рассчитан на Apple Silicon и MLX.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

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

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

Открыть на Hugging Face

Silbe (small) — a 20M-parameter German language model trained from scratch

Silbe is German for syllable, which is roughly what a tokenizer produces: language cut into pieces small enough for a machine to count.

No pretrained weights, no fine-tuning, no distillation. The model was trained from random initialisation on 531 MB of German Wikipedia. Everything it knows about German it derived from that text.

This model exists to demonstrate a result about tokenizer evaluation, not to be used in an application. Read the limitations before anything else.

What it is

Parameters20.45M
Layers / heads / width8 / 8 / 384
Context256 tokens
Vocabulary16,384 byte-level BPE, trained on the same corpus — aamirabbas858/silbe-tokenizers
Attentioncausal multi-head, RoPE on queries and keys
NormalisationRMSNorm, pre-norm
Feed-forwardSwiGLU, hidden width 8/3 × d_model
Outputweight tying — embedding reused as output projection
Training12,000 steps, AdamW, linear warmup → cosine decay to 10%
Validation loss3.7623 (perplexity 43.0)
FrameworkMLX (Apple Silicon / Metal)

Deliberately the standard decoder-only arrangement — the GPT/Llama/Mistral family scaled down by three orders of magnitude. The goal was to understand what everyone else builds, not to invent a variant.

Limitations — read this part

It is not a chatbot and cannot become one. At 20M parameters there is no capacity for facts, reasoning or instruction-following. Asked a question it produces fluent German that answers nothing.

The content it generates is nonsense. The grammar is not. What holds up is case agreement through nested phrases, relative clauses with the verb correctly final, passive voice, and compound nouns built correctly from real morphemes even when the compound itself is invented. What does not hold up is any claim about the world.

Wikipedia was used as a language sample, not a source of facts. The model learned morphology, syntax and register. Whether any source article was factually correct is irrelevant to what was extracted, and the model should never be treated as a source of information about anything.

Apple Silicon required to run as published. MLX targets Metal. The weights are stored as safetensors, so the tensors themselves are portable, but tensor names follow this repository's module layout and a PyTorch user would need a matching module definition. The architecture is standard, so that port is mechanical rather than a redesign.

Context is 256 tokens. Roughly 220 German words.

No safety tuning of any kind. The model reproduces the distribution of German Wikipedia, including whatever biases that corpus carries.

The result this model exists to demonstrate

Four tokenizers were trained on the same corpus at 4,096 / 8,192 / 16,384 / 32,768 vocabulary, each with an identical model behind it.

vocabparamsembedding sharetokens/wordval lossbits/char
4,0965.07M21%2.3733.678 ← "best"1.6109
8,1926.11M34%2.0874.1711.6079
16,3848.21M51%1.8564.5511.5674 ← best
32,76812.41M68%1.6805.058 ← "worst"1.5850

The two orderings are exact opposites. Validation loss is computed per token against the vocabulary, so a model choosing among 4,096 options faces an easier problem than one choosing among 32,768 — it records a lower number without writing better German. Bits per character removes that distortion by scoring every model on the same text in the same unit:

bpc = (loss_in_nats / ln 2) / characters_per_token

Measured that way the best vocabulary is 16,384, and the reason it stops improving past that is the embedding share column. At 4,096 the token table is 21% of the model; at 32,768 it is 68% — two thirds of the parameters spent storing what tokens are rather than processing language.

That validation loss is not comparable across vocabulary sizes is known to people who work on tokenizers. What this repository adds is a controlled demonstration with the parameter-budget explanation attached.

Sibling checkpoints

Same corpus, same context, same 12,000 steps, differing only in width and depth:

modelparamslayersheadswidthval lossperplexity
tiny2.95M441284.504590.4
mid8.21M542564.039656.8
small20.45M883843.762343.0

Fitting log L against log N gives an exponent of 0.0933, against ≈0.076 reported by Kaplan et al. (2020) for parameters. That agreement is closer than three points deserve — the fit is weak and these models are undertrained relative to their size. The claim is only that the shape appears at all at this scale.

Usage

# Apple Silicon, MLX
import mlx.core as mx
from model.transformer import Transformer   # from the source repository
from tokenizers import Tokenizer

tok = Tokenizer.from_file("tokenizer/silbe-16384.json")
model = Transformer(vocab_size=16384, n_layers=8, n_heads=8,
                    n_embd=384, block_size=256)
model.load_weights("best.safetensors")

Generation supports temperature, top-k, top-p and a repetition penalty. See generate.py in the source repository.

Training data

German Wikipedia, CC BY-SA. 531 MB of cleaned prose after two filters: articles under 600 characters are stubs and disambiguation pages; articles where over half the lines are short are lists rather than prose. 29,870 articles kept, 10,130 dropped. Encoded to 126.9M token IDs.

The train/validation split is by position, not random — articles are contiguous, so a shuffled split would put one half of an article in training and the other in validation, and the model would score well for the wrong reason.

Licence

Apache-2.0 for the code and weights. The training corpus is German Wikipedia under CC BY-SA and is attributed accordingly. Whether model weights constitute a derivative work of their training data is unsettled; this release follows common practice rather than a settled rule.

Citation

@software{aamir_silbe_2026,
  author = {Aamir, Abbas},
  title  = {Silbe: a German language model trained from scratch,
            with a study of tokenizer vocabulary size},
  year   = {2026},
  url    = {https://github.com/aamirabbas858/silbe}
}

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

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

GPU в ailist

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

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

MLX-модели работают только на Apple Silicon.

Ревизия весов
4441833

0 моделей