frozenc commited on
Commit
8613884
·
verified ·
1 Parent(s): 9bb6663
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # OpenSearch-AI/Ops-ColQwen3-4B
2
+
3
+ **Ops-ColQwen3-4B** is a ColPali-style multimodal embedding model based on the **Qwen3-VL-4B-Instruct** architecture, developed and open-sourced by the Alibaba Cloud OpenSearch-AI team. It maps text queries and visual documents such as images and PDF pages into a unified, aligned **multi-vector embedding space**, enabling highly effective retrieval of visual documents.
4
+
5
+ The model is trained using a multi-stage strategy that combines large-scale text-based retrieval datasets with diverse visual document data. This hybrid training approach significantly enhances its capability to handle complex document understanding and retrieval tasks. On the Vidore v1–v3 benchmarks, **Ops-ColQwen3-4B** achieves **state-of-the-art results** among models of comparable size.
6
+
7
+ ## Key Features
8
+
9
+ - **Model size**: 4 billion parameters
10
+ - **Multimodal alignment**: Enables fine-grained semantic alignment between text and images or PDF pages
11
+ - **Multi-vector embeddings**: Following the ColPali design, each input generates multiple context-aware embedding vectors; similarity is computed using **MaxSim**, enabling high-precision matching
12
+ - **Scalable embedding dimensions**: Supports embedding dimensions up to **2,560** during inference via an extended projection head, enabling **higher retrieval accuracy** through more expressive representations. Lower-dimensional prefixes (e.g., the first 128 or 320 dimensions) remain highly effective for lightweight applications.
13
+ - **Multilingual support**: Covers over 30 languages
14
+ - **Context length**: Supports up to **32,000 tokens**
15
+ - **Visual token capacity**: Handles up to **1,280 visual tokens** per page input.
16
+
17
+ ## Usage
18
+
19
+ **Requirements**
20
+ ```
21
+ transformers>=4.57.0
22
+ qwen-vl-utils>=0.0.14
23
+ torch==2.8.0
24
+ colpali_engine==0.3.12
25
+ ```
26
+
27
+ **Basic Usage**
28
+
29
+ ```python
30
+ from PIL import Image
31
+ from scripts.ops_colqwen3_embedder import OpsColQwen3Embedder
32
+
33
+ images = [Image.new("RGB", (32, 32), color="white"), Image.new("RGB", (16, 16), color="black")]
34
+
35
+ queries = ["Is attention really all you need?", "What is the amount of bananas farmed in Salvador?"]
36
+
37
+ encoder = OpsColQwen3Embedder(
38
+ model_name="OpenSearch-AI/Ops-Colqwen3-4B",
39
+ dims=320,
40
+ dtype=torch.float16,
41
+ attn_implementation="flash_attention_2",
42
+ )
43
+
44
+ query_embeddings = encoder.encode_texts(queries, batch_size=2)
45
+ image_embeddings = encoder.encode_images(images, batch_size=2)
46
+
47
+ scores = encoder.compute_scores(query_embeddings, image_embeddings)
48
+ print(f"Scores:\n{scores}")
49
+ ```
50
+
51
+ ## Model Performance
52
+
53
+ ### Vidore v1 + v2 (NDCG@5)
54
+
55
+ | Model | Dim | Vidore v1+v2 | Vidore v2 | Vidore v1 |
56
+ |--------------------------------------------|------|--------------|-----------|-----------|
57
+ | **Ops-ColQwen3-4B** | 2560 | **84.87** | **68.7** | **91.4** |
58
+ | **Ops-ColQwen3-4B** | 1280 | 84.71 | 68.2 | 91.3 |
59
+ | **Ops-ColQwen3-4B** | 640 | 84.39 | 67.7 | 91.1 |
60
+ | **Ops-ColQwen3-4B** | 320 | 84.12 | 67.0 | 91.0 |
61
+ | **Ops-ColQwen3-4B** | 128 | 84.04 | 66.9 | 90.9 |
62
+ | tomoro-colqwen3-embed-8b | 320 | 83.52 | 65.4 | 90.8 |
63
+ | EvoQwen2.5-VL-Retriever-7B-v1 | 128 | 83.41 | 65.2 | 90.7 |
64
+ | tomoro-colqwen3-embed-4b | 320 | 83.18 | 64.7 | 90.6 |
65
+ | llama-nemoretriever-colembed-3b-v1 | 3072 | 83.10 | 63.3 | 91.0 |
66
+ | SauerkrautLM-ColQwen3-8b-v0.1 | 128 | 82.91 | 62.5 | 91.1 |
67
+ | EvoQwen2.5-VL-Retriever-3B-v1 | 128 | 82.76 | 63.0 | 90.7 |
68
+ | SauerkrautLM-ColQwen3-4b-v0.1 | 128 | 81.97 | 59.9 | 90.8 |
69
+ | jina-embedding-v4 | 128 | 81.17 | 58.2 | 90.4 |
70
+
71
+
72
+
73
+ ### Vidore v3 (NDCG@10)
74
+
75
+ | Model | Dim | PUB AVG |
76
+ |--------------------------------------------|------|---------|
77
+ | **Ops-ColQwen3-4B** | 2560 | 61.27 |
78
+ | **Ops-ColQwen3-4B** | 1280 | **61.32** |
79
+ | **Ops-ColQwen3-4B** | 640 | 61.21 |
80
+ | **Ops-ColQwen3-4B** | 320 | 60.88 |
81
+ | **Ops-ColQwen3-4B** | 128 | 60.23 |
82
+ | tomoro-colqwen3-embed-4b | 320 | 60.19 |
83
+ | SauerkrautLM-ColQwen3-8b-v0.1 | 128 | 58.55 |
84
+ | jina-embedding-v4 | 128 | 57.54 |
85
+ | llama-nemoretriever-colembed-3b-v1 | 3072 | 57.07 |
86
+ | SauerkrautLM-ColQwen3-4b-v0.1 | 128 | 56.03 |
87
+
88
+
89
+ > With only **128 dimensions**, `Ops-ColQwen3-4B` outperforms other 4B-parameter models such as `tomoro-colqwen3-embed-4b`, making it well-suited for latency- and memory-constrained applications.
90
+
91
+
92
+ ## Citation
93
+
94
+ If you use this model in your work, please cite:
95
+
96
+ ```bibtex
97
+ @misc{ops_colqwen3_4b,
98
+ author = {{OpenSearch-AI}},
99
+ title = {{Ops-ColQwen3: State-of-the-Art Multimodal Embedding Model for Visual Document Retrieval}},
100
+ year = {2026},
101
+ howpublished = {\url{https://huggingface.co/OpenSearch-AI/Ops-ColQwen3-4B}},
102
+ }
103
+ ```
added_tokens.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</think>": 151668,
3
+ "</tool_call>": 151658,
4
+ "</tool_response>": 151666,
5
+ "<think>": 151667,
6
+ "<tool_call>": 151657,
7
+ "<tool_response>": 151665,
8
+ "<|box_end|>": 151649,
9
+ "<|box_start|>": 151648,
10
+ "<|endoftext|>": 151643,
11
+ "<|file_sep|>": 151664,
12
+ "<|fim_middle|>": 151660,
13
+ "<|fim_pad|>": 151662,
14
+ "<|fim_prefix|>": 151659,
15
+ "<|fim_suffix|>": 151661,
16
+ "<|im_end|>": 151645,
17
+ "<|im_start|>": 151644,
18
+ "<|image_pad|>": 151655,
19
+ "<|object_ref_end|>": 151647,
20
+ "<|object_ref_start|>": 151646,
21
+ "<|quad_end|>": 151651,
22
+ "<|quad_start|>": 151650,
23
+ "<|repo_name|>": 151663,
24
+ "<|video_pad|>": 151656,
25
+ "<|vision_end|>": 151653,
26
+ "<|vision_pad|>": 151654,
27
+ "<|vision_start|>": 151652
28
+ }
chat_template.jinja ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0].role == 'system' %}
4
+ {%- if messages[0].content is string %}
5
+ {{- messages[0].content }}
6
+ {%- else %}
7
+ {%- for content in messages[0].content %}
8
+ {%- if 'text' in content %}
9
+ {{- content.text }}
10
+ {%- endif %}
11
+ {%- endfor %}
12
+ {%- endif %}
13
+ {{- '\n\n' }}
14
+ {%- endif %}
15
+ {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
16
+ {%- for tool in tools %}
17
+ {{- "\n" }}
18
+ {{- tool | tojson }}
19
+ {%- endfor %}
20
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
21
+ {%- else %}
22
+ {%- if messages[0].role == 'system' %}
23
+ {{- '<|im_start|>system\n' }}
24
+ {%- if messages[0].content is string %}
25
+ {{- messages[0].content }}
26
+ {%- else %}
27
+ {%- for content in messages[0].content %}
28
+ {%- if 'text' in content %}
29
+ {{- content.text }}
30
+ {%- endif %}
31
+ {%- endfor %}
32
+ {%- endif %}
33
+ {{- '<|im_end|>\n' }}
34
+ {%- endif %}
35
+ {%- endif %}
36
+ {%- set image_count = namespace(value=0) %}
37
+ {%- set video_count = namespace(value=0) %}
38
+ {%- for message in messages %}
39
+ {%- if message.role == "user" %}
40
+ {{- '<|im_start|>' + message.role + '\n' }}
41
+ {%- if message.content is string %}
42
+ {{- message.content }}
43
+ {%- else %}
44
+ {%- for content in message.content %}
45
+ {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}
46
+ {%- set image_count.value = image_count.value + 1 %}
47
+ {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}
48
+ <|vision_start|><|image_pad|><|vision_end|>
49
+ {%- elif content.type == 'video' or 'video' in content %}
50
+ {%- set video_count.value = video_count.value + 1 %}
51
+ {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}
52
+ <|vision_start|><|video_pad|><|vision_end|>
53
+ {%- elif 'text' in content %}
54
+ {{- content.text }}
55
+ {%- endif %}
56
+ {%- endfor %}
57
+ {%- endif %}
58
+ {{- '<|im_end|>\n' }}
59
+ {%- elif message.role == "assistant" %}
60
+ {{- '<|im_start|>' + message.role + '\n' }}
61
+ {%- if message.content is string %}
62
+ {{- message.content }}
63
+ {%- else %}
64
+ {%- for content_item in message.content %}
65
+ {%- if 'text' in content_item %}
66
+ {{- content_item.text }}
67
+ {%- endif %}
68
+ {%- endfor %}
69
+ {%- endif %}
70
+ {%- if message.tool_calls %}
71
+ {%- for tool_call in message.tool_calls %}
72
+ {%- if (loop.first and message.content) or (not loop.first) %}
73
+ {{- '\n' }}
74
+ {%- endif %}
75
+ {%- if tool_call.function %}
76
+ {%- set tool_call = tool_call.function %}
77
+ {%- endif %}
78
+ {{- '<tool_call>\n{"name": "' }}
79
+ {{- tool_call.name }}
80
+ {{- '", "arguments": ' }}
81
+ {%- if tool_call.arguments is string %}
82
+ {{- tool_call.arguments }}
83
+ {%- else %}
84
+ {{- tool_call.arguments | tojson }}
85
+ {%- endif %}
86
+ {{- '}\n</tool_call>' }}
87
+ {%- endfor %}
88
+ {%- endif %}
89
+ {{- '<|im_end|>\n' }}
90
+ {%- elif message.role == "tool" %}
91
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
92
+ {{- '<|im_start|>user' }}
93
+ {%- endif %}
94
+ {{- '\n<tool_response>\n' }}
95
+ {%- if message.content is string %}
96
+ {{- message.content }}
97
+ {%- else %}
98
+ {%- for content in message.content %}
99
+ {%- if content.type == 'image' or 'image' in content or 'image_url' in content %}
100
+ {%- set image_count.value = image_count.value + 1 %}
101
+ {%- if add_vision_id %}Picture {{ image_count.value }}: {% endif -%}
102
+ <|vision_start|><|image_pad|><|vision_end|>
103
+ {%- elif content.type == 'video' or 'video' in content %}
104
+ {%- set video_count.value = video_count.value + 1 %}
105
+ {%- if add_vision_id %}Video {{ video_count.value }}: {% endif -%}
106
+ <|vision_start|><|video_pad|><|vision_end|>
107
+ {%- elif 'text' in content %}
108
+ {{- content.text }}
109
+ {%- endif %}
110
+ {%- endfor %}
111
+ {%- endif %}
112
+ {{- '\n</tool_response>' }}
113
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
114
+ {{- '<|im_end|>\n' }}
115
+ {%- endif %}
116
+ {%- endif %}
117
+ {%- endfor %}
118
+ {%- if add_generation_prompt %}
119
+ {{- '<|im_start|>assistant\n' }}
120
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "ColQwen3VLModel"
4
+ ],
5
+ "dtype": "float32",
6
+ "image_token_id": 151655,
7
+ "model_type": "qwen3_vl",
8
+ "text_config": {
9
+ "attention_bias": false,
10
+ "attention_dropout": 0.0,
11
+ "bos_token_id": 151643,
12
+ "dtype": "bfloat16",
13
+ "eos_token_id": 151645,
14
+ "head_dim": 128,
15
+ "hidden_act": "silu",
16
+ "hidden_size": 2560,
17
+ "initializer_range": 0.02,
18
+ "intermediate_size": 9728,
19
+ "max_position_embeddings": 262144,
20
+ "model_type": "qwen3_vl_text",
21
+ "num_attention_heads": 32,
22
+ "num_hidden_layers": 36,
23
+ "num_key_value_heads": 8,
24
+ "rms_norm_eps": 1e-06,
25
+ "rope_scaling": {
26
+ "mrope_interleaved": true,
27
+ "mrope_section": [
28
+ 24,
29
+ 20,
30
+ 20
31
+ ],
32
+ "rope_type": "default"
33
+ },
34
+ "rope_theta": 5000000,
35
+ "tie_word_embeddings": true,
36
+ "use_cache": true,
37
+ "vocab_size": 151936
38
+ },
39
+ "tie_word_embeddings": true,
40
+ "transformers_version": "4.57.1",
41
+ "video_token_id": 151656,
42
+ "vision_config": {
43
+ "deepstack_visual_indexes": [
44
+ 5,
45
+ 11,
46
+ 17
47
+ ],
48
+ "depth": 24,
49
+ "dtype": "bfloat16",
50
+ "hidden_act": "gelu_pytorch_tanh",
51
+ "hidden_size": 1024,
52
+ "in_channels": 3,
53
+ "initializer_range": 0.02,
54
+ "intermediate_size": 4096,
55
+ "model_type": "qwen3_vl",
56
+ "num_heads": 16,
57
+ "num_position_embeddings": 2304,
58
+ "out_hidden_size": 2560,
59
+ "patch_size": 16,
60
+ "spatial_merge_size": 2,
61
+ "temporal_patch_size": 2
62
+ },
63
+ "vision_end_token_id": 151653,
64
+ "vision_start_token_id": 151652
65
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model.safetensors.index.json ADDED
@@ -0,0 +1,723 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_parameters": 4444371969,
4
+ "total_size": 8888743940
5
+ },
6
+ "weight_map": {
7
+ "custom_text_proj.bias": "model-00002-of-00002.safetensors",
8
+ "custom_text_proj.weight": "model-00002-of-00002.safetensors",
9
+ "language_model.embed_tokens.weight": "model-00001-of-00002.safetensors",
10
+ "language_model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors",
11
+ "language_model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
12
+ "language_model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
13
+ "language_model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
14
+ "language_model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
15
+ "language_model.layers.0.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
16
+ "language_model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
17
+ "language_model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
18
+ "language_model.layers.0.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
19
+ "language_model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
20
+ "language_model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
21
+ "language_model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors",
22
+ "language_model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
23
+ "language_model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
24
+ "language_model.layers.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
25
+ "language_model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
26
+ "language_model.layers.1.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
27
+ "language_model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
28
+ "language_model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
29
+ "language_model.layers.1.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
30
+ "language_model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
31
+ "language_model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
32
+ "language_model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors",
33
+ "language_model.layers.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
34
+ "language_model.layers.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
35
+ "language_model.layers.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
36
+ "language_model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
37
+ "language_model.layers.10.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
38
+ "language_model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
39
+ "language_model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
40
+ "language_model.layers.10.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
41
+ "language_model.layers.10.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
42
+ "language_model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
43
+ "language_model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors",
44
+ "language_model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
45
+ "language_model.layers.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
46
+ "language_model.layers.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
47
+ "language_model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
48
+ "language_model.layers.11.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
49
+ "language_model.layers.11.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
50
+ "language_model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
51
+ "language_model.layers.11.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
52
+ "language_model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
53
+ "language_model.layers.11.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
54
+ "language_model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors",
55
+ "language_model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
56
+ "language_model.layers.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
57
+ "language_model.layers.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
58
+ "language_model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
59
+ "language_model.layers.12.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
60
+ "language_model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
61
+ "language_model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
62
+ "language_model.layers.12.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
63
+ "language_model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
64
+ "language_model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
65
+ "language_model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors",
66
+ "language_model.layers.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
67
+ "language_model.layers.13.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
68
+ "language_model.layers.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
69
+ "language_model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
70
+ "language_model.layers.13.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
71
+ "language_model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
72
+ "language_model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
73
+ "language_model.layers.13.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
74
+ "language_model.layers.13.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
75
+ "language_model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
76
+ "language_model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors",
77
+ "language_model.layers.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
78
+ "language_model.layers.14.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
79
+ "language_model.layers.14.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
80
+ "language_model.layers.14.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
81
+ "language_model.layers.14.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
82
+ "language_model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
83
+ "language_model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
84
+ "language_model.layers.14.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
85
+ "language_model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
86
+ "language_model.layers.14.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
87
+ "language_model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors",
88
+ "language_model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
89
+ "language_model.layers.15.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
90
+ "language_model.layers.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
91
+ "language_model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
92
+ "language_model.layers.15.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
93
+ "language_model.layers.15.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
94
+ "language_model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
95
+ "language_model.layers.15.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
96
+ "language_model.layers.15.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
97
+ "language_model.layers.15.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
98
+ "language_model.layers.16.input_layernorm.weight": "model-00002-of-00002.safetensors",
99
+ "language_model.layers.16.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
100
+ "language_model.layers.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
101
+ "language_model.layers.16.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
102
+ "language_model.layers.16.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
103
+ "language_model.layers.16.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
104
+ "language_model.layers.16.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
105
+ "language_model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
106
+ "language_model.layers.16.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
107
+ "language_model.layers.16.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
108
+ "language_model.layers.16.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
109
+ "language_model.layers.17.input_layernorm.weight": "model-00002-of-00002.safetensors",
110
+ "language_model.layers.17.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
111
+ "language_model.layers.17.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
112
+ "language_model.layers.17.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
113
+ "language_model.layers.17.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
114
+ "language_model.layers.17.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
115
+ "language_model.layers.17.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
116
+ "language_model.layers.17.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
117
+ "language_model.layers.17.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
118
+ "language_model.layers.17.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
119
+ "language_model.layers.17.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
120
+ "language_model.layers.18.input_layernorm.weight": "model-00002-of-00002.safetensors",
121
+ "language_model.layers.18.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
122
+ "language_model.layers.18.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
123
+ "language_model.layers.18.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
124
+ "language_model.layers.18.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
125
+ "language_model.layers.18.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
126
+ "language_model.layers.18.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
127
+ "language_model.layers.18.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
128
+ "language_model.layers.18.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
129
+ "language_model.layers.18.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
130
+ "language_model.layers.18.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
131
+ "language_model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors",
132
+ "language_model.layers.19.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
133
+ "language_model.layers.19.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
134
+ "language_model.layers.19.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
135
+ "language_model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
136
+ "language_model.layers.19.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
137
+ "language_model.layers.19.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
138
+ "language_model.layers.19.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
139
+ "language_model.layers.19.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
140
+ "language_model.layers.19.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
141
+ "language_model.layers.19.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
142
+ "language_model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors",
143
+ "language_model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
144
+ "language_model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
145
+ "language_model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
146
+ "language_model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
147
+ "language_model.layers.2.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
148
+ "language_model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
149
+ "language_model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
150
+ "language_model.layers.2.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
151
+ "language_model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
152
+ "language_model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
153
+ "language_model.layers.20.input_layernorm.weight": "model-00002-of-00002.safetensors",
154
+ "language_model.layers.20.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
155
+ "language_model.layers.20.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
156
+ "language_model.layers.20.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
157
+ "language_model.layers.20.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
158
+ "language_model.layers.20.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
159
+ "language_model.layers.20.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
160
+ "language_model.layers.20.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
161
+ "language_model.layers.20.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
162
+ "language_model.layers.20.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
163
+ "language_model.layers.20.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
164
+ "language_model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors",
165
+ "language_model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
166
+ "language_model.layers.21.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
167
+ "language_model.layers.21.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
168
+ "language_model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
169
+ "language_model.layers.21.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
170
+ "language_model.layers.21.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
171
+ "language_model.layers.21.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
172
+ "language_model.layers.21.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
173
+ "language_model.layers.21.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
174
+ "language_model.layers.21.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
175
+ "language_model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors",
176
+ "language_model.layers.22.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
177
+ "language_model.layers.22.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
178
+ "language_model.layers.22.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
179
+ "language_model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
180
+ "language_model.layers.22.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
181
+ "language_model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
182
+ "language_model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
183
+ "language_model.layers.22.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
184
+ "language_model.layers.22.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
185
+ "language_model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
186
+ "language_model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors",
187
+ "language_model.layers.23.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
188
+ "language_model.layers.23.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
189
+ "language_model.layers.23.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
190
+ "language_model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
191
+ "language_model.layers.23.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
192
+ "language_model.layers.23.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
193
+ "language_model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
194
+ "language_model.layers.23.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
195
+ "language_model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
196
+ "language_model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
197
+ "language_model.layers.24.input_layernorm.weight": "model-00002-of-00002.safetensors",
198
+ "language_model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
199
+ "language_model.layers.24.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
200
+ "language_model.layers.24.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
201
+ "language_model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
202
+ "language_model.layers.24.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
203
+ "language_model.layers.24.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
204
+ "language_model.layers.24.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
205
+ "language_model.layers.24.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
206
+ "language_model.layers.24.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
207
+ "language_model.layers.24.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
208
+ "language_model.layers.25.input_layernorm.weight": "model-00002-of-00002.safetensors",
209
+ "language_model.layers.25.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
210
+ "language_model.layers.25.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
211
+ "language_model.layers.25.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
212
+ "language_model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
213
+ "language_model.layers.25.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
214
+ "language_model.layers.25.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
215
+ "language_model.layers.25.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
216
+ "language_model.layers.25.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
217
+ "language_model.layers.25.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
218
+ "language_model.layers.25.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
219
+ "language_model.layers.26.input_layernorm.weight": "model-00002-of-00002.safetensors",
220
+ "language_model.layers.26.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
221
+ "language_model.layers.26.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
222
+ "language_model.layers.26.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
223
+ "language_model.layers.26.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
224
+ "language_model.layers.26.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
225
+ "language_model.layers.26.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
226
+ "language_model.layers.26.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
227
+ "language_model.layers.26.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
228
+ "language_model.layers.26.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
229
+ "language_model.layers.26.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
230
+ "language_model.layers.27.input_layernorm.weight": "model-00002-of-00002.safetensors",
231
+ "language_model.layers.27.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
232
+ "language_model.layers.27.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
233
+ "language_model.layers.27.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
234
+ "language_model.layers.27.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
235
+ "language_model.layers.27.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
236
+ "language_model.layers.27.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
237
+ "language_model.layers.27.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
238
+ "language_model.layers.27.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
239
+ "language_model.layers.27.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
240
+ "language_model.layers.27.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
241
+ "language_model.layers.28.input_layernorm.weight": "model-00002-of-00002.safetensors",
242
+ "language_model.layers.28.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
243
+ "language_model.layers.28.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
244
+ "language_model.layers.28.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
245
+ "language_model.layers.28.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
246
+ "language_model.layers.28.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
247
+ "language_model.layers.28.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
248
+ "language_model.layers.28.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
249
+ "language_model.layers.28.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
250
+ "language_model.layers.28.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
251
+ "language_model.layers.28.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
252
+ "language_model.layers.29.input_layernorm.weight": "model-00002-of-00002.safetensors",
253
+ "language_model.layers.29.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
254
+ "language_model.layers.29.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
255
+ "language_model.layers.29.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
256
+ "language_model.layers.29.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
257
+ "language_model.layers.29.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
258
+ "language_model.layers.29.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
259
+ "language_model.layers.29.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
260
+ "language_model.layers.29.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
261
+ "language_model.layers.29.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
262
+ "language_model.layers.29.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
263
+ "language_model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors",
264
+ "language_model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
265
+ "language_model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
266
+ "language_model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
267
+ "language_model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
268
+ "language_model.layers.3.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
269
+ "language_model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
270
+ "language_model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
271
+ "language_model.layers.3.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
272
+ "language_model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
273
+ "language_model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
274
+ "language_model.layers.30.input_layernorm.weight": "model-00002-of-00002.safetensors",
275
+ "language_model.layers.30.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
276
+ "language_model.layers.30.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
277
+ "language_model.layers.30.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
278
+ "language_model.layers.30.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
279
+ "language_model.layers.30.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
280
+ "language_model.layers.30.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
281
+ "language_model.layers.30.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
282
+ "language_model.layers.30.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
283
+ "language_model.layers.30.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
284
+ "language_model.layers.30.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
285
+ "language_model.layers.31.input_layernorm.weight": "model-00002-of-00002.safetensors",
286
+ "language_model.layers.31.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
287
+ "language_model.layers.31.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
288
+ "language_model.layers.31.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
289
+ "language_model.layers.31.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
290
+ "language_model.layers.31.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
291
+ "language_model.layers.31.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
292
+ "language_model.layers.31.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
293
+ "language_model.layers.31.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
294
+ "language_model.layers.31.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
295
+ "language_model.layers.31.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
296
+ "language_model.layers.32.input_layernorm.weight": "model-00002-of-00002.safetensors",
297
+ "language_model.layers.32.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
298
+ "language_model.layers.32.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
299
+ "language_model.layers.32.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
300
+ "language_model.layers.32.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
301
+ "language_model.layers.32.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
302
+ "language_model.layers.32.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
303
+ "language_model.layers.32.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
304
+ "language_model.layers.32.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
305
+ "language_model.layers.32.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
306
+ "language_model.layers.32.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
307
+ "language_model.layers.33.input_layernorm.weight": "model-00002-of-00002.safetensors",
308
+ "language_model.layers.33.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
309
+ "language_model.layers.33.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
310
+ "language_model.layers.33.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
311
+ "language_model.layers.33.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
312
+ "language_model.layers.33.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
313
+ "language_model.layers.33.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
314
+ "language_model.layers.33.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
315
+ "language_model.layers.33.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
316
+ "language_model.layers.33.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
317
+ "language_model.layers.33.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
318
+ "language_model.layers.34.input_layernorm.weight": "model-00002-of-00002.safetensors",
319
+ "language_model.layers.34.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
320
+ "language_model.layers.34.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
321
+ "language_model.layers.34.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
322
+ "language_model.layers.34.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
323
+ "language_model.layers.34.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
324
+ "language_model.layers.34.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
325
+ "language_model.layers.34.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
326
+ "language_model.layers.34.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
327
+ "language_model.layers.34.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
328
+ "language_model.layers.34.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
329
+ "language_model.layers.35.input_layernorm.weight": "model-00002-of-00002.safetensors",
330
+ "language_model.layers.35.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
331
+ "language_model.layers.35.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
332
+ "language_model.layers.35.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
333
+ "language_model.layers.35.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
334
+ "language_model.layers.35.self_attn.k_norm.weight": "model-00002-of-00002.safetensors",
335
+ "language_model.layers.35.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
336
+ "language_model.layers.35.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
337
+ "language_model.layers.35.self_attn.q_norm.weight": "model-00002-of-00002.safetensors",
338
+ "language_model.layers.35.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
339
+ "language_model.layers.35.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
340
+ "language_model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors",
341
+ "language_model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
342
+ "language_model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
343
+ "language_model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
344
+ "language_model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
345
+ "language_model.layers.4.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
346
+ "language_model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
347
+ "language_model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
348
+ "language_model.layers.4.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
349
+ "language_model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
350
+ "language_model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
351
+ "language_model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors",
352
+ "language_model.layers.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
353
+ "language_model.layers.5.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
354
+ "language_model.layers.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
355
+ "language_model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
356
+ "language_model.layers.5.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
357
+ "language_model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
358
+ "language_model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
359
+ "language_model.layers.5.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
360
+ "language_model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
361
+ "language_model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
362
+ "language_model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors",
363
+ "language_model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
364
+ "language_model.layers.6.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
365
+ "language_model.layers.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
366
+ "language_model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
367
+ "language_model.layers.6.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
368
+ "language_model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
369
+ "language_model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
370
+ "language_model.layers.6.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
371
+ "language_model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
372
+ "language_model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
373
+ "language_model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors",
374
+ "language_model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
375
+ "language_model.layers.7.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
376
+ "language_model.layers.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
377
+ "language_model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
378
+ "language_model.layers.7.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
379
+ "language_model.layers.7.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
380
+ "language_model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
381
+ "language_model.layers.7.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
382
+ "language_model.layers.7.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
383
+ "language_model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
384
+ "language_model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors",
385
+ "language_model.layers.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
386
+ "language_model.layers.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
387
+ "language_model.layers.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
388
+ "language_model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
389
+ "language_model.layers.8.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
390
+ "language_model.layers.8.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
391
+ "language_model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
392
+ "language_model.layers.8.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
393
+ "language_model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
394
+ "language_model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
395
+ "language_model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors",
396
+ "language_model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
397
+ "language_model.layers.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
398
+ "language_model.layers.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
399
+ "language_model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
400
+ "language_model.layers.9.self_attn.k_norm.weight": "model-00001-of-00002.safetensors",
401
+ "language_model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
402
+ "language_model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
403
+ "language_model.layers.9.self_attn.q_norm.weight": "model-00001-of-00002.safetensors",
404
+ "language_model.layers.9.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
405
+ "language_model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
406
+ "language_model.norm.weight": "model-00002-of-00002.safetensors",
407
+ "visual.blocks.0.attn.proj.bias": "model-00001-of-00002.safetensors",
408
+ "visual.blocks.0.attn.proj.weight": "model-00001-of-00002.safetensors",
409
+ "visual.blocks.0.attn.qkv.bias": "model-00001-of-00002.safetensors",
410
+ "visual.blocks.0.attn.qkv.weight": "model-00001-of-00002.safetensors",
411
+ "visual.blocks.0.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
412
+ "visual.blocks.0.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
413
+ "visual.blocks.0.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
414
+ "visual.blocks.0.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
415
+ "visual.blocks.0.norm1.bias": "model-00001-of-00002.safetensors",
416
+ "visual.blocks.0.norm1.weight": "model-00001-of-00002.safetensors",
417
+ "visual.blocks.0.norm2.bias": "model-00001-of-00002.safetensors",
418
+ "visual.blocks.0.norm2.weight": "model-00001-of-00002.safetensors",
419
+ "visual.blocks.1.attn.proj.bias": "model-00001-of-00002.safetensors",
420
+ "visual.blocks.1.attn.proj.weight": "model-00001-of-00002.safetensors",
421
+ "visual.blocks.1.attn.qkv.bias": "model-00001-of-00002.safetensors",
422
+ "visual.blocks.1.attn.qkv.weight": "model-00001-of-00002.safetensors",
423
+ "visual.blocks.1.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
424
+ "visual.blocks.1.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
425
+ "visual.blocks.1.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
426
+ "visual.blocks.1.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
427
+ "visual.blocks.1.norm1.bias": "model-00001-of-00002.safetensors",
428
+ "visual.blocks.1.norm1.weight": "model-00001-of-00002.safetensors",
429
+ "visual.blocks.1.norm2.bias": "model-00001-of-00002.safetensors",
430
+ "visual.blocks.1.norm2.weight": "model-00001-of-00002.safetensors",
431
+ "visual.blocks.10.attn.proj.bias": "model-00001-of-00002.safetensors",
432
+ "visual.blocks.10.attn.proj.weight": "model-00001-of-00002.safetensors",
433
+ "visual.blocks.10.attn.qkv.bias": "model-00001-of-00002.safetensors",
434
+ "visual.blocks.10.attn.qkv.weight": "model-00001-of-00002.safetensors",
435
+ "visual.blocks.10.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
436
+ "visual.blocks.10.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
437
+ "visual.blocks.10.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
438
+ "visual.blocks.10.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
439
+ "visual.blocks.10.norm1.bias": "model-00001-of-00002.safetensors",
440
+ "visual.blocks.10.norm1.weight": "model-00001-of-00002.safetensors",
441
+ "visual.blocks.10.norm2.bias": "model-00001-of-00002.safetensors",
442
+ "visual.blocks.10.norm2.weight": "model-00001-of-00002.safetensors",
443
+ "visual.blocks.11.attn.proj.bias": "model-00001-of-00002.safetensors",
444
+ "visual.blocks.11.attn.proj.weight": "model-00001-of-00002.safetensors",
445
+ "visual.blocks.11.attn.qkv.bias": "model-00001-of-00002.safetensors",
446
+ "visual.blocks.11.attn.qkv.weight": "model-00001-of-00002.safetensors",
447
+ "visual.blocks.11.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
448
+ "visual.blocks.11.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
449
+ "visual.blocks.11.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
450
+ "visual.blocks.11.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
451
+ "visual.blocks.11.norm1.bias": "model-00001-of-00002.safetensors",
452
+ "visual.blocks.11.norm1.weight": "model-00001-of-00002.safetensors",
453
+ "visual.blocks.11.norm2.bias": "model-00001-of-00002.safetensors",
454
+ "visual.blocks.11.norm2.weight": "model-00001-of-00002.safetensors",
455
+ "visual.blocks.12.attn.proj.bias": "model-00001-of-00002.safetensors",
456
+ "visual.blocks.12.attn.proj.weight": "model-00001-of-00002.safetensors",
457
+ "visual.blocks.12.attn.qkv.bias": "model-00001-of-00002.safetensors",
458
+ "visual.blocks.12.attn.qkv.weight": "model-00001-of-00002.safetensors",
459
+ "visual.blocks.12.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
460
+ "visual.blocks.12.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
461
+ "visual.blocks.12.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
462
+ "visual.blocks.12.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
463
+ "visual.blocks.12.norm1.bias": "model-00001-of-00002.safetensors",
464
+ "visual.blocks.12.norm1.weight": "model-00001-of-00002.safetensors",
465
+ "visual.blocks.12.norm2.bias": "model-00001-of-00002.safetensors",
466
+ "visual.blocks.12.norm2.weight": "model-00001-of-00002.safetensors",
467
+ "visual.blocks.13.attn.proj.bias": "model-00001-of-00002.safetensors",
468
+ "visual.blocks.13.attn.proj.weight": "model-00001-of-00002.safetensors",
469
+ "visual.blocks.13.attn.qkv.bias": "model-00001-of-00002.safetensors",
470
+ "visual.blocks.13.attn.qkv.weight": "model-00001-of-00002.safetensors",
471
+ "visual.blocks.13.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
472
+ "visual.blocks.13.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
473
+ "visual.blocks.13.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
474
+ "visual.blocks.13.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
475
+ "visual.blocks.13.norm1.bias": "model-00001-of-00002.safetensors",
476
+ "visual.blocks.13.norm1.weight": "model-00001-of-00002.safetensors",
477
+ "visual.blocks.13.norm2.bias": "model-00001-of-00002.safetensors",
478
+ "visual.blocks.13.norm2.weight": "model-00001-of-00002.safetensors",
479
+ "visual.blocks.14.attn.proj.bias": "model-00001-of-00002.safetensors",
480
+ "visual.blocks.14.attn.proj.weight": "model-00001-of-00002.safetensors",
481
+ "visual.blocks.14.attn.qkv.bias": "model-00001-of-00002.safetensors",
482
+ "visual.blocks.14.attn.qkv.weight": "model-00001-of-00002.safetensors",
483
+ "visual.blocks.14.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
484
+ "visual.blocks.14.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
485
+ "visual.blocks.14.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
486
+ "visual.blocks.14.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
487
+ "visual.blocks.14.norm1.bias": "model-00001-of-00002.safetensors",
488
+ "visual.blocks.14.norm1.weight": "model-00001-of-00002.safetensors",
489
+ "visual.blocks.14.norm2.bias": "model-00001-of-00002.safetensors",
490
+ "visual.blocks.14.norm2.weight": "model-00001-of-00002.safetensors",
491
+ "visual.blocks.15.attn.proj.bias": "model-00001-of-00002.safetensors",
492
+ "visual.blocks.15.attn.proj.weight": "model-00001-of-00002.safetensors",
493
+ "visual.blocks.15.attn.qkv.bias": "model-00001-of-00002.safetensors",
494
+ "visual.blocks.15.attn.qkv.weight": "model-00001-of-00002.safetensors",
495
+ "visual.blocks.15.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
496
+ "visual.blocks.15.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
497
+ "visual.blocks.15.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
498
+ "visual.blocks.15.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
499
+ "visual.blocks.15.norm1.bias": "model-00001-of-00002.safetensors",
500
+ "visual.blocks.15.norm1.weight": "model-00001-of-00002.safetensors",
501
+ "visual.blocks.15.norm2.bias": "model-00001-of-00002.safetensors",
502
+ "visual.blocks.15.norm2.weight": "model-00001-of-00002.safetensors",
503
+ "visual.blocks.16.attn.proj.bias": "model-00001-of-00002.safetensors",
504
+ "visual.blocks.16.attn.proj.weight": "model-00001-of-00002.safetensors",
505
+ "visual.blocks.16.attn.qkv.bias": "model-00001-of-00002.safetensors",
506
+ "visual.blocks.16.attn.qkv.weight": "model-00001-of-00002.safetensors",
507
+ "visual.blocks.16.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
508
+ "visual.blocks.16.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
509
+ "visual.blocks.16.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
510
+ "visual.blocks.16.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
511
+ "visual.blocks.16.norm1.bias": "model-00001-of-00002.safetensors",
512
+ "visual.blocks.16.norm1.weight": "model-00001-of-00002.safetensors",
513
+ "visual.blocks.16.norm2.bias": "model-00001-of-00002.safetensors",
514
+ "visual.blocks.16.norm2.weight": "model-00001-of-00002.safetensors",
515
+ "visual.blocks.17.attn.proj.bias": "model-00001-of-00002.safetensors",
516
+ "visual.blocks.17.attn.proj.weight": "model-00001-of-00002.safetensors",
517
+ "visual.blocks.17.attn.qkv.bias": "model-00001-of-00002.safetensors",
518
+ "visual.blocks.17.attn.qkv.weight": "model-00001-of-00002.safetensors",
519
+ "visual.blocks.17.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
520
+ "visual.blocks.17.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
521
+ "visual.blocks.17.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
522
+ "visual.blocks.17.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
523
+ "visual.blocks.17.norm1.bias": "model-00001-of-00002.safetensors",
524
+ "visual.blocks.17.norm1.weight": "model-00001-of-00002.safetensors",
525
+ "visual.blocks.17.norm2.bias": "model-00001-of-00002.safetensors",
526
+ "visual.blocks.17.norm2.weight": "model-00001-of-00002.safetensors",
527
+ "visual.blocks.18.attn.proj.bias": "model-00001-of-00002.safetensors",
528
+ "visual.blocks.18.attn.proj.weight": "model-00001-of-00002.safetensors",
529
+ "visual.blocks.18.attn.qkv.bias": "model-00001-of-00002.safetensors",
530
+ "visual.blocks.18.attn.qkv.weight": "model-00001-of-00002.safetensors",
531
+ "visual.blocks.18.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
532
+ "visual.blocks.18.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
533
+ "visual.blocks.18.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
534
+ "visual.blocks.18.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
535
+ "visual.blocks.18.norm1.bias": "model-00001-of-00002.safetensors",
536
+ "visual.blocks.18.norm1.weight": "model-00001-of-00002.safetensors",
537
+ "visual.blocks.18.norm2.bias": "model-00001-of-00002.safetensors",
538
+ "visual.blocks.18.norm2.weight": "model-00001-of-00002.safetensors",
539
+ "visual.blocks.19.attn.proj.bias": "model-00001-of-00002.safetensors",
540
+ "visual.blocks.19.attn.proj.weight": "model-00001-of-00002.safetensors",
541
+ "visual.blocks.19.attn.qkv.bias": "model-00001-of-00002.safetensors",
542
+ "visual.blocks.19.attn.qkv.weight": "model-00001-of-00002.safetensors",
543
+ "visual.blocks.19.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
544
+ "visual.blocks.19.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
545
+ "visual.blocks.19.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
546
+ "visual.blocks.19.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
547
+ "visual.blocks.19.norm1.bias": "model-00001-of-00002.safetensors",
548
+ "visual.blocks.19.norm1.weight": "model-00001-of-00002.safetensors",
549
+ "visual.blocks.19.norm2.bias": "model-00001-of-00002.safetensors",
550
+ "visual.blocks.19.norm2.weight": "model-00001-of-00002.safetensors",
551
+ "visual.blocks.2.attn.proj.bias": "model-00001-of-00002.safetensors",
552
+ "visual.blocks.2.attn.proj.weight": "model-00001-of-00002.safetensors",
553
+ "visual.blocks.2.attn.qkv.bias": "model-00001-of-00002.safetensors",
554
+ "visual.blocks.2.attn.qkv.weight": "model-00001-of-00002.safetensors",
555
+ "visual.blocks.2.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
556
+ "visual.blocks.2.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
557
+ "visual.blocks.2.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
558
+ "visual.blocks.2.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
559
+ "visual.blocks.2.norm1.bias": "model-00001-of-00002.safetensors",
560
+ "visual.blocks.2.norm1.weight": "model-00001-of-00002.safetensors",
561
+ "visual.blocks.2.norm2.bias": "model-00001-of-00002.safetensors",
562
+ "visual.blocks.2.norm2.weight": "model-00001-of-00002.safetensors",
563
+ "visual.blocks.20.attn.proj.bias": "model-00001-of-00002.safetensors",
564
+ "visual.blocks.20.attn.proj.weight": "model-00001-of-00002.safetensors",
565
+ "visual.blocks.20.attn.qkv.bias": "model-00001-of-00002.safetensors",
566
+ "visual.blocks.20.attn.qkv.weight": "model-00001-of-00002.safetensors",
567
+ "visual.blocks.20.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
568
+ "visual.blocks.20.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
569
+ "visual.blocks.20.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
570
+ "visual.blocks.20.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
571
+ "visual.blocks.20.norm1.bias": "model-00001-of-00002.safetensors",
572
+ "visual.blocks.20.norm1.weight": "model-00001-of-00002.safetensors",
573
+ "visual.blocks.20.norm2.bias": "model-00001-of-00002.safetensors",
574
+ "visual.blocks.20.norm2.weight": "model-00001-of-00002.safetensors",
575
+ "visual.blocks.21.attn.proj.bias": "model-00001-of-00002.safetensors",
576
+ "visual.blocks.21.attn.proj.weight": "model-00001-of-00002.safetensors",
577
+ "visual.blocks.21.attn.qkv.bias": "model-00001-of-00002.safetensors",
578
+ "visual.blocks.21.attn.qkv.weight": "model-00001-of-00002.safetensors",
579
+ "visual.blocks.21.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
580
+ "visual.blocks.21.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
581
+ "visual.blocks.21.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
582
+ "visual.blocks.21.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
583
+ "visual.blocks.21.norm1.bias": "model-00001-of-00002.safetensors",
584
+ "visual.blocks.21.norm1.weight": "model-00001-of-00002.safetensors",
585
+ "visual.blocks.21.norm2.bias": "model-00001-of-00002.safetensors",
586
+ "visual.blocks.21.norm2.weight": "model-00001-of-00002.safetensors",
587
+ "visual.blocks.22.attn.proj.bias": "model-00001-of-00002.safetensors",
588
+ "visual.blocks.22.attn.proj.weight": "model-00001-of-00002.safetensors",
589
+ "visual.blocks.22.attn.qkv.bias": "model-00001-of-00002.safetensors",
590
+ "visual.blocks.22.attn.qkv.weight": "model-00001-of-00002.safetensors",
591
+ "visual.blocks.22.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
592
+ "visual.blocks.22.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
593
+ "visual.blocks.22.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
594
+ "visual.blocks.22.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
595
+ "visual.blocks.22.norm1.bias": "model-00001-of-00002.safetensors",
596
+ "visual.blocks.22.norm1.weight": "model-00001-of-00002.safetensors",
597
+ "visual.blocks.22.norm2.bias": "model-00001-of-00002.safetensors",
598
+ "visual.blocks.22.norm2.weight": "model-00001-of-00002.safetensors",
599
+ "visual.blocks.23.attn.proj.bias": "model-00001-of-00002.safetensors",
600
+ "visual.blocks.23.attn.proj.weight": "model-00001-of-00002.safetensors",
601
+ "visual.blocks.23.attn.qkv.bias": "model-00001-of-00002.safetensors",
602
+ "visual.blocks.23.attn.qkv.weight": "model-00001-of-00002.safetensors",
603
+ "visual.blocks.23.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
604
+ "visual.blocks.23.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
605
+ "visual.blocks.23.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
606
+ "visual.blocks.23.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
607
+ "visual.blocks.23.norm1.bias": "model-00001-of-00002.safetensors",
608
+ "visual.blocks.23.norm1.weight": "model-00001-of-00002.safetensors",
609
+ "visual.blocks.23.norm2.bias": "model-00001-of-00002.safetensors",
610
+ "visual.blocks.23.norm2.weight": "model-00001-of-00002.safetensors",
611
+ "visual.blocks.3.attn.proj.bias": "model-00001-of-00002.safetensors",
612
+ "visual.blocks.3.attn.proj.weight": "model-00001-of-00002.safetensors",
613
+ "visual.blocks.3.attn.qkv.bias": "model-00001-of-00002.safetensors",
614
+ "visual.blocks.3.attn.qkv.weight": "model-00001-of-00002.safetensors",
615
+ "visual.blocks.3.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
616
+ "visual.blocks.3.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
617
+ "visual.blocks.3.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
618
+ "visual.blocks.3.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
619
+ "visual.blocks.3.norm1.bias": "model-00001-of-00002.safetensors",
620
+ "visual.blocks.3.norm1.weight": "model-00001-of-00002.safetensors",
621
+ "visual.blocks.3.norm2.bias": "model-00001-of-00002.safetensors",
622
+ "visual.blocks.3.norm2.weight": "model-00001-of-00002.safetensors",
623
+ "visual.blocks.4.attn.proj.bias": "model-00001-of-00002.safetensors",
624
+ "visual.blocks.4.attn.proj.weight": "model-00001-of-00002.safetensors",
625
+ "visual.blocks.4.attn.qkv.bias": "model-00001-of-00002.safetensors",
626
+ "visual.blocks.4.attn.qkv.weight": "model-00001-of-00002.safetensors",
627
+ "visual.blocks.4.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
628
+ "visual.blocks.4.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
629
+ "visual.blocks.4.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
630
+ "visual.blocks.4.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
631
+ "visual.blocks.4.norm1.bias": "model-00001-of-00002.safetensors",
632
+ "visual.blocks.4.norm1.weight": "model-00001-of-00002.safetensors",
633
+ "visual.blocks.4.norm2.bias": "model-00001-of-00002.safetensors",
634
+ "visual.blocks.4.norm2.weight": "model-00001-of-00002.safetensors",
635
+ "visual.blocks.5.attn.proj.bias": "model-00001-of-00002.safetensors",
636
+ "visual.blocks.5.attn.proj.weight": "model-00001-of-00002.safetensors",
637
+ "visual.blocks.5.attn.qkv.bias": "model-00001-of-00002.safetensors",
638
+ "visual.blocks.5.attn.qkv.weight": "model-00001-of-00002.safetensors",
639
+ "visual.blocks.5.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
640
+ "visual.blocks.5.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
641
+ "visual.blocks.5.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
642
+ "visual.blocks.5.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
643
+ "visual.blocks.5.norm1.bias": "model-00001-of-00002.safetensors",
644
+ "visual.blocks.5.norm1.weight": "model-00001-of-00002.safetensors",
645
+ "visual.blocks.5.norm2.bias": "model-00001-of-00002.safetensors",
646
+ "visual.blocks.5.norm2.weight": "model-00001-of-00002.safetensors",
647
+ "visual.blocks.6.attn.proj.bias": "model-00001-of-00002.safetensors",
648
+ "visual.blocks.6.attn.proj.weight": "model-00001-of-00002.safetensors",
649
+ "visual.blocks.6.attn.qkv.bias": "model-00001-of-00002.safetensors",
650
+ "visual.blocks.6.attn.qkv.weight": "model-00001-of-00002.safetensors",
651
+ "visual.blocks.6.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
652
+ "visual.blocks.6.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
653
+ "visual.blocks.6.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
654
+ "visual.blocks.6.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
655
+ "visual.blocks.6.norm1.bias": "model-00001-of-00002.safetensors",
656
+ "visual.blocks.6.norm1.weight": "model-00001-of-00002.safetensors",
657
+ "visual.blocks.6.norm2.bias": "model-00001-of-00002.safetensors",
658
+ "visual.blocks.6.norm2.weight": "model-00001-of-00002.safetensors",
659
+ "visual.blocks.7.attn.proj.bias": "model-00001-of-00002.safetensors",
660
+ "visual.blocks.7.attn.proj.weight": "model-00001-of-00002.safetensors",
661
+ "visual.blocks.7.attn.qkv.bias": "model-00001-of-00002.safetensors",
662
+ "visual.blocks.7.attn.qkv.weight": "model-00001-of-00002.safetensors",
663
+ "visual.blocks.7.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
664
+ "visual.blocks.7.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
665
+ "visual.blocks.7.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
666
+ "visual.blocks.7.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
667
+ "visual.blocks.7.norm1.bias": "model-00001-of-00002.safetensors",
668
+ "visual.blocks.7.norm1.weight": "model-00001-of-00002.safetensors",
669
+ "visual.blocks.7.norm2.bias": "model-00001-of-00002.safetensors",
670
+ "visual.blocks.7.norm2.weight": "model-00001-of-00002.safetensors",
671
+ "visual.blocks.8.attn.proj.bias": "model-00001-of-00002.safetensors",
672
+ "visual.blocks.8.attn.proj.weight": "model-00001-of-00002.safetensors",
673
+ "visual.blocks.8.attn.qkv.bias": "model-00001-of-00002.safetensors",
674
+ "visual.blocks.8.attn.qkv.weight": "model-00001-of-00002.safetensors",
675
+ "visual.blocks.8.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
676
+ "visual.blocks.8.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
677
+ "visual.blocks.8.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
678
+ "visual.blocks.8.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
679
+ "visual.blocks.8.norm1.bias": "model-00001-of-00002.safetensors",
680
+ "visual.blocks.8.norm1.weight": "model-00001-of-00002.safetensors",
681
+ "visual.blocks.8.norm2.bias": "model-00001-of-00002.safetensors",
682
+ "visual.blocks.8.norm2.weight": "model-00001-of-00002.safetensors",
683
+ "visual.blocks.9.attn.proj.bias": "model-00001-of-00002.safetensors",
684
+ "visual.blocks.9.attn.proj.weight": "model-00001-of-00002.safetensors",
685
+ "visual.blocks.9.attn.qkv.bias": "model-00001-of-00002.safetensors",
686
+ "visual.blocks.9.attn.qkv.weight": "model-00001-of-00002.safetensors",
687
+ "visual.blocks.9.mlp.linear_fc1.bias": "model-00001-of-00002.safetensors",
688
+ "visual.blocks.9.mlp.linear_fc1.weight": "model-00001-of-00002.safetensors",
689
+ "visual.blocks.9.mlp.linear_fc2.bias": "model-00001-of-00002.safetensors",
690
+ "visual.blocks.9.mlp.linear_fc2.weight": "model-00001-of-00002.safetensors",
691
+ "visual.blocks.9.norm1.bias": "model-00001-of-00002.safetensors",
692
+ "visual.blocks.9.norm1.weight": "model-00001-of-00002.safetensors",
693
+ "visual.blocks.9.norm2.bias": "model-00001-of-00002.safetensors",
694
+ "visual.blocks.9.norm2.weight": "model-00001-of-00002.safetensors",
695
+ "visual.deepstack_merger_list.0.linear_fc1.bias": "model-00001-of-00002.safetensors",
696
+ "visual.deepstack_merger_list.0.linear_fc1.weight": "model-00001-of-00002.safetensors",
697
+ "visual.deepstack_merger_list.0.linear_fc2.bias": "model-00001-of-00002.safetensors",
698
+ "visual.deepstack_merger_list.0.linear_fc2.weight": "model-00001-of-00002.safetensors",
699
+ "visual.deepstack_merger_list.0.norm.bias": "model-00001-of-00002.safetensors",
700
+ "visual.deepstack_merger_list.0.norm.weight": "model-00001-of-00002.safetensors",
701
+ "visual.deepstack_merger_list.1.linear_fc1.bias": "model-00001-of-00002.safetensors",
702
+ "visual.deepstack_merger_list.1.linear_fc1.weight": "model-00001-of-00002.safetensors",
703
+ "visual.deepstack_merger_list.1.linear_fc2.bias": "model-00001-of-00002.safetensors",
704
+ "visual.deepstack_merger_list.1.linear_fc2.weight": "model-00001-of-00002.safetensors",
705
+ "visual.deepstack_merger_list.1.norm.bias": "model-00001-of-00002.safetensors",
706
+ "visual.deepstack_merger_list.1.norm.weight": "model-00001-of-00002.safetensors",
707
+ "visual.deepstack_merger_list.2.linear_fc1.bias": "model-00001-of-00002.safetensors",
708
+ "visual.deepstack_merger_list.2.linear_fc1.weight": "model-00001-of-00002.safetensors",
709
+ "visual.deepstack_merger_list.2.linear_fc2.bias": "model-00001-of-00002.safetensors",
710
+ "visual.deepstack_merger_list.2.linear_fc2.weight": "model-00001-of-00002.safetensors",
711
+ "visual.deepstack_merger_list.2.norm.bias": "model-00001-of-00002.safetensors",
712
+ "visual.deepstack_merger_list.2.norm.weight": "model-00001-of-00002.safetensors",
713
+ "visual.merger.linear_fc1.bias": "model-00001-of-00002.safetensors",
714
+ "visual.merger.linear_fc1.weight": "model-00001-of-00002.safetensors",
715
+ "visual.merger.linear_fc2.bias": "model-00001-of-00002.safetensors",
716
+ "visual.merger.linear_fc2.weight": "model-00001-of-00002.safetensors",
717
+ "visual.merger.norm.bias": "model-00001-of-00002.safetensors",
718
+ "visual.merger.norm.weight": "model-00001-of-00002.safetensors",
719
+ "visual.patch_embed.proj.bias": "model-00001-of-00002.safetensors",
720
+ "visual.patch_embed.proj.weight": "model-00001-of-00002.safetensors",
721
+ "visual.pos_embed.weight": "model-00001-of-00002.safetensors"
722
+ }
723
+ }
preprocessor_config.json ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "crop_size": null,
3
+ "data_format": "channels_first",
4
+ "default_to_square": true,
5
+ "device": null,
6
+ "disable_grouping": null,
7
+ "do_center_crop": null,
8
+ "do_convert_rgb": true,
9
+ "do_normalize": true,
10
+ "do_pad": null,
11
+ "do_rescale": true,
12
+ "do_resize": true,
13
+ "image_mean": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "image_processor_type": "Qwen2VLImageProcessorFast",
19
+ "image_std": [
20
+ 0.5,
21
+ 0.5,
22
+ 0.5
23
+ ],
24
+ "input_data_format": null,
25
+ "max_pixels": 1310720,
26
+ "merge_size": 2,
27
+ "min_pixels": 4096,
28
+ "pad_size": null,
29
+ "patch_size": 16,
30
+ "resample": 3,
31
+ "rescale_factor": 0.00392156862745098,
32
+ "return_tensors": null,
33
+ "size": {
34
+ "longest_edge": 1310720,
35
+ "shortest_edge": 4096
36
+ },
37
+ "temporal_patch_size": 2
38
+ }
scripts/ops_colqwen3_embedder.py ADDED
@@ -0,0 +1,338 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Union, Optional, Tuple
2
+ import torch
3
+ from torch import nn
4
+ from PIL import Image
5
+ from tqdm.auto import tqdm
6
+ from transformers.models.qwen3_vl import Qwen3VLConfig, Qwen3VLModel, Qwen3VLProcessor
7
+ from colpali_engine.utils.processing_utils import BaseVisualRetrieverProcessor
8
+ from transformers import BatchEncoding, BatchFeature
9
+ from transformers.models.qwen2_vl.image_processing_qwen2_vl import smart_resize
10
+
11
+
12
+ class OpsColQwen3(Qwen3VLModel):
13
+ """
14
+ OpsColQwen3 model implementation for multi-vector document retrieval.
15
+ """
16
+
17
+ def __init__(self, config: Qwen3VLConfig, dims: int = 320, mask_non_image_embeddings: bool = False):
18
+ super().__init__(config=config)
19
+ self.custom_text_proj = nn.Linear(self.config.text_config.hidden_size, self.config.text_config.hidden_size)
20
+ self.dims = dims
21
+ self.padding_side = "left"
22
+ self.mask_non_image_embeddings = mask_non_image_embeddings
23
+ self.post_init()
24
+
25
+ @classmethod
26
+ def from_pretrained(cls, *args, **kwargs):
27
+ key_mapping = kwargs.pop("key_mapping", None)
28
+ if key_mapping is None:
29
+ key_mapping = {
30
+ r"^base_model\.model\.(.*)": r"\1",
31
+ r"^model\.(.*)": r"\1",
32
+ }
33
+
34
+ return super().from_pretrained(*args, **kwargs, key_mapping=key_mapping)
35
+
36
+ def forward(self, *args, **kwargs) -> torch.Tensor:
37
+ attention_mask = kwargs.get("attention_mask")
38
+ has_pixel_values = "pixel_values" in kwargs and kwargs["pixel_values"] is not None
39
+
40
+ if has_pixel_values:
41
+ image_grid_thw = kwargs.get("image_grid_thw")
42
+ if image_grid_thw is None:
43
+ raise ValueError("`image_grid_thw` must be provided when `pixel_values` is passed.")
44
+
45
+ if not torch.is_tensor(image_grid_thw):
46
+ image_grid_thw = torch.as_tensor(image_grid_thw, device=kwargs["pixel_values"].device)
47
+
48
+ offsets = image_grid_thw.prod(dim=1)
49
+ unpadded = [pixel_sequence[: int(offset.item())] for pixel_sequence, offset in zip(kwargs["pixel_values"], offsets)]
50
+
51
+ if unpadded:
52
+ kwargs["pixel_values"] = torch.cat(unpadded, dim=0)
53
+ else:
54
+ kwargs["pixel_values"] = None
55
+
56
+ kwargs.pop("return_dict", True)
57
+ kwargs.pop("output_hidden_states", None)
58
+ kwargs.pop("use_cache", None)
59
+
60
+ last_hidden_states = super().forward(*args, **kwargs, use_cache=False, output_hidden_states=True, return_dict=True).last_hidden_state
61
+
62
+ proj = self.custom_text_proj(last_hidden_states)
63
+ if self.dims < self.config.text_config.hidden_size:
64
+ proj = proj[..., : self.dims]
65
+ proj = proj / proj.norm(dim=-1, keepdim=True)
66
+
67
+ if attention_mask is not None:
68
+ proj = proj * attention_mask.unsqueeze(-1)
69
+
70
+ if has_pixel_values and self.mask_non_image_embeddings and kwargs.get("input_ids") is not None:
71
+ image_mask = (kwargs["input_ids"] == self.config.image_token_id).unsqueeze(-1)
72
+ proj = proj * image_mask
73
+
74
+ return proj
75
+
76
+ @property
77
+ def patch_size(self) -> int:
78
+ return self.visual.config.patch_size
79
+
80
+ @property
81
+ def spatial_merge_size(self) -> int:
82
+ return self.visual.config.spatial_merge_size
83
+
84
+ @property
85
+ def temporal_patch_size(self) -> int:
86
+ return getattr(self.visual.config, "temporal_patch_size", 1)
87
+
88
+
89
+ class OpsColQwen3Processor(BaseVisualRetrieverProcessor, Qwen3VLProcessor):
90
+ """
91
+ Processor for OpsColQwen3.
92
+ """
93
+
94
+ query_prefix: str = "Query: "
95
+ visual_prompt_prefix: str = "<|im_start|>user\n<|vision_start|><|image_pad|><|vision_end|>Describe the image.<|im_end|><|im_start|>assistant\n<|endoftext|>"
96
+ query_augmentation_token: str = "<|endoftext|>"
97
+ image_token: str = "<|image_pad|>"
98
+
99
+ def __init__(self, *args, **kwargs) -> None:
100
+ super().__init__(*args, **kwargs)
101
+ self.tokenizer.padding_side = "left"
102
+
103
+ @classmethod
104
+ def from_pretrained(cls, *args, device_map: Optional[str] = None, **kwargs):
105
+ instance = super().from_pretrained(*args, device_map=device_map, **kwargs)
106
+
107
+ if "max_num_visual_tokens" in kwargs:
108
+ instance.image_processor.max_pixels = kwargs["max_num_visual_tokens"] * 32 * 32
109
+ instance.image_processor.size["longest_edge"] = instance.image_processor.max_pixels
110
+
111
+ return instance
112
+
113
+ def process_images(self, images: List[Image.Image]) -> Union[BatchFeature, BatchEncoding]:
114
+ """Process a batch of PIL images."""
115
+ images = [image.convert("RGB") for image in images]
116
+
117
+ batch_doc = self.__call__(
118
+ text=[self.visual_prompt_prefix] * len(images),
119
+ images=images,
120
+ padding="longest",
121
+ return_tensors="pt",
122
+ )
123
+
124
+ if batch_doc["pixel_values"].numel() == 0:
125
+ return batch_doc
126
+
127
+ offsets = batch_doc["image_grid_thw"].prod(dim=1)
128
+ pixel_values = list(torch.split(batch_doc["pixel_values"], offsets.tolist()))
129
+ batch_doc["pixel_values"] = torch.nn.utils.rnn.pad_sequence(pixel_values, batch_first=True)
130
+
131
+ return batch_doc
132
+
133
+ def process_texts(self, texts: List[str]) -> Union[BatchFeature, BatchEncoding]:
134
+ """Process a list of texts."""
135
+ return self(text=texts, return_tensors="pt", padding="longest")
136
+
137
+ def score(
138
+ self,
139
+ qs: Union[torch.Tensor, List[torch.Tensor]],
140
+ ps: Union[torch.Tensor, List[torch.Tensor]],
141
+ device: Optional[Union[str, torch.device]] = None,
142
+ **kwargs,
143
+ ) -> torch.Tensor:
144
+ """Compute the MaxSim score (ColBERT-like) for query and passage embeddings."""
145
+ return self.score_multi_vector(qs, ps, device=device, **kwargs)
146
+
147
+ def get_n_patches(
148
+ self,
149
+ image_size: Tuple[int, int],
150
+ spatial_merge_size: int,
151
+ ) -> Tuple[int, int]:
152
+ """
153
+ Compute the number of patches (n_patches_x, n_patches_y) for an image.
154
+ """
155
+ patch_size = self.image_processor.patch_size
156
+ merge_size = getattr(self.image_processor, "merge_size", 1)
157
+
158
+ height_new, width_new = smart_resize(
159
+ width=image_size[0],
160
+ height=image_size[1],
161
+ factor=patch_size * merge_size,
162
+ min_pixels=self.image_processor.size["shortest_edge"],
163
+ max_pixels=self.image_processor.size["longest_edge"],
164
+ )
165
+
166
+ n_patches_x = width_new // patch_size // spatial_merge_size
167
+ n_patches_y = height_new // patch_size // spatial_merge_size
168
+
169
+ return n_patches_x, n_patches_y
170
+
171
+ def get_image_mask(self, batch_images: BatchFeature) -> torch.Tensor:
172
+ """Return a boolean tensor identifying image tokens."""
173
+ return batch_images.input_ids == self.image_token_id
174
+
175
+
176
+ class OpsColQwen3Embedder:
177
+ """
178
+ Simple embedder wrapper for OpsColQwen3 model.
179
+
180
+ Args:
181
+ model_name: HuggingFace model name or local path
182
+ dims: Embedding dimension after projection
183
+ device: Device to run the model on
184
+ attn_implementation: Attention implementation
185
+ """
186
+
187
+ def __init__(
188
+ self,
189
+ model_name: str = "OpenSearch-AI/Ops-ColQwen3-4B",
190
+ dims: int = 2560,
191
+ device: Optional[str] = None,
192
+ attn_implementation: Optional[str] = None,
193
+ **kwargs,
194
+ ):
195
+ self.device = device or ("cuda" if torch.cuda.is_available() else "cpu")
196
+ self.dims = dims
197
+
198
+ if attn_implementation is None:
199
+ try:
200
+ from transformers.utils.import_utils import is_flash_attn_2_available
201
+
202
+ attn_implementation = "flash_attention_2" if is_flash_attn_2_available() else None
203
+ except ImportError:
204
+ attn_implementation = None
205
+
206
+ load_kwargs = {"dims": dims, "device_map": self.device, **kwargs}
207
+ if attn_implementation:
208
+ load_kwargs["attn_implementation"] = attn_implementation
209
+
210
+ self.model = OpsColQwen3.from_pretrained(model_name, **load_kwargs)
211
+ self.model.eval()
212
+
213
+ self.processor = OpsColQwen3Processor.from_pretrained(model_name)
214
+
215
+ def encode_texts(
216
+ self,
217
+ texts: List[str],
218
+ batch_size: int = 32,
219
+ show_progress: bool = False,
220
+ ) -> List[torch.Tensor]:
221
+ """
222
+ Encode a list of text queries.
223
+
224
+ Args:
225
+ texts: List of text strings to encode
226
+ batch_size: Batch size for processing
227
+ show_progress: Whether to show progress bar
228
+
229
+ Returns:
230
+ List of embedding tensors
231
+ """
232
+ all_embeddings = []
233
+
234
+ iterator = range(0, len(texts), batch_size)
235
+ if show_progress:
236
+ iterator = tqdm(iterator, desc="Encoding texts")
237
+
238
+ with torch.no_grad():
239
+ for i in iterator:
240
+ batch_texts = texts[i : i + batch_size]
241
+
242
+ batch_texts = [self.processor.query_prefix + t + self.processor.query_augmentation_token * 10 for t in batch_texts]
243
+
244
+ inputs = self.processor.process_texts(batch_texts)
245
+ inputs = {k: v.to(self.device) for k, v in inputs.items()}
246
+
247
+ embeddings = self.model(**inputs)
248
+ all_embeddings.extend(embeddings.cpu().to(torch.float32))
249
+
250
+ return all_embeddings
251
+
252
+ def encode_images(
253
+ self,
254
+ images: List[Union[str, Image.Image]],
255
+ batch_size: int = 32,
256
+ show_progress: bool = False,
257
+ ) -> List[torch.Tensor]:
258
+ """
259
+ Encode a list of images.
260
+
261
+ Args:
262
+ images: List of image paths or PIL Images
263
+ batch_size: Batch size for processing
264
+ show_progress: Whether to show progress bar
265
+
266
+ Returns:
267
+ List of embedding tensors
268
+ """
269
+ image_list = []
270
+ for img in images:
271
+ if isinstance(img, str):
272
+ image_list.append(Image.open(img).convert("RGB"))
273
+ elif isinstance(img, Image.Image):
274
+ image_list.append(img.convert("RGB"))
275
+ else:
276
+ raise ValueError(f"Unsupported image type: {type(img)}")
277
+
278
+ all_embeddings = []
279
+
280
+ iterator = range(0, len(image_list), batch_size)
281
+ if show_progress:
282
+ iterator = tqdm(iterator, desc="Encoding images")
283
+
284
+ with torch.no_grad():
285
+ for i in iterator:
286
+ batch_images = image_list[i : i + batch_size]
287
+
288
+ inputs = self.processor.process_images(batch_images)
289
+ inputs = {k: v.to(self.device) for k, v in inputs.items()}
290
+
291
+ embeddings = self.model(**inputs)
292
+ all_embeddings.extend(embeddings.cpu().to(torch.float32))
293
+
294
+ return all_embeddings
295
+
296
+ def compute_scores(
297
+ self,
298
+ query_embeddings: List[torch.Tensor],
299
+ image_embeddings: List[torch.Tensor],
300
+ batch_size: int = 128,
301
+ ) -> torch.Tensor:
302
+ """
303
+ Compute relevance scores between queries and images using MaxSim.
304
+
305
+ Args:
306
+ query_embeddings: List of query embedding tensors
307
+ image_embeddings: List of image embedding tensors
308
+ batch_size: Batch size for score computation
309
+
310
+ Returns:
311
+ Score matrix of shape (num_queries, num_images)
312
+ """
313
+ return self.processor.score_multi_vector(
314
+ query_embeddings,
315
+ image_embeddings,
316
+ batch_size=batch_size,
317
+ device=self.device,
318
+ )
319
+
320
+
321
+ # Example usage
322
+ if __name__ == "__main__":
323
+ images = [Image.new("RGB", (32, 32), color="white"), Image.new("RGB", (16, 16), color="black")]
324
+
325
+ queries = ["Is attention really all you need?", "What is the amount of bananas farmed in Salvador?"]
326
+
327
+ encoder = OpsColQwen3Embedder(
328
+ model_name="OpenSearch-AI/Ops-Colqwen3-4B",
329
+ dims=320,
330
+ dtype=torch.float16,
331
+ attn_implementation="flash_attention_2",
332
+ )
333
+
334
+ query_embeddings = encoder.encode_texts(queries, batch_size=2)
335
+ image_embeddings = encoder.encode_images(images, batch_size=2)
336
+
337
+ scores = encoder.compute_scores(query_embeddings, image_embeddings)
338
+ print(f"Scores:\n{scores}")
special_tokens_map.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_start|>",
4
+ "<|im_end|>",
5
+ "<|object_ref_start|>",
6
+ "<|object_ref_end|>",
7
+ "<|box_start|>",
8
+ "<|box_end|>",
9
+ "<|quad_start|>",
10
+ "<|quad_end|>",
11
+ "<|vision_start|>",
12
+ "<|vision_end|>",
13
+ "<|vision_pad|>",
14
+ "<|image_pad|>",
15
+ "<|video_pad|>"
16
+ ],
17
+ "eos_token": {
18
+ "content": "<|im_end|>",
19
+ "lstrip": false,
20
+ "normalized": false,
21
+ "rstrip": false,
22
+ "single_word": false
23
+ },
24
+ "pad_token": {
25
+ "content": "<|endoftext|>",
26
+ "lstrip": false,
27
+ "normalized": false,
28
+ "rstrip": false,
29
+ "single_word": false
30
+ }
31
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
3
+ size 11422654
tokenizer_config.json ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ },
181
+ "151665": {
182
+ "content": "<tool_response>",
183
+ "lstrip": false,
184
+ "normalized": false,
185
+ "rstrip": false,
186
+ "single_word": false,
187
+ "special": false
188
+ },
189
+ "151666": {
190
+ "content": "</tool_response>",
191
+ "lstrip": false,
192
+ "normalized": false,
193
+ "rstrip": false,
194
+ "single_word": false,
195
+ "special": false
196
+ },
197
+ "151667": {
198
+ "content": "<think>",
199
+ "lstrip": false,
200
+ "normalized": false,
201
+ "rstrip": false,
202
+ "single_word": false,
203
+ "special": false
204
+ },
205
+ "151668": {
206
+ "content": "</think>",
207
+ "lstrip": false,
208
+ "normalized": false,
209
+ "rstrip": false,
210
+ "single_word": false,
211
+ "special": false
212
+ }
213
+ },
214
+ "additional_special_tokens": [
215
+ "<|im_start|>",
216
+ "<|im_end|>",
217
+ "<|object_ref_start|>",
218
+ "<|object_ref_end|>",
219
+ "<|box_start|>",
220
+ "<|box_end|>",
221
+ "<|quad_start|>",
222
+ "<|quad_end|>",
223
+ "<|vision_start|>",
224
+ "<|vision_end|>",
225
+ "<|vision_pad|>",
226
+ "<|image_pad|>",
227
+ "<|video_pad|>"
228
+ ],
229
+ "bos_token": null,
230
+ "clean_up_tokenization_spaces": false,
231
+ "eos_token": "<|im_end|>",
232
+ "errors": "replace",
233
+ "extra_special_tokens": {},
234
+ "max_num_visual_tokens": 1280,
235
+ "model_max_length": 262144,
236
+ "pad_token": "<|endoftext|>",
237
+ "processor_class": "ColQwen3_Processor",
238
+ "split_special_tokens": false,
239
+ "tokenizer_class": "Qwen2Tokenizer",
240
+ "unk_token": null
241
+ }
video_preprocessor_config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "crop_size": null,
3
+ "data_format": "channels_first",
4
+ "default_to_square": true,
5
+ "device": null,
6
+ "do_center_crop": null,
7
+ "do_convert_rgb": true,
8
+ "do_normalize": true,
9
+ "do_rescale": true,
10
+ "do_resize": true,
11
+ "do_sample_frames": true,
12
+ "fps": 2,
13
+ "image_mean": [
14
+ 0.5,
15
+ 0.5,
16
+ 0.5
17
+ ],
18
+ "image_std": [
19
+ 0.5,
20
+ 0.5,
21
+ 0.5
22
+ ],
23
+ "input_data_format": null,
24
+ "max_frames": 768,
25
+ "merge_size": 2,
26
+ "min_frames": 4,
27
+ "num_frames": null,
28
+ "pad_size": null,
29
+ "patch_size": 16,
30
+ "processor_class": "ColQwen3_Processor",
31
+ "resample": 3,
32
+ "rescale_factor": 0.00392156862745098,
33
+ "return_metadata": false,
34
+ "size": {
35
+ "longest_edge": 25165824,
36
+ "shortest_edge": 4096
37
+ },
38
+ "temporal_patch_size": 2,
39
+ "video_metadata": null,
40
+ "video_processor_type": "Qwen3VLVideoProcessor"
41
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff