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

Qolda

GitHub License

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 Results

Evaluation was conducted separately for text-only and vision-language modalities. Qolda demonstrates significant performance improvements for Kazakh while maintaining comparable performance on Russian and English.

Text Benchmarks

Model performance comparison on language benchmarks Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.

Note: The comparison below presents Qolda's performance against Qwen3-4B on Kazakh language benchmarks only. Evaluation results for additional models and performance on Russian and English will be added later.

Model Mode Avg MMLU Winogrande HellaSwag ARC GSM8K DROP
Qwen3-4B Direct 52.00 42.43 56.88 42.04 64.77 73.62 32.27
Qwen3-4B Think 57.73 52.98 51.27 41.86 79.65 64.82 55.81
Qolda Direct 58.77 46.55 56.37 55.75 73.62 63.50 56.84
Qolda Think 71.64 64.56 70.54 57.70 89.99 79.47 67.59

Vision Benchmarks

Model performance comparison on vision-language benchmarks Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.

Note: The comparison below presents Qolda's performance against InternVL3.5-4B on Kazakh vision-language benchmarks only. Evaluation results for additional models and performance on Russian and English will be added later.

Model Mode Avg AI2D MMStar RealWorldQA KazakhOCR
InternVL3.5-4B Direct 42.23 52.33 47.47 38.32 30.81
InternVL3.5-4B Think 42.58 51.42 49.33 38.74 30.81
Qolda Direct 59.39 66.06 55.47 54.97 61.06
Qolda Think 60.44 67.62 56.53 57.07 60.54

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.

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

InternVL3.5 ะถำ™ะฝะต Qwen3 ะฝะตะณั–ะทั–ะฝะดะต ะถะฐัะฐะปา“ะฐะฝ Qolda โ€” า›ะฐะทะฐา›, ะพั€ั‹ั ะถำ™ะฝะต ะฐา“ั‹ะปัˆั‹ะฝ ั‚ั–ะปะดะตั€ั–ะฝะดะต ะถาฑะผั‹ั ั–ัั‚ะตัƒะณะต ะฐั€ะฝะฐะปา“ะฐะฝ ัˆะฐา“ั‹ะฝ ะบำฉั€ัƒ-ั‚ั–ะปะดั–ะบ ะผะพะดะตะปั– (vision-language model). ะœะพะดะตะปัŒ 4,3 ะผะปั€ะด ะฟะฐั€ะฐะผะตั‚ั€ะณะต ะธะต ะถำ™ะฝะต InternVL3.5-4B ะผะพะดะตะปั–ะฝั–าฃ InternViT-300M ะบำฉั€ัƒ ัะฝะบะพะดะตั€ั– ะผะตะฝ MLP ะฟั€ะพะตะบั‚ะพั€ ะบะพะผะฟะพะฝะตะฝั‚ั‚ะตั€ั–ะฝ, ัะพะฝะดะฐะน-ะฐา› Qwen3-4B ั‚ั–ะปะดั–ะบ ะผะพะดะตะปั–ะฝ า›ะฐะผั‚ะธะดั‹. ะœะพะดะตะปัŒะดั– ะพา›ั‹ั‚ัƒ InternVL ั„ั€ะตะนะผะฒะพั€ะบั– ะบำฉะผะตะณั–ะผะตะฝ ะถาฏะทะตะณะต ะฐัั‹ั€ั‹ะปะดั‹ ๐Ÿ’™

