Add local models via Git LFS (23 models, ~143 GB)

This commit is contained in:
hackit 2026-06-28 17:25:21 +00:00
parent 94b5c12c2d
commit 9b381fb3de
246 changed files with 38788 additions and 0 deletions

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,75 @@
---
base_model: Qwen/Qwen3.5-0.8B
library_name: mlx
tags:
- mlx
- qwen3.5
- vision-language-model
- quantized
- 4bit
license: apache-2.0
---
# Qwen3.5-0.8B-MLX-4bit
This is a 4-bit quantized MLX version of [Qwen/Qwen3.5-0.8B](https://huggingface.co/Qwen/Qwen3.5-0.8B) for Apple Silicon.
## Model Details
- **Original Model:** [Qwen/Qwen3.5-0.8B](https://huggingface.co/Qwen/Qwen3.5-0.8B)
- **Quantization:** 4-bit (5.863 bits per weight)
- **Group Size:** 64
- **Format:** MLX SafeTensors
- **Framework:** [mlx-vlm](https://github.com/Blaizzy/mlx-vlm)
- **Disk Size:** ~622M
## Conversion Details
This model was converted using `mlx-vlm` from the [`pc/fix-qwen35-predicate`](https://github.com/Blaizzy/mlx-vlm/tree/pc/fix-qwen35-predicate) branch, which includes fixes for Qwen3.5 model support (proper handling of MoE gate layers, `shared_expert_gate`, and `A_log` casting).
**Conversion command:**
```bash
python3 -m mlx_vlm convert \
--hf-path "Qwen/Qwen3.5-0.8B" \
--mlx-path "./Qwen3.5-0.8B-MLX-4bit" \
-q --q-bits 4 --q-group-size 64
```
## Important Note
A better, more optimized conversion may be available from **@Prince** ([@Blaizzy](https://huggingface.co/Blaizzy)) in the MLX VLM community. Check the [mlx-community](https://huggingface.co/mlx-community) organization for updated versions as official Qwen3.5 support is merged into the main `mlx-vlm` branch.
## Related Models
- **bf16 (full precision):** [mlx-community/Qwen3.5-0.8B-MLX-bf16](https://huggingface.co/mlx-community/Qwen3.5-0.8B-MLX-bf16)
- **8-bit quantized:** [mlx-community/Qwen3.5-0.8B-MLX-8bit](https://huggingface.co/mlx-community/Qwen3.5-0.8B-MLX-8bit)
- **Original:** [Qwen/Qwen3.5-0.8B](https://huggingface.co/Qwen/Qwen3.5-0.8B)
## Usage
```python
from mlx_vlm import load, generate
model, processor = load("mlx-community/Qwen3.5-0.8B-MLX-4bit")
output = generate(
model,
processor,
prompt="Describe this image.",
image="path/to/image.jpg",
max_tokens=512
)
print(output)
```
**CLI:**
```bash
python3 -m mlx_vlm.generate \
--model mlx-community/Qwen3.5-0.8B-MLX-4bit \
--image path/to/image.jpg \
--prompt "Describe this image."
```
## License
This model inherits the [Apache 2.0 license](https://huggingface.co/Qwen/Qwen3.5-0.8B) from the original Qwen model.

View file

@ -0,0 +1,154 @@
{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}
{%- macro render_content(content, do_vision_count, is_system_content=false) %}
{%- if content is string %}
{{- content }}
{%- elif content is iterable and content is not mapping %}
{%- for item in content %}
{%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain images.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set image_count.value = image_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Picture ' ~ image_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|image_pad|><|vision_end|>' }}
{%- elif 'video' in item or item.type == 'video' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain videos.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set video_count.value = video_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Video ' ~ video_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|video_pad|><|vision_end|>' }}
{%- elif 'text' in item %}
{{- item.text }}
{%- else %}
{{- raise_exception('Unexpected item type in content.') }}
{%- endif %}
{%- endfor %}
{%- elif content is none or content is undefined %}
{{- '' }}
{%- else %}
{{- raise_exception('Unexpected content type.') }}
{%- endif %}
{%- endmacro %}
{%- if not messages %}
{{- raise_exception('No messages provided.') }}
{%- endif %}
{%- if tools and tools is iterable and tools is not mapping %}
{{- '<|im_start|>system\n' }}
{{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n</tools>" }}
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{%- if content %}
{{- '\n\n' + content }}
{%- endif %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- else %}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" %}
{%- set content = render_content(message.content, false)|trim %}
{%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if ns.multi_step_tool %}
{{- raise_exception('No user query found in messages.') }}
{%- endif %}
{%- for message in messages %}
{%- set content = render_content(message.content, true)|trim %}
{%- if message.role == "system" %}
{%- if not loop.first %}
{{- raise_exception('System message must be at the beginning.') }}
{%- endif %}
{%- elif message.role == "user" %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{%- set reasoning_content = '' %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
{%- endif %}
{%- endif %}
{%- set reasoning_content = reasoning_content|trim %}
{%- if loop.index0 > ns.last_query_index %}
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
{%- else %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- endif %}
{%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
{%- for tool_call in message.tool_calls %}
{%- if tool_call.function is defined %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{%- if loop.first %}
{%- if content|trim %}
{{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- else %}
{{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- else %}
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- if tool_call.arguments is defined %}
{%- for args_name, args_value in tool_call.arguments|items %}
{{- '<parameter=' + args_name + '>\n' }}
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
{{- args_value }}
{{- '\n</parameter>\n' }}
{%- endfor %}
{%- endif %}
{{- '</function>\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.previtem and loop.previtem.role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if not loop.last and loop.nextitem.role != "tool" %}
{{- '<|im_end|>\n' }}
{%- elif loop.last %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- else %}
{{- raise_exception('Unexpected message role.') }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is true %}
{{- '<think>\n' }}
{%- else %}
{{- '<think>\n\n</think>\n\n' }}
{%- endif %}
{%- endif %}

View file

@ -0,0 +1,106 @@
{
"architectures": [
"Qwen3_5ForConditionalGeneration"
],
"image_token_id": 248056,
"model_type": "qwen3_5",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attn_output_gate": true,
"dtype": "bfloat16",
"eos_token_id": 248044,
"full_attention_interval": 4,
"head_dim": 256,
"hidden_act": "silu",
"hidden_size": 1024,
"initializer_range": 0.02,
"intermediate_size": 3584,
"layer_types": [
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention"
],
"linear_conv_kernel_dim": 4,
"linear_key_head_dim": 128,
"linear_num_key_heads": 16,
"linear_num_value_heads": 16,
"linear_value_head_dim": 128,
"max_position_embeddings": 262144,
"mlp_only_layers": [],
"model_type": "qwen3_5_text",
"mtp_num_hidden_layers": 1,
"mtp_use_dedicated_embeddings": false,
"num_attention_heads": 8,
"num_hidden_layers": 24,
"num_key_value_heads": 2,
"rms_norm_eps": 1e-06,
"tie_word_embeddings": true,
"use_cache": true,
"vocab_size": 248320,
"mamba_ssm_dtype": "float32",
"rope_parameters": {
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "default",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25
}
},
"tie_word_embeddings": true,
"transformers_version": "4.57.0.dev0",
"video_token_id": 248057,
"vision_config": {
"deepstack_visual_indexes": [],
"depth": 12,
"hidden_act": "gelu_pytorch_tanh",
"hidden_size": 768,
"in_channels": 3,
"initializer_range": 0.02,
"intermediate_size": 3072,
"model_type": "qwen3_5",
"num_heads": 12,
"num_position_embeddings": 2304,
"out_hidden_size": 1024,
"patch_size": 16,
"spatial_merge_size": 2,
"temporal_patch_size": 2
},
"vision_end_token_id": 248054,
"vision_start_token_id": 248053
}

Binary file not shown.

View file

@ -0,0 +1,854 @@
{
"metadata": {
"total_size": 625124032
},
"weight_map": {
"language_model.model.embed_tokens.biases": "model.safetensors",
"language_model.model.embed_tokens.scales": "model.safetensors",
"language_model.model.embed_tokens.weight": "model.safetensors",
"language_model.model.layers.0.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.0.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.0.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.1.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.1.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.1.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.10.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.10.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.10.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.11.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.12.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.12.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.12.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.13.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.13.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.13.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.14.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.14.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.14.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.15.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.16.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.16.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.16.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.17.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.17.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.17.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.18.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.18.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.18.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.19.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.2.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.2.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.2.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.20.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.20.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.20.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.21.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.21.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.21.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.22.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.22.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.22.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.23.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.3.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.3.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.4.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.4.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.4.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.5.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.5.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.5.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.6.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.6.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.6.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.7.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.8.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.8.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.8.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.9.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.9.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.9.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.norm.weight": "model.safetensors",
"vision_tower.blocks.0.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.0.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.0.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.0.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.0.norm1.bias": "model.safetensors",
"vision_tower.blocks.0.norm1.weight": "model.safetensors",
"vision_tower.blocks.0.norm2.bias": "model.safetensors",
"vision_tower.blocks.0.norm2.weight": "model.safetensors",
"vision_tower.blocks.1.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.1.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.1.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.1.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.1.norm1.bias": "model.safetensors",
"vision_tower.blocks.1.norm1.weight": "model.safetensors",
"vision_tower.blocks.1.norm2.bias": "model.safetensors",
"vision_tower.blocks.1.norm2.weight": "model.safetensors",
"vision_tower.blocks.10.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.10.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.10.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.10.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.10.norm1.bias": "model.safetensors",
"vision_tower.blocks.10.norm1.weight": "model.safetensors",
"vision_tower.blocks.10.norm2.bias": "model.safetensors",
"vision_tower.blocks.10.norm2.weight": "model.safetensors",
"vision_tower.blocks.11.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.11.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.11.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.11.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.11.norm1.bias": "model.safetensors",
"vision_tower.blocks.11.norm1.weight": "model.safetensors",
"vision_tower.blocks.11.norm2.bias": "model.safetensors",
"vision_tower.blocks.11.norm2.weight": "model.safetensors",
"vision_tower.blocks.2.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.2.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.2.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.2.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.2.norm1.bias": "model.safetensors",
"vision_tower.blocks.2.norm1.weight": "model.safetensors",
"vision_tower.blocks.2.norm2.bias": "model.safetensors",
"vision_tower.blocks.2.norm2.weight": "model.safetensors",
"vision_tower.blocks.3.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.3.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.3.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.3.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.3.norm1.bias": "model.safetensors",
"vision_tower.blocks.3.norm1.weight": "model.safetensors",
"vision_tower.blocks.3.norm2.bias": "model.safetensors",
"vision_tower.blocks.3.norm2.weight": "model.safetensors",
"vision_tower.blocks.4.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.4.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.4.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.4.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.4.norm1.bias": "model.safetensors",
"vision_tower.blocks.4.norm1.weight": "model.safetensors",
"vision_tower.blocks.4.norm2.bias": "model.safetensors",
"vision_tower.blocks.4.norm2.weight": "model.safetensors",
"vision_tower.blocks.5.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.5.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.5.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.5.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.5.norm1.bias": "model.safetensors",
"vision_tower.blocks.5.norm1.weight": "model.safetensors",
"vision_tower.blocks.5.norm2.bias": "model.safetensors",
"vision_tower.blocks.5.norm2.weight": "model.safetensors",
"vision_tower.blocks.6.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.6.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.6.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.6.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.6.norm1.bias": "model.safetensors",
"vision_tower.blocks.6.norm1.weight": "model.safetensors",
"vision_tower.blocks.6.norm2.bias": "model.safetensors",
"vision_tower.blocks.6.norm2.weight": "model.safetensors",
"vision_tower.blocks.7.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.7.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.7.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.7.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.7.norm1.bias": "model.safetensors",
"vision_tower.blocks.7.norm1.weight": "model.safetensors",
"vision_tower.blocks.7.norm2.bias": "model.safetensors",
"vision_tower.blocks.7.norm2.weight": "model.safetensors",
"vision_tower.blocks.8.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.8.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.8.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.8.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.8.norm1.bias": "model.safetensors",
"vision_tower.blocks.8.norm1.weight": "model.safetensors",
"vision_tower.blocks.8.norm2.bias": "model.safetensors",
"vision_tower.blocks.8.norm2.weight": "model.safetensors",
"vision_tower.blocks.9.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.9.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.9.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.9.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.9.norm1.bias": "model.safetensors",
"vision_tower.blocks.9.norm1.weight": "model.safetensors",
"vision_tower.blocks.9.norm2.bias": "model.safetensors",
"vision_tower.blocks.9.norm2.weight": "model.safetensors",
"vision_tower.merger.linear_fc1.bias": "model.safetensors",
"vision_tower.merger.linear_fc1.weight": "model.safetensors",
"vision_tower.merger.linear_fc2.bias": "model.safetensors",
"vision_tower.merger.linear_fc2.weight": "model.safetensors",
"vision_tower.merger.norm.bias": "model.safetensors",
"vision_tower.merger.norm.weight": "model.safetensors",
"vision_tower.patch_embed.proj.bias": "model.safetensors",
"vision_tower.patch_embed.proj.weight": "model.safetensors",
"vision_tower.pos_embed.weight": "model.safetensors"
}
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"image_processor_type": "Qwen2VLImageProcessorFast"
}

View file

@ -0,0 +1,63 @@
{
"image_processor": {
"data_format": "channels_first",
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.5,
0.5,
0.5
],
"image_processor_type": "Qwen2VLImageProcessorFast",
"image_std": [
0.5,
0.5,
0.5
],
"merge_size": 2,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"temporal_patch_size": 2
},
"processor_class": "Qwen3VLProcessor",
"video_processor": {
"data_format": "channels_first",
"default_to_square": true,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"do_sample_frames": true,
"fps": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"max_frames": 768,
"merge_size": 2,
"min_frames": 4,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"return_metadata": false,
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"temporal_patch_size": 2,
"video_processor_type": "Qwen3VLVideoProcessor"
}
}

BIN
chat/mlx/mlx-community/Qwen3.5-0.8B-MLX-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
{
"add_prefix_space": false,
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"backend": "tokenizers",
"bos_token": null,
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"image_token": "<|image_pad|>",
"is_local": true,
"model_max_length": 262144,
"model_specific_special_tokens": {
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"image_token": "<|image_pad|>",
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
},
"pad_token": "<|endoftext|>",
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
"processor_class": "Qwen3VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "TokenizersBackend",
"unk_token": null,
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"video_processor_type": "Qwen3VLVideoProcessor"
}

BIN
chat/mlx/mlx-community/Qwen3.5-0.8B-MLX-4bit/vocab.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,75 @@
---
base_model: Qwen/Qwen3.5-2B
library_name: mlx
tags:
- mlx
- qwen3.5
- vision-language-model
- quantized
- 4bit
license: apache-2.0
---
# Qwen3.5-2B-MLX-4bit
This is a 4-bit quantized MLX version of [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B) for Apple Silicon.
## Model Details
- **Original Model:** [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B)
- **Quantization:** 4-bit (6.225 bits per weight)
- **Group Size:** 64
- **Format:** MLX SafeTensors
- **Framework:** [mlx-vlm](https://github.com/Blaizzy/mlx-vlm)
- **Disk Size:** ~1.6G
## Conversion Details
This model was converted using `mlx-vlm` from the [`pc/fix-qwen35-predicate`](https://github.com/Blaizzy/mlx-vlm/tree/pc/fix-qwen35-predicate) branch, which includes fixes for Qwen3.5 model support (proper handling of MoE gate layers, `shared_expert_gate`, and `A_log` casting).
**Conversion command:**
```bash
python3 -m mlx_vlm convert \
--hf-path "Qwen/Qwen3.5-2B" \
--mlx-path "./Qwen3.5-2B-MLX-4bit" \
-q --q-bits 4 --q-group-size 64
```
## Important Note
A better, more optimized conversion may be available from **@Prince** ([@Blaizzy](https://huggingface.co/Blaizzy)) in the MLX VLM community. Check the [mlx-community](https://huggingface.co/mlx-community) organization for updated versions as official Qwen3.5 support is merged into the main `mlx-vlm` branch.
## Related Models
- **bf16 (full precision):** [mlx-community/Qwen3.5-2B-MLX-bf16](https://huggingface.co/mlx-community/Qwen3.5-2B-MLX-bf16)
- **8-bit quantized:** [mlx-community/Qwen3.5-2B-MLX-8bit](https://huggingface.co/mlx-community/Qwen3.5-2B-MLX-8bit)
- **Original:** [Qwen/Qwen3.5-2B](https://huggingface.co/Qwen/Qwen3.5-2B)
## Usage
```python
from mlx_vlm import load, generate
model, processor = load("mlx-community/Qwen3.5-2B-MLX-4bit")
output = generate(
model,
processor,
prompt="Describe this image.",
image="path/to/image.jpg",
max_tokens=512
)
print(output)
```
**CLI:**
```bash
python3 -m mlx_vlm.generate \
--model mlx-community/Qwen3.5-2B-MLX-4bit \
--image path/to/image.jpg \
--prompt "Describe this image."
```
## License
This model inherits the [Apache 2.0 license](https://huggingface.co/Qwen/Qwen3.5-2B) from the original Qwen model.

View file

@ -0,0 +1,154 @@
{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}
{%- macro render_content(content, do_vision_count, is_system_content=false) %}
{%- if content is string %}
{{- content }}
{%- elif content is iterable and content is not mapping %}
{%- for item in content %}
{%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain images.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set image_count.value = image_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Picture ' ~ image_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|image_pad|><|vision_end|>' }}
{%- elif 'video' in item or item.type == 'video' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain videos.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set video_count.value = video_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Video ' ~ video_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|video_pad|><|vision_end|>' }}
{%- elif 'text' in item %}
{{- item.text }}
{%- else %}
{{- raise_exception('Unexpected item type in content.') }}
{%- endif %}
{%- endfor %}
{%- elif content is none or content is undefined %}
{{- '' }}
{%- else %}
{{- raise_exception('Unexpected content type.') }}
{%- endif %}
{%- endmacro %}
{%- if not messages %}
{{- raise_exception('No messages provided.') }}
{%- endif %}
{%- if tools and tools is iterable and tools is not mapping %}
{{- '<|im_start|>system\n' }}
{{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n</tools>" }}
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{%- if content %}
{{- '\n\n' + content }}
{%- endif %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- else %}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" %}
{%- set content = render_content(message.content, false)|trim %}
{%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if ns.multi_step_tool %}
{{- raise_exception('No user query found in messages.') }}
{%- endif %}
{%- for message in messages %}
{%- set content = render_content(message.content, true)|trim %}
{%- if message.role == "system" %}
{%- if not loop.first %}
{{- raise_exception('System message must be at the beginning.') }}
{%- endif %}
{%- elif message.role == "user" %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{%- set reasoning_content = '' %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
{%- endif %}
{%- endif %}
{%- set reasoning_content = reasoning_content|trim %}
{%- if loop.index0 > ns.last_query_index %}
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
{%- else %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- endif %}
{%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
{%- for tool_call in message.tool_calls %}
{%- if tool_call.function is defined %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{%- if loop.first %}
{%- if content|trim %}
{{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- else %}
{{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- else %}
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- if tool_call.arguments is defined %}
{%- for args_name, args_value in tool_call.arguments|items %}
{{- '<parameter=' + args_name + '>\n' }}
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
{{- args_value }}
{{- '\n</parameter>\n' }}
{%- endfor %}
{%- endif %}
{{- '</function>\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.previtem and loop.previtem.role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if not loop.last and loop.nextitem.role != "tool" %}
{{- '<|im_end|>\n' }}
{%- elif loop.last %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- else %}
{{- raise_exception('Unexpected message role.') }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is true %}
{{- '<think>\n' }}
{%- else %}
{{- '<think>\n\n</think>\n\n' }}
{%- endif %}
{%- endif %}

View file

@ -0,0 +1,106 @@
{
"architectures": [
"Qwen3_5ForConditionalGeneration"
],
"image_token_id": 248056,
"model_type": "qwen3_5",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attn_output_gate": true,
"dtype": "bfloat16",
"eos_token_id": 248044,
"full_attention_interval": 4,
"head_dim": 256,
"hidden_act": "silu",
"hidden_size": 2048,
"initializer_range": 0.02,
"intermediate_size": 6144,
"layer_types": [
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention"
],
"linear_conv_kernel_dim": 4,
"linear_key_head_dim": 128,
"linear_num_key_heads": 16,
"linear_num_value_heads": 16,
"linear_value_head_dim": 128,
"max_position_embeddings": 262144,
"mlp_only_layers": [],
"model_type": "qwen3_5_text",
"mtp_num_hidden_layers": 1,
"mtp_use_dedicated_embeddings": false,
"num_attention_heads": 8,
"num_hidden_layers": 24,
"num_key_value_heads": 2,
"rms_norm_eps": 1e-06,
"tie_word_embeddings": true,
"use_cache": true,
"vocab_size": 248320,
"mamba_ssm_dtype": "float32",
"rope_parameters": {
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "default",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25
}
},
"tie_word_embeddings": true,
"transformers_version": "4.57.0.dev0",
"video_token_id": 248057,
"vision_config": {
"deepstack_visual_indexes": [],
"depth": 24,
"hidden_act": "gelu_pytorch_tanh",
"hidden_size": 1024,
"in_channels": 3,
"initializer_range": 0.02,
"intermediate_size": 4096,
"model_type": "qwen3_5",
"num_heads": 16,
"num_position_embeddings": 2304,
"out_hidden_size": 2048,
"patch_size": 16,
"spatial_merge_size": 2,
"temporal_patch_size": 2
},
"vision_end_token_id": 248054,
"vision_start_token_id": 248053
}

BIN
chat/mlx/mlx-community/Qwen3.5-2B-MLX-4bit/model.safetensors (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,998 @@
{
"metadata": {
"total_size": 1722149056
},
"weight_map": {
"language_model.model.embed_tokens.biases": "model.safetensors",
"language_model.model.embed_tokens.scales": "model.safetensors",
"language_model.model.embed_tokens.weight": "model.safetensors",
"language_model.model.layers.0.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.0.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.0.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.0.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.0.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.1.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.1.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.1.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.1.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.1.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.10.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.10.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.10.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.10.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.10.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.11.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.11.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.11.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.12.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.12.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.12.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.12.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.12.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.13.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.13.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.13.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.13.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.13.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.14.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.14.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.14.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.14.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.14.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.15.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.15.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.15.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.16.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.16.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.16.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.16.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.16.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.17.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.17.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.17.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.17.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.17.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.18.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.18.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.18.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.18.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.18.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.19.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.19.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.19.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.2.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.2.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.2.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.2.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.2.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.20.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.20.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.20.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.20.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.20.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.21.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.21.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.21.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.21.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.21.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.22.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.22.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.22.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.22.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.22.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.23.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.23.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.23.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.3.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.3.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.3.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.3.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.4.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.4.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.4.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.4.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.4.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.5.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.5.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.5.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.5.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.5.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.6.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.6.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.6.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.6.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.6.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.7.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.7.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.k_norm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.k_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.o_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.q_norm.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.q_proj.weight": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.biases": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.scales": "model.safetensors",
"language_model.model.layers.7.self_attn.v_proj.weight": "model.safetensors",
"language_model.model.layers.8.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.8.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.8.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.8.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.8.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.layers.9.input_layernorm.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.A_log": "model.safetensors",
"language_model.model.layers.9.linear_attn.conv1d.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.dt_bias": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_a.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_b.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_qkv.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.in_proj_z.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.norm.weight": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.biases": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.scales": "model.safetensors",
"language_model.model.layers.9.linear_attn.out_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.down_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.gate_proj.weight": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.biases": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.scales": "model.safetensors",
"language_model.model.layers.9.mlp.up_proj.weight": "model.safetensors",
"language_model.model.layers.9.post_attention_layernorm.weight": "model.safetensors",
"language_model.model.norm.weight": "model.safetensors",
"vision_tower.blocks.0.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.0.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.0.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.0.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.0.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.0.norm1.bias": "model.safetensors",
"vision_tower.blocks.0.norm1.weight": "model.safetensors",
"vision_tower.blocks.0.norm2.bias": "model.safetensors",
"vision_tower.blocks.0.norm2.weight": "model.safetensors",
"vision_tower.blocks.1.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.1.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.1.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.1.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.1.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.1.norm1.bias": "model.safetensors",
"vision_tower.blocks.1.norm1.weight": "model.safetensors",
"vision_tower.blocks.1.norm2.bias": "model.safetensors",
"vision_tower.blocks.1.norm2.weight": "model.safetensors",
"vision_tower.blocks.10.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.10.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.10.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.10.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.10.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.10.norm1.bias": "model.safetensors",
"vision_tower.blocks.10.norm1.weight": "model.safetensors",
"vision_tower.blocks.10.norm2.bias": "model.safetensors",
"vision_tower.blocks.10.norm2.weight": "model.safetensors",
"vision_tower.blocks.11.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.11.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.11.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.11.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.11.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.11.norm1.bias": "model.safetensors",
"vision_tower.blocks.11.norm1.weight": "model.safetensors",
"vision_tower.blocks.11.norm2.bias": "model.safetensors",
"vision_tower.blocks.11.norm2.weight": "model.safetensors",
"vision_tower.blocks.12.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.12.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.12.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.12.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.12.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.12.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.12.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.12.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.12.norm1.bias": "model.safetensors",
"vision_tower.blocks.12.norm1.weight": "model.safetensors",
"vision_tower.blocks.12.norm2.bias": "model.safetensors",
"vision_tower.blocks.12.norm2.weight": "model.safetensors",
"vision_tower.blocks.13.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.13.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.13.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.13.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.13.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.13.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.13.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.13.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.13.norm1.bias": "model.safetensors",
"vision_tower.blocks.13.norm1.weight": "model.safetensors",
"vision_tower.blocks.13.norm2.bias": "model.safetensors",
"vision_tower.blocks.13.norm2.weight": "model.safetensors",
"vision_tower.blocks.14.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.14.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.14.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.14.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.14.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.14.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.14.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.14.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.14.norm1.bias": "model.safetensors",
"vision_tower.blocks.14.norm1.weight": "model.safetensors",
"vision_tower.blocks.14.norm2.bias": "model.safetensors",
"vision_tower.blocks.14.norm2.weight": "model.safetensors",
"vision_tower.blocks.15.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.15.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.15.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.15.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.15.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.15.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.15.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.15.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.15.norm1.bias": "model.safetensors",
"vision_tower.blocks.15.norm1.weight": "model.safetensors",
"vision_tower.blocks.15.norm2.bias": "model.safetensors",
"vision_tower.blocks.15.norm2.weight": "model.safetensors",
"vision_tower.blocks.16.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.16.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.16.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.16.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.16.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.16.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.16.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.16.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.16.norm1.bias": "model.safetensors",
"vision_tower.blocks.16.norm1.weight": "model.safetensors",
"vision_tower.blocks.16.norm2.bias": "model.safetensors",
"vision_tower.blocks.16.norm2.weight": "model.safetensors",
"vision_tower.blocks.17.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.17.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.17.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.17.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.17.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.17.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.17.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.17.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.17.norm1.bias": "model.safetensors",
"vision_tower.blocks.17.norm1.weight": "model.safetensors",
"vision_tower.blocks.17.norm2.bias": "model.safetensors",
"vision_tower.blocks.17.norm2.weight": "model.safetensors",
"vision_tower.blocks.18.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.18.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.18.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.18.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.18.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.18.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.18.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.18.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.18.norm1.bias": "model.safetensors",
"vision_tower.blocks.18.norm1.weight": "model.safetensors",
"vision_tower.blocks.18.norm2.bias": "model.safetensors",
"vision_tower.blocks.18.norm2.weight": "model.safetensors",
"vision_tower.blocks.19.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.19.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.19.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.19.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.19.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.19.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.19.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.19.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.19.norm1.bias": "model.safetensors",
"vision_tower.blocks.19.norm1.weight": "model.safetensors",
"vision_tower.blocks.19.norm2.bias": "model.safetensors",
"vision_tower.blocks.19.norm2.weight": "model.safetensors",
"vision_tower.blocks.2.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.2.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.2.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.2.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.2.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.2.norm1.bias": "model.safetensors",
"vision_tower.blocks.2.norm1.weight": "model.safetensors",
"vision_tower.blocks.2.norm2.bias": "model.safetensors",
"vision_tower.blocks.2.norm2.weight": "model.safetensors",
"vision_tower.blocks.20.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.20.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.20.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.20.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.20.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.20.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.20.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.20.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.20.norm1.bias": "model.safetensors",
"vision_tower.blocks.20.norm1.weight": "model.safetensors",
"vision_tower.blocks.20.norm2.bias": "model.safetensors",
"vision_tower.blocks.20.norm2.weight": "model.safetensors",
"vision_tower.blocks.21.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.21.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.21.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.21.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.21.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.21.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.21.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.21.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.21.norm1.bias": "model.safetensors",
"vision_tower.blocks.21.norm1.weight": "model.safetensors",
"vision_tower.blocks.21.norm2.bias": "model.safetensors",
"vision_tower.blocks.21.norm2.weight": "model.safetensors",
"vision_tower.blocks.22.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.22.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.22.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.22.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.22.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.22.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.22.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.22.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.22.norm1.bias": "model.safetensors",
"vision_tower.blocks.22.norm1.weight": "model.safetensors",
"vision_tower.blocks.22.norm2.bias": "model.safetensors",
"vision_tower.blocks.22.norm2.weight": "model.safetensors",
"vision_tower.blocks.23.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.23.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.23.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.23.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.23.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.23.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.23.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.23.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.23.norm1.bias": "model.safetensors",
"vision_tower.blocks.23.norm1.weight": "model.safetensors",
"vision_tower.blocks.23.norm2.bias": "model.safetensors",
"vision_tower.blocks.23.norm2.weight": "model.safetensors",
"vision_tower.blocks.3.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.3.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.3.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.3.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.3.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.3.norm1.bias": "model.safetensors",
"vision_tower.blocks.3.norm1.weight": "model.safetensors",
"vision_tower.blocks.3.norm2.bias": "model.safetensors",
"vision_tower.blocks.3.norm2.weight": "model.safetensors",
"vision_tower.blocks.4.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.4.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.4.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.4.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.4.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.4.norm1.bias": "model.safetensors",
"vision_tower.blocks.4.norm1.weight": "model.safetensors",
"vision_tower.blocks.4.norm2.bias": "model.safetensors",
"vision_tower.blocks.4.norm2.weight": "model.safetensors",
"vision_tower.blocks.5.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.5.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.5.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.5.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.5.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.5.norm1.bias": "model.safetensors",
"vision_tower.blocks.5.norm1.weight": "model.safetensors",
"vision_tower.blocks.5.norm2.bias": "model.safetensors",
"vision_tower.blocks.5.norm2.weight": "model.safetensors",
"vision_tower.blocks.6.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.6.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.6.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.6.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.6.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.6.norm1.bias": "model.safetensors",
"vision_tower.blocks.6.norm1.weight": "model.safetensors",
"vision_tower.blocks.6.norm2.bias": "model.safetensors",
"vision_tower.blocks.6.norm2.weight": "model.safetensors",
"vision_tower.blocks.7.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.7.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.7.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.7.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.7.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.7.norm1.bias": "model.safetensors",
"vision_tower.blocks.7.norm1.weight": "model.safetensors",
"vision_tower.blocks.7.norm2.bias": "model.safetensors",
"vision_tower.blocks.7.norm2.weight": "model.safetensors",
"vision_tower.blocks.8.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.8.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.8.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.8.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.8.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.8.norm1.bias": "model.safetensors",
"vision_tower.blocks.8.norm1.weight": "model.safetensors",
"vision_tower.blocks.8.norm2.bias": "model.safetensors",
"vision_tower.blocks.8.norm2.weight": "model.safetensors",
"vision_tower.blocks.9.attn.proj.bias": "model.safetensors",
"vision_tower.blocks.9.attn.proj.weight": "model.safetensors",
"vision_tower.blocks.9.attn.qkv.bias": "model.safetensors",
"vision_tower.blocks.9.attn.qkv.weight": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc1.bias": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc1.weight": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc2.bias": "model.safetensors",
"vision_tower.blocks.9.mlp.linear_fc2.weight": "model.safetensors",
"vision_tower.blocks.9.norm1.bias": "model.safetensors",
"vision_tower.blocks.9.norm1.weight": "model.safetensors",
"vision_tower.blocks.9.norm2.bias": "model.safetensors",
"vision_tower.blocks.9.norm2.weight": "model.safetensors",
"vision_tower.merger.linear_fc1.bias": "model.safetensors",
"vision_tower.merger.linear_fc1.weight": "model.safetensors",
"vision_tower.merger.linear_fc2.bias": "model.safetensors",
"vision_tower.merger.linear_fc2.weight": "model.safetensors",
"vision_tower.merger.norm.bias": "model.safetensors",
"vision_tower.merger.norm.weight": "model.safetensors",
"vision_tower.patch_embed.proj.bias": "model.safetensors",
"vision_tower.patch_embed.proj.weight": "model.safetensors",
"vision_tower.pos_embed.weight": "model.safetensors"
}
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"image_processor_type": "Qwen2VLImageProcessorFast"
}

View file

@ -0,0 +1,63 @@
{
"image_processor": {
"data_format": "channels_first",
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.5,
0.5,
0.5
],
"image_processor_type": "Qwen2VLImageProcessorFast",
"image_std": [
0.5,
0.5,
0.5
],
"merge_size": 2,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"temporal_patch_size": 2
},
"processor_class": "Qwen3VLProcessor",
"video_processor": {
"data_format": "channels_first",
"default_to_square": true,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"do_sample_frames": true,
"fps": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"max_frames": 768,
"merge_size": 2,
"min_frames": 4,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"return_metadata": false,
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"temporal_patch_size": 2,
"video_processor_type": "Qwen3VLVideoProcessor"
}
}

BIN
chat/mlx/mlx-community/Qwen3.5-2B-MLX-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
{
"add_prefix_space": false,
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"backend": "tokenizers",
"bos_token": null,
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"image_token": "<|image_pad|>",
"is_local": true,
"model_max_length": 262144,
"model_specific_special_tokens": {
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"image_token": "<|image_pad|>",
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
},
"pad_token": "<|endoftext|>",
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
"processor_class": "Qwen3VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "TokenizersBackend",
"unk_token": null,
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"video_processor_type": "Qwen3VLVideoProcessor"
}

BIN
chat/mlx/mlx-community/Qwen3.5-2B-MLX-4bit/vocab.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,75 @@
---
base_model: Qwen/Qwen3.5-4B
library_name: mlx
tags:
- mlx
- qwen3.5
- vision-language-model
- quantized
- 4bit
license: apache-2.0
---
# Qwen3.5-4B-MLX-4bit
This is a 4-bit quantized MLX version of [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B) for Apple Silicon.
## Model Details
- **Original Model:** [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B)
- **Quantization:** 4-bit (5.347 bits per weight)
- **Group Size:** 64
- **Format:** MLX SafeTensors
- **Framework:** [mlx-vlm](https://github.com/Blaizzy/mlx-vlm)
- **Disk Size:** ~2.9G
## Conversion Details
This model was converted using `mlx-vlm` from the [`pc/fix-qwen35-predicate`](https://github.com/Blaizzy/mlx-vlm/tree/pc/fix-qwen35-predicate) branch, which includes fixes for Qwen3.5 model support (proper handling of MoE gate layers, `shared_expert_gate`, and `A_log` casting).
**Conversion command:**
```bash
python3 -m mlx_vlm convert \
--hf-path "Qwen/Qwen3.5-4B" \
--mlx-path "./Qwen3.5-4B-MLX-4bit" \
-q --q-bits 4 --q-group-size 64
```
## Important Note
A better, more optimized conversion may be available from **@Prince** ([@Blaizzy](https://huggingface.co/Blaizzy)) in the MLX VLM community. Check the [mlx-community](https://huggingface.co/mlx-community) organization for updated versions as official Qwen3.5 support is merged into the main `mlx-vlm` branch.
## Related Models
- **bf16 (full precision):** [mlx-community/Qwen3.5-4B-MLX-bf16](https://huggingface.co/mlx-community/Qwen3.5-4B-MLX-bf16)
- **8-bit quantized:** [mlx-community/Qwen3.5-4B-MLX-8bit](https://huggingface.co/mlx-community/Qwen3.5-4B-MLX-8bit)
- **Original:** [Qwen/Qwen3.5-4B](https://huggingface.co/Qwen/Qwen3.5-4B)
## Usage
```python
from mlx_vlm import load, generate
model, processor = load("mlx-community/Qwen3.5-4B-MLX-4bit")
output = generate(
model,
processor,
prompt="Describe this image.",
image="path/to/image.jpg",
max_tokens=512
)
print(output)
```
**CLI:**
```bash
python3 -m mlx_vlm.generate \
--model mlx-community/Qwen3.5-4B-MLX-4bit \
--image path/to/image.jpg \
--prompt "Describe this image."
```
## License
This model inherits the [Apache 2.0 license](https://huggingface.co/Qwen/Qwen3.5-4B) from the original Qwen model.

View file

@ -0,0 +1,154 @@
{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}
{%- macro render_content(content, do_vision_count, is_system_content=false) %}
{%- if content is string %}
{{- content }}
{%- elif content is iterable and content is not mapping %}
{%- for item in content %}
{%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain images.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set image_count.value = image_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Picture ' ~ image_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|image_pad|><|vision_end|>' }}
{%- elif 'video' in item or item.type == 'video' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain videos.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set video_count.value = video_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Video ' ~ video_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|video_pad|><|vision_end|>' }}
{%- elif 'text' in item %}
{{- item.text }}
{%- else %}
{{- raise_exception('Unexpected item type in content.') }}
{%- endif %}
{%- endfor %}
{%- elif content is none or content is undefined %}
{{- '' }}
{%- else %}
{{- raise_exception('Unexpected content type.') }}
{%- endif %}
{%- endmacro %}
{%- if not messages %}
{{- raise_exception('No messages provided.') }}
{%- endif %}
{%- if tools and tools is iterable and tools is not mapping %}
{{- '<|im_start|>system\n' }}
{{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n</tools>" }}
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{%- if content %}
{{- '\n\n' + content }}
{%- endif %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- else %}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" %}
{%- set content = render_content(message.content, false)|trim %}
{%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if ns.multi_step_tool %}
{{- raise_exception('No user query found in messages.') }}
{%- endif %}
{%- for message in messages %}
{%- set content = render_content(message.content, true)|trim %}
{%- if message.role == "system" %}
{%- if not loop.first %}
{{- raise_exception('System message must be at the beginning.') }}
{%- endif %}
{%- elif message.role == "user" %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{%- set reasoning_content = '' %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
{%- endif %}
{%- endif %}
{%- set reasoning_content = reasoning_content|trim %}
{%- if loop.index0 > ns.last_query_index %}
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
{%- else %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- endif %}
{%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
{%- for tool_call in message.tool_calls %}
{%- if tool_call.function is defined %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{%- if loop.first %}
{%- if content|trim %}
{{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- else %}
{{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- else %}
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- if tool_call.arguments is defined %}
{%- for args_name, args_value in tool_call.arguments|items %}
{{- '<parameter=' + args_name + '>\n' }}
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
{{- args_value }}
{{- '\n</parameter>\n' }}
{%- endfor %}
{%- endif %}
{{- '</function>\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.previtem and loop.previtem.role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if not loop.last and loop.nextitem.role != "tool" %}
{{- '<|im_end|>\n' }}
{%- elif loop.last %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- else %}
{{- raise_exception('Unexpected message role.') }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is false %}
{{- '<think>\n\n</think>\n\n' }}
{%- else %}
{{- '<think>\n' }}
{%- endif %}
{%- endif %}

View file

@ -0,0 +1,114 @@
{
"architectures": [
"Qwen3_5ForConditionalGeneration"
],
"image_token_id": 248056,
"model_type": "qwen3_5",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attn_output_gate": true,
"dtype": "bfloat16",
"eos_token_id": 248044,
"full_attention_interval": 4,
"head_dim": 256,
"hidden_act": "silu",
"hidden_size": 2560,
"initializer_range": 0.02,
"intermediate_size": 9216,
"layer_types": [
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention"
],
"linear_conv_kernel_dim": 4,
"linear_key_head_dim": 128,
"linear_num_key_heads": 16,
"linear_num_value_heads": 32,
"linear_value_head_dim": 128,
"max_position_embeddings": 262144,
"mlp_only_layers": [],
"model_type": "qwen3_5_text",
"mtp_num_hidden_layers": 1,
"mtp_use_dedicated_embeddings": false,
"num_attention_heads": 16,
"num_hidden_layers": 32,
"num_key_value_heads": 4,
"rms_norm_eps": 1e-06,
"tie_word_embeddings": true,
"use_cache": true,
"vocab_size": 248320,
"mamba_ssm_dtype": "float32",
"rope_parameters": {
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "default",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25
}
},
"tie_word_embeddings": true,
"transformers_version": "4.57.0.dev0",
"video_token_id": 248057,
"vision_config": {
"deepstack_visual_indexes": [],
"depth": 24,
"hidden_act": "gelu_pytorch_tanh",
"hidden_size": 1024,
"in_channels": 3,
"initializer_range": 0.02,
"intermediate_size": 4096,
"model_type": "qwen3_5",
"num_heads": 16,
"num_position_embeddings": 2304,
"out_hidden_size": 2560,
"patch_size": 16,
"spatial_merge_size": 2,
"temporal_patch_size": 2
},
"vision_end_token_id": 248054,
"vision_start_token_id": 248053
}

BIN
chat/mlx/mlx-community/Qwen3.5-4B-MLX-4bit/model.safetensors (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"image_processor_type": "Qwen2VLImageProcessorFast"
}

View file

@ -0,0 +1,63 @@
{
"image_processor": {
"data_format": "channels_first",
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.5,
0.5,
0.5
],
"image_processor_type": "Qwen2VLImageProcessorFast",
"image_std": [
0.5,
0.5,
0.5
],
"merge_size": 2,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"temporal_patch_size": 2
},
"processor_class": "Qwen3VLProcessor",
"video_processor": {
"data_format": "channels_first",
"default_to_square": true,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"do_sample_frames": true,
"fps": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"max_frames": 768,
"merge_size": 2,
"min_frames": 4,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"return_metadata": false,
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"temporal_patch_size": 2,
"video_processor_type": "Qwen3VLVideoProcessor"
}
}

BIN
chat/mlx/mlx-community/Qwen3.5-4B-MLX-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
{
"add_prefix_space": false,
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"backend": "tokenizers",
"bos_token": null,
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"image_token": "<|image_pad|>",
"is_local": true,
"model_max_length": 262144,
"model_specific_special_tokens": {
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"image_token": "<|image_pad|>",
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
},
"pad_token": "<|endoftext|>",
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
"processor_class": "Qwen3VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "TokenizersBackend",
"unk_token": null,
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"video_processor_type": "Qwen3VLVideoProcessor"
}

BIN
chat/mlx/mlx-community/Qwen3.5-4B-MLX-4bit/vocab.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,76 @@
---
base_model: Qwen/Qwen3.5-9B
library_name: mlx
pipeline_tag: image-text-to-text
tags:
- mlx
- qwen3.5
- vision-language-model
- quantized
- 4bit
license: apache-2.0
---
# Qwen3.5-9B-MLX-4bit
This is a quantized MLX version of [Qwen/Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) for Apple Silicon.
## Model Details
- **Original Model:** [Qwen/Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B)
- **Quantization:** 4-bit (~5.059 bits per weight)
- **Group Size:** 64
- **Format:** MLX SafeTensors
- **Framework:** [mlx-vlm](https://github.com/Blaizzy/mlx-vlm)
## Conversion Details
This model was converted using `mlx-vlm` with 4-bit quantization.
**Conversion command:**
```bash
python3 -m mlx_vlm convert \
--hf-path "Qwen/Qwen3.5-9B" \
--mlx-path "./mlx_models/Qwen3.5-9B-MLX-4bit" \
-q --q-bits 4 --q-group-size 64
```
## Important Note
A better, more optimized conversion may be available from **@Prince** ([@Blaizzy](https://huggingface.co/Blaizzy)) in the MLX VLM community. Check the [mlx-community](https://huggingface.co/mlx-community) organization for updated versions as official Qwen3.5 support is merged into the main `mlx-vlm` branch.
## Usage
```python
from mlx_vlm import load, generate
model, processor = load("mlx-community/Qwen3.5-9B-MLX-4bit")
output = generate(
model,
processor,
prompt="Describe this image in detail",
image="path/to/image.jpg",
max_tokens=200
)
print(output)
```
Or from the command line:
```bash
mlx_vlm generate \
--model mlx-community/Qwen3.5-9B-MLX-4bit \
--prompt "Describe this image" \
--image path/to/image.jpg \
--max-tokens 200
```
## Performance
- **Disk Size:** ~5.6 GB
- Runs efficiently on Apple Silicon Macs (M1/M2/M3/M4)
- Lower memory footprint compared to 8-bit quantization
## License
This model inherits the [Apache 2.0 license](https://huggingface.co/Qwen/Qwen3.5-9B/blob/main/LICENSE) from the original Qwen3.5-9B model.

View file

@ -0,0 +1,154 @@
{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}
{%- macro render_content(content, do_vision_count, is_system_content=false) %}
{%- if content is string %}
{{- content }}
{%- elif content is iterable and content is not mapping %}
{%- for item in content %}
{%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain images.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set image_count.value = image_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Picture ' ~ image_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|image_pad|><|vision_end|>' }}
{%- elif 'video' in item or item.type == 'video' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain videos.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set video_count.value = video_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Video ' ~ video_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|video_pad|><|vision_end|>' }}
{%- elif 'text' in item %}
{{- item.text }}
{%- else %}
{{- raise_exception('Unexpected item type in content.') }}
{%- endif %}
{%- endfor %}
{%- elif content is none or content is undefined %}
{{- '' }}
{%- else %}
{{- raise_exception('Unexpected content type.') }}
{%- endif %}
{%- endmacro %}
{%- if not messages %}
{{- raise_exception('No messages provided.') }}
{%- endif %}
{%- if tools and tools is iterable and tools is not mapping %}
{{- '<|im_start|>system\n' }}
{{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n</tools>" }}
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{%- if content %}
{{- '\n\n' + content }}
{%- endif %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- else %}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" %}
{%- set content = render_content(message.content, false)|trim %}
{%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if ns.multi_step_tool %}
{{- raise_exception('No user query found in messages.') }}
{%- endif %}
{%- for message in messages %}
{%- set content = render_content(message.content, true)|trim %}
{%- if message.role == "system" %}
{%- if not loop.first %}
{{- raise_exception('System message must be at the beginning.') }}
{%- endif %}
{%- elif message.role == "user" %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{%- set reasoning_content = '' %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
{%- endif %}
{%- endif %}
{%- set reasoning_content = reasoning_content|trim %}
{%- if loop.index0 > ns.last_query_index %}
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
{%- else %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- endif %}
{%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
{%- for tool_call in message.tool_calls %}
{%- if tool_call.function is defined %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{%- if loop.first %}
{%- if content|trim %}
{{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- else %}
{{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- else %}
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- if tool_call.arguments is defined %}
{%- for args_name, args_value in tool_call.arguments|items %}
{{- '<parameter=' + args_name + '>\n' }}
{%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}
{{- args_value }}
{{- '\n</parameter>\n' }}
{%- endfor %}
{%- endif %}
{{- '</function>\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.previtem and loop.previtem.role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if not loop.last and loop.nextitem.role != "tool" %}
{{- '<|im_end|>\n' }}
{%- elif loop.last %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- else %}
{{- raise_exception('Unexpected message role.') }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is false %}
{{- '<think>\n\n</think>\n\n' }}
{%- else %}
{{- '<think>\n' }}
{%- endif %}
{%- endif %}

View file

@ -0,0 +1,113 @@
{
"architectures": [
"Qwen3_5ForConditionalGeneration"
],
"image_token_id": 248056,
"model_type": "qwen3_5",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attn_output_gate": true,
"dtype": "bfloat16",
"eos_token_id": 248044,
"full_attention_interval": 4,
"head_dim": 256,
"hidden_act": "silu",
"hidden_size": 4096,
"initializer_range": 0.02,
"intermediate_size": 12288,
"layer_types": [
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention"
],
"linear_conv_kernel_dim": 4,
"linear_key_head_dim": 128,
"linear_num_key_heads": 16,
"linear_num_value_heads": 32,
"linear_value_head_dim": 128,
"max_position_embeddings": 262144,
"mlp_only_layers": [],
"model_type": "qwen3_5_text",
"mtp_num_hidden_layers": 1,
"mtp_use_dedicated_embeddings": false,
"num_attention_heads": 16,
"num_hidden_layers": 32,
"num_key_value_heads": 4,
"rms_norm_eps": 1e-06,
"use_cache": true,
"vocab_size": 248320,
"mamba_ssm_dtype": "float32",
"rope_parameters": {
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "default",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25
}
},
"tie_word_embeddings": false,
"transformers_version": "4.57.0.dev0",
"video_token_id": 248057,
"vision_config": {
"deepstack_visual_indexes": [],
"depth": 27,
"hidden_act": "gelu_pytorch_tanh",
"hidden_size": 1152,
"in_channels": 3,
"initializer_range": 0.02,
"intermediate_size": 4304,
"model_type": "qwen3_5",
"num_heads": 16,
"num_position_embeddings": 2304,
"out_hidden_size": 4096,
"patch_size": 16,
"spatial_merge_size": 2,
"temporal_patch_size": 2
},
"vision_end_token_id": 248054,
"vision_start_token_id": 248053
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"image_processor_type": "Qwen2VLImageProcessorFast"
}

View file

@ -0,0 +1,63 @@
{
"image_processor": {
"data_format": "channels_first",
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.5,
0.5,
0.5
],
"image_processor_type": "Qwen2VLImageProcessorFast",
"image_std": [
0.5,
0.5,
0.5
],
"merge_size": 2,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"temporal_patch_size": 2
},
"processor_class": "Qwen3VLProcessor",
"video_processor": {
"data_format": "channels_first",
"default_to_square": true,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"do_sample_frames": true,
"fps": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"max_frames": 768,
"merge_size": 2,
"min_frames": 4,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"return_metadata": false,
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"temporal_patch_size": 2,
"video_processor_type": "Qwen3VLVideoProcessor"
}
}

BIN
chat/mlx/mlx-community/Qwen3.5-9B-MLX-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
{
"add_prefix_space": false,
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"backend": "tokenizers",
"bos_token": null,
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"image_token": "<|image_pad|>",
"is_local": true,
"model_max_length": 262144,
"model_specific_special_tokens": {
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"image_token": "<|image_pad|>",
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
},
"pad_token": "<|endoftext|>",
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
"processor_class": "Qwen3VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "TokenizersBackend",
"unk_token": null,
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"video_processor_type": "Qwen3VLVideoProcessor"
}

BIN
chat/mlx/mlx-community/Qwen3.5-9B-MLX-4bit/vocab.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,25 @@
---
library_name: mlx
license: apache-2.0
license_link: https://huggingface.co/Qwen/Qwen3.6-35B-A3B/blob/main/LICENSE
pipeline_tag: image-text-to-text
tags:
- mlx
base_model: Qwen/Qwen3.6-35B-A3B
---
# mlx-community/Qwen3.6-35B-A3B-4bit
This model was converted to MLX format from [`Qwen/Qwen3.6-35B-A3B`](https://huggingface.co/Qwen/Qwen3.6-35B-A3B)
using mlx-vlm version **0.4.4**.
Refer to the [original model card](https://huggingface.co/Qwen/Qwen3.6-35B-A3B) for more details on the model.
## Use with mlx
```bash
pip install -U mlx-vlm
```
```bash
python -m mlx_vlm.generate --model mlx-community/Qwen3.6-35B-A3B-4bit --max-tokens 100 --temperature 0.0 --prompt "Describe this image." --image <path_to_image>
```

View file

@ -0,0 +1,154 @@
{%- set image_count = namespace(value=0) %}
{%- set video_count = namespace(value=0) %}
{%- macro render_content(content, do_vision_count, is_system_content=false) %}
{%- if content is string %}
{{- content }}
{%- elif content is iterable and content is not mapping %}
{%- for item in content %}
{%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain images.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set image_count.value = image_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Picture ' ~ image_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|image_pad|><|vision_end|>' }}
{%- elif 'video' in item or item.type == 'video' %}
{%- if is_system_content %}
{{- raise_exception('System message cannot contain videos.') }}
{%- endif %}
{%- if do_vision_count %}
{%- set video_count.value = video_count.value + 1 %}
{%- endif %}
{%- if add_vision_id %}
{{- 'Video ' ~ video_count.value ~ ': ' }}
{%- endif %}
{{- '<|vision_start|><|video_pad|><|vision_end|>' }}
{%- elif 'text' in item %}
{{- item.text }}
{%- else %}
{{- raise_exception('Unexpected item type in content.') }}
{%- endif %}
{%- endfor %}
{%- elif content is none or content is undefined %}
{{- '' }}
{%- else %}
{{- raise_exception('Unexpected content type.') }}
{%- endif %}
{%- endmacro %}
{%- if not messages %}
{{- raise_exception('No messages provided.') }}
{%- endif %}
{%- if tools and tools is iterable and tools is not mapping %}
{{- '<|im_start|>system\n' }}
{{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
{%- for tool in tools %}
{{- "\n" }}
{{- tool | tojson }}
{%- endfor %}
{{- "\n</tools>" }}
{{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{%- if content %}
{{- '\n\n' + content }}
{%- endif %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- else %}
{%- if messages[0].role == 'system' %}
{%- set content = render_content(messages[0].content, false, true)|trim %}
{{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
{%- endif %}
{%- endif %}
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
{%- for message in messages[::-1] %}
{%- set index = (messages|length - 1) - loop.index0 %}
{%- if ns.multi_step_tool and message.role == "user" %}
{%- set content = render_content(message.content, false)|trim %}
{%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
{%- set ns.multi_step_tool = false %}
{%- set ns.last_query_index = index %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- if ns.multi_step_tool %}
{{- raise_exception('No user query found in messages.') }}
{%- endif %}
{%- for message in messages %}
{%- set content = render_content(message.content, true)|trim %}
{%- if message.role == "system" %}
{%- if not loop.first %}
{{- raise_exception('System message must be at the beginning.') }}
{%- endif %}
{%- elif message.role == "user" %}
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
{%- elif message.role == "assistant" %}
{%- set reasoning_content = '' %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
{%- endif %}
{%- endif %}
{%- set reasoning_content = reasoning_content|trim %}
{%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
{%- else %}
{{- '<|im_start|>' + message.role + '\n' + content }}
{%- endif %}
{%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
{%- for tool_call in message.tool_calls %}
{%- if tool_call.function is defined %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{%- if loop.first %}
{%- if content|trim %}
{{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- else %}
{{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- else %}
{{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
{%- endif %}
{%- if tool_call.arguments is defined %}
{%- for args_name, args_value in tool_call.arguments|items %}
{{- '<parameter=' + args_name + '>\n' }}
{%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
{{- args_value }}
{{- '\n</parameter>\n' }}
{%- endfor %}
{%- endif %}
{{- '</function>\n</tool_call>' }}
{%- endfor %}
{%- endif %}
{{- '<|im_end|>\n' }}
{%- elif message.role == "tool" %}
{%- if loop.previtem and loop.previtem.role != "tool" %}
{{- '<|im_start|>user' }}
{%- endif %}
{{- '\n<tool_response>\n' }}
{{- content }}
{{- '\n</tool_response>' }}
{%- if not loop.last and loop.nextitem.role != "tool" %}
{{- '<|im_end|>\n' }}
{%- elif loop.last %}
{{- '<|im_end|>\n' }}
{%- endif %}
{%- else %}
{{- raise_exception('Unexpected message role.') }}
{%- endif %}
{%- endfor %}
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if enable_thinking is defined and enable_thinking is false %}
{{- '<think>\n\n</think>\n\n' }}
{%- else %}
{{- '<think>\n' }}
{%- endif %}
{%- endif %}

View file

@ -0,0 +1,773 @@
{
"architectures": [
"Qwen3_5MoeForConditionalGeneration"
],
"eos_token_id": [
248046,
248044
],
"image_token_id": 248056,
"model_type": "qwen3_5_moe",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine",
"language_model.model.layers.0.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.0.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.1.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.1.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.2.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.2.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.3.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.3.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.4.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.4.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.5.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.5.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.6.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.6.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.7.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.7.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.8.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.8.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.9.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.9.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.10.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.10.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.11.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.11.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.12.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.12.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.13.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.13.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.14.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.14.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.15.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.15.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.16.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.16.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.17.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.17.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.18.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.18.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.19.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.19.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.20.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.20.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.21.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.21.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.22.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.22.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.23.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.23.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.24.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.24.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.25.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.25.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.26.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.26.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.27.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.27.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.28.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.28.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.29.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.29.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.30.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.30.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.31.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.31.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.32.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.32.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.33.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.33.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.34.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.34.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.35.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.35.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.36.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.36.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.37.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.37.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.38.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.38.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.39.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.39.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
}
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine",
"language_model.model.layers.0.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.0.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.1.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.1.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.2.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.2.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.3.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.3.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.4.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.4.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.5.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.5.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.6.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.6.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.7.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.7.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.8.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.8.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.9.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.9.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.10.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.10.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.11.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.11.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.12.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.12.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.13.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.13.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.14.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.14.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.15.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.15.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.16.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.16.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.17.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.17.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.18.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.18.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.19.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.19.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.20.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.20.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.21.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.21.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.22.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.22.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.23.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.23.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.24.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.24.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.25.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.25.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.26.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.26.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.27.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.27.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.28.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.28.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.29.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.29.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.30.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.30.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.31.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.31.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.32.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.32.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.33.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.33.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.34.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.34.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.35.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.35.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.36.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.36.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.37.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.37.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.38.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.38.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.39.mlp.gate": {
"group_size": 64,
"bits": 8
},
"language_model.model.layers.39.mlp.shared_expert_gate": {
"group_size": 64,
"bits": 8
}
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attn_output_gate": true,
"bos_token_id": 248044,
"dtype": "bfloat16",
"eos_token_id": 248044,
"full_attention_interval": 4,
"head_dim": 256,
"hidden_act": "silu",
"hidden_size": 2048,
"initializer_range": 0.02,
"layer_types": [
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention",
"linear_attention",
"linear_attention",
"linear_attention",
"full_attention"
],
"linear_conv_kernel_dim": 4,
"linear_key_head_dim": 128,
"linear_num_key_heads": 16,
"linear_num_value_heads": 32,
"linear_value_head_dim": 128,
"mamba_ssm_dtype": "float32",
"max_position_embeddings": 262144,
"model_type": "qwen3_5_moe_text",
"moe_intermediate_size": 512,
"mtp_num_hidden_layers": 1,
"mtp_use_dedicated_embeddings": false,
"num_attention_heads": 16,
"num_experts": 256,
"num_experts_per_tok": 8,
"num_hidden_layers": 40,
"num_key_value_heads": 2,
"output_router_logits": false,
"pad_token_id": null,
"partial_rotary_factor": 0.25,
"rms_norm_eps": 1e-06,
"rope_parameters": {
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"partial_rotary_factor": 0.25,
"rope_theta": 10000000,
"rope_type": "default"
},
"router_aux_loss_coef": 0.001,
"shared_expert_intermediate_size": 512,
"tie_word_embeddings": false,
"use_cache": true,
"vocab_size": 248320
},
"tie_word_embeddings": false,
"transformers_version": "4.57.1",
"video_token_id": 248057,
"vision_config": {
"deepstack_visual_indexes": [],
"depth": 27,
"hidden_act": "gelu_pytorch_tanh",
"hidden_size": 1152,
"in_channels": 3,
"initializer_range": 0.02,
"intermediate_size": 4304,
"model_type": "qwen3_5_moe",
"num_heads": 16,
"num_position_embeddings": 2304,
"out_hidden_size": 2048,
"patch_size": 16,
"spatial_merge_size": 2,
"temporal_patch_size": 2
},
"vision_end_token_id": 248054,
"vision_start_token_id": 248053
}

View file

@ -0,0 +1 @@
{"framework":"Pytorch","task":"visual-question-answering"}

View file

@ -0,0 +1,12 @@
{
"bos_token_id": 248044,
"do_sample": true,
"eos_token_id": [
248046,
248044
],
"pad_token_id": 248044,
"temperature": 1.0,
"top_k": 20,
"top_p": 0.95
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"image_processor_type": "Qwen2VLImageProcessorFast"
}

View file

@ -0,0 +1,64 @@
{
"image_processor": {
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.5,
0.5,
0.5
],
"image_processor_type": "Qwen2VLImageProcessor",
"image_std": [
0.5,
0.5,
0.5
],
"max_pixels": 16777216,
"merge_size": 2,
"min_pixels": 65536,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"longest_edge": 16777216,
"shortest_edge": 65536
},
"temporal_patch_size": 2
},
"processor_class": "Qwen3VLProcessor",
"video_processor": {
"data_format": "channels_first",
"default_to_square": true,
"do_convert_rgb": true,
"do_normalize": true,
"do_rescale": true,
"do_resize": true,
"do_sample_frames": true,
"fps": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"max_frames": 768,
"merge_size": 2,
"min_frames": 4,
"patch_size": 16,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"return_metadata": false,
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"temporal_patch_size": 2,
"video_processor_type": "Qwen3VLVideoProcessor"
}
}

BIN
chat/mlx/mlx-community/Qwen3.6-35B-A3B-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,32 @@
{
"add_prefix_space": false,
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"backend": "tokenizers",
"bos_token": null,
"clean_up_tokenization_spaces": false,
"eos_token": "<|im_end|>",
"errors": "replace",
"image_token": "<|image_pad|>",
"is_local": true,
"model_max_length": 262144,
"model_specific_special_tokens": {
"audio_bos_token": "<|audio_start|>",
"audio_eos_token": "<|audio_end|>",
"audio_token": "<|audio_pad|>",
"image_token": "<|image_pad|>",
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
},
"pad_token": "<|endoftext|>",
"pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
"processor_class": "Qwen3VLProcessor",
"split_special_tokens": false,
"tokenizer_class": "TokenizersBackend",
"unk_token": null,
"video_token": "<|video_pad|>",
"vision_bos_token": "<|vision_start|>",
"vision_eos_token": "<|vision_end|>"
}

View file

@ -0,0 +1,21 @@
{
"size": {
"longest_edge": 25165824,
"shortest_edge": 4096
},
"patch_size": 16,
"temporal_patch_size": 2,
"merge_size": 2,
"image_mean": [
0.5,
0.5,
0.5
],
"image_std": [
0.5,
0.5,
0.5
],
"processor_class": "Qwen3VLProcessor",
"video_processor_type": "Qwen3VLVideoProcessor"
}

BIN
chat/mlx/mlx-community/Qwen3.6-35B-A3B-4bit/vocab.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,7 @@
---
language: en
pipeline_tag: image-text-to-text
tags:
- mlx
library_name: mlx
---

View file

@ -0,0 +1,363 @@
{%- macro format_parameters(properties, required, filter_keys=false) -%}
{%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in properties | dictsort -%}
{%- set add_comma = false -%}
{%- if not filter_keys or key not in standard_keys -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{{ key }}:{
{%- if value['description'] -%}
description:<|"|>{{ value['description'] }}<|"|>
{%- set add_comma = true -%}
{%- endif -%}
{%- if value['type'] | upper == 'STRING' -%}
{%- if value['enum'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
enum:{{ format_argument(value['enum']) }}
{%- endif -%}
{%- elif value['type'] | upper == 'ARRAY' -%}
{%- if value['items'] is mapping and value['items'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
items:{
{%- set ns_items = namespace(found_first=false) -%}
{%- for item_key, item_value in value['items'] | dictsort -%}
{%- if item_value is not none -%}
{%- if ns_items.found_first %},{% endif -%}
{%- set ns_items.found_first = true -%}
{%- if item_key == 'properties' -%}
properties:{
{%- if item_value is mapping -%}
{{- format_parameters(item_value, value['items']['required'] | default([])) -}}
{%- endif -%}
}
{%- elif item_key == 'required' -%}
required:[
{%- for req_item in item_value -%}
<|"|>{{- req_item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- elif item_key == 'type' -%}
{%- if item_value is string -%}
type:{{ format_argument(item_value | upper) }}
{%- else -%}
type:{{ format_argument(item_value | map('upper') | list) }}
{%- endif -%}
{%- else -%}
{{ item_key }}:{{ format_argument(item_value) }}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
}
{%- endif -%}
{%- endif -%}
{%- if value['nullable'] %}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
nullable:true
{%- endif -%}
{%- if value['type'] | upper == 'OBJECT' -%}
{%- if value['properties'] is defined and value['properties'] is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value['properties'], value['required'] | default([])) -}}
}
{%- elif value is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}
}
{%- endif -%}
{%- if value['required'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
required:[
{%- for item in value['required'] | default([]) -%}
<|"|>{{- item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- endif -%}
{%- endif -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
type:<|"|>{{ value['type'] | upper }}<|"|>}
{%- endif -%}
{%- endfor -%}
{%- endmacro -%}
{%- macro format_function_declaration(tool_data) -%}
declaration:{{- tool_data['function']['name'] -}}{description:<|"|>{{- tool_data['function']['description'] -}}<|"|>
{%- set params = tool_data['function']['parameters'] -%}
{%- if params -%}
,parameters:{
{%- if params['properties'] -%}
properties:{ {{- format_parameters(params['properties'], params['required']) -}} },
{%- endif -%}
{%- if params['required'] -%}
required:[
{%- for item in params['required'] -%}
<|"|>{{- item -}}<|"|>
{{- ',' if not loop.last -}}
{%- endfor -%}
],
{%- endif -%}
{%- if params['type'] -%}
type:<|"|>{{- params['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
{%- if 'response' in tool_data['function'] -%}
{%- set response_declaration = tool_data['function']['response'] -%}
,response:{
{%- if response_declaration['description'] -%}
description:<|"|>{{- response_declaration['description'] -}}<|"|>,
{%- endif -%}
{%- if response_declaration['type'] | upper == 'OBJECT' -%}
type:<|"|>{{- response_declaration['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
}
{%- endmacro -%}
{%- macro format_argument(argument, escape_keys=True) -%}
{%- if argument is string -%}
{{- '<|"|>' + argument + '<|"|>' -}}
{%- elif argument is boolean -%}
{{- 'true' if argument else 'false' -}}
{%- elif argument is mapping -%}
{{- '{' -}}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in argument | dictsort -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{%- if escape_keys -%}
{{- '<|"|>' + key + '<|"|>' -}}
{%- else -%}
{{- key -}}
{%- endif -%}
:{{- format_argument(value, escape_keys=escape_keys) -}}
{%- endfor -%}
{{- '}' -}}
{%- elif argument is sequence -%}
{{- '[' -}}
{%- for item in argument -%}
{{- format_argument(item, escape_keys=escape_keys) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- ']' -}}
{%- else -%}
{{- argument -}}
{%- endif -%}
{%- endmacro -%}
{%- macro strip_thinking(text) -%}
{%- set ns = namespace(result='') -%}
{%- for part in text.split('<channel|>') -%}
{%- if '<|channel>' in part -%}
{%- set ns.result = ns.result + part.split('<|channel>')[0] -%}
{%- else -%}
{%- set ns.result = ns.result + part -%}
{%- endif -%}
{%- endfor -%}
{{- ns.result | trim -}}
{%- endmacro -%}
{%- macro format_tool_response_block(tool_name, response) -%}
{{- '<|tool_response>' -}}
{%- if response is mapping -%}
{{- 'response:' + tool_name + '{' -}}
{%- for key, value in response | dictsort -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- '}' -}}
{%- else -%}
{{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}
{%- endif -%}
{{- '<tool_response|>' -}}
{%- endmacro -%}
{%- set ns = namespace(prev_message_type=None) -%}
{%- set loop_messages = messages -%}
{{- bos_token -}}
{#- Handle System/Tool Definitions Block -#}
{%- if (enable_thinking is defined and enable_thinking) or tools or messages[0]['role'] in ['system', 'developer'] -%}
{{- '<|turn>system\n' -}}
{#- Inject Thinking token at the very top of the FIRST system turn -#}
{%- if enable_thinking is defined and enable_thinking -%}
{{- '<|think|>\n' -}}
{%- set ns.prev_message_type = 'think' -%}
{%- endif -%}
{%- if messages[0]['role'] in ['system', 'developer'] -%}
{%- if messages[0]['content'] is string -%}
{{- messages[0]['content'] | trim -}}
{%- elif messages[0]['content'] is sequence -%}
{%- for item in messages[0]['content'] -%}
{{- item['text'] | trim + ' '-}}
{%- endfor -%}
{%- endif -%}
{%- set loop_messages = messages[1:] -%}
{%- endif -%}
{%- if tools -%}
{%- for tool in tools %}
{{- '<|tool>' -}}
{{- format_function_declaration(tool) | trim -}}
{{- '<tool|>' -}}
{%- endfor %}
{%- set ns.prev_message_type = 'tool' -%}
{%- endif -%}
{{- '<turn|>\n' -}}
{%- endif %}
{#- Pre-scan: find last user message index for reasoning guard -#}
{%- set ns_turn = namespace(last_user_idx=-1) -%}
{%- for i in range(loop_messages | length) -%}
{%- if loop_messages[i]['role'] == 'user' -%}
{%- set ns_turn.last_user_idx = i -%}
{%- endif -%}
{%- endfor -%}
{#- Loop through messages -#}
{%- for message in loop_messages -%}
{%- if message['role'] != 'tool' -%}
{%- set ns.prev_message_type = None -%}
{%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
{#- Detect continuation: suppress duplicate <|turn>model when previous non-tool message was also assistant -#}
{%- set prev_nt = namespace(role=None, found=false) -%}
{%- if loop.index0 > 0 -%}
{%- for j in range(loop.index0 - 1, -1, -1) -%}
{%- if not prev_nt.found -%}
{%- if loop_messages[j]['role'] != 'tool' -%}
{%- set prev_nt.role = loop_messages[j]['role'] -%}
{%- set prev_nt.found = true -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set continue_same_model_turn = (role == 'model' and prev_nt.role == 'assistant') -%}
{%- if not continue_same_model_turn -%}
{{- '<|turn>' + role + '\n' }}
{%- endif -%}
{#- Render reasoning/reasoning_content as thinking channel -#}
{%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}
{%- if thinking_text and loop.index0 > ns_turn.last_user_idx and message.get('tool_calls') -%}
{{- '<|channel>thought\n' + thinking_text + '\n<channel|>' -}}
{%- endif -%}
{%- if message['tool_calls'] -%}
{%- for tool_call in message['tool_calls'] -%}
{%- set function = tool_call['function'] -%}
{{- '<|tool_call>call:' + function['name'] + '{' -}}
{%- if function['arguments'] is mapping -%}
{%- set ns_args = namespace(found_first=false) -%}
{%- for key, value in function['arguments'] | dictsort -%}
{%- if ns_args.found_first %},{% endif -%}
{%- set ns_args.found_first = true -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- endfor -%}
{%- elif function['arguments'] is string -%}
{{- function['arguments'] -}}
{%- endif -%}
{{- '}<tool_call|>' -}}
{%- endfor -%}
{%- set ns.prev_message_type = 'tool_call' -%}
{%- endif -%}
{%- set ns_tr_out = namespace(flag=false) -%}
{%- if message.get('tool_responses') -%}
{#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}
{%- for tool_response in message['tool_responses'] -%}
{{- format_tool_response_block(tool_response['name'] | default('unknown'), tool_response['response']) -}}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endfor -%}
{%- elif message.get('tool_calls') -%}
{#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}
{%- set ns_tool_scan = namespace(stopped=false) -%}
{%- for k in range(loop.index0 + 1, loop_messages | length) -%}
{%- if ns_tool_scan.stopped -%}
{%- elif loop_messages[k]['role'] != 'tool' -%}
{%- set ns_tool_scan.stopped = true -%}
{%- else -%}
{%- set follow = loop_messages[k] -%}
{#- Resolve tool_call_id to function name -#}
{%- set ns_tname = namespace(name=follow.get('name') | default('unknown')) -%}
{%- for tc in message['tool_calls'] -%}
{%- if tc.get('id') == follow.get('tool_call_id') -%}
{%- set ns_tname.name = tc['function']['name'] -%}
{%- endif -%}
{%- endfor -%}
{#- Handle content as string or content-parts array -#}
{%- set tool_body = follow.get('content') -%}
{%- if tool_body is string -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- elif tool_body is sequence and tool_body is not string -%}
{%- set ns_txt = namespace(s='') -%}
{%- for part in tool_body -%}
{%- if part.get('type') == 'text' -%}
{%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}
{%- endif -%}
{%- endfor -%}
{{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}
{%- for part in tool_body -%}
{%- if part.get('type') == 'image' -%}
{{- '<|image|>' -}}
{%- elif part.get('type') == 'audio' -%}
{{- '<|audio|>' -}}
{%- elif part.get('type') == 'video' -%}
{{- '<|video|>' -}}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- endif -%}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set captured_content -%}
{%- if message['content'] is string -%}
{%- if role == 'model' -%}
{{- strip_thinking(message['content']) -}}
{%- else -%}
{{- message['content'] | trim -}}
{%- endif -%}
{%- elif message['content'] is sequence -%}
{%- for item in message['content'] -%}
{%- if item['type'] == 'text' -%}
{%- if role == 'model' -%}
{{- strip_thinking(item['text']) -}}
{%- else -%}
{{- item['text'] | trim -}}
{%- endif -%}
{%- elif item['type'] == 'image' -%}
{{- '<|image|>' -}}
{%- set ns.prev_message_type = 'image' -%}
{%- elif item['type'] == 'audio' -%}
{{- '<|audio|>' -}}
{%- set ns.prev_message_type = 'audio' -%}
{%- elif item['type'] == 'video' -%}
{{- '<|video|>' -}}
{%- set ns.prev_message_type = 'video' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endset -%}
{{- captured_content -}}
{%- set has_content = captured_content | trim | length > 0 -%}
{%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}
{{- '<|tool_response>' -}}
{%- elif not (ns_tr_out.flag and not has_content) -%}
{{- '<turn|>\n' -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}
{{- '<|turn>model\n' -}}
{%- if not enable_thinking | default(false) -%}
{{- '<|channel>thought\n<channel|>' -}}
{%- endif -%}
{%- endif -%}
{%- endif -%}

View file

@ -0,0 +1,183 @@
{
"architectures": [
"Gemma4UnifiedForConditionalGeneration"
],
"audio_config": {
"_name_or_path": "",
"architectures": null,
"audio_embed_dim": 640,
"audio_samples_per_token": 640,
"chunk_size_feed_forward": 0,
"dtype": null,
"hidden_size": 640,
"id2label": {
"0": "LABEL_0",
"1": "LABEL_1"
},
"initializer_range": 0.02,
"is_encoder_decoder": false,
"label2id": {
"LABEL_0": 0,
"LABEL_1": 1
},
"model_type": "gemma4_unified_audio",
"output_attentions": false,
"output_hidden_states": false,
"output_proj_dims": 640,
"problem_type": null,
"return_dict": true,
"rms_norm_eps": 1e-06
},
"audio_token_id": 258881,
"boa_token_id": 256000,
"boi_token_id": 255999,
"dtype": "bfloat16",
"eoa_token_index": 258883,
"eoi_token_id": 258882,
"eos_token_id": [
1,
106,
50
],
"image_token_id": 258880,
"initializer_range": 0.02,
"model_type": "gemma4_unified",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attention_k_eq_v": true,
"bos_token_id": 2,
"enable_moe_block": false,
"eos_token_id": 1,
"final_logit_softcapping": 30.0,
"global_head_dim": 512,
"head_dim": 256,
"hidden_activation": "gelu_pytorch_tanh",
"hidden_size": 3840,
"hidden_size_per_layer_input": 0,
"initializer_range": 0.02,
"intermediate_size": 15360,
"layer_types": [
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention"
],
"max_position_embeddings": 262144,
"model_type": "gemma4_unified_text",
"moe_intermediate_size": null,
"num_attention_heads": 16,
"num_experts": null,
"num_global_key_value_heads": 1,
"num_hidden_layers": 48,
"num_key_value_heads": 8,
"num_kv_shared_layers": 0,
"pad_token_id": 0,
"rms_norm_eps": 1e-06,
"rope_parameters": {
"full_attention": {
"partial_rotary_factor": 0.25,
"rope_theta": 1000000.0,
"rope_type": "proportional"
},
"sliding_attention": {
"rope_theta": 10000.0,
"rope_type": "default"
}
},
"sliding_window": 1024,
"tie_word_embeddings": true,
"top_k_experts": null,
"use_bidirectional_attention": "vision",
"use_cache": true,
"use_double_wide_mlp": false,
"vocab_size": 262144,
"vocab_size_per_layer_input": 262144
},
"tie_word_embeddings": true,
"transformers_version": "5.10.0.dev0",
"video_token_id": 258884,
"vision_config": {
"_name_or_path": "",
"architectures": null,
"chunk_size_feed_forward": 0,
"dtype": null,
"id2label": {
"0": "LABEL_0",
"1": "LABEL_1"
},
"initializer_range": 0.02,
"is_encoder_decoder": false,
"label2id": {
"LABEL_0": 0,
"LABEL_1": 1
},
"mm_embed_dim": 3840,
"mm_posemb_size": 1120,
"model_patch_size": 48,
"model_type": "gemma4_unified_vision",
"num_soft_tokens": 280,
"output_attentions": false,
"output_hidden_states": false,
"output_proj_dims": 3840,
"patch_size": 16,
"pooling_kernel_size": 3,
"problem_type": null,
"return_dict": true,
"rms_norm_eps": 1e-06
}
}

View file

@ -0,0 +1,18 @@
{
"bos_token_id": 2,
"do_sample": true,
"eos_token_id": [
1,
106,
50
],
"pad_token_id": 0,
"suppress_tokens": [
258883,
258882
],
"temperature": 1.0,
"top_k": 64,
"top_p": 0.95,
"transformers_version": "5.10.0.dev0"
}

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,40 @@
{
"image_processor": {
"do_convert_rgb": true,
"do_normalize": false,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.0,
0.0,
0.0
],
"image_processor_type": "Gemma4UnifiedImageProcessor",
"image_std": [
1.0,
1.0,
1.0
],
"max_soft_tokens": 280,
"model_patch_size": 48,
"patch_size": 16,
"pooling_kernel_size": 3,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"height": 224,
"width": 224
}
},
"processor_class": "Gemma4UnifiedProcessor",
"feature_extractor": {
"feature_extractor_type": "Gemma4UnifiedAudioFeatureExtractor",
"sampling_rate": 16000,
"num_mel_filters": 128,
"fft_length": 512,
"hop_length": 160,
"chunk_duration": 8.0,
"overlap_duration": 1.0
},
"audio_ms_per_token": 40
}

BIN
chat/mlx/mlx-community/gemma-4-12B-it-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,95 @@
{
"audio_token": "<|audio|>",
"backend": "tokenizers",
"boa_token": "<|audio>",
"boi_token": "<|image>",
"bos_token": "<bos>",
"eoa_token": "<audio|>",
"eoc_token": "<channel|>",
"eoi_token": "<image|>",
"eos_token": "<eos>",
"eot_token": "<turn|>",
"escape_token": "<|\"|>",
"etc_token": "<tool_call|>",
"etd_token": "<tool|>",
"etr_token": "<tool_response|>",
"extra_special_tokens": [
"<|video|>"
],
"image_token": "<|image|>",
"is_local": true,
"mask_token": "<mask>",
"model_max_length": 1000000000000000019884624838656,
"model_specific_special_tokens": {
"audio_token": "<|audio|>",
"boa_token": "<|audio>",
"boi_token": "<|image>",
"eoa_token": "<audio|>",
"eoc_token": "<channel|>",
"eoi_token": "<image|>",
"eot_token": "<turn|>",
"escape_token": "<|\"|>",
"etc_token": "<tool_call|>",
"etd_token": "<tool|>",
"etr_token": "<tool_response|>",
"image_token": "<|image|>",
"soc_token": "<|channel>",
"sot_token": "<|turn>",
"stc_token": "<|tool_call>",
"std_token": "<|tool>",
"str_token": "<|tool_response>",
"think_token": "<|think|>"
},
"pad_token": "<pad>",
"padding_side": "left",
"processor_class": "Gemma4UnifiedProcessor",
"response_schema": {
"properties": {
"content": {
"type": "string"
},
"role": {
"const": "assistant"
},
"thinking": {
"type": "string"
},
"tool_calls": {
"items": {
"properties": {
"function": {
"properties": {
"arguments": {
"additionalProperties": {},
"type": "object",
"x-parser": "gemma4-tool-call"
},
"name": {
"type": "string"
}
},
"type": "object",
"x-regex": "call\\:(?P<name>\\w+)(?P<arguments>\\{.*\\})"
},
"type": {
"const": "function"
}
},
"type": "object"
},
"type": "array",
"x-regex-iterator": "<\\|tool_call>(.*?)<tool_call\\|>"
}
},
"type": "object",
"x-regex": "(\\<\\|channel\\>thought\\n(?P<thinking>.*?)\\<channel\\|\\>)?(?P<tool_calls>\\<\\|tool_call\\>.*\\<tool_call\\|\\>)?(?P<content>(?:(?!\\<turn\\|\\>)(?!\\<\\|tool_response\\>).)+)?(?:\\<turn\\|\\>|\\<\\|tool_response\\>)?"
},
"soc_token": "<|channel>",
"sot_token": "<|turn>",
"stc_token": "<|tool_call>",
"std_token": "<|tool>",
"str_token": "<|tool_response>",
"think_token": "<|think|>",
"tokenizer_class": "GemmaTokenizer",
"unk_token": "<unk>"
}

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,25 @@
---
library_name: mlx
license: apache-2.0
license_link: https://ai.google.dev/gemma/docs/gemma_4_license
pipeline_tag: image-text-to-text
base_model: google/gemma-4-26b-a4b-it
tags:
- mlx
---
# mlx-community/gemma-4-26b-a4b-it-4bit
This model was converted to MLX format from [`google/gemma-4-26b-a4b-it`](https://huggingface.co/google/gemma-4-26b-a4b-it)
using mlx-vlm version **0.4.3**.
Refer to the [original model card](https://huggingface.co/google/gemma-4-26b-a4b-it) for more details on the model.
## Use with mlx
```bash
pip install -U mlx-vlm
```
```bash
python -m mlx_vlm.generate --model mlx-community/gemma-4-26b-a4b-it-4bit --max-tokens 100 --temperature 0.0 --prompt "Describe this image." --image <path_to_image>
```

View file

@ -0,0 +1,363 @@
{%- macro format_parameters(properties, required, filter_keys=false) -%}
{%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in properties | dictsort -%}
{%- set add_comma = false -%}
{%- if not filter_keys or key not in standard_keys -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{{ key }}:{
{%- if value['description'] -%}
description:<|"|>{{ value['description'] }}<|"|>
{%- set add_comma = true -%}
{%- endif -%}
{%- if value['type'] | upper == 'STRING' -%}
{%- if value['enum'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
enum:{{ format_argument(value['enum']) }}
{%- endif -%}
{%- elif value['type'] | upper == 'ARRAY' -%}
{%- if value['items'] is mapping and value['items'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
items:{
{%- set ns_items = namespace(found_first=false) -%}
{%- for item_key, item_value in value['items'] | dictsort -%}
{%- if item_value is not none -%}
{%- if ns_items.found_first %},{% endif -%}
{%- set ns_items.found_first = true -%}
{%- if item_key == 'properties' -%}
properties:{
{%- if item_value is mapping -%}
{{- format_parameters(item_value, value['items']['required'] | default([])) -}}
{%- endif -%}
}
{%- elif item_key == 'required' -%}
required:[
{%- for req_item in item_value -%}
<|"|>{{- req_item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- elif item_key == 'type' -%}
{%- if item_value is string -%}
type:{{ format_argument(item_value | upper) }}
{%- else -%}
type:{{ format_argument(item_value | map('upper') | list) }}
{%- endif -%}
{%- else -%}
{{ item_key }}:{{ format_argument(item_value) }}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
}
{%- endif -%}
{%- endif -%}
{%- if value['nullable'] %}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
nullable:true
{%- endif -%}
{%- if value['type'] | upper == 'OBJECT' -%}
{%- if value['properties'] is defined and value['properties'] is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value['properties'], value['required'] | default([])) -}}
}
{%- elif value is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}
}
{%- endif -%}
{%- if value['required'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
required:[
{%- for item in value['required'] | default([]) -%}
<|"|>{{- item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- endif -%}
{%- endif -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
type:<|"|>{{ value['type'] | upper }}<|"|>}
{%- endif -%}
{%- endfor -%}
{%- endmacro -%}
{%- macro format_function_declaration(tool_data) -%}
declaration:{{- tool_data['function']['name'] -}}{description:<|"|>{{- tool_data['function']['description'] -}}<|"|>
{%- set params = tool_data['function']['parameters'] -%}
{%- if params -%}
,parameters:{
{%- if params['properties'] -%}
properties:{ {{- format_parameters(params['properties'], params['required']) -}} },
{%- endif -%}
{%- if params['required'] -%}
required:[
{%- for item in params['required'] -%}
<|"|>{{- item -}}<|"|>
{{- ',' if not loop.last -}}
{%- endfor -%}
],
{%- endif -%}
{%- if params['type'] -%}
type:<|"|>{{- params['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
{%- if 'response' in tool_data['function'] -%}
{%- set response_declaration = tool_data['function']['response'] -%}
,response:{
{%- if response_declaration['description'] -%}
description:<|"|>{{- response_declaration['description'] -}}<|"|>,
{%- endif -%}
{%- if response_declaration['type'] | upper == 'OBJECT' -%}
type:<|"|>{{- response_declaration['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
}
{%- endmacro -%}
{%- macro format_argument(argument, escape_keys=True) -%}
{%- if argument is string -%}
{{- '<|"|>' + argument + '<|"|>' -}}
{%- elif argument is boolean -%}
{{- 'true' if argument else 'false' -}}
{%- elif argument is mapping -%}
{{- '{' -}}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in argument | dictsort -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{%- if escape_keys -%}
{{- '<|"|>' + key + '<|"|>' -}}
{%- else -%}
{{- key -}}
{%- endif -%}
:{{- format_argument(value, escape_keys=escape_keys) -}}
{%- endfor -%}
{{- '}' -}}
{%- elif argument is sequence -%}
{{- '[' -}}
{%- for item in argument -%}
{{- format_argument(item, escape_keys=escape_keys) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- ']' -}}
{%- else -%}
{{- argument -}}
{%- endif -%}
{%- endmacro -%}
{%- macro strip_thinking(text) -%}
{%- set ns = namespace(result='') -%}
{%- for part in text.split('<channel|>') -%}
{%- if '<|channel>' in part -%}
{%- set ns.result = ns.result + part.split('<|channel>')[0] -%}
{%- else -%}
{%- set ns.result = ns.result + part -%}
{%- endif -%}
{%- endfor -%}
{{- ns.result | trim -}}
{%- endmacro -%}
{%- macro format_tool_response_block(tool_name, response) -%}
{{- '<|tool_response>' -}}
{%- if response is mapping -%}
{{- 'response:' + tool_name + '{' -}}
{%- for key, value in response | dictsort -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- '}' -}}
{%- else -%}
{{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}
{%- endif -%}
{{- '<tool_response|>' -}}
{%- endmacro -%}
{%- set ns = namespace(prev_message_type=None) -%}
{%- set loop_messages = messages -%}
{{- bos_token -}}
{#- Handle System/Tool Definitions Block -#}
{%- if (enable_thinking is defined and enable_thinking) or tools or messages[0]['role'] in ['system', 'developer'] -%}
{{- '<|turn>system\n' -}}
{#- Inject Thinking token at the very top of the FIRST system turn -#}
{%- if enable_thinking is defined and enable_thinking -%}
{{- '<|think|>\n' -}}
{%- set ns.prev_message_type = 'think' -%}
{%- endif -%}
{%- if messages[0]['role'] in ['system', 'developer'] -%}
{%- if messages[0]['content'] is string -%}
{{- messages[0]['content'] | trim -}}
{%- elif messages[0]['content'] is sequence -%}
{%- for item in messages[0]['content'] -%}
{{- item['text'] | trim + ' '-}}
{%- endfor -%}
{%- endif -%}
{%- set loop_messages = messages[1:] -%}
{%- endif -%}
{%- if tools -%}
{%- for tool in tools %}
{{- '<|tool>' -}}
{{- format_function_declaration(tool) | trim -}}
{{- '<tool|>' -}}
{%- endfor %}
{%- set ns.prev_message_type = 'tool' -%}
{%- endif -%}
{{- '<turn|>\n' -}}
{%- endif %}
{#- Pre-scan: find last user message index for reasoning guard -#}
{%- set ns_turn = namespace(last_user_idx=-1) -%}
{%- for i in range(loop_messages | length) -%}
{%- if loop_messages[i]['role'] == 'user' -%}
{%- set ns_turn.last_user_idx = i -%}
{%- endif -%}
{%- endfor -%}
{#- Loop through messages -#}
{%- for message in loop_messages -%}
{%- if message['role'] != 'tool' -%}
{%- set ns.prev_message_type = None -%}
{%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
{#- Detect continuation: suppress duplicate <|turn>model when previous non-tool message was also assistant -#}
{%- set prev_nt = namespace(role=None, found=false) -%}
{%- if loop.index0 > 0 -%}
{%- for j in range(loop.index0 - 1, -1, -1) -%}
{%- if not prev_nt.found -%}
{%- if loop_messages[j]['role'] != 'tool' -%}
{%- set prev_nt.role = loop_messages[j]['role'] -%}
{%- set prev_nt.found = true -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set continue_same_model_turn = (role == 'model' and prev_nt.role == 'assistant') -%}
{%- if not continue_same_model_turn -%}
{{- '<|turn>' + role + '\n' }}
{%- endif -%}
{#- Render reasoning/reasoning_content as thinking channel -#}
{%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}
{%- if thinking_text and loop.index0 > ns_turn.last_user_idx and message.get('tool_calls') -%}
{{- '<|channel>thought\n' + thinking_text + '\n<channel|>' -}}
{%- endif -%}
{%- if message['tool_calls'] -%}
{%- for tool_call in message['tool_calls'] -%}
{%- set function = tool_call['function'] -%}
{{- '<|tool_call>call:' + function['name'] + '{' -}}
{%- if function['arguments'] is mapping -%}
{%- set ns_args = namespace(found_first=false) -%}
{%- for key, value in function['arguments'] | dictsort -%}
{%- if ns_args.found_first %},{% endif -%}
{%- set ns_args.found_first = true -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- endfor -%}
{%- elif function['arguments'] is string -%}
{{- function['arguments'] -}}
{%- endif -%}
{{- '}<tool_call|>' -}}
{%- endfor -%}
{%- set ns.prev_message_type = 'tool_call' -%}
{%- endif -%}
{%- set ns_tr_out = namespace(flag=false) -%}
{%- if message.get('tool_responses') -%}
{#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}
{%- for tool_response in message['tool_responses'] -%}
{{- format_tool_response_block(tool_response['name'] | default('unknown'), tool_response['response']) -}}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endfor -%}
{%- elif message.get('tool_calls') -%}
{#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}
{%- set ns_tool_scan = namespace(stopped=false) -%}
{%- for k in range(loop.index0 + 1, loop_messages | length) -%}
{%- if ns_tool_scan.stopped -%}
{%- elif loop_messages[k]['role'] != 'tool' -%}
{%- set ns_tool_scan.stopped = true -%}
{%- else -%}
{%- set follow = loop_messages[k] -%}
{#- Resolve tool_call_id to function name -#}
{%- set ns_tname = namespace(name=follow.get('name') | default('unknown')) -%}
{%- for tc in message['tool_calls'] -%}
{%- if tc.get('id') == follow.get('tool_call_id') -%}
{%- set ns_tname.name = tc['function']['name'] -%}
{%- endif -%}
{%- endfor -%}
{#- Handle content as string or content-parts array -#}
{%- set tool_body = follow.get('content') -%}
{%- if tool_body is string -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- elif tool_body is sequence and tool_body is not string -%}
{%- set ns_txt = namespace(s='') -%}
{%- for part in tool_body -%}
{%- if part.get('type') == 'text' -%}
{%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}
{%- endif -%}
{%- endfor -%}
{{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}
{%- for part in tool_body -%}
{%- if part.get('type') == 'image' -%}
{{- '<|image|>' -}}
{%- elif part.get('type') == 'audio' -%}
{{- '<|audio|>' -}}
{%- elif part.get('type') == 'video' -%}
{{- '<|video|>' -}}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- endif -%}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set captured_content -%}
{%- if message['content'] is string -%}
{%- if role == 'model' -%}
{{- strip_thinking(message['content']) -}}
{%- else -%}
{{- message['content'] | trim -}}
{%- endif -%}
{%- elif message['content'] is sequence -%}
{%- for item in message['content'] -%}
{%- if item['type'] == 'text' -%}
{%- if role == 'model' -%}
{{- strip_thinking(item['text']) -}}
{%- else -%}
{{- item['text'] | trim -}}
{%- endif -%}
{%- elif item['type'] == 'image' -%}
{{- '<|image|>' -}}
{%- set ns.prev_message_type = 'image' -%}
{%- elif item['type'] == 'audio' -%}
{{- '<|audio|>' -}}
{%- set ns.prev_message_type = 'audio' -%}
{%- elif item['type'] == 'video' -%}
{{- '<|video|>' -}}
{%- set ns.prev_message_type = 'video' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endset -%}
{{- captured_content -}}
{%- set has_content = captured_content | trim | length > 0 -%}
{%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}
{{- '<|tool_response>' -}}
{%- elif not (ns_tr_out.flag and not has_content) -%}
{{- '<turn|>\n' -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}
{{- '<|turn>model\n' -}}
{%- if not enable_thinking | default(false) -%}
{{- '<|channel>thought\n<channel|>' -}}
{%- endif -%}
{%- endif -%}
{%- endif -%}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
{
"bos_token_id": 2,
"do_sample": true,
"eos_token_id": [
1,
106,
50
],
"pad_token_id": 0,
"temperature": 1.0,
"top_k": 64,
"top_p": 0.95,
"transformers_version": "5.5.0.dev0"
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,32 @@
{
"audio_seq_length": 750,
"image_processor": {
"do_convert_rgb": true,
"do_normalize": false,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.0,
0.0,
0.0
],
"image_processor_type": "Gemma4ImageProcessor",
"image_seq_length": 280,
"image_std": [
1.0,
1.0,
1.0
],
"max_soft_tokens": 280,
"patch_size": 16,
"pooling_kernel_size": 3,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"height": 224,
"width": 224
}
},
"image_seq_length": 280,
"processor_class": "Gemma4Processor"
}

Binary file not shown.

View file

@ -0,0 +1,74 @@
{
"audio_token": "<|audio|>",
"backend": "tokenizers",
"boa_token": "<|audio>",
"boi_token": "<|image>",
"bos_token": "<bos>",
"eoa_token": "<audio|>",
"eoc_token": "<channel|>",
"eoi_token": "<image|>",
"eos_token": "<eos>",
"eot_token": "<turn|>",
"escape_token": "<|\"|>",
"etc_token": "<tool_call|>",
"etd_token": "<tool|>",
"etr_token": "<tool_response|>",
"extra_special_tokens": [
"<|video|>"
],
"image_token": "<|image|>",
"mask_token": "<mask>",
"model_max_length": 1000000000000000019884624838656,
"pad_token": "<pad>",
"padding_side": "left",
"processor_class": "Gemma4Processor",
"response_schema": {
"type": "object",
"properties": {
"role": {
"const": "assistant"
},
"thinking": {
"type": "string"
},
"content": {
"type": "string"
},
"tool_calls": {
"x-regex-iterator": "<\\|tool_call>(.*?)<tool_call\\|>",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"const": "function"
},
"function": {
"type": "object",
"x-regex": "call\\:(?P<name>\\w+)(?P<arguments>\\{.*\\})",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"x-parser": "gemma4-tool-call",
"additionalProperties": {}
}
}
}
}
}
}
},
"x-regex": "(\\<\\|channel\\>thought\\n(?P<thinking>.*?)\\<channel\\|\\>)?(?P<tool_calls>\\<\\|tool_call\\>.*\\<tool_call\\|\\>)?(?P<content>(?:(?!\\<turn\\|\\>)(?!\\<\\|tool_response\\>).)+)?(?:\\<turn\\|\\>|\\<\\|tool_response\\>)?"
},
"soc_token": "<|channel>",
"sot_token": "<|turn>",
"stc_token": "<|tool_call>",
"std_token": "<|tool>",
"str_token": "<|tool_response>",
"think_token": "<|think|>",
"tokenizer_class": "GemmaTokenizer",
"unk_token": "<unk>"
}

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

View file

@ -0,0 +1,25 @@
---
library_name: mlx
license: apache-2.0
license_link: https://ai.google.dev/gemma/docs/gemma_4_license
pipeline_tag: any-to-any
tags:
- mlx
base_model: google/gemma-4-e2b-it
---
# mlx-community/gemma-4-e2b-it-4bit
This model was converted to MLX format from [`google/gemma-4-e2b-it`](https://huggingface.co/google/gemma-4-e2b-it)
using mlx-vlm version **0.4.3**.
Refer to the [original model card](https://huggingface.co/google/gemma-4-e2b-it) for more details on the model.
## Use with mlx
```bash
pip install -U mlx-vlm
```
```bash
python -m mlx_vlm.generate --model mlx-community/gemma-4-e2b-it-4bit --max-tokens 100 --temperature 0.0 --prompt "Describe this image." --image <path_to_image>
```

View file

@ -0,0 +1,360 @@
{%- macro format_parameters(properties, required, filter_keys=false) -%}
{%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in properties | dictsort -%}
{%- set add_comma = false -%}
{%- if not filter_keys or key not in standard_keys -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{{ key }}:{
{%- if value['description'] -%}
description:<|"|>{{ value['description'] }}<|"|>
{%- set add_comma = true -%}
{%- endif -%}
{%- if value['type'] | upper == 'STRING' -%}
{%- if value['enum'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
enum:{{ format_argument(value['enum']) }}
{%- endif -%}
{%- elif value['type'] | upper == 'ARRAY' -%}
{%- if value['items'] is mapping and value['items'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
items:{
{%- set ns_items = namespace(found_first=false) -%}
{%- for item_key, item_value in value['items'] | dictsort -%}
{%- if item_value is not none -%}
{%- if ns_items.found_first %},{% endif -%}
{%- set ns_items.found_first = true -%}
{%- if item_key == 'properties' -%}
properties:{
{%- if item_value is mapping -%}
{{- format_parameters(item_value, value['items']['required'] | default([])) -}}
{%- endif -%}
}
{%- elif item_key == 'required' -%}
required:[
{%- for req_item in item_value -%}
<|"|>{{- req_item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- elif item_key == 'type' -%}
{%- if item_value is string -%}
type:{{ format_argument(item_value | upper) }}
{%- else -%}
type:{{ format_argument(item_value | map('upper') | list) }}
{%- endif -%}
{%- else -%}
{{ item_key }}:{{ format_argument(item_value) }}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
}
{%- endif -%}
{%- endif -%}
{%- if value['nullable'] %}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
nullable:true
{%- endif -%}
{%- if value['type'] | upper == 'OBJECT' -%}
{%- if value['properties'] is defined and value['properties'] is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value['properties'], value['required'] | default([])) -}}
}
{%- elif value is mapping -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
properties:{
{{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}
}
{%- endif -%}
{%- if value['required'] -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
required:[
{%- for item in value['required'] | default([]) -%}
<|"|>{{- item -}}<|"|>
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
]
{%- endif -%}
{%- endif -%}
{%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
type:<|"|>{{ value['type'] | upper }}<|"|>}
{%- endif -%}
{%- endfor -%}
{%- endmacro -%}
{%- macro format_function_declaration(tool_data) -%}
declaration:{{- tool_data['function']['name'] -}}{description:<|"|>{{- tool_data['function']['description'] -}}<|"|>
{%- set params = tool_data['function']['parameters'] -%}
{%- if params -%}
,parameters:{
{%- if params['properties'] -%}
properties:{ {{- format_parameters(params['properties'], params['required']) -}} },
{%- endif -%}
{%- if params['required'] -%}
required:[
{%- for item in params['required'] -%}
<|"|>{{- item -}}<|"|>
{{- ',' if not loop.last -}}
{%- endfor -%}
],
{%- endif -%}
{%- if params['type'] -%}
type:<|"|>{{- params['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
{%- if 'response' in tool_data['function'] -%}
{%- set response_declaration = tool_data['function']['response'] -%}
,response:{
{%- if response_declaration['description'] -%}
description:<|"|>{{- response_declaration['description'] -}}<|"|>,
{%- endif -%}
{%- if response_declaration['type'] | upper == 'OBJECT' -%}
type:<|"|>{{- response_declaration['type'] | upper -}}<|"|>}
{%- endif -%}
{%- endif -%}
}
{%- endmacro -%}
{%- macro format_argument(argument, escape_keys=True) -%}
{%- if argument is string -%}
{{- '<|"|>' + argument + '<|"|>' -}}
{%- elif argument is boolean -%}
{{- 'true' if argument else 'false' -}}
{%- elif argument is mapping -%}
{{- '{' -}}
{%- set ns = namespace(found_first=false) -%}
{%- for key, value in argument | dictsort -%}
{%- if ns.found_first %},{% endif -%}
{%- set ns.found_first = true -%}
{%- if escape_keys -%}
{{- '<|"|>' + key + '<|"|>' -}}
{%- else -%}
{{- key -}}
{%- endif -%}
:{{- format_argument(value, escape_keys=escape_keys) -}}
{%- endfor -%}
{{- '}' -}}
{%- elif argument is sequence -%}
{{- '[' -}}
{%- for item in argument -%}
{{- format_argument(item, escape_keys=escape_keys) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- ']' -}}
{%- else -%}
{{- argument -}}
{%- endif -%}
{%- endmacro -%}
{%- macro strip_thinking(text) -%}
{%- set ns = namespace(result='') -%}
{%- for part in text.split('<channel|>') -%}
{%- if '<|channel>' in part -%}
{%- set ns.result = ns.result + part.split('<|channel>')[0] -%}
{%- else -%}
{%- set ns.result = ns.result + part -%}
{%- endif -%}
{%- endfor -%}
{{- ns.result | trim -}}
{%- endmacro -%}
{%- macro format_tool_response_block(tool_name, response) -%}
{{- '<|tool_response>' -}}
{%- if response is mapping -%}
{{- 'response:' + tool_name + '{' -}}
{%- for key, value in response | dictsort -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- if not loop.last %},{% endif -%}
{%- endfor -%}
{{- '}' -}}
{%- else -%}
{{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}
{%- endif -%}
{{- '<tool_response|>' -}}
{%- endmacro -%}
{%- set ns = namespace(prev_message_type=None) -%}
{%- set loop_messages = messages -%}
{{- bos_token -}}
{#- Handle System/Tool Definitions Block -#}
{%- if (enable_thinking is defined and enable_thinking) or tools or messages[0]['role'] in ['system', 'developer'] -%}
{{- '<|turn>system\n' -}}
{#- Inject Thinking token at the very top of the FIRST system turn -#}
{%- if enable_thinking is defined and enable_thinking -%}
{{- '<|think|>\n' -}}
{%- set ns.prev_message_type = 'think' -%}
{%- endif -%}
{%- if messages[0]['role'] in ['system', 'developer'] -%}
{%- if messages[0]['content'] is string -%}
{{- messages[0]['content'] | trim -}}
{%- elif messages[0]['content'] is sequence -%}
{%- for item in messages[0]['content'] -%}
{{- item['text'] | trim + ' '-}}
{%- endfor -%}
{%- endif -%}
{%- set loop_messages = messages[1:] -%}
{%- endif -%}
{%- if tools -%}
{%- for tool in tools %}
{{- '<|tool>' -}}
{{- format_function_declaration(tool) | trim -}}
{{- '<tool|>' -}}
{%- endfor %}
{%- set ns.prev_message_type = 'tool' -%}
{%- endif -%}
{{- '<turn|>\n' -}}
{%- endif %}
{#- Pre-scan: find last user message index for reasoning guard -#}
{%- set ns_turn = namespace(last_user_idx=-1) -%}
{%- for i in range(loop_messages | length) -%}
{%- if loop_messages[i]['role'] == 'user' -%}
{%- set ns_turn.last_user_idx = i -%}
{%- endif -%}
{%- endfor -%}
{#- Loop through messages -#}
{%- for message in loop_messages -%}
{%- if message['role'] != 'tool' -%}
{%- set ns.prev_message_type = None -%}
{%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
{#- Detect continuation: suppress duplicate <|turn>model when previous non-tool message was also assistant -#}
{%- set prev_nt = namespace(role=None, found=false) -%}
{%- if loop.index0 > 0 -%}
{%- for j in range(loop.index0 - 1, -1, -1) -%}
{%- if not prev_nt.found -%}
{%- if loop_messages[j]['role'] != 'tool' -%}
{%- set prev_nt.role = loop_messages[j]['role'] -%}
{%- set prev_nt.found = true -%}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set continue_same_model_turn = (role == 'model' and prev_nt.role == 'assistant') -%}
{%- if not continue_same_model_turn -%}
{{- '<|turn>' + role + '\n' }}
{%- endif -%}
{#- Render reasoning/reasoning_content as thinking channel -#}
{%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}
{%- if thinking_text and loop.index0 > ns_turn.last_user_idx and message.get('tool_calls') -%}
{{- '<|channel>thought\n' + thinking_text + '\n<channel|>' -}}
{%- endif -%}
{%- if message['tool_calls'] -%}
{%- for tool_call in message['tool_calls'] -%}
{%- set function = tool_call['function'] -%}
{{- '<|tool_call>call:' + function['name'] + '{' -}}
{%- if function['arguments'] is mapping -%}
{%- set ns_args = namespace(found_first=false) -%}
{%- for key, value in function['arguments'] | dictsort -%}
{%- if ns_args.found_first %},{% endif -%}
{%- set ns_args.found_first = true -%}
{{- key -}}:{{- format_argument(value, escape_keys=False) -}}
{%- endfor -%}
{%- elif function['arguments'] is string -%}
{{- function['arguments'] -}}
{%- endif -%}
{{- '}<tool_call|>' -}}
{%- endfor -%}
{%- set ns.prev_message_type = 'tool_call' -%}
{%- endif -%}
{%- set ns_tr_out = namespace(flag=false) -%}
{%- if message.get('tool_responses') -%}
{#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}
{%- for tool_response in message['tool_responses'] -%}
{{- format_tool_response_block(tool_response['name'] | default('unknown'), tool_response['response']) -}}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endfor -%}
{%- elif message.get('tool_calls') -%}
{#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}
{%- set ns_tool_scan = namespace(stopped=false) -%}
{%- for k in range(loop.index0 + 1, loop_messages | length) -%}
{%- if ns_tool_scan.stopped -%}
{%- elif loop_messages[k]['role'] != 'tool' -%}
{%- set ns_tool_scan.stopped = true -%}
{%- else -%}
{%- set follow = loop_messages[k] -%}
{#- Resolve tool_call_id to function name -#}
{%- set ns_tname = namespace(name=follow.get('name') | default('unknown')) -%}
{%- for tc in message['tool_calls'] -%}
{%- if tc.get('id') == follow.get('tool_call_id') -%}
{%- set ns_tname.name = tc['function']['name'] -%}
{%- endif -%}
{%- endfor -%}
{#- Handle content as string or content-parts array -#}
{%- set tool_body = follow.get('content') -%}
{%- if tool_body is string -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- elif tool_body is sequence and tool_body is not string -%}
{%- set ns_txt = namespace(s='') -%}
{%- for part in tool_body -%}
{%- if part.get('type') == 'text' -%}
{%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}
{%- endif -%}
{%- endfor -%}
{{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}
{%- for part in tool_body -%}
{%- if part.get('type') == 'image' -%}
{{- '<|image|>' -}}
{%- elif part.get('type') == 'audio' -%}
{{- '<|audio|>' -}}
{%- elif part.get('type') == 'video' -%}
{{- '<|video|>' -}}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- format_tool_response_block(ns_tname.name, tool_body) -}}
{%- endif -%}
{%- set ns_tr_out.flag = true -%}
{%- set ns.prev_message_type = 'tool_response' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- set captured_content -%}
{%- if message['content'] is string -%}
{%- if role == 'model' -%}
{{- strip_thinking(message['content']) -}}
{%- else -%}
{{- message['content'] | trim -}}
{%- endif -%}
{%- elif message['content'] is sequence -%}
{%- for item in message['content'] -%}
{%- if item['type'] == 'text' -%}
{%- if role == 'model' -%}
{{- strip_thinking(item['text']) -}}
{%- else -%}
{{- item['text'] | trim -}}
{%- endif -%}
{%- elif item['type'] == 'image' -%}
{{- '<|image|>' -}}
{%- set ns.prev_message_type = 'image' -%}
{%- elif item['type'] == 'audio' -%}
{{- '<|audio|>' -}}
{%- set ns.prev_message_type = 'audio' -%}
{%- elif item['type'] == 'video' -%}
{{- '<|video|>' -}}
{%- set ns.prev_message_type = 'video' -%}
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endset -%}
{{- captured_content -}}
{%- set has_content = captured_content | trim | length > 0 -%}
{%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}
{{- '<|tool_response>' -}}
{%- elif not (ns_tr_out.flag and not has_content) -%}
{{- '<turn|>\n' -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- if add_generation_prompt -%}
{%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}
{{- '<|turn>model\n' -}}
{%- endif -%}
{%- endif -%}

View file

@ -0,0 +1,201 @@
{
"architectures": [
"Gemma4ForConditionalGeneration"
],
"audio_config": {
"_name_or_path": "",
"architectures": null,
"attention_chunk_size": 12,
"attention_context_left": 13,
"attention_context_right": 0,
"attention_invalid_logits_value": -1000000000.0,
"attention_logit_cap": 50.0,
"chunk_size_feed_forward": 0,
"conv_kernel_size": 5,
"dtype": "bfloat16",
"gradient_clipping": 10000000000.0,
"hidden_act": "silu",
"hidden_size": 1024,
"id2label": {
"0": "LABEL_0",
"1": "LABEL_1"
},
"initializer_range": 0.02,
"is_encoder_decoder": false,
"label2id": {
"LABEL_0": 0,
"LABEL_1": 1
},
"model_type": "gemma4_audio",
"num_attention_heads": 8,
"num_hidden_layers": 12,
"output_attentions": false,
"output_hidden_states": false,
"output_proj_dims": 1536,
"problem_type": null,
"residual_weight": 0.5,
"return_dict": true,
"rms_norm_eps": 1e-06,
"subsampling_conv_channels": [
128,
32
],
"use_clipped_linears": true
},
"audio_token_id": 258881,
"boa_token_id": 256000,
"boi_token_id": 255999,
"dtype": "bfloat16",
"eoa_token_id": 258883,
"eoa_token_index": 258883,
"eoi_token_id": 258882,
"eos_token_id": [
1,
106,
50
],
"image_token_id": 258880,
"initializer_range": 0.02,
"model_type": "gemma4",
"quantization": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"quantization_config": {
"group_size": 64,
"bits": 4,
"mode": "affine"
},
"text_config": {
"attention_bias": false,
"attention_dropout": 0.0,
"attention_k_eq_v": false,
"bos_token_id": 2,
"dtype": "bfloat16",
"enable_moe_block": false,
"eos_token_id": 1,
"expert_intermediate_size": null,
"final_logit_softcapping": 30.0,
"global_head_dim": 512,
"head_dim": 256,
"hidden_activation": "gelu_pytorch_tanh",
"hidden_size": 1536,
"hidden_size_per_layer_input": 256,
"initializer_range": 0.02,
"intermediate_size": 6144,
"layer_types": [
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"sliding_attention",
"full_attention"
],
"max_position_embeddings": 131072,
"model_type": "gemma4_text",
"num_attention_heads": 8,
"num_experts": null,
"num_global_key_value_heads": null,
"num_hidden_layers": 35,
"num_key_value_heads": 1,
"num_kv_shared_layers": 20,
"pad_token_id": 0,
"rms_norm_eps": 1e-06,
"rope_parameters": {
"full_attention": {
"partial_rotary_factor": 0.25,
"rope_theta": 1000000.0,
"rope_type": "proportional"
},
"sliding_attention": {
"rope_theta": 10000.0,
"rope_type": "default"
}
},
"sliding_window": 512,
"tie_word_embeddings": true,
"top_k_experts": null,
"use_bidirectional_attention": null,
"use_cache": true,
"use_double_wide_mlp": true,
"vocab_size": 262144,
"vocab_size_per_layer_input": 262144
},
"tie_word_embeddings": true,
"transformers_version": "5.5.0.dev0",
"video_token_id": 258884,
"vision_config": {
"_name_or_path": "",
"architectures": null,
"attention_bias": false,
"attention_dropout": 0.0,
"chunk_size_feed_forward": 0,
"default_output_length": 280,
"dtype": "bfloat16",
"global_head_dim": 64,
"head_dim": 64,
"hidden_activation": "gelu_pytorch_tanh",
"hidden_size": 768,
"id2label": {
"0": "LABEL_0",
"1": "LABEL_1"
},
"initializer_range": 0.02,
"intermediate_size": 3072,
"is_encoder_decoder": false,
"label2id": {
"LABEL_0": 0,
"LABEL_1": 1
},
"max_position_embeddings": 131072,
"model_type": "gemma4_vision",
"num_attention_heads": 12,
"num_hidden_layers": 16,
"num_key_value_heads": 12,
"output_attentions": false,
"output_hidden_states": false,
"patch_size": 16,
"pooling_kernel_size": 3,
"position_embedding_size": 10240,
"problem_type": null,
"return_dict": true,
"rms_norm_eps": 1e-06,
"rope_parameters": {
"rope_theta": 100.0,
"rope_type": "default"
},
"standardize": false,
"use_clipped_linears": true
},
"vision_soft_tokens_per_image": 280
}

View file

@ -0,0 +1,14 @@
{
"bos_token_id": 2,
"do_sample": true,
"eos_token_id": [
1,
106,
50
],
"pad_token_id": 0,
"temperature": 1.0,
"top_k": 64,
"top_p": 0.95,
"transformers_version": "5.5.0.dev0"
}

BIN
chat/mlx/mlx-community/gemma-4-e2b-it-4bit/model.safetensors (Stored with Git LFS) Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,42 @@
{
"audio_seq_length": 750,
"image_processor": {
"do_convert_rgb": true,
"do_normalize": false,
"do_rescale": true,
"do_resize": true,
"image_mean": [
0.0,
0.0,
0.0
],
"image_processor_type": "Gemma4ImageProcessor",
"image_seq_length": 280,
"image_std": [
1.0,
1.0,
1.0
],
"max_soft_tokens": 280,
"patch_size": 16,
"pooling_kernel_size": 3,
"resample": 3,
"rescale_factor": 0.00392156862745098,
"size": {
"height": 224,
"width": 224
}
},
"image_seq_length": 280,
"processor_class": "Gemma4Processor",
"feature_extractor": {
"feature_extractor_type": "Gemma4AudioFeatureExtractor",
"sampling_rate": 16000,
"num_mel_filters": 128,
"fft_length": 512,
"hop_length": 160,
"chunk_duration": 8.0,
"overlap_duration": 1.0
},
"audio_ms_per_token": 40
}

BIN
chat/mlx/mlx-community/gemma-4-e2b-it-4bit/tokenizer.json (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,74 @@
{
"audio_token": "<|audio|>",
"backend": "tokenizers",
"boa_token": "<|audio>",
"boi_token": "<|image>",
"bos_token": "<bos>",
"eoa_token": "<audio|>",
"eoc_token": "<channel|>",
"eoi_token": "<image|>",
"eos_token": "<eos>",
"eot_token": "<turn|>",
"escape_token": "<|\"|>",
"etc_token": "<tool_call|>",
"etd_token": "<tool|>",
"etr_token": "<tool_response|>",
"extra_special_tokens": [
"<|video|>"
],
"image_token": "<|image|>",
"mask_token": "<mask>",
"model_max_length": 1000000000000000019884624838656,
"pad_token": "<pad>",
"padding_side": "left",
"processor_class": "Gemma4Processor",
"response_schema": {
"type": "object",
"properties": {
"role": {
"const": "assistant"
},
"thinking": {
"type": "string"
},
"content": {
"type": "string"
},
"tool_calls": {
"x-regex-iterator": "<\\|tool_call>(.*?)<tool_call\\|>",
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"const": "function"
},
"function": {
"type": "object",
"x-regex": "call\\:(?P<name>\\w+)(?P<arguments>\\{.*\\})",
"properties": {
"name": {
"type": "string"
},
"arguments": {
"type": "object",
"x-parser": "gemma4-tool-call",
"additionalProperties": {}
}
}
}
}
}
}
},
"x-regex": "(\\<\\|channel\\>thought\\n(?P<thinking>.*?)\\<channel\\|\\>)?(?P<tool_calls>\\<\\|tool_call\\>.*\\<tool_call\\|\\>)?(?P<content>(?:(?!\\<turn\\|\\>)(?!\\<\\|tool_response\\>).)+)?(?:\\<turn\\|\\>|\\<\\|tool_response\\>)?"
},
"soc_token": "<|channel>",
"sot_token": "<|turn>",
"stc_token": "<|tool_call>",
"std_token": "<|tool>",
"str_token": "<|tool_response>",
"think_token": "<|think|>",
"tokenizer_class": "GemmaTokenizer",
"unk_token": "<unk>"
}

View file

@ -0,0 +1,36 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text

Some files were not shown because too many files have changed in this diff Show more