Tetracta

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

Download on Hugging Face How to load it

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.

Model facts, as published on the Hugging Face card.
ItemValue
DeveloperTetracta
VersionThe current release on Hugging Face. The card carries no version number.
Released2026. The exact date is in the repository history.
TypeDecoder-only transformer language model, trained from scratch. Two checkpoints: base and instruction-tuned.
Parameters936,609,792 (0.94B)
Architecture16 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.
TokenizerSentencePiece, 64,000 pieces, with chat and tool tokens built in. The same tokenizer as Z-Next 1B.
Context length8,192 tokens in pre-training. 1,024 tokens in instruction tuning and in the shipped files.
LanguageEnglish only
LicenceApache-2.0 for the weights, code and card
WeightsPublic, 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.

Collection targets listed on the Hugging Face card; the realised mix was not measured.
SourceTarget shareLicence of the source
FineWeb-Edu (sample)about 66%ODC-By 1.0
English Wikipediaabout 34%CC-BY-SA 4.0
Synthetic data0%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

What we ran, at a high level.
StageWhat we ran
Pre-training315,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 tuning3 epochs over 11,419 examples at a sequence length of 1,024 tokens, 236 s on one H200 GPU.
EvaluationTen zero-shot benchmarks on full sets, a blind judge panel and a small tool-use check. Results are below.
ReleaseWeights 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.

Macro average over ten benchmarks. The instruction-tuned VAN-1B row is VAN-1B tuned with the same recipe as Z-Next's benchmark variant, for this comparison.
ModelTokens seenMacro
VAN-1B, base10.32B44.62
VAN-1B, instruction-tuned10.32B43.24
Z-Next 1B v4.3, base10.00B45.24
Z-Next 1B, instruction-tuned (benchmark variant)10.00B45.75
Pythia-1.4B, checkpoint step500010.49B43.5
Pythia-1B, checkpoint step500010.49B42.4
Paired differences in macro points, with 95% intervals.
ComparisonDifference95% intervalReading
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.

Instruction-tuned VAN-1B against three public models. All three are larger and were trained on far more data. The judges are models. No intervals were computed.
OpponentVAN-1B score
Qwen2.5-1.5B, base48.4%
Qwen2.5-1.5B-Instruct22.6%
Qwen2.5-7B-Instruct15.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

Plain loss, output and weight statistics from the Hugging Face card. These are not Model X-Ray results.
MeasurementBaseInstruction-tuned
Held-out plain-text loss3.00803.3541 (+11.5%)
Output entropy5.9511.795
Peak token probability0.2790.730
Share of all weights moved by tuningn/a0.68%
Share of embedding weights moved by tuningn/a5.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

Training compute. Evaluation runs are not included.
StageHardwareWall-clock timeGPU-hours
Pre-training1 × H200about 64 habout 64
Instruction tuning1 × H200236 sunder 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.

Files in the repository.
FileWhat it is
model.safetensorsInstruction-tuned model. Use this one for chat and tool routing.
van1b_base.safetensorsRaw pre-trained base, for your own instruction tuning.
tokenizer.modelSentencePiece tokenizer, 64,000 pieces.
modeling_van.py, tools.py, config.jsonModel 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

Changes to the model and to this card.
DateChange
11 Nov 2026Wording revised. No result changed.
8 Nov 2026This model card published on tetracta.ai.
6 Sep 2026Model 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 historyBase 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.

Plan a training run