Type:
base (pretrained) model. Not instruction-tuned and ships no chat template.
Trained with Synthetic Persona Pretraining (SPP) from token zero: first-person reflections are inserted into the roughly 10% of annotated documents that carry one, throughout the entire pretraining run.
Synthetic Persona Pretraining (SPP)
Synthetic Persona Pretraining (SPP)
installs a target value persona during pretraining rather than only during alignment. Value-laden, first-person reflections, generated against a constitution, are appended to a subset of pretraining documents after a special
<assistant>
token. Attention masking and RoPE position aliasing keep the reflection from changing the continuation of the original document. This model is trained with SPP.
Architecture:
Llama-3.2-3B-shaped, trained from scratch.
Tokenizer:
the SmolLM2 tokenizer extended with an
<assistant>
marker and constitution tokens (vocabulary 49280).
Pretraining:
~500B tokens on a subset of the Olmo 3 Dolma 3 mixture, with SPP reflections inserted into the safety-annotated documents within it.
Training checkpoints
Intermediate checkpoints are published as git revisions on this repo, so any point in the trajectory can be loaded by passing
revision=
:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
repo = "epfl-dlab/spp-t0-3b-base"
tok = AutoTokenizer.from_pretrained(repo) # identical at every revision
model = AutoModelForCausalLM.from_pretrained(
repo, revision="step-25000", dtype=torch.bfloat16, device_map="auto"
)
Revision
Pretraining step
Tokens seen
LR phase
step-25000
25,000 / 254,313
~49.2B
stable
step-50000
50,000 / 254,313
~98.3B
stable
step-75000
75,000 / 254,313
~147B
stable
step-100000
100,000 / 254,313
~197B
stable
step-125000
125,000 / 254,313
~246B
stable
step-150000
150,000 / 254,313
~295B
stable
step-175000
175,000 / 254,313
~344B
stable
step-200000
200,000 / 254,313
~393B
stable
step-225000
225,000 / 254,313
~442B
stable
step-240000
240,000 / 254,313
~472B
linear decay
step-254313
254,313 / 254,313
~500B
linear decay — same weights as
main
main
always holds the finished model (step 254,313).
Only model weights are published — optimizer and RNG state are not included, so these revisions support evaluation, probing, and fine-tuning, but not exact resumption of the original run.
Intended use
Research on alignment and safety. As a base model it is meant for continuation, probing, or further fine-tuning; it is not instruction-tuned and can produce incorrect or unsafe content.
spp-t0-3b-base huggingface.co is an AI model on huggingface.co that provides spp-t0-3b-base's model effect (), which can be used instantly with this epfl-dlab spp-t0-3b-base model. huggingface.co supports a free trial of the spp-t0-3b-base model, and also provides paid use of the spp-t0-3b-base. Support call spp-t0-3b-base model through api, including Node.js, Python, http.
spp-t0-3b-base huggingface.co is an online trial and call api platform, which integrates spp-t0-3b-base's modeling effects, including api services, and provides a free online trial of spp-t0-3b-base, you can try spp-t0-3b-base online for free by clicking the link below.
epfl-dlab spp-t0-3b-base online free url in huggingface.co:
spp-t0-3b-base is an open source model from GitHub that offers a free installation service, and any user can find spp-t0-3b-base on GitHub to install. At the same time, huggingface.co provides the effect of spp-t0-3b-base install, users can directly use spp-t0-3b-base installed effect in huggingface.co for debugging and trial. It also supports api for free installation.