/ Модель

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

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

Boris-2-Preview-1

Генерация текстаТекст → текст

Ранний чекпойнт Boris-2 — небольшая базовая англоязычная модель для продолжения текста и экспериментов с языковыми моделями.

122скачиваний за 30 дней6лайковвеса обновлены9 окт 2026

Бенчмарки

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

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

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

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

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

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

Boris-2-Preview-1 — ранний контрольный чекпойнт базовой языковой модели Boris-2, разработанной OpenCerebral и обученной с нуля. Это плотный авторегрессионный трансформер с 143,7 млн параметров по README (в метаданных указано 128,5 млн) и контекстом 2048 токенов. Архитектура включает причинную глубинную свёртку по трём позициям в каждом блоке и таблицу точных биграмм и триграмм, добавляющую обучаемый вектор к остаточному потоку.

Модель продолжает входной текст и предназначена для базового языкового моделирования и экспериментов с небольшими языковыми моделями. Это не чат-модель и она не обучена следовать инструкциям. Чекпойнт обучен на 52,5 млрд токенов; карточка приводит результаты бенчмарков HellaSwag, ARC и ArithMark-3. Основной язык по данным карточки — английский.

Модель может ошибаться в фактах и арифметике, терять нить длинного рассуждения и повторять текст при жадном декодировании; настройки безопасности отсутствуют. Распространяется по лицензии Apache-2.0.

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

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

Ограничения

Это ранний базовый чекпойнт без обучения следованию инструкциям и без настроек безопасности; возможны фактические и арифметические ошибки, потеря связности в длинных рассуждениях и повторы при жадном декодировании. Число параметров расходится между README (143,7 млн) и метаданными (128,5 млн).

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

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

Открыть на Hugging Face

Boris-2-Preview-1

An early checkpoint of Boris-2, a 144M-parameter base language model from OpenCerebral, trained from scratch on a single NVIDIA V100. This preview is the main run's 50B-token checkpoint with a short learning-rate decay (2.5B tokens) applied. The full run continues to 200B tokens.

This is a base model. It continues text; it does not follow instructions or chat.

Results

Zero-shot, on the float32 weights in this repository: lm-evaluation-harness 0.4.12 for the first four, the leaderboard's own bencharithmark-3.py (unmodified, default settings) for ArithMark-3.

BenchmarkMetricScore
HellaSwagacc_norm45.23
ARC-Easyacc_norm58.38
ARC-Challengeacc_norm29.95
PIQAacc_norm69.21
ArithMark-3acc_norm37.60
ArithMark-2acc37.68
Open SLM Index27.91

The Index is the Open SLM Leaderboard formula: (N(HellaSwag,25) + N(mean(ARC-E, ARC-C),25) + N(PIQA,50) + 0.65 * N(ArithMark-3,25)) / 3.65, with N(v,c) = 100(v-c)/(100-c).

Single-checkpoint scores on these benchmarks move by roughly plus or minus 0.8 Index between neighbouring checkpoints. No checkpoint or seed was selected on these scores: the rule was set before the decay ran, and this is the one checkpoint at its end. The decay data mix was informed by six 40M-token pilot decays on an earlier run, scored on these same benchmarks; the arms differed by less than single-checkpoint noise, and the mix used here combines them rather than taking the top arm.

With ArithMark-3 run in float32 instead of the script's bfloat16 default it scores 37.00, and the Index is 27.80.

For context, using the Open SLM Leaderboard's published figures for every other model:

ModelParamsTokensIndex
Boris-2-Preview-1144M52.5B27.91
cagliostro-v3.5146M75.4B27.49
SmolLM2-135M135M2T27.13
cagliostro-v3146M75B26.55
SmolLM-135M135M600B25.74
GPT-X2.5-135M135M75B25.17

The decay moved the Index from 25.10 at the 50B checkpoint to 27.91. Most of the gain is HellaSwag (+5.4) and ARC-Easy (+2.7). ArithMark-3 did not improve: the math data in the decay mix did not transfer to its question format, and the full run's decay will be built around that.

Model

FieldValue
Parameters143.7M
Transformer blocks111.9M
Token embedding (tied with output)16.8M
N-gram table15.0M
Layers31
Hidden size512
Attention8 heads of 64, full multi-head
MLPSwiGLU, inner 1664
Context2048 tokens
Position encodingRoPE, theta 10,000
Vocabulary32,768 (byte-level BPE, trained for this model)

Two components differ from a standard decoder:

  • Canon layers. Each block applies a causal 3-tap depthwise convolution to the fused query/key/value projection, so every position mixes in the two previous positions before attention.
  • N-gram table. An exact lookup on the last two and three token ids (210,938 bigrams and 23,437 trigrams, no hashing) retrieves a learned rank-64 vector that is added to the residual stream before block 2. It is a gather, not a matrix multiply.

Training packed several documents per sequence with attention, Canon and the n-gram lookup all masked at document boundaries. The modeling code reproduces this: a new document starts after every end-of-text token (eos_resets_context in the config).

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

