Icelandic ModernBERT warm-start study: ws-E-large-s0, 80 tokens/parameter
Paper: Beyond IceBERT: Open-Data ModernBERT Encoders for Icelandic from 12M to 1B Parameters (arXiv:2610.36230). If you use this model, please cite the paper. The BibTeX entry is at the end of this card.
Question this run answers. Does a warm start still pay off for an Icelandic encoder, from which source model, and how many Icelandic tokens does it save? IceBERT (Snæbjarnarson et al., LREC 2022) found that continuing a multilingual model "can lead to state-of-the-art results for some downstream tasks". Our size ladder uses the Ettin shapes, so every size has an English Ettin encoder of identical shape (and base has mmBERT-base), and a warm start changes only the starting weights: architecture, data, tokenizer, schedule and evaluation stay those of the scratch models. Every arm is trained at 10, 20, 40 and 80 Icelandic tokens per parameter.
This model is a warm start from the English Ettin encoder jhu-clsp/ettin-encoder-400m, which has exactly this shape; its embeddings and output biases were moved onto our 32k Icelandic vocabulary by Fast Vocabulary Transfer (each of our tokens is re-segmented by Ettin's BPE and gets the mean of the pieces), size large, pretraining seed 0, at 80 tokens per parameter. This is the curve's main run to 80 tokens per parameter. It kept its state at the start of each shorter budget's decay phase, and the branches b10, b20 and b40 of this repo continue from those states.
Release. Released under the MIT licence with the paper; the training corpus is not released, because not every
source states a licence that permits redistribution. In the paper this arm is called Ettin (the repo names keep
the code names S, E, Erand, Mswap and Mkeep). The starting weights come from jhu-clsp/ettin-encoder-400m (MIT licence). Parts of the training data require attribution (CC BY 4.0: IGC; CC BY-SA: Wikipedia, Wikisource) or
come from web crawls with mixed rights (IC3-v2 states no licence). MIM-GOLD and MIM-GOLD-NER, used only for evaluation,
are licensed for research use, so no model fine-tuned on them is released.
Model
| Architecture | ModernBERT: pre-norm, GeGLU, no biases, RoPE (theta 160k on global and local layers, the source models' setting), global attention every third layer and a 128-token window in the others |
| Shape | 28 layers, hidden 1024, GeGLU inner 2624, 16 heads |
| Parameters | 377.8M = 33.6M embedding + 344.3M non-embedding |
| Tokenizer | Icelandic byte-level BPE, 32,768 tokens (the scratch ladder's tokenizer) |
| Vocabulary transplant | FVT from 50,368 source tokens: 32,750 of 32,768 target tokens transplanted, 3.00 source pieces per token on average, 13 without pieces (mean embedding) |
| Loads with | transformers AutoModelForMaskedLM (model_type modernbert); logits match our trainer exactly (export_check.json) |
Fill-mask. Write the mask token right after the previous word, with no space: Reykjavík er höfuðborg[MASK]. The tokenizer keeps each word's leading space inside the word's token, so a space typed before the mask becomes a token of its own. In training such a lone space comes mostly before a number, because digits are split off, so with the space the model predicts digits.
Training
| Tokens seen | 30.23B tokens = the text of 80 tokens per parameter of the scratch ladder at this size |
| Steps | 28,827 at 1,048,576 tokens per step |
| Objective | MLM, 30% masking, 15% in the decay phase |
| Optimiser | AdamW (0.9, 0.98), eps 1e-6, weight decay 1e-05, clip 1.0, bf16 autocast |
| Schedule | warmup-stable-decay: 907M warmup tokens, peak LR 0.0004 (the scratch LR; a pilot at xs found lower rates worse for warm starts), 1-sqrt decay over the last 15%, last 10% at 8,192 tokens |
| Data | the scratch ladder's corpus: 9.02B unique tokens from nine open sources (IGC-2024 open part, Icelandic Wikipedia, Dynaword non-IGC subsets, MaCoCu, FineWeb-2, FinePDFs, HPLT 3.0, MADLAD-400, IC3-v2), deduplicated, filtered and decontaminated against the evaluation sets |
| Hardware | MareNostrum 5 (4x H100 64 GB per node), DDP, FlexAttention with document masks |
Results
Held-out MLM loss (15% masking) per source at the end of training: {"dynaword": 0.389, "finepdfs": 1.032, "fineweb2": 0.955, "hplt3": 1.01, "ic3v2": 0.62, "igc": 0.633, "macocu": 0.835, "madlad": 0.77, "wiki": 0.544}.
Downstream point of this arm, size and budget (x100). Each point pools the arm's pretraining seeds at this size (so it is not this checkpoint alone at xs, s and m) and 3-5 fine-tuning seeds at the learning rate the 80-point model chose on dev. 95% CIs are a hierarchical bootstrap over pretraining seeds, fine-tuning seeds and test items; differences are paired over the same item draws. "Scratch at 160" is the ladder's model trained on twice the 80-point tokens (it also saw CulturaX's unique remainder, +3.7%).
| task | score [95% CI] | pretraining seeds pooled | fine-tuning runs | minus scratch, same budget | minus scratch at 160 |
|---|---|---|---|---|---|
| QA: NQiI + RUQuAD-1, token F1 | 57.5 [56.0, 59.0] | 1 | 5 | +1.4 [+0.6, +2.2] | +1.3 [+0.5, +2.1] |
| NER: MIM-GOLD-NER (IceBERT split), entity micro F1 | 94.8 [94.1, 95.4] | 1 | 5 | +0.4 [-0.1, +0.9] | +0.0 [-0.4, +0.4] |
| ScaLA-style acceptability from the Icelandic UD treebanks, MCC | 76.7 [72.9, 80.3] | 1 | 5 | +0.2 [-2.8, +3.2] | +3.3 [+0.1, +7.1] |
| IceEC sentence-level error detection, MCC | 52.5 [50.4, 54.8] | 1 | 5 | +0.9 [-0.8, +2.7] | -0.1 [-1.9, +1.7] |
| UD UPOS accuracy | 95.8 [95.5, 96.1] | 1 | 5 | +0.2 [+0.0, +0.4] | +0.2 [-0.0, +0.3] |
IceBERT's benchmarks and the added tasks (v2 protocol: learning-rate grids extended until the choice is interior; five fine-tuning seeds; PoS over the ten MIM-GOLD folds):
| task (metric) | score [95% CI] | IceBERT | minus IceBERT [95% CI] |
|---|---|---|---|
| const (f1) | 91.1 [90.4, 91.7] | 90.5 | +0.6 [+0.2, +1.0] |
| dep_icepahc (las) | 87.5 [87.2, 87.9] | 87.2 | +0.4 [+0.2, +0.5] |
| dep_icepahc_clean (las) | 87.1 [86.6, 87.5] | 86.6 | +0.5 [+0.2, +0.7] |
| dep_modern (las) | 79.9 [78.9, 80.7] | 79.2 | +0.7 [+0.2, +1.2] |
| gedcat (f1) | 37.3 [35.2, 39.5] | 34.2 | +3.2 [+1.8, +4.6] |
| gedcat_macro (macro_f1) | 37.3 [34.6, 40.6] | 32.9 | +4.4 [+2.2, +7.5] |
| gedtok (f1) | 40.8 [33.7, 45.6] | 39.1 | +1.8 [-5.6, +6.3] |
| gedtok_macro (macro_f1) | 69.4 [65.9, 71.9] | 68.5 | +0.8 [-2.8, +3.1] |
| iceec (mcc) | 52.5 [50.2, 54.9] | 47.1 | +5.4 [+3.4, +7.4] |
| iwg (acc) | 67.9 [63.3, 72.0] | 53.8 | +14.0 [+8.9, +19.1] |
| ner (f1) | 94.8 [94.2, 95.4] | 94.1 | +0.7 [+0.2, +1.1] |
| pos (acc) | 95.8 [95.4, 96.1] | 95.4 | +0.4 [+0.2, +0.6] |
| posmim (acc) | 97.9 [97.6, 98.2] | 97.8 | +0.2 [+0.1, +0.2] |
| qa (f1) | 57.5 [56.1, 58.9] | 56.9 | +0.6 [-0.3, +1.5] |
| scala (mcc) | 76.7 [73.4, 80.4] | 73.6 | +3.1 [-0.4, +6.4] |
Caveats
- One pretraining seed at base, large and xl (1B); the CIs cover fine-tuning and test-item noise only.
- Branches reuse the fine-tuning learning rate chosen for the 80-point model of the same arm and size.
- At large the scratch curve was trained after the rest of the study (26 Oct 2026), as a new 80-token run with the ladder's recipe and seed, because the ladder's large model kept no stable-phase states; the two reach 0.852 and 0.848 validation loss and match within 0.1 points on QA, NER and PoS, but this run is 3.1 MCC higher on acceptability and 1.5 on sentence-level error detection, a measure of pretraining noise that the CIs above do not cover. The paper's main table keeps the ladder's model.
- Fine-tuning used bf16 autocast; parsers fall back to fp32 on non-finite losses.
- Ettin was trained on FLAN instruction data, which contains about 30,000 English WinoGrande training items with answers. On Icelandic WinoGrande the Ettin warm starts score 67.9 at large and 78.7 at 1B. The 1B scratch model reaches 59.2 without any English, so at that size the task is partly learnable from Icelandic text; but the large warm start is 19 points above the large scratch model, which is at chance, and the base warm start stays at chance (51.0). Part of the two warm-start scores is probably supervised knowledge of the English task carried over to its Icelandic translation. The paper cannot separate it from general transfer and does not rank the two models on this task.
Full numbers: the paper, arXiv:2610.36230.
Citation
@misc{einarsson2026icebertopendatamodernbertencoders,
title = {Beyond {IceBERT}: Open-Data {ModernBERT} Encoders for {Icelandic} from {12M} to {1B} Parameters},
author = {Hafsteinn Einarsson},
year = {2026},
eprint = {2610.36230},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2610.36230}
}