/ Модель

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

Контекст
2 048 токенов
Параметры
348 млн
Лицензия
Apache 2.0
Архитектура
llama · dense
Библиотека
transformers
Опубликована
4 сен 2026

tinybrainbot-350mV3-base

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

Компактная базовая англоязычная модель семейства Llama для продолжения текста и экспериментов с генерацией.

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

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

TinyBrainBot 350M V3 Base — это базовая авторегрессионная языковая модель, разработанная автором репозитория nkthebass и обученная с нуля. Она использует плотный decoder-only трансформер семейства Llama с RMSNorm, SwiGLU и RoPE, содержит около 348,3 млн параметров и рассчитана на контекст до 2048 токенов. Модель предназначена для продолжения английского текста и экспериментов с компактными языковыми моделями; она не проходила инструкционную настройку.

В карточке приведены результаты семи тестов языкового понимания и описано обучение на 22,7 млрд токенов. По словам автора, часть нормализационных весов была заморожена из-за ошибки точности на протяжении примерно 20 млрд токенов обучения, что ограничило их дальнейшее восстановление. Модель доступна в safetensors и GGUF F16, библиотека — Transformers; лицензия — Apache-2.0.

Модель слабо справляется с арифметикой, может зацикливаться при жадном декодировании длиннее примерно 40 токенов и уверенно выдавать фактические ошибки. Она продолжает текст, но не предназначена для выполнения инструкций или надёжного диалогового использования.

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

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

Ограничения

Не настроена для выполнения инструкций; слаба в арифметике, может повторяться при длинном жадном декодировании и уверенно галлюцинировать. Автор отмечает, что нормализационные веса большую часть обучения оставались замороженными из-за ошибки точности.

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

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

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

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

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

Открыть на Hugging Face

TinyBrainBot 350M V3 — Base

A 348M-parameter decoder-only language model pretrained from scratch on 22.7B tokens, started on a rented 8× RTX 5090 node and finished on 2× Tesla V100. This is the base (pretrained + fact-annealed) model: a text-completion model with no instruction tuning.

TL;DR: Beats the previous-generation TinyBrainBot 100M V3 base on 5 of 7 standard benchmarks and beats Supra2-100M-Base on all 7, at an average of 43.2 vs 42.2 and 40.0. It also carries an unusual history: ~20B of its 22.7B training tokens were run with every RMSNorm weight frozen at 1.0 by a precision bug. The recovery from that is documented below, because it is the most interesting thing about this model.


Model details

Parameters348,342,912 (~348M)
ArchitectureDecoder-only transformer, pre-norm, RMSNorm, SwiGLU MLP, RoPE
Hidden size1152
Layers22
Attention heads18 query / 6 KV (grouped-query attention), head_dim 64
Context length2048
Vocabulary32,000 (tbb-32k-v2, tied embeddings)
RoPE theta10,000
Training tokens22.70B
Precisionfp16 with fp32 master weights (final phase)

Evaluation

EleutherAI lm-eval-harness, 0-shot, complete test sets. acc_norm for HellaSwag/ARC/OpenBookQA/PIQA, acc for WinoGrande/MMLU. Same harness and settings as the published 100M V3 numbers, so the comparison is like-for-like (base vs base).

Benchmark350M V3 base100M V3 baseSupra2-100M-Base
ARC-Easy56.654.747.8
ARC-Easy (raw acc)62.258.654.3
ARC-Challenge33.330.124.8
ARC-Challenge (raw acc)30.426.622.4
HellaSwag35.932.636.0
HellaSwag (raw acc)31.630.031.7
OpenBookQA34.634.032.0
OpenBookQA (raw acc)23.622.619.0
PIQA67.066.265.5
PIQA (raw acc)65.865.765.4
WinoGrande51.553.050.7
MMLU23.825.023.3
Average43.242.240.0

→ 5/7 vs the 100M V3 base, losing only WinoGrande (−1.5) and MMLU (−1.2). → 7/7 vs Supra2-100M-Base (HellaSwag 35.9 vs 36.0 is a 0.1 tie at best).

Benchmark-train-split disclosure

The final data mix contains two small sets built from official train splits of benchmark datasets:

  • sci-qa-train (0.5%) — SciQ, ARC-Easy/Challenge train, OpenBookQA train + core facts
  • hellaswag-train (1.2%) — HellaSwag train, SWAG train

Evaluation uses the test/validation splits, which these never touch, and this is standard practice for small-model training. But the 100M V3 baseline above was trained without them, so the ARC / OpenBookQA / HellaSwag margins are not a like-for-like recipe comparison. Stated here rather than buried: if you want a clean comparison, weight those three tasks accordingly.

Training

Three phases, on rented and owned hardware:

  1. Cloud pretrain — ~20B tokens on a rented 8× RTX 5090 node (Clore.ai), bf16/fp8, torch.compile, DDP. Cost about $90.
  2. Local extension — continued on 2× Tesla V100 (16GB) in fp16, WSD schedule, sequence length 2048, micro-batch 2 × grad-accum 32 × 2 GPUs = 262,144 tokens/step.
  3. Fact anneal — two final passes on a knowledge-dense mix (below), 1.23B tokens, LR annealed 5e-5 → 1e-5.

