าšะฐะทะฐา›ัˆะฐ     English

Qolda

GitHub License Paper

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:

pip install lmdeploy>=0.9.1

lmdeploy 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:

import base64
from openai import OpenAI

client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

image_path = "./assets/eval-results-text.png"

response = client.chat.completions.create(
    model=client.models.list().data[0].id,
    messages=[{
        'role': 'user',
        'content': [
            {
                'type': 'text',
                'text': 'ะ‘ะตั€ั–ะปะณะตะฝ ะดะธะฐะณั€ะฐะผะผะฐะฝั‹าฃ ัะธะฟะฐั‚ั‚ะฐะผะฐัั‹ะฝ ะฑะตั€.'
            },
            {
                'type': 'image_url',
                'image_url': {
                    'url': f'data:image/png;base64,{encode_image(image_path)}',
                },
            }
        ],
    }],
    max_tokens=8192,
    temperature=0.6,
    top_p=0.95,
    extra_body={
        "top_k": 20,
        "enable_thinking": True
    },
)

print(response.choices[0].message.content)

License

This model is licensed under the Apache License 2.0.

Citation

@article{qolda,
  author={Arystanbekov, Batyr and Nurimanov, Aspandiyar and Maxutov, Akylbek and Albrekht, Vladimir and Kuzdeuov, Askat and Varol, Huseyin Atakan},
  journal={IEEE Access}, 
  title={Qolda: A Small Visionโ€“Language Model for the Kazakh Language}, 
  year={2026},
  volume={14},
  number={},
  pages={46392-46414},
  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},
  doi={10.1109/ACCESS.2026.3676919}
}

ะšั–ั€ั–ัะฟะต

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 า›าฑั€ะฐะปั‹ะฝ ะฟะฐะนะดะฐะปะฐะฝัƒา“ะฐ ะฑะพะปะฐะดั‹:

pip install lmdeploy>=0.9.1

lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch

ะ•ัะบะตั€ั‚ัƒ: Qolda-ะฝั‹าฃ ั‚าฏะฟะฝาฑัา›ะฐะปั‹า› InternVL3.5-ั‚ะตะฝ ะฐะนั‹ั€ะผะฐัˆั‹ะปั‹า“ั‹, ะฑาฑะป ะผะพะดะตะปัŒ API call ะถะฐัะฐา“ะฐะฝ ะบะตะทะดะต extra_body ะฑำฉะปั–ะณั–ะฝะดะต enable_thinking ะฟะฐั€ะฐะผะตั‚ั€ั–ะฝั–าฃ ะฝะฐา›ั‚ั‹ ะพั€ะฝะฐั‚ั‹ะปัƒั‹ะฝ ั‚ะฐะปะฐะฟ ะตั‚ะตะดั–. ะขะฐะฟัั‹ั€ะผะฐะฝั‹าฃ ะบาฏั€ะดะตะปั–ะปั–ะณั–ะฝะต ะฑะฐะนะปะฐะฝั‹ัั‚ั‹ ะฑะพั thinking ะถะฐัƒะฐะฑั‹ า›ะฐะนั‚ะฐั€ั‹ะปัƒั‹ ะผาฏะผะบั–ะฝ.

ะกะพะดะฐะฝ ัะพาฃ, ัั‚ะฐะฝะดะฐั€ั‚ั‚ั‹ API call ะถะฐัะฐาฃั‹ะท:

import base64
from openai import OpenAI

client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

image_path = "./assets/eval-results-text.png"

response = client.chat.completions.create(
    model=client.models.list().data[0].id,
    messages=[{
        'role': 'user',
        'content': [
            {
                'type': 'text',
                'text': 'ะ‘ะตั€ั–ะปะณะตะฝ ะดะธะฐะณั€ะฐะผะผะฐะฝั‹าฃ ัะธะฟะฐั‚ั‚ะฐะผะฐัั‹ะฝ ะฑะตั€.'
            },
            {
                'type': 'image_url',
                'image_url': {
                    'url': f'data:image/png;base64,{encode_image(image_path)}',
                },
            }
        ],
    }],
    max_tokens=8192,
    temperature=0.6,
    top_p=0.95,
    extra_body={
        "top_k": 20,
        "enable_thinking": True
    },
)

print(response.choices[0].message.content)

ะ›ะธั†ะตะฝะทะธั

ะ‘าฑะป ะผะพะดะตะปัŒ Apache License 2.0 ะฑะพะนั‹ะฝัˆะฐ ะปะธั†ะตะฝะทะธัะปะฐะฝา“ะฐะฝ.

ะกั–ะปั‚ะตะผะต

@article{qolda,
  author={Arystanbekov, Batyr and Nurimanov, Aspandiyar and Maxutov, Akylbek and Albrekht, Vladimir and Kuzdeuov, Askat and Varol, Huseyin Atakan},
  journal={IEEE Access}, 
  title={Qolda: A Small Visionโ€“Language Model for the Kazakh Language}, 
  year={2026},
  volume={14},
  number={},
  pages={46392-46414},
  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},
  doi={10.1109/ACCESS.2026.3676919}
}
Downloads last month
797
Safetensors
Model size
4B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for issai/Qolda

Space using issai/Qolda 1