/ Модель

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

Контекст
4 096 токенов
Лицензия
MIT
Архитектура
tinkaalm · dense
Библиотека
transformers
Опубликована
21 сен 2026

TinkaaLM

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

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

348скачиваний за 30 дней0лайковвеса обновлены21 сен 2026

Бенчмарки

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

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

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

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

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

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

TinkaaLM — компактная языковая модель WinterBlossom с 1,94 млн параметров, обученная с нуля и предназначенная для экспериментов с генерацией текста. Архитектура плотная: четыре слоя, из них три KDA и один слой глобального внимания; используется соотношение слоёв 3:1 из Kimi Linear и MLP-блоки с xIELU. Модель работает с текстом на английском языке.

Модель генерирует грамматически оформленный английский текст и может воспроизводить структуру инструкций, например начинать ответ с перечня шагов. Однако содержание часто бессвязно; автор сообщает, что у модели почти нет фактических знаний. В тестах особенно заметно усвоение грамматических закономерностей, но результаты по фактическим вопросам не подтверждают способность надёжно отвечать на них. Это исследовательская модель, не предназначенная для развёртывания в прикладных системах. Для загрузки через Transformers требуется пакет tinkaalm и поддержка пользовательской архитектуры. Лицензия — MIT.

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

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

Ограничения

Модель почти не обладает фактическими знаниями и может уверенно выдавать бессмыслицу; README указывает на отсутствие рассуждений, обучения безопасности и выравнивания. Не предназначена для развёртывания в прикладных системах.

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

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

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

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

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

Открыть на Hugging Face

TinkaaLM

A 1.94M-parameter language model, trained from scratch on one laptop GPU.

Code, configs, training scripts and the full write-up: https://github.com/WinterBlossom0/TinkaaLM

It writes grammatical English, follows the shape of an instruction, and knows almost no facts. Every number on this page was measured on this model.

Q: Which season is cold, winter or summer?
A: the winter season is cold, and winter is cool, but of cold, winter.

Q: Give me three tips for sleeping better.
A: For sleeping well, sleeping well. Researching the front of a sleeping base
   is crucial. Here are three tips:

   First, use the skin to get to eat and maximize your sleeping habitat.

It picks winter over summer. It produces Here are three tips: followed by First, for a question that asked for three. The content after that is nonsense. That gap — form without content — is the whole story.

Loading it

This model uses a custom architecture, and modeling_tinkaalm.py re-exports the real classes from the tinkaalm package rather than copying them — so an export can never drift from the code that trained it. That package must be installed or from_pretrained will fail:

git clone https://github.com/WinterBlossom0/TinkaaLM.git
cd TinkaaLM && pip install -e .
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tok = AutoTokenizer.from_pretrained("WinterBlossom/TinkaaLM", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    "WinterBlossom/TinkaaLM", trust_remote_code=True).cuda().eval()

# chat format: <|user|> your text <|assistant|> ... <|endoftext|>
ids = torch.tensor([[tok.convert_tokens_to_ids("<|user|>"),
                     *tok("What colour is the sky?", add_special_tokens=False).input_ids,
                     tok.convert_tokens_to_ids("<|assistant|>")]]).cuda()
out = []
with torch.no_grad():
    for _ in range(40):
        # the head was trained with its last 3 rows cut out of the loss
        logits = model(ids).logits[0, -1, :4096].float()
        probs = torch.softmax(logits / 0.8, -1)
        order = torch.argsort(probs, descending=True)
        ranked = probs[order]
        keep = (torch.cumsum(ranked, 0) - ranked) < 0.95     # nucleus, p=0.95
        nxt = order[keep][torch.multinomial(ranked[keep], 1)]
        if nxt.item() == tok.convert_tokens_to_ids("<|endoftext|>"):
            break
        out.append(nxt.item())
        ids = torch.cat([ids, nxt.view(1, 1)], 1)
print(tok.decode(out))

Or just use the repo's own chat loop, which handles history and truncation:

python scripts/ask_chat.py