repo = "opencerebral/Boris-2-Preview-1"
tok = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True)

x = tok("The water cycle begins when", return_tensors="pt")
y = model.generate(**x, max_new_tokens=40, do_sample=False)
print(tok.decode(y[0], skip_special_tokens=True))

The custom code is plain PyTorch with no extra dependencies. It has no KV cache, so generation recomputes the prefix every step; at this size that is fast enough for sampling and evaluation. Run in float32 or bfloat16. The residual stream is kept in float32 internally because one channel reaches values near the float16 limit.

The converted model was checked against the training code on the same weights: logits match to within 4e-5 in float32, and lm-evaluation-harness reproduces the training evaluator's benchmark scores to within one item.

Training

FieldValue
Tokens52.5B (50.0B stable + 2.5B decay)
Hardware1x NVIDIA V100 32GB
Precisionfloat16 mixed precision, float32 residual stream
Batch524,288 tokens per step, sequence length 2048
OptimizerMuon (matrices, lr 0.0025) and AdamW (embedding, n-gram table, norms, Canon; lr 0.003)
Weight decay0.1 on matrices, embedding and n-gram table, and on Canon from 41B tokens; none on norm gains
Schedulewarmup, constant learning rate, then 1-sqrt decay to zero
Throughputabout 59,000 tokens per second, using hand-written Volta attention and fused kernels

Main run data, by tokens: about 89% ClimbMix and 11% FineMath.

Decay data, by tokens:

SourceShare
ClimbMix62%
Cosmopedia WikiHow-style tutorials12%
OpenMathInstruct-210%
FineMath8%
Cosmopedia math5%
DCLM-Baseline3%

Contamination

No benchmark training, validation or test split was trained on.

  • FineMath, OpenMathInstruct-2, Cosmopedia math, Cosmopedia tutorials and DCLM were filtered against every evaluation item with a 13-gram overlap check. The tutorial set had two matching documents out of 179,191 (generic phrases about credit reports and power buttons); both were removed.
  • ClimbMix, the bulk of the data, has not been filtered.
  • About two thirds of HellaSwag is built from WikiHow articles, and the Cosmopedia tutorials were generated from WikiHow titles. To check whether the HellaSwag gain comes from those topics, the validation items were split by whether their WikiHow article title is also one of the 177,353 tutorial titles (a loose match that puts 43.6% of titled WikiHow items in the overlapping group), and the 50B checkpoint was compared with this one:
HellaSwag itemsn50BPreview-1Gain
WikiHow, title in the tutorial data2,96637.8645.85+7.99 ± 1.14
WikiHow, title not in the tutorial data3,83337.9144.77+6.86 ± 1.05
ActivityNet (no WikiHow link)3,24343.8245.14+1.33 ± 1.10

The two WikiHow groups started level and both gained about 7 to 8 points. The overlapping group gained 1.1 points more, which is within noise (about 1.4 standard errors); halfway through the decay the order was the other way round (+5.53 against +5.71). The gain is a model getting better at how-to text in general, with at most a small topic effect. ActivityNet items, which have nothing to do with WikiHow, moved much less.

Limitations

A 144M-parameter base model trained on 52.5B tokens. It makes factual and arithmetic mistakes, loses track of longer arguments, and repeats itself under greedy decoding. It has no safety tuning. It is a research preview, not a product.

Sample outputs

Greedy decoding, float32, unedited, cut for length. These are the same twelve prompts the cagliostro-v3.5 card uses; all twelve are in samples.json.

PromptCompletion
To solve 47 + 68, firstadd the numbers together: 47 + 68 = 101. Then, divide 101 by 7 ...
A prime number isa positive integer greater than 1 that has no positive divisors other than 1 and itself.
Photosynthesis is the process by whichplants and other organisms convert light energy into chemical energy.
How to boil an egg: First,place the egg in a saucepan and cover with cold water. Bring to a boil, then reduce heat and simmer for about 10 minutes.
To tie a shoelace, start bythreading the end of the shoelace through the eye of the knot.
The water cycle begins whenthe sun heats the water in the earth's atmosphere. The water vapor in the air condenses into water droplets.
If a train travels 60 miles in 2 hours, its speed is: (A) 60 mph (B) 60 mph/2 (C) 60 mph/2 ...
Sam had 24 apples and gave away 9, so Sam now has24 - 9 = 15 apples left.
The capital of France isthe capital of the country, which is located in the south of France. The capital city of France is Paris ...
Gravity is the force thatpulls objects towards each other.
The area of a rectangle is found bymultiplying its length by its width.
Plants need sunlight becausethey need it to grow. Sunlight is the energy that plants need to grow. (repeats)

The misses are typical for this size: 47 + 68 comes out as 101, the train question turns into a malformed multiple-choice list, France's capital takes a detour before reaching Paris, and greedy decoding loops on the last prompt.

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

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

GPU в ailist

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

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

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

Класс архитектуры
Boris2ForCausalLM
Ревизия весов
89ea4dd

0 моделей