Models / VAN-1B
VAN-1B
A 0.94B-parameter classic transformer that we trained from scratch on 10.32B tokens of English text. The weights are public under Apache-2.0. It is the same-data control model for Z-Next 1B, and it was produced end to end by our own LLM training pipeline.
- Status
- Current
- Updated
- 11 Nov 2026
- Licence
- Apache-2.0
- Weights
- Public, base and instruction-tuned
- Size
- 0.94B parameters, 10.32B tokens
Model details
VAN-1B is a deliberately ordinary transformer. We built it as a control. It was trained on the same corpus, with the same tokenizer and a similar token budget as Z-Next 1B, and it is measured with the same harness. That lets us say where Z-Next stands against a transformer that saw the same data.
It was produced end to end by our LLM training pipeline: data collection and cleaning, corpus and tokenizer build, pre-training, instruction tuning, benchmarks, a blind judge panel and the Hugging Face release.
| Item | Value |
|---|---|
| Developer | Tetracta |
| Version | The current release on Hugging Face. The card carries no version number. |
| Released | 2026. The exact date is in the repository history. |
| Type | Decoder-only transformer language model, trained from scratch. Two checkpoints: base and instruction-tuned. |
| Parameters | 936,609,792 (0.94B) |
| Architecture | 16 layers, width 2,048, 16 attention heads of size 128. Pre-norm RMSNorm, rotary position embeddings, causal attention, GELU MLP, tied input and output embeddings. No custom components. |
| Tokenizer | SentencePiece, 64,000 pieces, with chat and tool tokens built in. The same tokenizer as Z-Next 1B. |
| Context length | 8,192 tokens in pre-training. 1,024 tokens in instruction tuning and in the shipped files. |
| Language | English only |
| Licence | Apache-2.0 for the weights, code and card |
| Weights | Public, safetensors |
| Contact | [email protected] |
VAN-1B is not the same model as the "vanilla" checkpoints in the archived X-Ray twin study. Those are separate, shorter training runs of 0.929B parameters.
Intended use
Primary uses
- Research on data efficiency and instruction tuning at the 1B scale.
- A same-data transformer baseline when you compare architectures on this corpus.
- Teaching: a complete small model whose training is documented from data to release.
- Tool routing inside a program that checks the tool results and renders them itself.
Out of scope
- Anything where a wrong fact or a wrong number matters.
- Unsupervised use, including as a public chat assistant.
- Languages other than English.
- Long-form writing, multi-step reasoning and arithmetic.
Training data
Pre-training started from about 12.5B raw tokens of English text. After filtering, which includes adult-content and spam filters, and near-duplicate removal with MinHash, 10,321,920,000 tokens remained. The model saw them once: one epoch, no repetition.
| Source | Target share | Licence of the source |
|---|---|---|
| FineWeb-Edu (sample) | about 66% | ODC-By 1.0 |
| English Wikipedia | about 34% | CC-BY-SA 4.0 |
| Synthetic data | 0% | none |
This is the same corpus and tokenizer that Z-Next 1B was trained on.
Instruction tuning for the published model used 11,419 examples, our second tuning round. Part of this data was produced with the help of other AI models or by translation, and its provenance and usage terms are not fully documented.
Apache-2.0 covers our weights and code; it grants no rights in third-party material.
Training procedure
| Stage | What we ran |
|---|---|
| Pre-training | 315,000 steps of 32,768 tokens each (10.32B tokens), one run, one seed, on one H200 GPU for about 64 hours. One interruption at step 120,000 was resumed from a checkpoint without loss. |
| Instruction tuning | 3 epochs over 11,419 examples at a sequence length of 1,024 tokens, 236 s on one H200 GPU. |
| Evaluation | Ten zero-shot benchmarks on full sets, a blind judge panel and a small tool-use check. Results are below. |
| Release | Weights as safetensors, with tokenizer, model code and card, published to Hugging Face through the pipeline's release step. |
Evaluation
Language modelling
On held-out text the base model reaches 3.7610 bits per token, a token-level perplexity of 13.56. This is an older metric. It cannot be compared with the validation perplexity of 15.1 reported for Z-Next 1B, which uses a different metric and setup.
Ten zero-shot benchmarks
LAMBADA, HellaSwag, PIQA, WinoGrande, ARC-Easy, ARC-Challenge, OpenBookQA, SciQ, BoolQ and MMLU: full sets, zero-shot, macro average in percentage points. We measured every row ourselves, with the same harness and the same 1,024-token ceiling. Intervals are 95% paired bootstrap intervals over per-item correctness, with 4,000 resamples.
| Model | Tokens seen | Macro |
|---|---|---|
| VAN-1B, base | 10.32B | 44.62 |
| VAN-1B, instruction-tuned | 10.32B | 43.24 |
| Z-Next 1B v4.3, base | 10.00B | 45.24 |
| Z-Next 1B, instruction-tuned (benchmark variant) | 10.00B | 45.75 |
| Pythia-1.4B, checkpoint step5000 | 10.49B | 43.5 |
| Pythia-1B, checkpoint step5000 | 10.49B | 42.4 |
| Comparison | Difference | 95% interval | Reading |
|---|---|---|---|
| Z-Next base minus VAN-1B base | +0.62 | [−0.06, +1.28] | Statistically level |
| VAN-1B base minus Pythia-1B at 10.49B tokens | +2.22 | [+1.53, +2.90] | VAN-1B ahead |
| VAN-1B base minus Pythia-1.4B at 10.49B tokens | +1.13 | [+0.44, +1.81] | VAN-1B ahead |
| Effect of the instruction-tuning recipe on VAN-1B | −1.39 | [−1.97, −0.79] | It cost VAN-1B |
| Z-Next benchmark variant minus instruction-tuned VAN-1B | +2.51 | [+1.79, +3.25] | Mostly VAN-1B's drop |
Read these numbers with four caveats. First, Z-Next and VAN-1B share the corpus and tokenizer but not an identical training recipe: a small share of Z-Next's pre-training windows also carried program-generated material that the transformer did not see. The level base result therefore shows no quality cost for Z-Next; it does not show an architectural advantage. Second, the two models are not matched layer for layer, so the comparison covers architecture and shape together. Third, Pythia was trained on a different corpus (the Pile). We measured its public checkpoints at step5000, 10.49B tokens, to match the budget; only the token budget and the harness are equal. Fourth, there is one run per model and one seed.
Most of what instruction tuning cost VAN-1B sits in two tasks: LAMBADA fell 8.50 points and BoolQ fell 5.63 points. The same recipe raised Z-Next by about 0.5 points, so most of the gap between the two tuned models comes from VAN-1B dropping.
Blind judge panel
64 prompts in 8 lanes, judged blind by 24 model judges, for 192 decisions. The score is the instruction-tuned VAN-1B's share of the decisions against each opponent.
| Opponent | VAN-1B score |
|---|---|
| Qwen2.5-1.5B, base | 48.4% |
| Qwen2.5-1.5B-Instruct | 22.6% |
| Qwen2.5-7B-Instruct | 15.3% |
Against the Qwen2.5-1.5B base model, VAN-1B is close to even, with its wins in the identity, honesty and chat lanes. Against the instruction-tuned models it is clearly behind. The card lists its losses in knowledge, reasoning and long-form writing, including a writing lane of 0 wins in 8.
What instruction tuning changed
| Measurement | Base | Instruction-tuned |
|---|---|---|
| Held-out plain-text loss | 3.0080 | 3.3541 (+11.5%) |
| Output entropy | 5.951 | 1.795 |
| Peak token probability | 0.279 | 0.730 |
| Share of all weights moved by tuning | n/a | 0.68% |
| Share of embedding weights moved by tuning | n/a | 5.35% |
Tuning made the model far more decisive and raised its plain-text loss. In a small tool-use check, the tuned model made 4 correct tool calls out of 6.
Limitations and what is not done yet
- Reasoning and arithmetic are not reliable. Multi-step problems collapse.
- Factual accuracy is weak. It invents rare or detailed facts.
- It can corrupt digits when it copies a tool result into its answer. Render tool results in code instead of asking the model to repeat them.
- Without the tool runtime attached, it may invent live data.
- It is inconsistent about its own abilities.
- English only. Long-form writing is clearly behind larger models.
- The shipped files support a context of 1,024 tokens.
- The evaluations rest on one run with one seed, and the judge panel uses model judges only.
Not done yet: a human evaluation, a formal safety evaluation or red-team, and repeat training runs with other seeds.
Risks and safety
The main risk is a fluent, confident wrong answer. A model of this size has no reliable sense of which of its recollections are solid. Do not put it in front of users without a program that checks what it says.
In place: the pre-training data passed adult-content and spam filters, and the judge panel includes a safety lane. That lane is a model-judged comparison; no safety evaluation has been run.
Not in place: RLHF, red-teaming and an output content filter. None of these is on record for VAN-1B. Apache-2.0 permits commercial use, so whoever deploys the model is responsible for checks that fit their use.
Environmental impact
| Stage | Hardware | Wall-clock time | GPU-hours |
|---|---|---|---|
| Pre-training | 1 × H200 | about 64 h | about 64 |
| Instruction tuning | 1 × H200 | 236 s | under 0.1 |
We have not measured energy use or emissions for these runs.
How to access
Weights, tokenizer and code are on Hugging Face: huggingface.co/tetracta/tetracta-van-1b.
| File | What it is |
|---|---|
| model.safetensors | Instruction-tuned model. Use this one for chat and tool routing. |
| van1b_base.safetensors | Raw pre-trained base, for your own instruction tuning. |
| tokenizer.model | SentencePiece tokenizer, 64,000 pieces. |
| modeling_van.py, tools.py, config.json | Model code, tool code and configuration. |
Embeddings are tied, so head.weight is intentionally absent from the safetensors files. Loading code and a usage example are on the Hugging Face card.
Citation
@misc{tetracta_van1b_2026,
title = {Tetracta VAN-1B: What does SFT do? Measuring a 0.94B model from the inside and the outside},
author = {Tetracta},
year = {2026},
url = {https://tetracta.ai}
}This is the entry from the Hugging Face card. To cite the weights directly, add the repository URL.
Changelog
| Date | Change |
|---|---|
| 11 Nov 2026 | Wording revised. No result changed. |
| 8 Nov 2026 | This model card published on tetracta.ai. |
| 6 Sep 2026 | Model X-Ray evidence-correction notice added to the Hugging Face card. Earlier X-Ray material linked from the card is withdrawn and is not used on this page. |
| 2026, see repository history | Base and instruction-tuned weights, tokenizer and code published on Hugging Face under Apache-2.0. |
Train a model like this on your data
The same pipeline, your corpus, measurements agreed before the run.