TinyLM-11M

Языковая модель на 10.56M параметров, обученная с нуля за одну ночь на одной RTX 5090. Свой токенизатор, свой претрейн, свой SFT, свой тренировочный цикл — без transformers, trl и accelerate в обучении.

Запускается в LM Studio: файлы tinylm-11m-q8_0.gguf (11 МБ) и tinylm-11m-f16.gguf (20 МБ) лежат в этом же репозитории.

Что она умеет

Связный английский в коротких формах, удержание chat-формата и выполнение арифметической процедуры, а не припоминание таблиц: количество разрядов считается заранее, колонки нумеруются, конец счёта объявляется явно. Поэтому процедура переносится на длины, которых почти не было в обучении.

<|user|>12345678 + 87654321<|assistant|>
Let me add digit by digit.
Line up the digits from the right and add each column with the carry.
12345678 has 8 digits, 87654321 has 8 digits, so 8 columns
column 1 of 8: 8 + 1 + 0 = 9 -> write 9 carry 0
...
all 8 columns done, no carry left
The answer is 99999999.

Проверено на числах до 8 разрядов, с каскадным переносом (9999999 + 110000000) и вычитанием с заёмом через нули (5000 - 4321679). Запрос понимается в любой записи: 8+1, 8 + 1, What is 8 + 1?, add 8 and 1, 8 plus 1.

На фактические вопросы, ответ на которые нельзя вывести рассуждением («столица страны», «кто написал книгу»), модель отвечает «I don't know» вместо выдумывания.

<|user|>Write a short story about a dragon who was afraid to fly.<|assistant|>
Once upon a time, there was a dragon. He was big and scary, but he was also very
brave. He wanted to fly, but he was too scared. One day, the dragon saw a bird...

Чего она не умеет — и не может

Фактических знаний о мире у неё нет. Ёмкость знаний трансформера — порядка 2 бит на параметр, то есть здесь около 2.7 МБ на всё. Это физический предел, а не недоработка: весь бюджет параметров потрачен на связность речи, а не на эрудицию. Стандартные бенчмарки (MMLU, ARC, HumanEval) для неё бессмысленны и не измерялись. Не будет также длинных диалогов и кода.

Метрики

Собственный набор проверок, 64 held-out задачи, greedy:

проверка результат
алгоритмические задачи, всего 94.5%
удержание chat-формата 87.5%*
предложения с заглавной буквы 88.5%
предложения с терминатором 91.2%
повтор 5-грамм 0.2%

Валидационный лосс: истории 1.269 (0.457 bits/char), инструкции 1.288, синтетика 0.203, человеческий текст 3.068.

Как обучалась

Архитектура Qwen3-совместимая: RMSNorm, SwiGLU, QK-norm, GQA (8 голов / 2 KV), RoPE, tied embeddings
Форма d=256, 12 слоёв, ffn 704, контекст 512
Оптимизатор Muon (Newton–Schulz, 5 шагов) на 2D-весах + AdamW на эмбеддингах
Расписание WSD (warmup–stable–decay), cautious weight decay
Токенов 6.55B (2.4 эпохи по 2.76B уникальных), 132 минуты на RTX 5090
Словарь свой BPE на 8192 токена, цифры разбиты поодиночке — иначе разряды не видны и арифметика не учится
Данные TinyStoriesV2-GPT4, SimpleStories, BabyLM (человеческий корпус: детская речь, детские книги, Simple Wikipedia, разговорная речь), TinyStories-Instruct, собственная алгоритмическая синтетика
SFT 2500 шагов, лосс только по токенам ассистента
Дообучение 6000 шагов на 14 типах задач с вариативными формулировками и отказами

* метрика формата занижена: она требует строку The answer is, которой у отказов нет по определению — а отказы составляют 8% набора.

Набор задач во второй версии заметно сложнее первой (14 типов вместо 8, числа до 11 разрядов вместо 3, добавлены отказы), поэтому 94.5% здесь не сравнимы напрямую с 98.4% на прежнем, более простом наборе.

Доли источников менялись по ходу обучения (curriculum): от простой связной речи к инструкциям и задачам.

Формат запроса

<|bos|><|user|>Write a short story about a cat.<|assistant|>

Chat-шаблон уже прописан в tokenizer_config.json и в GGUF.

Ограничения и честные оговорки

  • English only. Билингва при таком бюджете режет эффективную ёмкость вдвое.
  • Домен узкий: простые истории, короткие инструкции, арифметика в 2–3 разряда. За его пределами модель уверенно говорит неправду.
  • Обучена на синтетических данных (TinyStoriesV2 сгенерирован GPT-4, SimpleStories — gpt-4o-mini) плюс человеческий корпус BabyLM.

Лицензия

MIT. Данные — под лицензиями исходных датасетов.

Downloads last month
199
Safetensors
Model size
10.6M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support