"Qolda" ะฐั‚ะฐัƒั‹ ะผะพะดะตะปัŒะดั–าฃ ะดะธะทะฐะนะฝั‹ ะผะตะฝ ะผะฐา›ัะฐั‚ั‹ะฝ า›ะฐะทะฐา› ั‚ั–ะปั–ะฝะดะตะณั– า›ะพะปะดะฐ ัำฉะทั–ะฝั–าฃ า›ะพั ะผะฐา“ั‹ะฝะฐัั‹ ะฐั€า›ั‹ะปั‹ ะบำฉั€ัะตั‚ะตะดั–. ะ‘ั–ั€ั–ะฝัˆั–ัั–, ัˆะฐา“ั‹ะฝ ำ™ั€ั– า›ะพะปะถะตั‚ั–ะผะดั– ะฑะพะปัƒั‹ าฏัˆั–ะฝ "า›ะพะปะดะฐ" cำฉะทั– ะฐั€า›ั‹ะปั‹ ะถำ™ะฝะต ะตะบั–ะฝัˆั–ัั–, ะบำฉะผะตะบัˆั– ั‚ะฐะฑะธา“ะฐั‚ั‹ าฏัˆั–ะฝ, "า›ะพะปะดะฐัƒ" ะผะฐา“ั‹ะฝะฐัั‹ ะฐั€า›ั‹ะปั‹.

ะ‘ะฐา“ะฐะปะฐัƒ ะฝำ™ั‚ะธะถะตะปะตั€ั–

ะœำ™ั‚ั–ะฝะดั–ะบ ะถำ™ะฝะต ะบำฉั€ัƒ-ั‚ั–ะปะดั–ะบ ะผะพะดะฐะปัŒะดั–ะปั–ะบั‚ะตั€ าฏัˆั–ะฝ ะฑะฐา“ะฐะปะฐัƒ ะฑำฉะปะตะบ ะถาฏั€ะณั–ะทั–ะปะดั–. Qolda ะพั€ั‹ั ะถำ™ะฝะต ะฐา“ั‹ะปัˆั‹ะฝ ั‚ั–ะปะดะตั€ั–ะฝะดะตะณั– ำฉะทั–ะฝั–าฃ ะฑะฐัั‚ะฐะฟา›ั‹ ะดะตาฃะณะตะนั–ะฝ ัะฐา›ั‚ะฐะน ะพั‚ั‹ั€ั‹ะฟ, า›ะฐะทะฐา› ั‚ั–ะปั–ะฝะดะตะณั– ำฉะฝั–ะผะดั–ะปั–ะณั–ะฝ ะฐะนั‚ะฐั€ะปั‹า›ั‚ะฐะน ะถะฐา›ัะฐั€ั‚ั‚ั‹.

ะœำ™ั‚ั–ะฝะดั–ะบ ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€

ะขั–ะปะดั–ะบ ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€ะดะฐา“ั‹ ะผะพะดะตะปัŒ ำฉะฝั–ะผะดั–ะปั–ะณั–ะฝ ัะฐะปั‹ัั‚ั‹ั€ัƒ MMLU, Winogrande, HellaSwag, ARC, GSM8K ะถำ™ะฝะต DROP ัะธัา›ั‚ั‹ ั‚ั–ะปะดั–ะบ ั‚ะฐะฟัั‹ั€ะผะฐะปะฐั€ะดะฐา“ั‹ ำฉะฝั–ะผะดั–ะปั–ะบั‚ั– ัะฐะปั‹ัั‚ั‹ั€ัƒ.

ะ•ัะบะตั€ั‚ัƒ: ะขำฉะผะตะฝะดะตะณั– ะบะตัั‚ะตะดะตะณั– Qolda ะถำ™ะฝะต Qwen3-4B ะผะพะดะตะปัŒะดะตั€ั–ะฝั–าฃ ัะฐะปั‹ัั‚ั‹ั€ั‹ะปัƒั‹ ั‚ะตะบ า›ะฐะทะฐา› ั‚ั–ะปั–ะฝะดะตะณั– ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€ ะฝำ™ั‚ะธะถะตะปะตั€ั–ะฝ ะบำฉั€ัะตั‚ะตะดั–. ะ‘ะฐัา›ะฐ ะผะพะดะตะปัŒะดะตั€ะดั–าฃ ำฉะฝั–ะผะดั–ะปั–ะณั–, ัะพะฝะดะฐะน-ะฐา› ะพั€ั‹ั ะถำ™ะฝะต ะฐา“ั‹ะปัˆั‹ะฝ ั‚ั–ะปะดะตั€ั–ะฝะดะตะณั– ะบำฉั€ัะตั‚ะบั–ัˆั‚ะตั€ ะบะตะนั–ะฝั–ั€ะตะบ าฑัั‹ะฝั‹ะปะฐะดั‹.

