A 150M parameter language model trained from scratch on 50B tokens.
It reaches an Open SLM Intelligence Index of
19.99
, ahead of the previous
release cagliostro-v1 by 0.84 when both are measured the same way.
Results
All three columns below were scored identically: lm-eval at 0-shot acc_norm for
HellaSwag, ARC and PIQA, and AxiomicLabs' bencharithmark-3 for ArithMark. The
new model was scored twice on different GPUs at different batch sizes and the
two runs agreed to within 0.12 on the Index.
Component
cagliostro-v2
cagliostro-v1
internal 70B run
HellaSwag
36.76
36.70
36.92
ARC-Easy
47.43
48.95
47.39
ARC-Challenge
28.58
26.19
25.43
CombinedARC
38.00
37.57
36.41
PIQA
65.67
65.34
65.29
ArithMark-3
35.20
33.20
37.20
Index
20.05
19.22
19.80
The Index was scored at five checkpoints. It is flat through the constant
learning rate phase and moves once the decay starts, which is the shape this
schedule produces: downstream metrics do not resolve small improvements while
the weights are still in a high noise regime.
Second scoring run of cagliostro-v2: 19.93. Reported Index is 19.99, the mean.
The Index is
(N(HellaSwag,25) + N(CombinedARC,25) + N(PIQA,50) + 0.65*N(ArithMark,25)) / 3.65
where
N(v,c) = 100(v-c)/(100-c)
.
Note on the v1 figures
The cagliostro-v1 model card reports 17.85 and 19.13. Those came from an
in-house harness that was later retired: checked against lm-eval on a model
whose leaderboard row was already known, it read ARC-Challenge 3.9 points high,
and the error changed sign between models so no constant correction recovers it.
The 19.22 above is v1 rescored with lm-eval, which is higher than its own card
claims. The comparison here is deliberately against the corrected, more
favourable number.
The internal 70B run is an unreleased checkpoint trained on 70B tokens with a
staged curriculum that included synthetic arithmetic. It is listed for context
because it is the only other model of this family measured on this harness.
How to read this
Against the published v1, this model is ahead on four of six components and on
the Index by 0.84, roughly seven times the spread between repeat measurements.
ARC-Challenge is the largest single gain at +2.39, moving well clear of the 25.0
chance floor.
Against the internal 70B run the Index margin is only +0.26, which is not a
claim worth making on its own. What that comparison does show is token
efficiency: a comparable score on 50B tokens where the other run needed 70B, at
identical parameter count and without the synthetic arithmetic that run used.
ARC-Easy is the one component where v1 remains ahead, 48.95 against 47.43.
Two additions beyond a standard decoder, both adding zero parameters:
Exclusive Self Attention
(
arXiv:2603.09078
).
After attention, each head removes the component of its output that lies along
its own value vector, so the block stops re-encoding what the residual stream
already carries. Measured at -0.0785 nats over 123 paired readings against an
otherwise identical baseline.
Logit soft-capping.
Output logits pass through
cap * tanh(logits / cap)
with cap 15. Measured at -0.027 nats, flat across four quartiles of a 5B token
ablation rather than decaying like every rejected variant did.
Because neither adds tensors, nothing in the state dict reveals them, and a
checkpoint loaded without them scores at chance while every shape check passes.
They are recorded in the config and the bundled modeling code implements them,
so
trust_remote_code
loads the model correctly.
Ablations
Each arm is a 5B token run against a byte-identical baseline on the same
pre-tokenized shards with the same seed, so a loss gap is attributable to the
one flag that differs.
Arm
Delta vs baseline
Verdict
XSA
-0.0785
kept
Logit cap 15
-0.027
kept
Canon layers
-0.0027
rejected, costs 9 percent throughput for less than 9 percent more tokens buys
Value residual
+0.0001
rejected, no effect
ReLU squared MLP
+0.021
rejected
Three of the five ideas tried did not survive. Canon layers improved loss but
lost on a compute-matched basis: they cost 9 percent throughput, and spending
that 9 percent on more tokens instead was measured at roughly -0.008 nats
against Canon's -0.0027.
Training
Tokens
50,000,000,000
Steps
508,625
Tokens per step
98,304
Optimizer
AdamW, betas 0.9/0.95, weight decay 0.1
Peak LR
1.5e-3
Schedule
warmup-stable-decay, 200 warmup steps, final 15 percent decayed
Precision
bfloat16
Hardware
4x RTX 5090, about 40 hours at 348k tokens/sec
Final loss
2.8489
Data mixture: FineWeb-Edu 57.6 percent, DCLM-baseline 38.4 percent, Cosmopedia
4 percent. Pre-tokenized to uint16 memmapped shards, sampled by weight per
sequence. 63.89B unique tokens backed the 50B token run, so repetition is near
zero on every source.
A staged curriculum with code, arithmetic and dialogue was tried in earlier
versions and abandoned: it scored Index 11.73 at 9.14B tokens, below GPT-2's
13.58, because the components that dominate the Index need web text rather than
the specialised data the curriculum spent tokens on.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"bench-labs/cagliostro-v2", trust_remote_code=True)
tok = AutoTokenizer.from_pretrained("bench-labs/cagliostro-v2")
ids = tok("The capital of France is", return_tensors="pt")
out = model.generate(**ids, max_new_tokens=32)
print(tok.decode(out[0]))
trust_remote_code=True
is required. The architecture is not in transformers
and travels with the weights.
Limitations
This is a 150M parameter base model trained on 50B tokens. It is not
instruction tuned, not aligned, and not filtered for safety. ARC-Challenge at
28.58 is meaningfully above chance but still low in absolute terms. It will
produce confident nonsense on anything requiring real world knowledge.
The training data was decontaminated against the evaluation sets with 13-gram
exact matching. Measured removal was 0.00 percent of FineWeb-Edu and 0.01
percent of DCLM, so decontamination is not doing meaningful work at this scale
and the scores should not be read as more trustworthy because of it.
Runs of bench-labs cagliostro-v2 on huggingface.co
938
Total runs
6
24-hour runs
30
3-day runs
56
7-day runs
881
30-day runs
More Information About cagliostro-v2 huggingface.co Model
cagliostro-v2 huggingface.co is an AI model on huggingface.co that provides cagliostro-v2's model effect (), which can be used instantly with this bench-labs cagliostro-v2 model. huggingface.co supports a free trial of the cagliostro-v2 model, and also provides paid use of the cagliostro-v2. Support call cagliostro-v2 model through api, including Node.js, Python, http.
cagliostro-v2 huggingface.co is an online trial and call api platform, which integrates cagliostro-v2's modeling effects, including api services, and provides a free online trial of cagliostro-v2, you can try cagliostro-v2 online for free by clicking the link below.
bench-labs cagliostro-v2 online free url in huggingface.co:
cagliostro-v2 is an open source model from GitHub that offers a free installation service, and any user can find cagliostro-v2 on GitHub to install. At the same time, huggingface.co provides the effect of cagliostro-v2 install, users can directly use cagliostro-v2 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.