Sommerfugl-31B

Sommerfugl ("butterfly") is a family of Norwegian language models by oolabs.no.

Built with Gemma. This model is a finetune of google/gemma-4-31B-it, modified by oolabs.no. Use is governed by the Gemma Terms of Use.

Why

Google's instruction tuning of Gemma 4 damages its Norwegian: on the National Library of Norway's leaderboard, gemma-4-31B-it ranks in the top 3 on eleven categories but collapses to ~rank 48 on Norwegian language knowledge and ~rank 51 on Norwegian summarization. Sommerfugl-31B repairs both while retaining the base's strengths.

Results

Evaluated under the National Library's published leaderboard protocol (lm-evaluation-harness + NorEval; cloze MC, chat template, best over prompt versions × {0,5}-shot, greedy decoding). Gemma column: NB's own leaderboard row. Sommerfugl and Borealis 2 (NbAiLab's newest flagship) evaluated by us under the identical protocol.

task (metric) gemma-4-31B-it Sommerfugl-31B Borealis 2 preview
Language knowledge: NoCoLA (acc) 0.828 0.859 0.834
Language knowledge: NCB (acc) 0.755 0.825 0.774
Summaries: NorSumm nob / nno (bleu) 4.08 / 3.37 7.39 / 7.00 6.62 / 5.15
Summarize on request (bleu) 0.98 4.61 1.75
Rewrite (bleu) 0.03 3.66 0.11
Idioms nob / nno (fscore) 0.085 / 0.141 0.442 / 0.541 0.121 / 0.160
Grammar correction (exact match) 0.294 0.402 0.342
Reading comp.: NorQuAD (f1) 0.445 0.748 0.799
Translation en↔nb/nn (bleu, 4-dir avg) 57.2 59.1 58.1
Belebele (acc) 0.938 0.938 0.904
OpenbookQA / CommonsenseQA (acc) 0.968 / 0.860 0.957 / 0.830 0.955 / 0.808
NoReC sentiment (acc) 0.910 0.923 0.918
TruthfulQA mc nob / nno (acc) 0.850 / 0.930 0.664 / 0.772 0.811 / 0.842
MMLU English (acc) 0.831 0.831 0.550
MMLU Norwegian (acc) 0.859 0.824

Head-to-head vs Borealis 2 across all 21 protocol-complete rows: 18–3.

Known limitations (reported deliberately)

  • TruthfulQA (mc) regresses vs the base -it (−0.19): supervised finetuning erodes part of the base's RLHF truthfulness calibration.
  • MMLU-nb −0.035 vs the base -it.
  • Not evaluated: NB's unpublished internal tasks (translated ARC/GSM8K/IFEval/GoldenSwag, safety sets — ~8% of their suite) and the heavy 5-shot MC variants; exclusions applied identically to every model we compare.
  • We publish no overall/aggregate score: that number belongs to the National Library's own evaluation pipeline.

Evaluation integrity

Training data was quality-gated and decontaminated against all 19 Norwegian evaluation datasets used above (all splits), so the reported numbers are not inflated by train/test overlap.

Usage

from transformers import AutoTokenizer, AutoModelForCausalLM
tok = AutoTokenizer.from_pretrained("oolabs/sommerfugl-31b")
model = AutoModelForCausalLM.from_pretrained("oolabs/sommerfugl-31b", dtype="bfloat16", device_map="auto")
msgs = [{"role": "user", "content": "Skriv et kort sammendrag av teksten under."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(ids, max_new_tokens=256, do_sample=False)[0][ids.shape[-1]:]))
Downloads last month
348
Safetensors
Model size
31B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for oolabs/sommerfugl-31b

Finetuned
(248)
this model