Aspandiyar Nurimanov commited on
Commit
e460f36
·
verified ·
1 Parent(s): df11108

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +17 -0
  2. BF16/Qolda-BF16.gguf +3 -0
  3. BF16/README.md +199 -0
  4. BF16/config.json +128 -0
  5. BF16/generation_config.json +7 -0
  6. BF16/merges.txt +0 -0
  7. BF16/special_tokens_map.json +27 -0
  8. BF16/tokenizer_config.json +308 -0
  9. BF16/vocab.json +0 -0
  10. IQ2_M/Qolda-IQ2_M.gguf +3 -0
  11. IQ3_XXS/Qolda-IQ3_XXS.gguf +3 -0
  12. IQ4_NL/Qolda-IQ4_NL.gguf +3 -0
  13. IQ4_NL/README.md +199 -0
  14. IQ4_NL/config.json +128 -0
  15. IQ4_NL/generation_config.json +7 -0
  16. IQ4_NL/merges.txt +0 -0
  17. IQ4_NL/special_tokens_map.json +27 -0
  18. IQ4_NL/tokenizer_config.json +308 -0
  19. IQ4_NL/vocab.json +0 -0
  20. IQ4_XS/Qolda-IQ4_XS.gguf +3 -0
  21. IQ4_XS/README.md +199 -0
  22. IQ4_XS/config.json +128 -0
  23. IQ4_XS/generation_config.json +7 -0
  24. IQ4_XS/merges.txt +0 -0
  25. IQ4_XS/special_tokens_map.json +27 -0
  26. IQ4_XS/tokenizer_config.json +308 -0
  27. IQ4_XS/vocab.json +0 -0
  28. Q2_K/Qolda-Q2_K.gguf +3 -0
  29. Q2_K/README.md +199 -0
  30. Q2_K/config.json +128 -0
  31. Q2_K/generation_config.json +7 -0
  32. Q2_K/merges.txt +0 -0
  33. Q2_K/special_tokens_map.json +27 -0
  34. Q2_K/tokenizer_config.json +308 -0
  35. Q2_K/vocab.json +0 -0
  36. Q3_K_M/Qolda-Q3_K_M.gguf +3 -0
  37. Q3_K_M/README.md +199 -0
  38. Q3_K_M/config.json +128 -0
  39. Q3_K_M/generation_config.json +7 -0
  40. Q3_K_M/merges.txt +0 -0
  41. Q3_K_M/special_tokens_map.json +27 -0
  42. Q3_K_M/tokenizer_config.json +308 -0
  43. Q3_K_M/vocab.json +0 -0
  44. Q3_K_S/Qolda-Q3_K_S.gguf +3 -0
  45. Q3_K_S/README.md +199 -0
  46. Q3_K_S/config.json +128 -0
  47. Q3_K_S/generation_config.json +7 -0
  48. Q3_K_S/merges.txt +0 -0
  49. Q3_K_S/special_tokens_map.json +27 -0
  50. Q3_K_S/tokenizer_config.json +308 -0
.gitattributes CHANGED
@@ -36,3 +36,20 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
36
  Qolda-F16.gguf filter=lfs diff=lfs merge=lfs -text
37
  Qolda-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
38
  Qolda-mmproj-F16.gguf filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  Qolda-F16.gguf filter=lfs diff=lfs merge=lfs -text
37
  Qolda-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
38
  Qolda-mmproj-F16.gguf filter=lfs diff=lfs merge=lfs -text
