Large language models (LLMs) have become an essential tool for natural language processing and artificial intelligence in general. Current open-source models are primarily trained on English texts, resulting in poorer performance on less-resourced languages and cultures. We present a set of methodological approaches necessary for the successful adaptation of an LLM to a less-resourced language, and demonstrate them using the Slovene language. We present GaMS3-12B, a generative model for Slovene with 12 billion parameters, and demonstrate that it is the best-performing open-source model for Slovene within its parameter range. We adapted the model to the Slovene language using three-stage continual pre-training of the Gemma 3 model, followed by two-stage supervised fine-tuning (SFT). We trained the model on a combination of 140B Slovene, English, Bosnian, Serbian, and Croatian pretraining tokens, and over 200 thousand English and Slovene SFT examples. We evaluate GaMS3-12B on the Slovenian-LLM-Eval datasets, English-to-Slovene translation, and the Slovene LLM arena. We show that the described model outperforms 12B Gemma 3 across all three scenarios and performs comparably to much larger commercial GPT-4o in the Slovene LLM arena, achieving a win rate of over 60 %.
Figures & tables
\headrow Corpus
Number of tokens
Number of documents
Total percentage
DGT
804,847,616
12,281
6.3 %
MaCoCu
430,374,912
6,567
3.4 %
KAS
31,391,744
479
0.2 %
Wikipedia
11,529,093,120
175,920
90.1 %
Total
12,795,707,392
195,247
Table 1: Number of tokens and training documents for parallel alignment corpora. The numbers are displayed after tokenization using the Gemma 3 tokenizer, sequence packing, and padding.
\headrow Corpus
Language
Number of tokens
Number of documents
Total percentage
Nemotron-Pretraining-Code
English
1,952,120,832
29,787
1.9 %
Nemotron-CC-Math-v1-4Plus
English
2,526,937,088
38,558
2.5 %
Nemotron-CC-Math-v1-3
English
1,210,908,672
18,477
1.2 %
Nemotron-Pretraining-SFT-v1
English
3,718,316,032
56,737
3.7 %
Nemotron-CC-v2-HighQuality-Synthetic
English
10,479,403,008
159,903
10.4 %
Nemotron-CC-v2-DiverseQA
English
8,631,353,344
131,704
8.6 %
Table 2: Number of tokens and training documents for the base CPT corpora. The numbers are shown after the tokenization using the Gemma 3 tokenizer, sequence packing and padding. Wikipedia-Yugo stands for combined Slovenian, Bosnian, Croatian and Serbian Wikipedia dums. NUK stands for the Slovenian National and University Library.
\headrow Corpus
Language
Number of tokens
Number of documents
Total percentage
Nemotron-CC-Math-v1-4Plus
English
1,087,373,312
8,296
5.4 %
Nemotron-Pretraining-SFT-v1
English
1,231,945,728
9,399
6.1 %
Nemotron-CC-v2-HighQuality-Synthetic
English
2,634,285,056
20,098
13.1 %
Nemotron-CC-v2-DiverseQA
English
1,237,975,040
9,445
6.2 %
FinePDFs-Bos
Bosnian
1,614,282,752
12,316
8.0 %
FinePDFs-Hrv
Croatian
2,385,248,256
18,198
11.9 %
Table 3: Number of tokens and training documents for the long CPT corpora. The numbers are shown after the tokenization using the Gemma 3 tokenizer, sequence packing, and padding.
Figure 1: Our three-stage OCR pipeline. Each PDF document is first converted to markdown using an OCR model. In case of Llama 4 and Nanonets, the document is OCRed page by page, and the pages are then post-processed using Gemma 3 27B it. With the marker library, these two stages are merged inside the library. In the final stage, the text cleaning is performed using NeMo Curator filters. The diagram chart was AI-generated using the Nano Banana Pro tool.
\headrow Dataset
Language
Number of training examples
Number of validation examples
GaMS-Lex
Slovene
1,884
0
GaMS-Instruct-ClosedQA
Slovene
10,825
1,202
GaMS-Instruct-OpenQA
Slovene
28,704
3,189
GaMS-Instruct-Writing
Slovene
9,056
1,006
GaMS-Instruct-DH 1.0
Slovene
9,135
1,015
Nemotron-SFT-v2-Math-En
English
9,000
1,000
Table 4: Number of training and validation examples per dataset in the general instruction tuning stage.
\headrow Dataset
Language
Number of training examples
Number of validation examples
GaMS-Safety
Slovene
459
0
GaMS-Nemotron-Chat
Slovene, English
88,126
9,791
Total
88,585
9,791
Table 5: Number of training and validation examples per dataset in the chat tuning stage.
\headrow
CPT
SFT
\headrow Hyperparameter
Parallel Alignment
Base CPT
Long CPT
Instruction tuning
Chat tuning
Model Parallelism
TP 8
TP 8
TP 8
DeepSpeed ZeRO Stage 2
DeepSpeed ZeRO Stage 2
Data Parallelism
64
64
16
8
8
Batch Size
128
128 → 192 → 256
64
64
64
Micro Batch Size
1
1
1
8
8
LR Scheduler
Cosine with warmup
Cosine with warmup
Constant with warmup
Cosine with warmup
Cosine with warmup
Table 6: Training hyperparameters across the CPT and SFT stages. During the base CPT stage, we used a ramp-up batch size, where the batch size increased from 128 to 192 after 961 steps. It then increased again from 192 to 256 after another 600 steps. Both SFT stages were performed for 3 epochs; however, the checkpoints after the second epoch were selected based on the validation loss. Hyperparameters for both SFT stages were found using grid search.
\headrow Benchmark
Metric
n-shot
GaMS3-12B
GaMS-9B-Nemotron
GaMS-27B-Nemotron
Zlatorog-12B
ARC Challenge †
Acc.
0
0.5265
0.5171
0.5444
0.4676
ARC Easy †
Acc.
0
0.7744
0.7546
0.7875
0.7079
BoolQ
Acc.
0
0.8523
0.8471
0.8618
0.8321
GSM8K
EM
5
0.6892
0.6277
0.6892
0.5921
HellaSwag
Acc.
0
0.5111
0.5140
0.5428
0.5373
OpenBookQA †
Acc.
0
0.3940
0.4080
0.3980
0.4060
Table 7: Per-benchmark Slovenian-LLM-Eval results for Slovene specialized (top) and multi-lingual open-source models (bottom). Higher scores are better. The score of the best performing model for each benchmark is marked with bold and the score of the second best model is underlined . Acc. stands for accuracy and EM stands for strict exact match. The column n-shot shows the number of solved examples that were added to the prompt. Benchmarks that were manually corrected by native Slovene speakers are marked with †.
\headrow Model
Average rank
GaMS-27B-Nemotron
3.05
Gemma 3 27B
3.20
GaMS3-12B
4.25
Bielik-11B
5.00
GaMS-9B-Nemotron
5.20
Zlatorog-12B
5.60
Table 8: Slovene-LLM-Eval leaderboard based on average model rank across benchmarks. The lower rank is better.
\headrow
COMET ( ↑ )
\headrow Model
Overall
CC-News
Nemotron-Chat
Wikipedia
Lang. err. ( ↓ )
Trunc. err. ( ↓ )
Markdown err. ( ↓ )
Gemini-2.5-flash
0.717982
0.702981
0.697498
0.753924
0.35%
0.42%
3.70%
GaMS-9B-SFT-DPO-Translator
0.708042
0.702903
0.679462
0.742583
0.91%
0.28%
18.28%
GaMS-27B-Instruct
0.701284
0.686480
0.680014
0.730733
27.28%
5.36%
62.07%
GaMS3-12B-Instruct
0.700226
0.684848
0.674523
0.741844
1.11%
1.83%
32.61%
GaMS-9B-Instruct
0.693659
0.685006
0.673394
0.723470
13.50%
4.83%
33.15%
Table 9: English to Slovene translation results. The overall COMET score is computed as the average over the three datasets. The metrics, for which the higher score is better, are marked with ( ↑ ), and the metrics for which the lower score is better are marked with ( ↓ ). The best score for each metric is in bold , and the second best result is underlined .
\headrow Rank
Model
ELO Score
Win Rate
Total Votes
1
Gemini-2.5-Pro
1100
78.3%
181
2
GaMS-27B-Instruct-Nemotron
1062
66.3%
240
3
Gemma-3-27b-it
1049
66.1%
177
4
GaMS-9B-Instruct-Nemotron
1043
64.2%
129
5
Gemini-2.0-Flash
1036
61.0%
156
6
GPT-4o
1030
59.0%
181
Table 10: The leaderboard of top 15 models based on ELO Score on Slovene-LLM-Arena on the 13th of January 2026. Win rate is computed as a ratio between the number of wins and sum of wins and looses (ties are discarded).
Sardinian, a Romance language with roughly one million speakers, has minimal presence in modern NLP. Commercial services do not support it, and current language models do not produce it reliably. We present LLiMba, a 3B parameter Sardinian-ready model adapted from Qwen2.5-3B-Instruct through continued pretraining (CPT) and supervised fine-tuning (SFT) on a single 24 GB consumer GPU. The corpus contains 11.5 million tokens of Sardinian spanning LSC, Logudorese, and Campidanese, augmented with 2.4 million tokens of related Romance text as replay against register blurring. After CPT the model reaches a perplexity of 6.76 on held out Sardinian and outperforms the base across all six FLORES-200 directions. We compare five SFT configurations under matched conditions: full fine-tuning, LoRA r64, rsLoRA r128, rsLoRA r256, and DoRA r256. rsLoRA r256 wins on every direction into Sardinian, reaching 28.5 BLEU from English against 17.3 after CPT and 21.0 with full fine-tuning. The rank ablation places r128 between LoRA r64 and rsLoRA r256 on BLEU but reveals failure modes invisible to the metric, including leakage across scripts no other variant produces. LoRA r64 retains less factual content from SFT than configurations at higher rank and produces more confident fabrications, though all methods fabricate on content absent from training. DoRA r256 yields the smallest gap between training and evaluation but the worst factual accuracy. The findings indicate that adapter capacity matters more than the choice among LoRA variants for adapting a Romance pretrained base to a low resource Romance target, that stronger regularization is not uniformly beneficial, and that translation metrics smoothly order configurations whose qualitative behavior differs categorically. Perplexity comparisons across scripts must account for byte fallback tokenization, which deflates the metric for scripts other than Latin.
Large language model safety evaluation remains heavily English-centered, leaving low-resource languages under-measured even when models are deployed globally. We evaluate four open-weight instruction-tuned models on SomaliBench v0, a native-author-verified benchmark of 100 harmful-intent prompts paired across English and Somali. Each of Llama-3.1-8B-Instruct, Gemma-2-9B-Instruct, Qwen-2.5-7B-Instruct, and Aya-23-8B is run locally with temperature 0 and the same English "helpful, harmless, and honest" (HHH) system prompt. A pinned Claude Sonnet snapshot (claude-sonnet-4-5-20250929) classifies each response as refused, complied, or unclear; the native author spot-checks a stratified 80-row sample. We find large English-to-Somali refusal gaps for all four models: Llama-3.1-8B (0.90; 95% bootstrap CI [0.85, 0.96]), Aya-23-8B (0.75 [0.67, 0.83]), Qwen-2.5-7B (0.69 [0.59, 0.78]), and Gemma-2-9B (0.38 [0.27, 0.49]). For three models, the dominant Somali non-refusal mode is not fluent harmful compliance but unclear output: empty, wrong-language, or incoherent generations. The native verification spot-check achieves 100% agreement with the judge (Cohen's kappa = 1.00) on the 80 sampled rows. We report aggregate refusal rates, category gaps, and reliability statistics only; raw model generations are retained locally and are not released.
Through an analysis of sequences generated by open-weight large language models (LLMs), we demonstrate that LLMs are heavily biased toward English. While continual pre-training is commonly used to adapt LLMs to a target language, we show that it does not offer a cost advantage over training from scratch, even for improving cultural understanding in the target language. These findings suggest that dedicated per-language investment may become increasingly important for future LLM development, rather than relying primarily on the expansion of English-centric resources.