Parameter-Efficient Adaptation of Large Language Models to a Low-Resource Agglutinative Language: A Corpus, Datasets, and a Reproducible Benchmark for the Bashkir Language
Organizations: Department of Data Analysis and Programming Technologies, Institute of Computational Mathematics and Information Technologies, Kazan (Volga Region) Federal University, Kazan, Russia
Abstract
Bashkir is a low-resource agglutinative language written in Cyrillic and remains poorly represented in modern LLMs. We present an open resource suite and a systematic benchmark of adaptation methods: the Bashkir Web Corpus (71,567 documents, 46.9M tokens, 16 sources) and three labelled datasets for binary, multiclass and multilabel text classification; the benchmark covers the first two. Experiments use eight architectures (82M-8B: DistilGPT2, GPT-2 base/medium, Phi-3-mini, Mistral-7B, YandexGPT-5-Lite-8B, mBERT, XLM-R) and three adaptation groups (full fine-tuning, QLoRA, in-context learning), plus continual pretraining (CPT). (1) QLoRA on 3.8-8B models outperforms encoder-only fine-tuning on binary classification: YandexGPT-5-Lite-8B with CPT reaches macro-F1 0.748 vs 0.653 (XLM-R) and 0.650 (mBERT); pairwise differences are significant after Holm correction (p<0.001). (2) YandexGPT-5-Lite-8B significantly outperforms Mistral-7B and Phi-3-mini on multiclass classification, BPB and native-speaker ratings (mean 3.28 vs 2.52 and 2.22; n=100; alpha=0.69-0.77; p<0.05); on binary classification its QLoRA advantage is not significant (p>=0.084). (3) CPT effects depend on model and task: perplexity improves for Phi-3-mini (+0.58) and YandexGPT-5-Lite-8B (+0.33) but worsens for Mistral-7B (-1.15, p<0.001); on binary classification CPT helps Mistral-7B most (+4.0 macro-F1). (4) Tokeniser fertility on Bashkir varies 2.67x (2.92-7.80) and tracks adaptation quality, while perplexity across tokenisers is not comparable. Cyrillic tokenisers with Russian pretraining are preferable; LLM judges reproduce native ratings for grammar and coherence (rho=0.33-0.46) but not language correctness (rho=0.16, p=0.11); native evaluation remains necessary. All artefacts are open-licensed.
Figures & tables
| Group | lr | Epochs | Batch size | |
|---|---|---|---|---|
| Full FT (step1) | 3 | 8 / 4 | — | |
| QLoRA (step3) | 2 | 2 / 1 | 16 | |
| CPT (step4) | 1 | 1 | 16 | |
| Downstream QLoRA (step4) | 2 | 1 | 16 | |
| QLoRA CLS (step6) | 2 | 2 / 1 | 8 | |
| Encoder full FT (step6) | 3 | 16 | — |
| Model | Method | PPL | BPB | Target | Trainable | Peak |
|---|---|---|---|---|---|---|
| tokens (ba) | parameters, % | memory, MB | ||||
| GPT-2 medium | Full FT | 2.33 | 0.784 | 0.271 | 100 | — |
| GPT-2 base | Full FT | 2.49 | 0.844 | 0.532 | 100 | — |
| DistilGPT2 | Full FT | 2.69 | 0.917 | 0.566 | 100 | — |
| Mistral-7B | QLoRA | 2.90 | 0.549 | 0.598 | 1.10 | 4693 |
| YandexGPT-5-Lite-8B | QLoRA | 3.29 | 0.462 | 0.601 | 0.91 | 6543 |
| Comparison ( vs ) | PPL [95% CI] | BPB [95% CI] | Cohen’s | Cliff’s | ||
|---|---|---|---|---|---|---|
| Mistral-7B vs Phi-3-mini | ||||||
| Mistral-7B vs YandexGPT-5-Lite-8B | ||||||
| Phi-3-mini vs YandexGPT-5-Lite-8B |
| Model | English (WikiText-2) | Russian (Wikipedia) | ||
|---|---|---|---|---|
| PPL after | BPB after | PPL after | BPB after | |
| GPT-2 medium | 39.58 1504.67 | 1.162 2.310 | 9.11 14.45 | 1.854 2.241 |
| GPT-2 base | 54.49 4121.17 | 1.263 2.630 | 11.07 14.14 | 2.018 2.223 |
| DistilGPT2 | 78.05 2963.08 | 1.377 2.526 | 12.66 14.87 | 2.131 2.266 |
| Model | PPL | PPL | PPL | Cliff’s | |
|---|---|---|---|---|---|
| Mistral-7B | 20.48 | 21.63 | large | ||
| Phi-3-mini | 35.81 | 35.23 | large | ||
| YandexGPT-5-Lite-8B | 12.70 | 12.37 | large |
| Model | Method | macro-F1 | weighted-F1 | Accuracy | |
| Full fine-tuning (small models) | |||||
| GPT-2 medium | Full FT | 0.699 | 0.700 | 0.702 | 2 |
| GPT-2 base | Full FT | 0.698 | 0.697 | 0.700 | 2 |
| DistilGPT2 | Full FT | 0.693 | 0.693 | 0.696 | 2 |
| QLoRA without CPT (step6, ) | |||||
| YandexGPT-5-Lite-8B | QLoRA | 0.736 | 0.736 | 0.737 | 1 |
| Comparison ( vs ) | acc a | acc b | [95% CI] | |
|---|---|---|---|---|
| Yandex vs Mistral | 0.737 | 0.713 | ||
| Yandex vs Phi-3 | 0.737 | 0.702 | ||
| Yandex vs mBERT | 0.737 | 0.652 | ||
| Yandex vs XLM-R | 0.737 | 0.659 | ||
| Yandex vs majority | 0.737 | 0.520 |
| Model | Method | macro-F1 | weighted-F1 | Accuracy | |
| QLoRA (medium-scale generative models) | |||||
| YandexGPT-5-Lite-8B | QLoRA (step6) | 0.368 | 0.570 | 0.606 | 1 |
| YandexGPT-5-Lite-8B | QLoRA no CPT (step4) | 0.332 | 0.545 | 0.573 | 1 |
| YandexGPT-5-Lite-8B | CPT + QLoRA (step4) | 0.366 | 0.567 | 0.595 | 1 |
| Mistral-7B | QLoRA (step6) | 0.292 | 0.510 | 0.547 | 1 |
| Mistral-7B | QLoRA no CPT (step4) | 0.298 | 0.512 | 0.542 | 1 |
| Comparison ( vs ) | acc a | acc b | [95% CI] | |
|---|---|---|---|---|
| Yandex vs Mistral | 0.606 | 0.547 | ||
| Yandex vs Phi-3 | 0.606 | 0.506 | ||
| Mistral vs Phi-3 | 0.547 | 0.506 | ||
| XLM-R vs majority | 0.470 | 0.470 | ||
| Phi-3 vs mBERT | 0.506 | 0.498 |
| Bashkir (ba) | Russian (ru) | English (en) | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Model | 0 | 4 | 8 | 0 | 4 | 8 | 0 | 4 | 8 |
| YandexGPT-5-Lite-8B | 0.580 | 0.579 | 0.634 | 0.657 | 0.640 | 0.565 | 0.679 | 0.583 | 0.627 |
| Mistral-7B | 0.360 | 0.315 | 0.421 | 0.482 | 0.414 | 0.452 | 0.411 | 0.558 | 0.397 |
| Phi-3-mini | 0.513 | 0.444 | 0.411 | 0.506 | 0.457 | 0.516 | 0.400 | 0.574 | 0.650 |
| Model | Language | [95% CI] | |||||
|---|---|---|---|---|---|---|---|
| Mistral-7B | ba | 4 | 0.520 | 0.460 | |||
| ba | 8 | 0.520 | 0.440 | ||||
| en | 4 | 0.530 | 0.590 | ||||
| en | 8 | 0.530 | 0.530 | ||||
| ru | 4 | 0.510 | 0.470 | ||||
| ru | 8 | 0.510 | 0.540 |
| Model | Grammar | Coherence | Language | Wins | Losses | Ties |
|---|---|---|---|---|---|---|
| YandexGPT-5-Lite-8B | 2.89 | 2.39 | 2.56 | 16 | 0 | 20 |
| Mistral-7B | 2.83 | 2.44 | 2.58 | 18 | 0 | 16 |
| Phi-3-mini | 2.75 | 2.28 | 2.36 | 12 | 5 | 17 |
| GPT-2 base | 2.37 | 2.19 | 2.66 | 1 | 23 | 14 |
| DistilGPT2 | 2.35 | 2.16 | 2.56 | 9 | 4 | 21 |
| GPT-2 medium | 2.13 | 1.89 | 2.16 | 1 | 25 | 12 |
| Model | Grammar | Coherence | Language | Mean | |
|---|---|---|---|---|---|
| YandexGPT-5-Lite-8B | 11 | 2.94 [2.70, 3.15] | 3.09 [2.76, 3.42] | 3.82 [3.61, 3.97] | 3.28 |
| Mistral-7B | 11 | 2.12 [1.97, 2.30] | 2.18 [1.94, 2.48] | 3.24 [3.00, 3.48] | 2.52 |
| Phi-3-mini | 9 | 1.81 [1.56, 2.07] | 1.81 [1.48, 2.11] | 3.04 [2.85, 3.22] | 2.22 |
| DistilGPT2 | 23 | 1.48 [1.28, 1.70] | 1.39 [1.22, 1.58] | 2.39 [2.16, 2.62] | 1.75 |
| GPT-2 base | 23 | 1.39 [1.20, 1.59] | 1.30 [1.14, 1.51] | 2.33 [2.16, 2.52] | 1.68 |
| GPT-2 medium | 23 | 1.16 [1.04, 1.30] | 1.22 [1.10, 1.35] | 1.70 [1.45, 1.94] | 1.36 |
| Criterion | Significant pairs | |||
|---|---|---|---|---|
| Grammar | 50.81 | 0.487 | 9/15 | |
| Coherence | 49.58 | 0.474 | 9/15 | |
| Language | 61.18 | 0.598 | 13/15 |
| Model | Fertility (ba) | Fertility (en) | Fertility (tr) |
|---|---|---|---|
| GPT-2 family (DistilGPT2, base, medium) | 7.80 | 1.36 | 3.58 |
| Phi-2 (2.7B) | 7.80 | 1.36 | 3.58 |
| Mistral-7B-v0.3 | 4.81 | 1.32 | 3.75 |
| Qwen2.5-7B | 4.23 | 1.37 | 3.00 |
| YandexGPT-5-Lite-8B | 3.80 | 1.26 | 3.22 |
| T-lite-2.1 | 2.92 | 1.37 | 3.03 |
| Model | MorphAcc | OOV rate |
|---|---|---|
| Mistral-7B-v0.3 | 0.093 | 0.065 |
| YandexGPT-5-Lite-8B | 0.086 | 0.037 |
| GPT-2 family (DistilGPT2, base, medium) | 0.057 | 0.043 |
| Phi-2 (2.7B) | 0.057 | 0.043 |
| Qwen2.5-7B | 0.047 | 0.017 |
| T-lite-2.1 | 0.047 | 0.017 |
| Metric | ||||
|---|---|---|---|---|
| PPL | 0.54 | 0.73 | 0.13 | 15 |
| BPB | 0.36 | 0.72 | 0.05 | 15 |
| Proportion of target tokens | 0.81 | 0.27 | 0.08 | 9 |
Low-Resource Language Processing
Low-resource language processing builds and evaluates language technologies for languages with limited data, tools, or digital representation.
See all 565 papers