39
+ BF16/Qolda-BF16.gguf filter=lfs diff=lfs merge=lfs -text
40
+ IQ2_M/Qolda-IQ2_M.gguf filter=lfs diff=lfs merge=lfs -text
41
+ IQ3_XXS/Qolda-IQ3_XXS.gguf filter=lfs diff=lfs merge=lfs -text
42
+ IQ4_NL/Qolda-IQ4_NL.gguf filter=lfs diff=lfs merge=lfs -text
43
+ IQ4_XS/Qolda-IQ4_XS.gguf filter=lfs diff=lfs merge=lfs -text
44
+ Q2_K/Qolda-Q2_K.gguf filter=lfs diff=lfs merge=lfs -text
45
+ Q3_K_M/Qolda-Q3_K_M.gguf filter=lfs diff=lfs merge=lfs -text
46
+ Q3_K_S/Qolda-Q3_K_S.gguf filter=lfs diff=lfs merge=lfs -text
47
+ Q4_0/Qolda-Q4_0.gguf filter=lfs diff=lfs merge=lfs -text
48
+ Q4_1/Qolda-Q4_1.gguf filter=lfs diff=lfs merge=lfs -text
49
+ Q4_K_M/Qolda-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
50
+ Q4_K_S/Qolda-Q4_K_S.gguf filter=lfs diff=lfs merge=lfs -text
51
+ Q5_K_M/Qolda-Q5_K_M.gguf filter=lfs diff=lfs merge=lfs -text
52
+ Q5_K_S/Qolda-Q5_K_S.gguf filter=lfs diff=lfs merge=lfs -text
53
+ Q6_K/Qolda-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
54
+ Q8_0/Qolda-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
55
+ TQ1_0/Qolda-TQ1_0.gguf filter=lfs diff=lfs merge=lfs -text
BF16/Qolda-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a67799076983cf3b8f28f8b56f99d3027445fc5eeac9944ba4800dfa72e06fab
3
+ size 8051285056
BF16/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)     [English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
BF16/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
BF16/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
BF16/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
BF16/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
BF16/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }
BF16/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
IQ2_M/Qolda-IQ2_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:396fa4ddc45daf38581ece3a046fa3897a286e6f264908ff9ed6ba904fc521f9
3
+ size 273374272
IQ3_XXS/Qolda-IQ3_XXS.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:396fa4ddc45daf38581ece3a046fa3897a286e6f264908ff9ed6ba904fc521f9
3
+ size 273374272
IQ4_NL/Qolda-IQ4_NL.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd451aa7562045deecb63b09e82a6048ce9b6dc7beb5272a901cb6f9b278da03
3
+ size 2393795136
IQ4_NL/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
IQ4_NL/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
IQ4_NL/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
IQ4_NL/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
IQ4_NL/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
IQ4_NL/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }
IQ4_NL/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
IQ4_XS/Qolda-IQ4_XS.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cc4f5a37e8e19b336e55a4ecb67b356d3c905d6f17ac674f115bc3e92e7c395a
3
+ size 2286316096
IQ4_XS/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
IQ4_XS/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
IQ4_XS/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
IQ4_XS/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
IQ4_XS/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
IQ4_XS/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }
IQ4_XS/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
Q2_K/Qolda-Q2_K.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:136e01918c5161c389595bb15e664a44ad9dfd41034f8aa8a0d3840e94add17f
3
+ size 1669499456
Q2_K/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
Q2_K/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
Q2_K/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
Q2_K/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
Q2_K/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
Q2_K/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }
Q2_K/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
Q3_K_M/Qolda-Q3_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a1e32493e1e7ac979387341ab657f411628a97002ffeb56b022f7abe6f01da7f
3
+ size 2075617856
Q3_K_M/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
Q3_K_M/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
Q3_K_M/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
Q3_K_M/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
Q3_K_M/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
Q3_K_M/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }
Q3_K_M/vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
Q3_K_S/Qolda-Q3_K_S.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dbeab7f510099010636ba780e50949d559fd0aa254926820db247a33706e1fec
3
+ size 1886997056
Q3_K_S/README.md ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - kk
4
+ - ru
5
+ - en
6
+ base_model:
7
+ - OpenGVLab/InternVL3_5-4B
8
+ pipeline_tag: image-text-to-text
9
+ ---
10
+ [Қазақша](#кіріспе)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[English](#introduction)
11
+
12
+ # Qolda
13
+ [![GitHub](https://img.shields.io/badge/GitHub-Qolda--deployment-blue?logo=github)](https://github.com/IS2AI/Qolda-deployment)
14
+ [![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://www.apache.org/licenses/LICENSE-2.0)
15
+
16
+ ## Introduction
17
+ 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](https://huggingface.co/OpenGVLab/InternVL3_5-4B), along with the [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) language model. Model training was performed using the [InternVL framework](https://github.com/OpenGVLab/InternVL) 💙
18
+
19
+ The name "Qolda" reflects both its design and purpose in Kazakh: "in hand" (қолда) for its compact accessibility, and "to support" (қолдау) for its assistive nature.
20
+
21
+ ## Evaluation Results
22
+ 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.
23
+
24
+ ### Text Benchmarks
25
+ ![Model performance comparison on language benchmarks](assets/eval-results-text.png)
26
+ *Performance comparison on language tasks including MMLU, Winogrande, HellaSwag, ARC, GSM8K, and DROP.*
27
+
28
+ **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.
29
+
30
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
31
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
32
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
33
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
34
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
35
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
36
+
37
+ ### Vision Benchmarks
38
+ ![Model performance comparison on vision-language benchmarks](assets/eval-results-vision.png)
39
+ *Performance comparison on vision-language tasks including AI2D, MMStar, RealWorldQA, and KazakhOCR.*
40
+
41
+ **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.
42
+
43
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
44
+ |-------|------|--------|--------|----------|---------------|-------------|
45
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
46
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
47
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
48
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
49
+
50
+ ## Model Usage
51
+ To run inference with Transformers, please follow the [guidelines](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) from InternVL.
52
+
53
+ Alternatively, to run the model via an OpenAI-compatible server, you can use lmdeploy:
54
+ ```bash
55
+ pip install lmdeploy>=0.9.1
56
+
57
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
58
+ ```
59
+
60
+ **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.
61
+
62
+ Then, make a standard API call:
63
+
64
+ ```python
65
+ import base64
66
+ from openai import OpenAI
67
+
68
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
69
+
70
+ def encode_image(image_path):
71
+ with open(image_path, "rb") as image_file:
72
+ return base64.b64encode(image_file.read()).decode('utf-8')
73
+
74
+ image_path = "./assets/eval-results-text.png"
75
+
76
+ response = client.chat.completions.create(
77
+ model=client.models.list().data[0].id,
78
+ messages=[{
79
+ 'role': 'user',
80
+ 'content': [
81
+ {
82
+ 'type': 'text',
83
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
84
+ },
85
+ {
86
+ 'type': 'image_url',
87
+ 'image_url': {
88
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
89
+ },
90
+ }
91
+ ],
92
+ }],
93
+ max_tokens=8192,
94
+ temperature=0.6,
95
+ top_p=0.95,
96
+ extra_body={
97
+ "top_k": 20,
98
+ "enable_thinking": True
99
+ },
100
+ )
101
+
102
+ print(response.choices[0].message.content)
103
+ ```
104
+
105
+ ## License
106
+ This model is licensed under the Apache License 2.0.
107
+
108
+
109
+ ## Кіріспе
110
+ InternVL3.5 және Qwen3 негізінде жаса��ған **Qolda** — қазақ, орыс және ағылшын тілдерінде жұмыс істеуге арналған шағын көру-тілдік моделі (vision-language model). Модель 4,3 млрд параметрге ие және [InternVL3.5-4B](https://huggingface.co/OpenGVLab/InternVL3_5-4B) моделінің InternViT-300M көру энкодері мен MLP проектор компоненттерін, сондай-ақ [Qwen3-4B](https://huggingface.co/Qwen/Qwen3-4B) тілдік моделін қамтиды. Модельді оқыту [InternVL фреймворкі](https://github.com/OpenGVLab/InternVL) көмегімен жүзеге асырылды 💙
111
+
112
+ "Qolda" атауы модельдің дизайны мен мақсатын қазақ тіліндегі қолда сөзінің қос мағынасы арқылы көрсетеді. Біріншісі, шағын әрі қолжетімді болуы үшін "қолда" cөзі арқылы және екіншісі, көмекші табиғаты үшін, "қолдау" мағынасы арқылы.
113
+
114
+ ## Бағалау нәтижелері
115
+ Мәтіндік және көру-тілдік модальділіктер үшін бағалау бөлек жүргізілді. Qolda орыс және ағылшын тілдеріндегі өзінің бастапқы деңгейін сақтай отырып, қазақ тіліндегі өнімділігін айтарлықтай жақсартты.
116
+
117
+ ### Мәтіндік бенчмарктар
118
+ ![Тілдік бенчмарктардағы модель өнімділігін салыстыру](assets/eval-results-text.png)
119
+ *MMLU, Winogrande, HellaSwag, ARC, GSM8K және DROP сияқты тілдік тапсырмалардағы өнімділікті салыстыру.*
120
+
121
+ **Ескерту:** Төмендегі кестедегі Qolda және Qwen3-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
122
+
123
+ | Model | Mode | Avg | MMLU | Winogrande | HellaSwag | ARC | GSM8K | DROP |
124
+ |-------|------|-----|------|------------|-----------|-----|-------|------|
125
+ | Qwen3-4B | Direct | 52.00 | 42.43 | 56.88 | 42.04 | 64.77 | 73.62 | 32.27 |
126
+ | Qwen3-4B | Think | 57.73 | 52.98 | 51.27 | 41.86 | 79.65 | 64.82 | 55.81 |
127
+ | Qolda | Direct | 58.77 | 46.55 | 56.37 | 55.75 | 73.62 | 63.50 | 56.84 |
128
+ | Qolda | Think | **71.64** | **64.56** | **70.54** | **57.70** | **89.99** | **79.47** | **67.59** |
129
+
130
+ ### Көру бенчмарктары
131
+ ![Көру-тілдік бенчмарктарындағы модель өнімділігін салыстыру](assets/eval-results-vision.png)
132
+ *AI2D, MMStar, RealWorldQA және KazakhOCR сияқты көру-тілдік тапсырмаларындағы өнімділікті салыстыру.*
133
+
134
+ **Ескерту:** Төмендегі кестедегі Qolda және InternVL3.5-4B модельдерінің салыстырылуы тек **қазақ** тіліндегі көру-тілдік бенчмарктар нәтижелерін көрсетеді. Басқа модельдердің өнімділігі, сондай-ақ орыс және ағылшын тілдеріндегі көрсеткіштер кейінірек ұсынылады.
135
+
136
+ | Model | Mode | Avg | AI2D | MMStar | RealWorldQA | KazakhOCR |
137
+ |-------|------|--------|--------|----------|---------------|-------------|
138
+ | InternVL3.5-4B | Direct | 42.23 | 52.33 | 47.47 | 38.32 | 30.81 |
139
+ | InternVL3.5-4B | Think | 42.58 | 51.42 | 49.33 | 38.74 | 30.81 |
140
+ | Qolda | Direct | 59.39 | 66.06 | 55.47 | 54.97 | **61.06** |
141
+ | Qolda | Think | **60.44** | **67.62** | **56.53** | **57.07** | 60.54 |
142
+
143
+ ## Модельді қолдану
144
+ Transformers арқылы инференсті іске қосу үшін InternVL ұсынған [нұсқаулықтарды](https://huggingface.co/OpenGVLab/InternVL3_5-4B#inference-with-transformers) орындаңыз.
145
+
146
+ Немесе, модельді OpenAI-үйлесімді сервер арқылы іске қосу үшін lmdeploy құралын пайдалануға болады:
147
+ ```bash
148
+ pip install lmdeploy>=0.9.1
149
+
150
+ lmdeploy serve api_server issai/Qolda --server-port 23333 --tp 1 --backend pytorch
151
+ ```
152
+
153
+ **Ескерту:** Qolda-ның түпнұсқалық InternVL3.5-тен айырмашылығы, бұл модель API call жасаған кезде `extra_body` бөлігінде `enable_thinking` параметрінің нақты орнатылуын талап етеді. Тапсырманың күрделілігіне байланысты бос thinking жауабы қайтарылуы мүмкін.
154
+
155
+ Содан соң, стандартты API call жасаңыз:
156
+
157
+ ```python
158
+ import base64
159
+ from openai import OpenAI
160
+
161
+ client = OpenAI(api_key='YOUR_API_KEY', base_url='http://0.0.0.0:23333/v1')
162
+
163
+ def encode_image(image_path):
164
+ with open(image_path, "rb") as image_file:
165
+ return base64.b64encode(image_file.read()).decode('utf-8')
166
+
167
+ image_path = "./assets/eval-results-text.png"
168
+
169
+ response = client.chat.completions.create(
170
+ model=client.models.list().data[0].id,
171
+ messages=[{
172
+ 'role': 'user',
173
+ 'content': [
174
+ {
175
+ 'type': 'text',
176
+ 'text': 'Берілген диаграмманың сипаттамасын бер.'
177
+ },
178
+ {
179
+ 'type': 'image_url',
180
+ 'image_url': {
181
+ 'url': f'data:image/png;base64,{encode_image(image_path)}',
182
+ },
183
+ }
184
+ ],
185
+ }],
186
+ max_tokens=8192,
187
+ temperature=0.6,
188
+ top_p=0.95,
189
+ extra_body={
190
+ "top_k": 20,
191
+ "enable_thinking": True
192
+ },
193
+ )
194
+
195
+ print(response.choices[0].message.content)
196
+ ```
197
+
198
+ ## Лицензия
199
+ Бұл модель Apache License 2.0 бойынша лицензияланған.
Q3_K_S/config.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "InternVLChatModel"
4
+ ],
5
+ "auto_map": {
6
+ "AutoConfig": "configuration_internvl_chat.InternVLChatConfig",
7
+ "AutoModel": "modeling_internvl_chat.InternVLChatModel",
8
+ "AutoModelForCausalLM": "modeling_internvl_chat.InternVLChatModel"
9
+ },
10
+ "downsample_ratio": 0.5,
11
+ "dynamic_image_size": true,
12
+ "eos_token_id": 151645,
13
+ "force_image_size": 448,
14
+ "hidden_size": 2560,
15
+ "llm_config": {
16
+ "_attn_implementation_autoset": true,
17
+ "architectures": [
18
+ "Qwen3ForCausalLM"
19
+ ],
20
+ "attention_bias": false,
21
+ "attention_dropout": 0.0,
22
+ "eos_token_id": 151645,
23
+ "head_dim": 128,
24
+ "hidden_act": "silu",
25
+ "hidden_size": 2560,
26
+ "initializer_range": 0.02,
27
+ "intermediate_size": 9728,
28
+ "layer_types": [
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention",
41
+ "full_attention",
42
+ "full_attention",
43
+ "full_attention",
44
+ "full_attention",
45
+ "full_attention",
46
+ "full_attention",
47
+ "full_attention",
48
+ "full_attention",
49
+ "full_attention",
50
+ "full_attention",
51
+ "full_attention",
52
+ "full_attention",
53
+ "full_attention",
54
+ "full_attention",
55
+ "full_attention",
56
+ "full_attention",
57
+ "full_attention",
58
+ "full_attention",
59
+ "full_attention",
60
+ "full_attention",
61
+ "full_attention",
62
+ "full_attention",
63
+ "full_attention",
64
+ "full_attention"
65
+ ],
66
+ "max_position_embeddings": 40960,
67
+ "max_window_layers": 36,
68
+ "model_type": "qwen3",
69
+ "num_attention_heads": 32,
70
+ "num_hidden_layers": 36,
71
+ "num_key_value_heads": 8,
72
+ "rms_norm_eps": 1e-06,
73
+ "rope_scaling": null,
74
+ "rope_theta": 1000000,
75
+ "sliding_window": null,
76
+ "tie_word_embeddings": true,
77
+ "torch_dtype": "bfloat16",
78
+ "use_cache": false,
79
+ "use_sliding_window": false,
80
+ "vocab_size": 151936
81
+ },
82
+ "max_dynamic_patch": 12,
83
+ "min_dynamic_patch": 1,
84
+ "model_type": "internvl_chat",
85
+ "output_attentions": false,
86
+ "pad2square": false,
87
+ "pad_token_id": 151643,
88
+ "ps_version": "v2",
89
+ "select_layer": -1,
90
+ "template": "internvl2_5",
91
+ "tie_word_embeddings": true,
92
+ "torch_dtype": "bfloat16",
93
+ "transformers_version": null,
94
+ "use_backbone_lora": 0,
95
+ "use_llm_lora": 0,
96
+ "use_thumbnail": true,
97
+ "vision_config": {
98
+ "_attn_implementation_autoset": true,
99
+ "architectures": [
100
+ "InternVisionModel"
101
+ ],
102
+ "attention_dropout": 0.0,
103
+ "auto_map": {
104
+ "AutoConfig": "configuration_intern_vit.InternVisionConfig",
105
+ "AutoModel": "modeling_intern_vit.InternVisionModel"
106
+ },
107
+ "drop_path_rate": 0.0,
108
+ "dropout": 0.0,
109
+ "hidden_act": "gelu",
110
+ "hidden_size": 1024,
111
+ "image_size": 448,
112
+ "initializer_factor": 1.0,
113
+ "initializer_range": 0.02,
114
+ "intermediate_size": 4096,
115
+ "layer_norm_eps": 1e-06,
116
+ "model_type": "intern_vit_6b",
117
+ "norm_type": "layer_norm",
118
+ "num_attention_heads": 16,
119
+ "num_channels": 3,
120
+ "num_hidden_layers": 24,
121
+ "patch_size": 14,
122
+ "qk_normalization": false,
123
+ "qkv_bias": true,
124
+ "torch_dtype": "bfloat16",
125
+ "use_fa3": false,
126
+ "use_flash_attn": true
127
+ }
128
+ }
Q3_K_S/generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 151643,
4
+ "eos_token_id": 151645,
5
+ "pad_token_id": 151643,
6
+ "transformers_version": "4.51.0"
7
+ }
Q3_K_S/merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
Q3_K_S/special_tokens_map.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<img>",
4
+ "</img>",
5
+ "<IMG_CONTEXT>",
6
+ "<quad>",
7
+ "</quad>",
8
+ "<ref>",
9
+ "</ref>",
10
+ "<box>",
11
+ "</box>"
12
+ ],
13
+ "eos_token": {
14
+ "content": "<|im_end|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false
19
+ },
20
+ "pad_token": {
21
+ "content": "<|endoftext|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false
26
+ }
27
+ }
Q3_K_S/tokenizer_config.json ADDED
@@ -0,0 +1,308 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": false,
5
+ "added_tokens_decoder": {
6
+ "151643": {
7
+ "content": "<|endoftext|>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "151644": {
15
+ "content": "<|im_start|>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "151645": {
23
+ "content": "<|im_end|>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "151646": {
31
+ "content": "<|object_ref_start|>",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "151647": {
39
+ "content": "<|object_ref_end|>",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "151648": {
47
+ "content": "<|box_start|>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "151649": {
55
+ "content": "<|box_end|>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "151650": {
63
+ "content": "<|quad_start|>",
64
+ "lstrip": false,
65
+ "normalized": false,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ },
70
+ "151651": {
71
+ "content": "<|quad_end|>",
72
+ "lstrip": false,
73
+ "normalized": false,
74
+ "rstrip": false,
75
+ "single_word": false,
76
+ "special": true
77
+ },
78
+ "151652": {
79
+ "content": "<|vision_start|>",
80
+ "lstrip": false,
81
+ "normalized": false,
82
+ "rstrip": false,
83
+ "single_word": false,
84
+ "special": true
85
+ },
86
+ "151653": {
87
+ "content": "<|vision_end|>",
88
+ "lstrip": false,
89
+ "normalized": false,
90
+ "rstrip": false,
91
+ "single_word": false,
92
+ "special": true
93
+ },
94
+ "151654": {
95
+ "content": "<|vision_pad|>",
96
+ "lstrip": false,
97
+ "normalized": false,
98
+ "rstrip": false,
99
+ "single_word": false,
100
+ "special": true
101
+ },
102
+ "151655": {
103
+ "content": "<|image_pad|>",
104
+ "lstrip": false,
105
+ "normalized": false,
106
+ "rstrip": false,
107
+ "single_word": false,
108
+ "special": true
109
+ },
110
+ "151656": {
111
+ "content": "<|video_pad|>",
112
+ "lstrip": false,
113
+ "normalized": false,
114
+ "rstrip": false,
115
+ "single_word": false,
116
+ "special": true
117
+ },
118
+ "151657": {
119
+ "content": "<tool_call>",
120
+ "lstrip": false,
121
+ "normalized": false,
122
+ "rstrip": false,
123
+ "single_word": false,
124
+ "special": false
125
+ },
126
+ "151658": {
127
+ "content": "</tool_call>",
128
+ "lstrip": false,
129
+ "normalized": false,
130
+ "rstrip": false,
131
+ "single_word": false,
132
+ "special": false
133
+ },
134
+ "151659": {
135
+ "content": "<|fim_prefix|>",
136
+ "lstrip": false,
137
+ "normalized": false,
138
+ "rstrip": false,
139
+ "single_word": false,
140
+ "special": false
141
+ },
142
+ "151660": {
143
+ "content": "<|fim_middle|>",
144
+ "lstrip": false,
145
+ "normalized": false,
146
+ "rstrip": false,
147
+ "single_word": false,
148
+ "special": false
149
+ },
150
+ "151661": {
151
+ "content": "<|fim_suffix|>",
152
+ "lstrip": false,
153
+ "normalized": false,
154
+ "rstrip": false,
155
+ "single_word": false,
156
+ "special": false
157
+ },
158
+ "151662": {
159
+ "content": "<|fim_pad|>",
160
+ "lstrip": false,
161
+ "normalized": false,
162
+ "rstrip": false,
163
+ "single_word": false,
164
+ "special": false
165
+ },
166
+ "151663": {
167
+ "content": "<|repo_name|>",
168
+ "lstrip": false,
169
+ "normalized": false,
170
+ "rstrip": false,
171
+ "single_word": false,
172
+ "special": false
173
+ },
174
+ "151664": {
175
+ "content": "<|file_sep|>",
176
+ "lstrip": false,
177
+ "normalized": false,
178
+ "rstrip": false,
179
+ "single_word": false,
180
+ "special": false
181
+ },
182
+ "151665": {
183
+ "content": "<tool_response>",
184
+ "lstrip": false,
185
+ "normalized": false,
186
+ "rstrip": false,
187
+ "single_word": false,
188
+ "special": false
189
+ },
190
+ "151666": {
191
+ "content": "</tool_response>",
192
+ "lstrip": false,
193
+ "normalized": false,
194
+ "rstrip": false,
195
+ "single_word": false,
196
+ "special": false
197
+ },
198
+ "151667": {
199
+ "content": "<think>",
200
+ "lstrip": false,
201
+ "normalized": false,
202
+ "rstrip": false,
203
+ "single_word": false,
204
+ "special": false
205
+ },
206
+ "151668": {
207
+ "content": "</think>",
208
+ "lstrip": false,
209
+ "normalized": false,
210
+ "rstrip": false,
211
+ "single_word": false,
212
+ "special": false
213
+ },
214
+ "151669": {
215
+ "content": "<img>",
216
+ "lstrip": false,
217
+ "normalized": false,
218
+ "rstrip": false,
219
+ "single_word": false,
220
+ "special": true
221
+ },
222
+ "151670": {
223
+ "content": "</img>",
224
+ "lstrip": false,
225
+ "normalized": false,
226
+ "rstrip": false,
227
+ "single_word": false,
228
+ "special": true
229
+ },
230
+ "151671": {
231
+ "content": "<IMG_CONTEXT>",
232
+ "lstrip": false,
233
+ "normalized": false,
234
+ "rstrip": false,
235
+ "single_word": false,
236
+ "special": true
237
+ },
238
+ "151672": {
239
+ "content": "<quad>",
240
+ "lstrip": false,
241
+ "normalized": false,
242
+ "rstrip": false,
243
+ "single_word": false,
244
+ "special": true
245
+ },
246
+ "151673": {
247
+ "content": "</quad>",
248
+ "lstrip": false,
249
+ "normalized": false,
250
+ "rstrip": false,
251
+ "single_word": false,
252
+ "special": true
253
+ },
254
+ "151674": {
255
+ "content": "<ref>",
256
+ "lstrip": false,
257
+ "normalized": false,
258
+ "rstrip": false,
259
+ "single_word": false,
260
+ "special": true
261
+ },
262
+ "151675": {
263
+ "content": "</ref>",
264
+ "lstrip": false,
265
+ "normalized": false,
266
+ "rstrip": false,
267
+ "single_word": false,
268
+ "special": true
269
+ },
270
+ "151676": {
271
+ "content": "<box>",
272
+ "lstrip": false,
273
+ "normalized": false,
274
+ "rstrip": false,
275
+ "single_word": false,
276
+ "special": true
277
+ },
278
+ "151677": {
279
+ "content": "</box>",
280
+ "lstrip": false,
281
+ "normalized": false,
282
+ "rstrip": false,
283
+ "single_word": false,
284
+ "special": true
285
+ }
286
+ },
287
+ "additional_special_tokens": [
288
+ "<img>",
289
+ "</img>",
290
+ "<IMG_CONTEXT>",
291
+ "<quad>",
292
+ "</quad>",
293
+ "<ref>",
294
+ "</ref>",
295
+ "<box>",
296
+ "</box>"
297
+ ],
298
+ "bos_token": null,
299
+ "clean_up_tokenization_spaces": false,
300
+ "eos_token": "<|im_end|>",
301
+ "errors": "replace",
302
+ "extra_special_tokens": {},
303
+ "model_max_length": 8192,
304
+ "pad_token": "<|endoftext|>",
305
+ "split_special_tokens": false,
306
+ "tokenizer_class": "Qwen2Tokenizer",
307
+ "unk_token": null
308
+ }