The frozen-norm episode

For its first ~20B tokens this model trained with all 45 RMSNorm weights frozen at exactly 1.0. The cause was precision, not the optimiser: --precision bf16 stored the weights in bf16 with no fp32 master copy. bf16 has 7 mantissa bits, so near a value of 1.0 the smallest representable step is ~0.0078, while an Adam update at lr 1e-4 is ~1e-4 — every norm update rounded straight back to 1.0. Other weights (magnitude ~0.02) have a ~50× finer ULP there and trained normally, so loss fell and nothing looked wrong.

It was found by diffing two consecutive checkpoints: 111/111 non-norm tensors changed, 0/45 norms. Switching to fp16 (which keeps fp32 masters) unfroze them.

They never fully recovered. Measured mean |w − 1| across the RMSNorm weights:

| model | mean·|w−1| | |---|:--:| | 100M V3 base (never affected) | 0.697 | | 320M V2 base (never affected) | 0.694 | | 350M V3 base (this model) | 0.017 |

After 5.5B tokens of healthy fp16 training the norms had moved 2.5% of the distance a normally-trained model's travel. So this model does its work essentially without learned per-channel scaling — and still beats a 100M trained with it. Treat the results below as a lower bound on what this recipe can do.

Training data

Three phases, each with its own mix. Every source was checked against measured token counts (tools/dataset_true_tokens.json) rather than a filesize/4 proxy, which misjudges dataset size by 0.07x-5.2x and once hid a source running at 6.9 epochs.

Phase 1 - cloud pretrain (~20B tokens), 20 sources. Web-heavy foundation.

SourceShare
fineweb-edu-100bt49.3%
gutenberg-clean28.0%
bookcorpus-clean6.1%
dclm-clean5.6%
wiki-dense4.2%
wikipedia-english3.8%
cosmopedia-stanford3.3%
cosmopedia-auto-math2.8%
tiny-stories-v22.8%
qa-plain2.3%
the-stack-smol2.1%
cosmopedia-khanacademy1.6%
openwebtext21.6%
reasoning-distill1.2%
facts-plain1.2%
cosmopedia-openstax1.2%
capability-distill0.9%
code-pyjs0.9%
writing-distill0.7%
math-v30.2%

Phase 2 - local extension, 18 sources. Shifts toward reference and synthetic-educational text as the LR decays.

SourceShare
wiki-dense13.9%
wikipedia-english11.8%
cosmopedia-stanford10.7%
cosmopedia-auto-math10.7%
qa-plain9.6%
dclm-clean8.5%
qa-distill6.4%
fineweb-edu-10bt5.3%
cosmopedia-openstax4.3%
reasoning-distill3.7%
facts-plain3.2%
bookcorpus-clean3.2%
gutenberg-clean22.7%
capability-distill2.1%
reasoning-distill-chat1.6%
tiny-stories-v21.1%
cosmopedia-khanacademy0.6%
math-v30.5%

Phase 3 - fact anneal (1.23B tokens), 22 sources. Knowledge-dense final pass. Top 12:

SourceShare
wiki-dense12.9%
cosmopedia-openstax12.9%
cosmopedia-stanford8.9%
qa-plain7.9%
wikipedia-english7.0%
gutenberg-clean25.0%
qa-distill5.0%
facts-plain5.0%
fineweb-edu-10bt5.0%
soda-dialogues4.0%
bookcorpus-clean4.0%
facts-distill3.0%

Sources beginning cosmopedia-, qa-, facts-, reasoning- and capability- are synthetic/distilled sets generated locally; the rest are public corpora (FineWeb-Edu, DCLM, Wikipedia, Gutenberg, BookCorpus, TinyStories). Narrative and commonsense sources total 21.1% of the anneal.

Note on the anneal share. This model spent roughly a quarter of its training on the anneal-style diet, against ~2% for the 100M V3. That is a large share for what is meant to be a finishing pass, and it is stated here because it is a plausible contributor to the benchmark profile - though this model also carries the frozen-norm bug described above, so the two cannot be cleanly separated.

Limitations

  • Arithmetic is weak. This is a base model with no math tuning; use the math variant.
  • MMLU and WinoGrande lag the 100M V3 base. The knowledge-dense anneal did not lift MMLU.
  • Repetition loops on greedy decoding beyond ~40 tokens, as is normal at this scale.
  • Hallucinates confidently — it will state a wrong country for a landmark under sampling.
  • No instruction tuning. It continues text; it does not follow instructions or chat.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer
m = AutoModelForCausalLM.from_pretrained("nkthebass/tinybrainbot-350mV3-base")
t = AutoTokenizer.from_pretrained("nkthebass/tinybrainbot-350mV3-base")
ids = t("The capital of France is", return_tensors="pt")
print(t.decode(m.generate(**ids, max_new_tokens=30)[0]))

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
3272fa6

0 моделей