mweinbach's picture
Add files using upload-large-folder tool
8d3334b verified
{
"context_length": 4096,
"prefill_length": 256,
"batch_size": 1,
"hidden_size": 2048,
"vocab_size": 65536,
"num_attention_heads": 32,
"num_key_value_heads": 8,
"head_dim": 64,
"conv_kernel_size": 3,
"bos_token_id": 1,
"eos_token_id": 7,
"pad_token_id": 0,
"image_token_id": 396,
"image_start_token_id": 498,
"image_end_token_id": 499,
"image_thumbnail_token_id": 497,
"tile_size": 512,
"encoder_patch_size": 16,
"downsample_factor": 2,
"min_tiles": 2,
"max_tiles": 10,
"use_thumbnail": true,
"min_image_tokens": 64,
"max_image_tokens": 256,
"max_num_patches": 1024,
"vision_hidden_size": 1152,
"projector_hidden_size": 2048,
"vision_position_embedding_size": 16,
"vision_patch_embedding_model": "VisionPatchEmbedding.mlpackage",
"vision_encoder_model": "VisionEncoder.mlpackage",
"vision_projector_model": "VisionProjector.mlpackage",
"vision_position_embeddings_file": "VisionPositionEmbeddings.float16.bin",
"chunk_order": [
"DecoderChunk0",
"DecoderChunk1",
"DecoderChunk2",
"DecoderChunk3"
],
"chunks": [
{
"name": "DecoderChunk0",
"start_layer": 0,
"end_layer": 4,
"conv_layer_indices": [
0,
1,
3
],
"attention_layer_indices": [
2
]
},
{
"name": "DecoderChunk1",
"start_layer": 4,
"end_layer": 8,
"conv_layer_indices": [
4,
6,
7
],
"attention_layer_indices": [
5
]
},
{
"name": "DecoderChunk2",
"start_layer": 8,
"end_layer": 12,
"conv_layer_indices": [
9,
11
],
"attention_layer_indices": [
8,
10
]
},
{
"name": "DecoderChunk3",
"start_layer": 12,
"end_layer": 16,
"conv_layer_indices": [
13,
15
],
"attention_layer_indices": [
12,
14
]
}
],
"layer_types": [
"conv",
"conv",
"full_attention",
"conv",
"conv",
"full_attention",
"conv",
"conv",
"full_attention",
"conv",
"full_attention",
"conv",
"full_attention",
"conv",
"full_attention",
"conv"
],
"embeddings_model": "Embeddings.mlpackage",
"lm_head_model": "LMHead.mlpackage",
"prefill_models": [
"DecoderChunk0Prefill.mlpackage",
"DecoderChunk1Prefill.mlpackage",
"DecoderChunk2Prefill.mlpackage",
"DecoderChunk3Prefill.mlpackage"
],
"decode_models": [
"DecoderChunk0Decode.mlpackage",
"DecoderChunk1Decode.mlpackage",
"DecoderChunk2Decode.mlpackage",
"DecoderChunk3Decode.mlpackage"
],
"chat_template": "{{- bos_token -}}\n{%- set keep_past_thinking = keep_past_thinking | default(false) -%}\n{%- set ns = namespace(system_prompt=\"\") -%}\n{%- if messages[0][\"role\"] == \"system\" -%}\n {%- set sys_content = messages[0][\"content\"] -%}\n {%- if sys_content is not string -%}\n {%- for item in sys_content -%}\n {%- if item[\"type\"] == \"text\" -%}\n {%- set ns.system_prompt = ns.system_prompt + item[\"text\"] -%}\n {%- endif -%}\n {%- endfor -%}\n {%- else -%}\n {%- set ns.system_prompt = sys_content -%}\n {%- endif -%}\n {%- set messages = messages[1:] -%}\n{%- endif -%}\n{%- if tools -%}\n {%- set ns.system_prompt = ns.system_prompt + (\"\\n\" if ns.system_prompt else \"\") + \"List of tools: [\" -%}\n {%- for tool in tools -%}\n {%- if tool is not string -%}\n {%- set tool = tool | tojson -%}\n {%- endif -%}\n {%- set ns.system_prompt = ns.system_prompt + tool -%}\n {%- if not loop.last -%}\n {%- set ns.system_prompt = ns.system_prompt + \", \" -%}\n {%- endif -%}\n {%- endfor -%}\n {%- set ns.system_prompt = ns.system_prompt + \"]\" -%}\n{%- endif -%}\n{%- if ns.system_prompt -%}\n {{- \"<|im_start|>system\\n\" + ns.system_prompt + \"<|im_end|>\\n\" -}}\n{%- endif -%}\n{%- set ns.last_assistant_index = -1 -%}\n{%- for message in messages -%}\n {%- if message[\"role\"] == \"assistant\" -%}\n {%- set ns.last_assistant_index = loop.index0 -%}\n {%- endif -%}\n{%- endfor -%}\n{%- for message in messages -%}\n {{- \"<|im_start|>\" + message[\"role\"] + \"\\n\" -}}\n {%- if message[\"content\"] is not string -%}\n {%- set ns.content = \"\" -%}\n {%- for item in message[\"content\"] -%}\n {%- if item[\"type\"] == \"image\" -%}\n {%- set ns.content = ns.content + \"<image>\" -%}\n {%- elif item[\"type\"] == \"text\" -%}\n {%- set ns.content = ns.content + item[\"text\"] -%}\n {%- else -%}\n {%- set ns.content = ns.content + item | tojson -%}\n {%- endif -%}\n {%- endfor -%}\n {%- set content = ns.content -%}\n {%- else -%}\n {%- set content = message[\"content\"] -%}\n {%- endif -%}\n {%- if message[\"role\"] == \"assistant\" and not keep_past_thinking and loop.index0 != ns.last_assistant_index -%}\n {%- if \"</think>\" in content -%}\n {%- set content = content.split(\"</think>\")[-1] | trim -%}\n {%- endif -%}\n {%- endif -%}\n {{- content + \"<|im_end|>\\n\" -}}\n{%- endfor -%}\n{%- if add_generation_prompt -%}\n {{- \"<|im_start|>assistant\\n\" -}}\n{%- endif -%}"
}