Qolda
Introduction
Built on top of InternVL3.5 and Qwen3,
Qolda is a small vision-language model designed to operate in Kazakh, Russian, and English. The model has 4.3B parameters and comprises the InternViT-300M vision encoder and MLP Projector components from
InternVL3.5-4B, along with the
Qwen3-4B language model. Model training was performed using the
InternVL framework 💙
The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
Evaluation
The benchmark suites and model collections are available here:
The following tables report benchmark results across the Qolda model family. Higher is better unless otherwise noted, and the best result within each row is shown in bold.
Qolda No-Think / Qolda Think · 5B / 9B / 34B = Qolda-AVL variants
Text Benchmarks
| Benchmark | Language | Qolda No-Think (4B) | Qolda Think (4B) | Qolda-AVL-5B | Qolda-AVL-9B | Qolda-AVL-34B |
|---|
| MMLU | Kazakh | 58.39 | 69.28 | 73.07 | 73.89 | 81.94 |
| English | 70.03 | 76.46 | 79.09 | 80.96 | 86.71 |
| MMLU-Pro | Kazakh | 40.62 | 57.68 | 62.21 | 64.28 | 73.67 |
| English | 58.09 | 66.31 | 71.26 | 72.61 | 79.00 |
| Russian | 47.42 | 62.45 | 66.79 | 68.29 | 76.34 |
| GPQA | Kazakh | 31.89 | 38.60 | 47.91 | 46.97 | 58.77 |
| English | 39.46 | 45.62 | 52.68 | 53.36 | 63.81 |
| Russian | 32.60 | 40.19 | 48.78 | 51.34 | 59.36 |
| ARC | Kazakh | 86.14 | 92.30 | 93.59 | 94.27 | 96.76 |
| English | 94.22 | 96.11 | 96.90 | 97.29 | 98.17 |
| Russian | 91.17 | 94.17 | 96.11 | 96.62 | 97.63 |
| GSM8K | Kazakh | 73.01 | 83.00 | 85.75 | 83.17 | 90.52 |
| English | 62.85 | 90.22 | 95.22 | 95.83 | 96.44 |
| Russian | 84.99 | 83.98 | 90.90 | 92.04 | 94.31 |
| MMLU-Redux | Kazakh | 60.06 | 72.38 | 76.24 | 76.92 | 84.39 |
| English | 72.91 | 79.40 | 82.65 | 84.56 | 88.11 |
| KazCulture | Kazakh | 53.00 | 47.45 | 44.75 | 56.39 | 62.37 |
| KazMMLU | Kazakh | 58.11 | 66.14 | 69.27 | 73.04 | 78.98 |
| KazBench | Kazakh | 64.23 | 61.12 | 61.83 | 64.61 | 70.05 |
| Belebele | Kazakh | 81.07 | 82.91 | 81.70 | 84.76 | 88.78 |
| PIQA | Kazakh | 63.00 | 70.00 | 81.00 | 78.00 | 85.00 |
| INCLUDE | Kazakh | 45.20 | 46.00 | 53.80 | 57.20 | 61.80 |
| Russian | 59.17 | 56.52 | 58.15 | 64.49 | 70.83 |
| KKCOPA | Kazakh | 70.00 | 73.79 | 76.60 | 78.11 | 79.60 |
| NIS Math | Kazakh | 66.00 | 87.88 | 94.00 | 93.00 | 98.00 |
| KazQAD | Kazakh | 70.99 | 67.40 | 42.28 | 65.76 | 70.36 |
| RAGBench | Kazakh | 54.95 | 66.81 | 52.12 | 62.91 | 69.98 |
Vision Benchmarks
| Benchmark | Language | Qolda No-Think (4B) | Qolda Think (4B) | Qolda-AVL-5B | Qolda-AVL-9B | Qolda-AVL-34B |
|---|
| RealWorldQA | Kazakh | 53.86 | 48.10 | 52.81 | 50.07 | 55.42 |
| English | 61.57 | 61.70 | 67.84 | 70.07 | 71.76 |
| Russian | 56.08 | 57.12 | 59.35 | 60.39 | 66.41 |
| MMStar | Kazakh | 53.08 | 59.60 | 67.45 | 68.89 | 72.50 |
| English | 58.48 | 65.04 | 70.27 | 72.93 | 75.93 |
| Russian | 55.48 | 59.84 | 66.47 | 69.45 | 73.93 |
| AI2D | Kazakh | 63.48 | 66.26 | 72.18 | 73.34 | 79.05 |
| English | 73.99 | 75.61 | 79.40 | 81.96 | 84.55 |
| MathVista | Kazakh | 58.32 | 66.33 | 70.17 | 72.34 | 74.65 |
| English | 63.14 | 71.04 | 76.75 | 80.94 | 82.57 |
| MathVision | Kazakh | 35.41 | 44.38 | 52.07 | 55.75 | 62.06 |
| English | 42.00 | 48.05 | 54.93 | 58.24 | 63.90 |
| MMBench | Kazakh | 79.97 | 83.85 | 87.69 | 89.19 | 90.18 |
| English | 83.05 | 84.40 | 87.89 | 89.01 | 90.43 |
| OCRBench | Kazakh | 49.89 | 46.49 | 30.61 | 51.25 | 53.97 |
| English | 69.90 | 68.70 | 73.20 | 77.20 | 79.20 |
Model Usage
To run inference with Transformers, please follow the
guidelines from InternVL.
Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
1pip install lmdeploy>=0.9.1
2
3lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
Note: Unlike the original InternVL3.5, this model requires the enable_thinking parameter to be explicitly set in the extra_body of your API calls. However, depending on the task complexity, an empty thinking response might be generated.
Then, make a standard API call:
1import base64
2from openai import OpenAI
3
4client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
5
6def encode_image(image_path):
7 with open(image_path, "rb") as image_file:
8 return base64.b64encode(image_file.read()).decode('utf-8')
9
10image_path = "./assets/eval-results-text.png"
11
12response = client.chat.completions.create(
13 model=client.models.list().data[0].id,
14 messages=[{
15 'role': 'user',
16 'content': [
17 {
18 'type': 'text',
19 'text': 'Берілген диаграмманың сипаттамасын бер.'
20 },
21 {
22 'type': 'image_url',
23 'image_url': {
24 'url': f'data:image/png;base64,{encode_image(image_path)}',
25 },
26 }
27 ],
28 }],
29 max_tokens=8192,
30 temperature=0.6,
31 top_p=0.95,
32 extra_body={
33 "top_k": 20,
34 "enable_thinking": True
35 },
36)
37
38print(response.choices[0].message.content)
License
This model is licensed under the Apache License 2.0.
Citation
1@article{qolda,
2 author={Arystanbekov, Batyr and Nurimanov, Aspandiyar and Maxutov, Akylbek and Albrekht, Vladimir and Kuzdeuov, Askat and Varol, Huseyin Atakan},
3 journal={IEEE Access},
4 title={Qolda: A Small Vision–Language Model for the Kazakh Language},
5 year={2026},
6 volume={14},
7 number={},
8 pages={46392-46414},
9 keywords={Computational modeling;Training;Cognition;Adaptation models;Data models;Visualization;Hardware;Benchmark testing;Multilingual;Computer architecture;Large language models;vision-language models;low-resource languages;Kazakh natural language processing;multimodal learning;small vision-language models},
10 doi={10.1109/ACCESS.2026.3676919}
11}
12
Кіріспе
InternVL3.5 және Qwen3 негізінде жасалған
Qolda — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және
InternVL3.5-4B моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ
Qwen3-4B тілдік моделін қамтиды. Модельді оқыту
InternVL фреймворкі көмегімен жүзеге асырылды 💙
"Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
Бағалау
Бенчмарк жинақтары мен модель топтамалары мына сілтемелерде қолжетімді:
Төмендегі кестелерде Qolda модельдер тобы бойынша бенчмарк нәтижелері берілген.
Qolda No-Think / Qolda Think · 5B / 9B / 34B = Qolda-AVL нұсқалары
Мәтіндік бенчмарктер
| Benchmark | Тіл | Qolda No-Think (4B) | Qolda Think (4B) | Qolda-AVL-5B | Qolda-AVL-9B | Qolda-AVL-34B |
|---|
| MMLU | Қазақша | 58.39 | 69.28 | 73.07 | 73.89 | 81.94 |
| Ағылшынша | 70.03 | 76.46 | 79.09 | 80.96 | 86.71 |
| MMLU-Pro | Қазақша | 40.62 | 57.68 | 62.21 | 64.28 | 73.67 |
| Ағылшынша | 58.09 | 66.31 | 71.26 | 72.61 | 79.00 |
| Орысша | 47.42 | 62.45 | 66.79 | 68.29 | 76.34 |
| GPQA | Қазақша | 31.89 | 38.60 | 47.91 | 46.97 | 58.77 |
| Ағылшынша | 39.46 | 45.62 | 52.68 | 53.36 | 63.81 |
| Орысша | 32.60 | 40.19 | 48.78 | 51.34 | 59.36 |
| ARC | Қазақша | 86.14 | 92.30 | 93.59 | 94.27 | 96.76 |
| Ағылшынша | 94.22 | 96.11 | 96.90 | 97.29 | 98.17 |
| Орысша | 91.17 | 94.17 | 96.11 | 96.62 | 97.63 |
| GSM8K | Қазақша | 73.01 | 83.00 | 85.75 | 83.17 | 90.52 |
| Ағылшынша | 62.85 | 90.22 | 95.22 | 95.83 | 96.44 |
| Орысша | 84.99 | 83.98 | 90.90 | 92.04 | 94.31 |
| MMLU-Redux | Қазақша | 60.06 | 72.38 | 76.24 | 76.92 | 84.39 |
| Ағылшынша | 72.91 | 79.40 | 82.65 | 84.56 | 88.11 |
| KazCulture | Қазақша | 53.00 | 47.45 | 44.75 | 56.39 | 62.37 |
| KazMMLU | Қазақша | 58.11 | 66.14 | 69.27 | 73.04 | 78.98 |
| KazBench | Қазақша | 64.23 | 61.12 | 61.83 | 64.61 | 70.05 |
| Belebele | Қазақша | 81.07 | 82.91 | 81.70 | 84.76 | 88.78 |
| PIQA | Қазақша | 63.00 | 70.00 | 81.00 | 78.00 | 85.00 |
| INCLUDE | Қазақша | 45.20 | 46.00 | 53.80 | 57.20 | 61.80 |
| Орысша | 59.17 | 56.52 | 58.15 | 64.49 | 70.83 |
| KKCOPA | Қазақша | 70.00 | 73.79 | 76.60 | 78.11 | 79.60 |
| NIS Math | Қазақша | 66.00 | 87.88 | 94.00 | 93.00 | 98.00 |
| KazQAD | Қазақша | 70.99 | 67.40 | 42.28 | 65.76 | 70.36 |
| RAGBench | Қазақша | 54.95 | 66.81 | 52.12 | 62.91 | 69.98 |
Визуалды бенчмарктер
| Benchmark | Тіл | Qolda No-Think (4B) | Qolda Think (4B) | Qolda-AVL-5B | Qolda-AVL-9B | Qolda-AVL-34B |
|---|
| RealWorldQA | Қазақша | 53.86 | 48.10 | 52.81 | 50.07 | 55.42 |
| Ағылшынша | 61.57 | 61.70 | 67.84 | 70.07 | 71.76 |
| Орысша | 56.08 | 57.12 | 59.35 | 60.39 | 66.41 |
| MMStar | Қазақша | 53.08 | 59.60 | 67.45 | 68.89 | 72.50 |
| Ағылшынша | 58.48 | 65.04 | 70.27 | 72.93 | 75.93 |
| Орысша | 55.48 | 59.84 | 66.47 | 69.45 | 73.93 |
| AI2D | Қазақша | 63.48 | 66.26 | 72.18 | 73.34 | 79.05 |
| Ағылшынша | 73.99 | 75.61 | 79.40 | 81.96 | 84.55 |
| MathVista | Қазақша | 58.32 | 66.33 | 70.17 | 72.34 | 74.65 |
| Ағылшынша | 63.14 | 71.04 | 76.75 | 80.94 | 82.57 |
| MathVision | Қазақша | 35.41 | 44.38 | 52.07 | 55.75 | 62.06 |
| Ағылшынша | 42.00 | 48.05 | 54.93 | 58.24 | 63.90 |
| MMBench | Қазақша | 79.97 | 83.85 | 87.69 | 89.19 | 90.18 |
| Ағылшынша | 83.05 | 84.40 | 87.89 | 89.01 | 90.43 |
| OCRBench | Қазақша | 49.89 | 46.49 | 30.61 | 51.25 | 53.97 |
| Ағылшынша | 69.90 | 68.70 | 73.20 | 77.20 | 79.20 |
Модельді қолдану
Transformers арқылы инференсті іске қосу үшін InternVL ұсынған
нұсқаулықтарды орындаңыз.
Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
1pip install lmdeploy>=0.9.1
2
3lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
Ескерту: Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде extra_body бөлігінде enable_thinking параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
Содан соң, стандартты API call жасаңыз:
1import base64
2from openai import OpenAI
3
4client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
5
6def encode_image(image_path):
7 with open(image_path, "rb") as image_file:
8 return base64.b64encode(image_file.read()).decode('utf-8')
9
10image_path = "./assets/eval-results-text.png"
11
12response = client.chat.completions.create(
13 model=client.models.list().data[0].id,
14 messages=[{
15 'role': 'user',
16 'content': [
17 {
18 'type': 'text',
19 'text': 'Берілген диаграмманың сипаттамасын бер.'
20 },
21 {
22 'type': 'image_url',
23 'image_url': {
24 'url': f'data:image/png;base64,{encode_image(image_path)}',
25 },
26 }
27 ],
28 }],
29 max_tokens=8192,
30 temperature=0.6,
31 top_p=0.95,
32 extra_body={
33 "top_k": 20,
34 "enable_thinking": True
35 },
36)
37
38print(response.choices[0].message.content)
Лицензия
Бұл модель Apache License 2.0 бойынша лицензияланған.
Сілтеме
1@article{qolda,
2 author={Arystanbekov, Batyr and Nurimanov, Aspandiyar and Maxutov, Akylbek and Albrekht, Vladimir and Kuzdeuov, Askat and Varol, Huseyin Atakan},
3 journal={IEEE Access},
4 title={Qolda: A Small Vision–Language Model for the Kazakh Language},
5 year={2026},
6 volume={14},
7 number={},
8 pages={46392-46414},
9 keywords={Computational modeling;Training;Cognition;Adaptation models;Data models;Visualization;Hardware;Benchmark testing;Multilingual;Computer architecture;Large language models;vision-language models;low-resource languages;Kazakh natural language processing;multimodal learning;small vision-language models},
10 doi={10.1109/ACCESS.2026.3676919}
11}
12