Fietje: open, compact Dutch LLM (2.8B) trained on 28B Dutch tokens with full reproducibility

December 19, 20248 min

Overview

Decision SnapshotNeeds Validation

Fietje is a reproducible, low-cost Dutch model useful for prototyping and latency-sensitive tasks; bench results show promise but newer multilingual small models currently offer stronger accuracy on several benchmarks.

Citations2

Evidence Strength0.70

Confidence0.85

Risk Signals12

Trust Signals

Findings with numeric evidence: 5/5

Findings with evidence refs: 5/5

Results with explicit delta: 3/6

Reproducibility

Status: Code + data available

Open source: Yes

At A Glance

Cost impact: 60%

Production readiness: 60%

Novelty: 50%

Authors

Bram Vanroy

Links

Abstract / PDF / Code / Data

Why It Matters For Business

Open, compact Dutch LLMs let teams run fast, inexpensive inference and reproduce experiments; modern multilingual small models often beat older larger Dutch models, so try recent small multilingual options before costly full retraining.

Who Should Care

Summary TLDR

Fietje is a family of openly released Dutch-focused small language models (base, instruct, chat) built by continued pretraining of Phi-2 (≈2.78B params) on 28 billion cleaned Dutch tokens. The project prioritizes reproducibility: weights, datasets, configs, and evaluation code are public. Benchmarks show Fietje is competitive for its size—instruction and chat tuning improve results markedly—but newer small multilingual models (e.g., Qwen 2.5, Phi 3.5) soon outperformed it. Use Fietje when you need a transparent, lightweight Dutch model you can reproduce and extend; re-evaluate choices if you need state-of-the-art Dutch performance today.

Problem Statement

Dutch language users lack high-quality, open, compact LLMs and reproducible pipelines. The paper adapts an English-centric small model (Phi 2) to Dutch via continued pretraining and post-training to produce an open, usable Dutch LLM family and evaluates them on multiple Dutch benchmarks.

Main Contribution

Created Fietje family (base, instruct, chat) by continued pretraining of Phi-2 on 28B Dutch tokens.

Open release: model weights, filtered datasets, training configs, and evaluation code on GitHub and Hugging Face.

Key Findings

Fietje was continue-pretrained on 28 billion Dutch tokens.

Numbers28B Dutch tokens

Practical UseCollect and use large, high-quality native-language corpora before adaptation; expect meaningful gains from large token budgets even for small models.

Evidence RefSection 3.1 (Data)

Fietje family sizes: base/instruct/chat ≈2.78B parameters and wiki tokenizer fertility 2.05 (tokens per word).

Numbers2.78B params; wiki fertility = 2.05

Practical UseFor Dutch text, an English-centric tokenizer leads to ~2x subword tokens per word; consider tokenizer updates to reduce compute and latency.

Evidence RefTable 1

Results

MetricValueBaselineDeltaSplit / DatasetEvidenceEvidence Ref
training data size28B tokens (Dutch CulturaX + Wikipedia subset)Training section and Table 1Section 3.1
model size≈2.78B parameters (Phi-2 base)Model creationSection 3.1

What To Try In 7 Days

Reproduce Fietje training/eval via the provided GitHub to understand data filters and configs.

Benchmark a recent small multilingual model (Qwen 2.5 or Phi 3.5) on your Dutch tasks before investing in adaptation.

Measure tokenizer fertility on your Dutch data; consider tokenizer updates to cut token costs if fertility >1.6 tokens/word.

Agent Features

Architectures
decoder-only Transformer

Optimization Features

Token Efficiency
tokenizer fertility impacts cost; Fietje uses Phi-2 tokenizer (2.05 t/w).
Infra Optimization
training on 16 A100 80GB GPUs (reported) and benchmarks on RTX 3090
Model Optimization
continual pretraining (efficient reuse of base model)SFT
System Optimization
benchmarks run with constrained decoding (Outlines) to avoid label hallucinations
Training Optimization
use of alignment-handbook configs for reproducible runstraining in bfloat16 with FlashAttention2 enabled
Inference Optimization
quantized model versions published on Hugging Face

Reproducibility

Risks & Boundaries

Limitations

Started from Phi-2; newer base models quickly surpassed it, so adaptation lags behind new releases.

Training data covers Dutch CulturaX and Wikipedia only; lacks math and code content found in later models.

When Not To Use

If you need state-of-the-art Dutch accuracy today—recent multilingual small models may outperform Fietje.

For fluent Dutch text generation without further post-training on native conversational data.

Failure Modes

DPO preference tuning risks hallucinations or catastrophic forgetting if hyperparameters (beta) are mis-tuned.

Poor tokenization increases cost and can slow processing (high fertility with English-centric tokenizer).

Core Entities

Models

Fietje (fietje-2b, instruct, chat)Phi-2GEITje-7B-ultraBoreas-7BQwen2.5-3B-InstructPhi-3.5-mini-instructLlama-3.2-3B-InstructTweety-7b-dutch-v24aMistral-7B-Instruct-v0.1

Metrics

weighted F1wiki fertility (tokens per word)tokens-per-second (wiki tps)processing time (wiki s)95% confidence intervals

Datasets

CulturaX (Dutch subset)Dutch Wikipedia (Nov 2023 dump)UltraChat 200K DutchNo Robots DutchBelebeleUltraFeedback Dutch CleanedOrca DPO Pairs Dutch Cleaned

Benchmarks

Global MMLU (Dutch)ARC (translated to Dutch)DBRD (Dutch Book Reviews)Dutch CoLAXLWIC-NL (XL-WiC Dutch)

Context Entities

Models

Phi-3.5Qwen 2.5 familyMistral 7B familyGEITje 7B

Metrics

fertility comparisonsmedian ranking across tasks

Datasets

mC4 (subset used by Tweety)SONAR-500 (quality baseline)

Benchmarks

ScandEval (referenced)MMLU original (English)