РЕЛИЗ · ЛИНЕЙКА N-Q
N-Q-26M: маленькая русско-английская модель с точными вычислениями
Первая модель новой линейки N-Q — 26M-класс, обучена с нуля на одной V100 за 6.6 часа. Понимает русский и английский, считает через детерминированный исполнитель, работает прямо в браузере. Крупные модели линейки ещё обучаются.
N-Q-26M
Претрейн с нуля: 2 млрд токенов русского и английского текста. Продолжает текст.
N-Q-26M-Chat
SFT, обучение рассуждениям и DPO. Ведёт диалог и вызывает точные вычисления.
Архитектуру выбрали абляцией
Вместо того чтобы сразу брать нашу тернарную Q-архитектуру, мы обучили три кандидата одного размера на одинаковых данных (0.5 млрд токенов, одно расписание) и сравнили loss на отложенных данных:
| Вариант | Loss (EN / RU-edu / RU-wiki) | Среднее |
|---|---|---|
| A — архитектура Q-164M (тернарные веса, замороженный словарь-отпечаток) | 2.92 / 3.29 / 2.98 | 3.06 |
| B — мини-Qwen3.8-Flash-Next | 2.52 / 2.83 / 2.50 | 2.62 |
| C — B + тернарные веса + словарь-отпечаток | на 0.2 хуже B на каждой точке, остановлен досрочно | |
B выиграл с большим отрывом и стал архитектурой всей линейки. Тернарные веса на таком размере стоят слишком дорого по качеству.
Архитектура
- 8 слоёв: три слоя Gated DeltaNet (линейное внимание с рекуррентным состоянием) на один слой обычного внимания с гейтом, и так дважды.
- Gated Residual: четыре параллельных residual-потока вместо одного.
- n-грамм-эмбеддинг после второго слоя: хеши 2- и 3-грамм в отдельные таблицы, 16.8M параметров считаем отдельно от основы.
- Словарь 8 256 токенов: byte-level BPE для русского и английского, цифры по одной + управляющие токены.
- Точные вычисления, как в Q-164M: модель пишет
<CALC>4821*37<EQ>, исполнитель вписывает178377. Арифметика, даты, дни недели, единицы, сортировка, проценты, простые числа.
Обучение
| Стадия | Данные | Время на V100 |
|---|---|---|
| Претрейн | 2 млрд токенов: FineWeb-Edu 50%, Cultura-Ru-Edu 40%, русская Википедия 10%; 5% строк — диалоги и вычисления с первого шага | 6.6 ч |
| SFT | 150 тыс. диалогов | 49 мин |
| Рассуждения | 60 тыс. примеров с <THINK> | 18 мин |
| DPO | 19.6 тыс. пар предпочтений | 50 мин |
Скорость претрейна — 85 тыс. токенов/с: без torch.compile видеокарта простаивала половину времени, с ним обучение стало в 4.4 раза быстрее. Мы также прогнали GRPO, PPO и агентный RL — на 26M параметрах они не дали прироста, поэтому в релиз пошла DPO-версия.
Результаты
| Проверка | Результат |
|---|---|
| Задачи с инструментами, с исполнителем (16 задач, RU + EN) | 15/16 |
| GSM8K, многошаговые задачи (EN / RU) | 2.0% / 2.2% |
| Loss базы на отложенных данных (EN / RU-edu / RU-wiki) | 2.38 / 2.65 / 2.32 |
Модель уверенно держит форму диалога и правильно вызывает калькулятор, но путает факты, зацикливается в длинных ответах и не решает многошаговые задачи: калькулятор делает каждое вычисление точным, но план решения модель составить не может. В длинном диалоге она реже решает позвать инструмент.
QBench
В QBench модели сравниваются без исполнителя инструментов — только то, что сеть генерирует сама.
| Модель | Параметры | Одиночные | Многоходовые | ARC-Easy | TruthfulQA MC1 |
|---|---|---|---|---|---|
| N-Q-26M-Chat | 46.5M | 0% | 6% | 32% | 27% |
| N-Q-26M | 46.5M | 5% | 6% | 37% | 29% |
| GPT-2 | 124M | 0% | 0% | 42% | 26% |
| SmolLM2-135M-Instruct | 135M | 5% | 6% | 53% | 23% |
| Q-U-164M | 164M | 35% | 25% | 43% | 26% |
| Qwen2.5-0.5B-Instruct | 500M | 45% | 50% | 62% | 24% |
По знаниям N-Q-26M на уровне distilgpt2, на TruthfulQA — наравне с моделями в 5–20 раз крупнее (разница в пределах погрешности при 100 вопросах). Задачи с инструментами без исполнителя модель не решает: она правильно записывает выражение, но число угадывает сама.
Чат в браузере
Чат на сайте теперь работает на N-Q-26M-Chat. Модель, токенизатор и исполнитель переписаны на обычный JavaScript: 47 МБ весов в формате QPACK2 (int8), вычисления в WebAssembly с SIMD — около 75 токенов в секунду, никакого сервера. Прогон в браузере сверен с PyTorch: логиты расходятся не больше чем на 2·10⁻⁵, жадная генерация совпадает токен в токен. Прошлый чат с Q-U-164M — на отдельной странице.
N-Q-26M-JEV: модель решений
Из того же чекпоинта сделали вариант в духе Jev: вместо текста он за один проход выдаёт выбор из вариантов, оценку по шкале или вероятность «да» с откалиброванными вероятностями. Хорошо работает на задачах, на которых обучен (сопоставление вопроса и ответа — 98–99%, тематика — 81–89%, токсичность и тональность — 78–80%); новые типы вопросов решает около случайного уровня. Демо в браузере, разбор, веса.
Что дальше
N-Q-26M — младшая модель линейки. Сейчас обучается N-Q-164M (8 млрд токенов), за ней — 64M и MoE-вариант. Будут обновления.
RELEASE · THE N-Q LADDER
N-Q-26M: a small Russian/English model with exact computation
The first model of the new N-Q ladder — 26M class, trained from scratch on one V100 in 6.6 hours. Understands Russian and English, computes through a deterministic executor, and runs right in the browser. The larger models of the ladder are still training.
N-Q-26M
Pretrained from scratch on 2B tokens of Russian and English text. Continues text.
N-Q-26M-Chat
SFT, reasoning training and DPO. Holds a dialogue and calls exact computation.
The architecture was chosen by an ablation
Instead of reaching for our ternary Q architecture by default, we trained three candidates of the same size on identical data (0.5B tokens, one schedule) and compared held-out loss:
| Candidate | Loss (EN / RU-edu / RU-wiki) | Mean |
|---|---|---|
| A — the Q-164M design (ternary weights, frozen fingerprint vocabulary) | 2.92 / 3.29 / 2.98 | 3.06 |
| B — mini Qwen3.8-Flash-Next | 2.52 / 2.83 / 2.50 | 2.62 |
| C — B + ternary weights + fingerprint vocabulary | 0.2 behind B at every checkpoint, stopped early | |
B won by a wide margin and became the architecture of the whole ladder. At this size, ternary weights cost too much quality.
Architecture
- 8 layers: three Gated DeltaNet layers (linear attention with a recurrent state) per one gated full-attention layer, twice.
- Gated Residual: four parallel residual streams instead of one.
- n-gram embedding after layer 2: 2- and 3-gram hashes into separate tables; its 16.8M parameters are counted apart from the backbone.
- An 8,256-token vocabulary: byte-level BPE for Russian and English, digits one per token, plus control tokens.
- Exact computation, as in Q-164M: the model writes
<CALC>4821*37<EQ>and the executor fills in178377. Arithmetic, dates, weekdays, units, sorting, percentages, primes.
Training
| Stage | Data | V100 time |
|---|---|---|
| Pretraining | 2B tokens: FineWeb-Edu 50%, Cultura-Ru-Edu 40%, Russian Wikipedia 10%; 5% of rows are dialogue and computation from step one | 6.6 h |
| SFT | 150k conversations | 49 min |
| Reasoning | 60k examples with <THINK> | 18 min |
| DPO | 19.6k preference pairs | 50 min |
Pretraining ran at 85k tokens/s: without torch.compile the GPU sat idle half the time; with it, training got 4.4× faster. We also ran GRPO, PPO and agentic RL — at 26M parameters they gave no gain, so the DPO checkpoint is the release.
Results
| Check | Result |
|---|---|
| Tool-call tasks with the executor (16 tasks, RU + EN) | 15/16 |
| GSM8K multi-step problems (EN / RU) | 2.0% / 2.2% |
| Base model held-out loss (EN / RU-edu / RU-wiki) | 2.38 / 2.65 / 2.32 |
The model holds the shape of a dialogue and calls the calculator correctly, but it gets facts wrong, loops in long answers and does not solve multi-step problems: the calculator makes each computation exact, but the model cannot plan a solution. Deep into a conversation it is less likely to call a tool.
QBench
QBench compares models without a tool executor — only what the network generates itself.
| Model | Params | Single-turn | Multi-turn | ARC-Easy | TruthfulQA MC1 |
|---|---|---|---|---|---|
| N-Q-26M-Chat | 46.5M | 0% | 6% | 32% | 27% |
| N-Q-26M | 46.5M | 5% | 6% | 37% | 29% |
| GPT-2 | 124M | 0% | 0% | 42% | 26% |
| SmolLM2-135M-Instruct | 135M | 5% | 6% | 53% | 23% |
| Q-U-164M | 164M | 35% | 25% | 43% | 26% |
| Qwen2.5-0.5B-Instruct | 500M | 45% | 50% | 62% | 24% |
On knowledge N-Q-26M is at the level of distilgpt2; on TruthfulQA it is level with models 5–20× larger (the difference is within the error of a 100-question set). Without an executor it does not solve tool tasks: it writes the expression correctly but guesses the number itself.
Chat in the browser
The site chat now runs N-Q-26M-Chat. The model, tokenizer and executor were rewritten in plain JavaScript: 47 MB of weights in QPACK2 format (int8), computed in WebAssembly with SIMD — about 75 tokens/s, no server. The in-browser forward pass is checked against PyTorch: logits within 2·10⁻⁵, greedy generation identical token for token. The previous Q-U-164M chat is on its own page.
N-Q-26M-JEV: a decision model
From the same checkpoint we made a Jev-style variant: instead of text it returns, in one forward pass, a choice among options, a level on a scale or a probability of "yes", with calibrated probabilities. It is good at the tasks it was trained on (question–answer matching 98–99%, topics 81–89%, toxicity and sentiment 78–80%); new kinds of questions it answers near chance. Demo in the browser, writeup, weights.
What's next
N-Q-26M is the smallest model of the ladder. N-Q-164M (8B tokens) is training now, followed by 64M and an MoE variant. More updates soon.
发布 · N-Q 系列
N-Q-26M:带精确计算的小型俄英双语模型
新 N-Q 系列的第一个模型 —— 26M 级别,在一张 V100 上用 6.6 小时从零训练。理解俄语和英语,通过确定性执行器进行计算,直接在浏览器中运行。系列中更大的模型仍在训练。
N-Q-26M
在 20 亿俄语和英语词元上从零预训练。用于文本续写。
N-Q-26M-Chat
SFT、推理训练和 DPO。能进行对话并调用精确计算。
架构由消融实验选出
我们没有直接采用自己的三元 Q 架构,而是在相同数据(5 亿词元、同一训练计划)上训练了三个同等规模的候选,并比较留出数据上的 loss:
| 候选 | Loss(EN / RU-edu / RU-wiki) | 平均 |
|---|---|---|
| A —— Q-164M 设计(三元权重、冻结指纹词表) | 2.92 / 3.29 / 2.98 | 3.06 |
| B —— 迷你版 Qwen3.8-Flash-Next | 2.52 / 2.83 / 2.50 | 2.62 |
| C —— B + 三元权重 + 指纹词表 | 每个检查点都落后 B 0.2,提前停止 | |
B 以明显优势胜出,成为整个系列的架构。在这个规模上,三元权重对质量的代价太大。
架构
- 8 层:每三层 Gated DeltaNet(带循环状态的线性注意力)配一层带门控的全注意力,重复两次。
- Gated Residual:四条并行的残差流,而不是一条。
- 第 2 层之后的 n-gram 嵌入:2-gram 和 3-gram 的哈希映射到独立的表中,其 16.8M 参数与主干分开统计。
- 8,256 词元的词表:面向俄语和英语的字节级 BPE,数字逐个切分,另有控制词元。
- 与 Q-164M 相同的精确计算:模型写出
<CALC>4821*37<EQ>,执行器填入178377。支持算术、日期、星期、单位换算、排序、百分比、质数。
训练
| 阶段 | 数据 | V100 用时 |
|---|---|---|
| 预训练 | 20 亿词元:FineWeb-Edu 50%、Cultura-Ru-Edu 40%、俄语维基百科 10%;从第一步起 5% 的样本是对话和计算 | 6.6 小时 |
| SFT | 15 万段对话 | 49 分钟 |
| 推理 | 6 万条带 <THINK> 的样本 | 18 分钟 |
| DPO | 1.96 万对偏好数据 | 50 分钟 |
预训练速度为每秒 8.5 万词元:不用 torch.compile 时 GPU 一半时间在空转,用了之后训练快了 4.4 倍。我们也跑了 GRPO、PPO 和智能体 RL —— 在 26M 参数上没有带来提升,所以发布的是 DPO 版本。
结果
| 检查项 | 结果 |
|---|---|
| 带执行器的工具调用任务(16 个任务,俄语 + 英语) | 15/16 |
| GSM8K 多步应用题(EN / RU) | 2.0% / 2.2% |
| 基础模型留出数据 loss(EN / RU-edu / RU-wiki) | 2.38 / 2.65 / 2.32 |
模型能保持对话形式并正确调用计算器,但会弄错事实,在长回答中陷入重复,也解不了多步应用题:计算器让每一步计算都精确,但模型无法规划解题步骤。在较长的对话中,它调用工具的可能性会降低。
QBench
QBench 在没有工具执行器的情况下比较模型 —— 只看网络自己生成的内容。
| 模型 | 参数量 | 单轮 | 多轮 | ARC-Easy | TruthfulQA MC1 |
|---|---|---|---|---|---|
| N-Q-26M-Chat | 46.5M | 0% | 6% | 32% | 27% |
| N-Q-26M | 46.5M | 5% | 6% | 37% | 29% |
| GPT-2 | 124M | 0% | 0% | 42% | 26% |
| SmolLM2-135M-Instruct | 135M | 5% | 6% | 53% | 23% |
| Q-U-164M | 164M | 35% | 25% | 43% | 26% |
| Qwen2.5-0.5B-Instruct | 500M | 45% | 50% | 62% | 24% |
在知识类测试上,N-Q-26M 与 distilgpt2 相当;在 TruthfulQA 上与大 5–20 倍的模型持平(在 100 道题的样本下,差异处于误差范围内)。没有执行器时,它解不了工具类任务:表达式写得对,但数字是自己猜的。
浏览器中的聊天
网站聊天现在运行的是 N-Q-26M-Chat。模型、分词器和执行器都用普通 JavaScript 重写:QPACK2 格式(int8)的 47 MB 权重,在带 SIMD 的 WebAssembly 中计算 —— 每秒约 75 个词元,不需要服务器。浏览器中的前向计算已与 PyTorch 对齐:logits 误差在 2·10⁻⁵ 以内,贪心生成逐词元一致。之前的 Q-U-164M 聊天在单独的页面。
N-Q-26M-JEV:决策模型
我们用同一个检查点做了一个类似 Jev 的版本:它不生成文本,而是一次前向计算给出选项中的选择、量表上的等级或"是"的概率,概率经过校准。在训练过的任务上表现良好(问答匹配 98–99%、主题 81–89%、毒性和情感 78–80%);新类型的问题则接近随机。浏览器演示、详细介绍、权重。
接下来
N-Q-26M 是这个系列中最小的模型。N-Q-164M(80 亿词元)正在训练,之后是 64M 和 MoE 版本。后续会有更新。