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 + 1 →
10000000) и вычитанием с заёмом через нули (5000 - 4321 → 679).
Запрос понимается в любой записи: 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. Данные — под лицензиями исходных датасетов.