Model Mode Avg MMLU Winogrande HellaSwag ARC GSM8K DROP
Qwen3-4B Direct 52.00 42.43 56.88 42.04 64.77 73.62 32.27
Qwen3-4B Think 57.73 52.98 51.27 41.86 79.65 64.82 55.81
Qolda Direct 58.77 46.55 56.37 55.75 73.62 63.50 56.84
Qolda Think 71.64 64.56 70.54 57.70 89.99 79.47 67.59

ะšำฉั€ัƒ ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€ั‹

ะšำฉั€ัƒ-ั‚ั–ะปะดั–ะบ ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€ั‹ะฝะดะฐา“ั‹ ะผะพะดะตะปัŒ ำฉะฝั–ะผะดั–ะปั–ะณั–ะฝ ัะฐะปั‹ัั‚ั‹ั€ัƒ AI2D, MMStar, RealWorldQA ะถำ™ะฝะต KazakhOCR ัะธัา›ั‚ั‹ ะบำฉั€ัƒ-ั‚ั–ะปะดั–ะบ ั‚ะฐะฟัั‹ั€ะผะฐะปะฐั€ั‹ะฝะดะฐา“ั‹ ำฉะฝั–ะผะดั–ะปั–ะบั‚ั– ัะฐะปั‹ัั‚ั‹ั€ัƒ.

ะ•ัะบะตั€ั‚ัƒ: ะขำฉะผะตะฝะดะตะณั– ะบะตัั‚ะตะดะตะณั– Qolda ะถำ™ะฝะต InternVL3.5-4B ะผะพะดะตะปัŒะดะตั€ั–ะฝั–าฃ ัะฐะปั‹ัั‚ั‹ั€ั‹ะปัƒั‹ ั‚ะตะบ า›ะฐะทะฐา› ั‚ั–ะปั–ะฝะดะตะณั– ะบำฉั€ัƒ-ั‚ั–ะปะดั–ะบ ะฑะตะฝั‡ะผะฐั€ะบั‚ะฐั€ ะฝำ™ั‚ะธะถะตะปะตั€ั–ะฝ ะบำฉั€ัะตั‚ะตะดั–. ะ‘ะฐัา›ะฐ ะผะพะดะตะปัŒะดะตั€ะดั–าฃ ำฉะฝั–ะผะดั–ะปั–ะณั–, ัะพะฝะดะฐะน-ะฐา› ะพั€ั‹ั ะถำ™ะฝะต ะฐา“ั‹ะปัˆั‹ะฝ ั‚ั–ะปะดะตั€ั–ะฝะดะตะณั– ะบำฉั€ัะตั‚ะบั–ัˆั‚ะตั€ ะบะตะนั–ะฝั–ั€ะตะบ าฑัั‹ะฝั‹ะปะฐะดั‹.

Model Mode Avg AI2D MMStar RealWorldQA KazakhOCR
InternVL3.5-4B Direct 42.23 52.33 47.47 38.32 30.81
InternVL3.5-4B Think 42.58 51.42 49.33 38.74 30.81
Qolda Direct 59.39 66.06 55.47 54.97 61.06
Qolda Think 60.44 67.62 56.53 57.07 60.54

ะœะพะดะตะปัŒะดั– า›ะพะปะดะฐะฝัƒ

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 ะฑะพะนั‹ะฝัˆะฐ ะปะธั†ะตะฝะทะธัะปะฐะฝา“ะฐะฝ.

Downloads last month
162
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