The reported outputs use nucleus sampling at T=0.8, p=0.95. Greedy decoding also runs and sometimes reads better, but it shows one mode rather than what the model actually puts probability on — at this size that difference matters.

The model

Parameters1,941,582
Layers4 — three KDA, one global attention
d_model / d_ff128 / 512
Vocabulary4,099 byte-level BPE
Context4,096 tokens
Positional encodingnone
Hardware1 × RTX 5080 Laptop (16 GB)
Training time8.7 h across the three stages

Three KDA layers to one attention layer is the 3:1 ratio from Kimi Linear. KDA is recurrent, so it carries position by itself and the attention layer needs no rotary embeddings. The MLPs use xIELU.

Head rows 4096–4098 (the role tokens) were never scored during training. They hold 0.005% of the softmax mass on held-out text, so leaving them in is harmless — but cutting logits to [:4096] is exactly what the model was trained with.

How it was trained

stagedataepochswhat changedheld-out loss
1. PretrainBabyLM 2026 Strict (100M words)48all weights2.6391
2. InstructionNQ + UltraChat + 30% BabyLM12all but 128 neurons2.2972
3. ExtensionSmolTalk + FineWeb-Edu4all but 256 neurons1.9758

Each stage's loss is over its own validation mixture, so the three numbers measure three different things and do not form a trend.

Stages 2 and 3 rank neurons by exact ablation — zero one neuron, re-measure the loss, keep the difference (the zero-patch indirect effect of Marks et al. 2024) — then hold the most important ones bit-exactly while training everything else.

It did not work. Same weights, same evaluation — the whole BabyLM dev set, 19,675,583 tokens — before and after 4 epochs of Natural Questions with the top 16 neurons per layer (16,384 weights, 0.84% of the model) held bit-exactly:

BabyLM loss
before2.6388
after4.6073
+1.97

99.16% of the weights were still training and the model lost 1.97 nats. Holding a small set of important weights still is not sufficient to prevent forgetting at this scale. No run was ever executed that holds task data, epoch count and frozen-neuron count fixed while varying the data mixture, so nothing here establishes what a mixture does.

Benchmarks

Zero-shot, options scored by log likelihood (lm-evaluation-harness). z is standard errors from chance — under 2 means guessing.

taskscorechancez
BLiMP (67 paradigms)60.48%50%+62.6
SciQ64.00%25%+25.7
ARC-Easy29.42%25%+4.7
HellaSwag26.85%25%+4.2
PIQA53.21%50%+2.8
WinoGrande51.93%50%+1.4
GPQA27.46%25%+1.2
GPQA-Diamond26.77%25%+0.6
ARC-Challenge17.06%25%−7.2
OpenBookQA11.20%25%−9.8
BoolQ37.83%50%−14.4
LAMBADA (last word)9.04%——
WikiText (bits/byte)1.57——

Grammar is the one thing it genuinely learned. BLiMP is 10.5 points over chance at z = 62 across 67,000 minimal pairs. It knows which of two sentences is well-formed, which is what a corpus of child-directed speech should teach.

SciQ supplies a support paragraph containing the answer. Its 64% measures picking an answer out of text placed in front of the model, not recall.

Four tasks land below chance, and two measured artifacts explain it. BoolQ's 37.83% is exactly the share of no answers in its validation set (1,237 of 3,270) — the model answers no to every question, a constant predictor rather than a poor guesser. OpenBookQA and ARC-Challenge are length effects: normalising by option length moves OpenBookQA from 11.20% to 26.60% and ARC-Challenge from 17.06% to 22.27%, both back to roughly chance. Unnormalised likelihood favours the shorter option, which on those two tasks is reliably wrong.

Limitations

It is a 1.94M-parameter research model. It has no factual knowledge, no reasoning, no safety training and no alignment. It will produce confident nonsense on any question of fact. Do not deploy it for anything.

License

MIT.

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
TinkaaLMForCausalLM
Ревизия весов
f1d17bd

0 моделей