qgallouedec HF Staff commited on
Commit
ceb9d94
·
verified ·
1 Parent(s): e3d5d75

Upload MuseSparkForConditionalGeneration

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ tags:
4
+ - trl
5
+ ---
6
+
7
+ # Tiny MuseSparkForConditionalGeneration
8
+
9
+ This is a minimal model built for unit tests in the [TRL](https://github.com/huggingface/trl) library.
chat_template.jinja ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set tools = tools | default(none) -%}
2
+ {%- set add_generation_prompt = add_generation_prompt | default(false) -%}
3
+ {%- set reasoning_effort = reasoning_effort | default('medium') -%}
4
+ {%- set cutoff_date = cutoff_date | default('2026-01-04') -%}
5
+ {%- set current_date = current_date | default(strftime_now('%Y-%m-%d') if strftime_now is defined else none) -%}
6
+ {%- set reasoning_effort_map = {'minimal': 1, 'low': 16, 'medium': 64, 'high': 256, 'xhigh': 512} -%}
7
+
8
+ {#- Neutralise control sequences in caller-supplied text so it cannot be
9
+ tokenized as structure. "<|" is broken because every special token has the
10
+ form "<|...|>"; the bare media placeholders are broken because the
11
+ multimodal processor rewrites them positionally and a literal one in text
12
+ would desynchronise placeholders from the attached media. -#}
13
+ {%- macro esc(value) -%}
14
+ {{- value | string
15
+ | replace('<|', '< |')
16
+ | replace('<image>', '< image>')
17
+ | replace('<video>', '< video>')
18
+ | replace('<audio>', '< audio>') -}}
19
+ {%- endmacro -%}
20
+
21
+ {%- macro esc_header(value) -%}
22
+ {{- esc(value) | replace('\r', ' ') | replace('\n', ' ') -}}
23
+ {%- endmacro -%}
24
+
25
+ {%- macro esc_attr(value) -%}
26
+ {{- esc_header(value)
27
+ | replace('&', '&amp;')
28
+ | replace('"', '&quot;')
29
+ | replace("'", '&#39;')
30
+ | replace('<', '&lt;')
31
+ | replace('>', '&gt;') -}}
32
+ {%- endmacro -%}
33
+
34
+ {%- macro render_content(content) -%}
35
+ {%- if content is string -%}
36
+ {{- esc(content) -}}
37
+ {%- elif content is not none -%}
38
+ {%- for part in content -%}
39
+ {%- set part_type = part.get('type', '') -%}
40
+ {%- if part_type in ['image', 'input_image', 'image_url'] -%}
41
+ {{- '<|patch|>' -}}
42
+ {%- elif part_type in ['video', 'input_video', 'video_url'] -%}
43
+ {{- '<|video|>' -}}
44
+ {%- elif part_type in ['audio', 'input_audio', 'audio_url'] -%}
45
+ {{- '<|audio|>' -}}
46
+ {%- elif part_type in ['text', 'input_text', 'output_text'] -%}
47
+ {{- esc(part.get('text', '')) -}}
48
+ {%- endif -%}
49
+ {%- endfor -%}
50
+ {%- endif -%}
51
+ {%- endmacro -%}
52
+
53
+ {%- macro render_atem(tc) -%}
54
+ {%- set args = tc.function.arguments -%}
55
+ {%- if args is not mapping -%}
56
+ {{- raise_exception('This chat template requires tool_call.function.arguments to be a dict (mapping). The jinja sandbox has no JSON parser, so deserialize the arguments string before calling apply_chat_template.') -}}
57
+ {%- endif -%}
58
+ {{- '<atem:function_calls>\n<atem:invoke name="' -}}{{- esc_attr(tc.function.name) -}}{{- '">\n' -}}
59
+ {%- for k, v in args.items() -%}
60
+ {{- '<atem:parameter name="' -}}{{- esc_attr(k) -}}{{- '">' -}}
61
+ {%- if v is boolean -%}
62
+ {%- if v -%}
63
+ true
64
+ {%- else -%}
65
+ false
66
+ {%- endif -%}
67
+ {%- elif v is none -%}
68
+ null
69
+ {%- elif v is mapping or (v is iterable and v is not string) -%}
70
+ {{- esc(v | tojson) -}}
71
+ {%- else -%}
72
+ {{- esc(v) -}}
73
+ {%- endif -%}
74
+ {{- '</atem:parameter>\n' -}}
75
+ {%- endfor -%}
76
+ {{- '</atem:invoke>\n</atem:function_calls>' -}}
77
+ {%- endmacro -%}
78
+
79
+ {%- macro render_tool_defs(tools) -%}
80
+ {{- 'In this environment you have access to a set of tools you can use to answer the user\'s question.\n\n' -}}
81
+ {{- 'You can invoke a function by writing a "<atem:function_calls>" block like the following as part of your reply to the user:\n' -}}
82
+ {{- '<atem:function_calls>\n<atem:invoke name="$FUNCTION_NAME">\n<atem:parameter name="$PARAMETER_NAME">$PARAMETER_VALUE</atem:parameter>\n...\n</atem:invoke>\n</atem:function_calls>\n\n' -}}
83
+ {{- 'String and scalar parameters should be specified as is, while lists and objects should use JSON format. Note that spaces for string values are not stripped. The output is not expected to be valid XML and is parsed with regular expressions.\n' -}}
84
+ {{- 'Here are the functions available in JSONSchema format:\n' -}}
85
+ {{- '// Tool metadata\n{"name": "", "description": ""}\n' -}}
86
+ {{- '// Function schemas' -}}
87
+ {%- for tool in tools -%}
88
+ {%- set fn = tool.function if tool.function is defined else tool -%}
89
+ {{- '\n{"name": ' -}}{{- fn.name | tojson -}}
90
+ {{- ', "description": ' -}}{{- (fn.description if fn.description is defined and fn.description else '') | tojson -}}
91
+ {{- ', "parameters": ' -}}{{- (fn.parameters if fn.parameters is defined and fn.parameters else {}) | tojson -}}{{- '}' -}}
92
+ {%- endfor -%}
93
+ {{- '\n\n' -}}
94
+ {{- 'Here are examples of how to call functions in the tool set. To make parallel tool calls, emit each call as its own message (one tool call per message) in consecutive messages, as shown below:\n' -}}
95
+ {{- '(If the tool namespace is not specified, invoke the function directly as `example_function_name_1` rather than `example_tool_name_1.example_function_name_1`)\n\n' -}}
96
+ {{- 'to=example_tool_name_1.example_function_name_1\n\n' -}}
97
+ {{- '<atem:function_calls>\n<atem:invoke name="example_tool_name_1.example_function_name_1">\n' -}}
98
+ {{- '<atem:parameter name="example_parameter_1">value_1</atem:parameter>\n' -}}
99
+ {{- '</atem:invoke>\n</atem:function_calls>\n\n' -}}
100
+ {{- 'to=example_tool_name_2.example_function_name_2\n\n' -}}
101
+ {{- '<atem:function_calls>\n<atem:invoke name="example_tool_name_2.example_function_name_2">\n' -}}
102
+ {{- '<atem:parameter name="example_parameter_2">This is the value for the second parameter\nthat can span\n"multiple" lines\n</atem:parameter>\n' -}}
103
+ {{- '<atem:parameter name="example_parameter_3">value_3</atem:parameter>\n' -}}
104
+ {{- '</atem:invoke>\n</atem:function_calls>' -}}
105
+ {%- endmacro -%}
106
+
107
+ {%- macro render_valid_recipients(tools) -%}
108
+ {%- set rns = namespace(recipients=[]) -%}
109
+ {{- 'Use the appropriate recipient for each message:\n\n' -}}
110
+ {%- set rns.recipients = rns.recipients + ['"self"'] -%}
111
+ {{- '- "self": private reasoning and tool planning.\n' -}}
112
+ {%- set rns.recipients = rns.recipients + ['"commentary"'] -%}
113
+ {{- '- "commentary": user-visible intermediate updates while the assistant will continue working, including messages sent to the user before or between tool calls.\n' -}}
114
+ {%- if tools -%}
115
+ {%- set first_tool = tools | first -%}
116
+ {%- set first_fn = (first_tool.function if first_tool.function is defined else first_tool).name -%}
117
+ {%- set rns.recipients = rns.recipients + ['"[func_name] (e.g., ' ~ esc_header(first_fn) ~ ')"'] -%}
118
+ {{- '- "tool" or "[tool name]": the name of the tool to call.\n' -}}
119
+ {%- endif -%}
120
+ {%- set rns.recipients = rns.recipients + ['"user"'] -%}
121
+ {{- '- "user": messages that end the assistant turn, such as a completed response or clarification question that waits for the user\'s reply; do not use for pre-tool updates or partial responses.\n' -}}
122
+ {{- '\n# Valid recipients: ' ~ rns.recipients | join(', ') ~ '.' -}}
123
+ {%- endmacro -%}
124
+
125
+ {{- bos_token -}}
126
+ {%- set ns = namespace(instructions=none, rest=messages) -%}
127
+ {%- if messages and messages[0]['role'] in ['system', 'developer'] -%}
128
+ {%- set ns.instructions = render_content(messages[0]['content'])
129
+ | replace('Reasoning effort', 'Reasoning strength')
130
+ | replace('Reasoning Effort', 'Reasoning Strength')
131
+ | replace('reasoning effort', 'reasoning strength')
132
+ | replace('REASONING EFFORT', 'REASONING STRENGTH') -%}
133
+ {%- set ns.rest = messages[1:] -%}
134
+ {%- endif -%}
135
+ {%- set sys = namespace(parts=['You are a helpful AI assistant.', 'Knowledge cutoff: ' ~ cutoff_date ~ '.']) -%}
136
+ {%- if current_date -%}
137
+ {%- set sys.parts = sys.parts + ['Current date: ' ~ current_date ~ '.'] -%}
138
+ {%- endif -%}
139
+ {%- if ns.instructions -%}
140
+ {%- set sys.parts = sys.parts + [ns.instructions] -%}
141
+ {%- endif -%}
142
+ {%- if tools -%}
143
+ {%- set sys.parts = sys.parts + [render_tool_defs(tools) | trim] -%}
144
+ {%- endif -%}
145
+ {%- if reasoning_effort in reasoning_effort_map and 'reasoning strength:' not in ((ns.instructions if ns.instructions else '') | lower) -%}
146
+ {%- set sys.parts = sys.parts + ['Reasoning strength: ' ~ reasoning_effort_map[reasoning_effort] ~ '.'] -%}
147
+ {%- endif -%}
148
+ {%- set sys.parts = sys.parts + [render_valid_recipients(tools) | trim] -%}
149
+ {{- '<|start|>system<|message|>' ~ sys.parts | join('\n\n') ~ '<|eot|>' -}}
150
+ {%- for message in ns.rest -%}
151
+ {%- set role = message['role'] -%}
152
+ {%- set end_token = '<|eom|>' if (not loop.last and ns.rest[loop.index0 + 1]['role'] == role) else '<|eot|>' -%}
153
+ {%- if role in ['system', 'developer'] -%}
154
+ {{- '<|start|>' + role + '<|message|>' -}}
155
+ {{- render_content(message['content']) -}}
156
+ {{- '<|eot|>' -}}
157
+ {%- elif role == 'user' -%}
158
+ {{- '<|start|>user<|message|>' -}}
159
+ {%- if message.get('render_timestamp') and message.get('timestamp') -%}
160
+ {%- set ts = message['timestamp'] -%}
161
+ {%- if ts is string -%}
162
+ {{- '[' ~ esc_header(ts) ~ '] ' -}}
163
+ {%- elif ts.strftime is defined -%}
164
+ {{- '[' ~ (ts.strftime('%a %Y-%m-%d %H:%M %Z') | trim) ~ '] ' -}}
165
+ {%- endif -%}
166
+ {%- endif -%}
167
+ {{- render_content(message['content']) -}}
168
+ {{- '<|eot|>' -}}
169
+ {%- elif role == 'tool' -%}
170
+ {%- set tname = message.get('name') -%}
171
+ {%- if not tname -%}
172
+ {%- set tcid = message.get('tool_call_id') -%}
173
+ {%- set tns = namespace(name=tcid if tcid else '') -%}
174
+ {%- for m in messages -%}
175
+ {%- if m.get('tool_calls') -%}
176
+ {%- for tc in m['tool_calls'] -%}
177
+ {%- if tcid is not none and tc.id is defined and tc.id == tcid -%}
178
+ {%- set tns.name = tc.function.name -%}
179
+ {%- endif -%}
180
+ {%- endfor -%}
181
+ {%- endif -%}
182
+ {%- endfor -%}
183
+ {%- set tname = tns.name -%}
184
+ {%- endif -%}
185
+ {%- if not tname -%}
186
+ {{- raise_exception('tool message has no name and no matching tool_call_id') -}}
187
+ {%- endif -%}
188
+ {{- '<|start|>tool ' -}}{{- esc_header(tname) -}}{{- '<|message|><tool_output name="' -}}{{- esc_attr(tname) -}}{{- '">\n' -}}
189
+ {{- render_content(message['content']) -}}
190
+ {{- '\n</tool_output><|eot|>' -}}
191
+ {%- elif role == 'assistant' -%}
192
+ {%- generation %}
193
+ {%- set reasoning = message.get('reasoning_content') or message.get('reasoning') -%}
194
+ {%- if reasoning -%}
195
+ {{- '<|start|>assistant to=self<|message|>' -}}{{- esc(reasoning) -}}{{- '<|eom|>' -}}
196
+ {%- endif -%}
197
+ {%- set body = render_content(message.get('content')) -%}
198
+ {%- if message.get('tool_calls') -%}
199
+ {%- if body -%}
200
+ {{- '<|start|>assistant to=commentary<|message|>' + body + '<|eom|>' -}}
201
+ {%- endif -%}
202
+ {%- for tc in message['tool_calls'] -%}
203
+ {{- '<|start|>assistant to=' -}}{{- esc_header(tc.function.name) -}}{{- '<|message|>' -}}
204
+ {{- render_atem(tc) -}}
205
+ {{- (end_token if loop.last else '<|eom|>') -}}
206
+ {%- endfor -%}
207
+ {%- elif body or not reasoning -%}
208
+ {%- set recipient = message.get('recipient') or 'user' -%}
209
+ {%- if recipient == 'user' -%}
210
+ {%- set end_turn = true -%}
211
+ {%- elif recipient in ['self', 'commentary'] -%}
212
+ {%- set end_turn = false -%}
213
+ {%- elif message.get('end_turn') is not none -%}
214
+ {%- set end_turn = message.get('end_turn') -%}
215
+ {%- else -%}
216
+ {%- set end_turn = false -%}
217
+ {%- endif -%}
218
+ {{- '<|start|>assistant to=' -}}{{- esc_header(recipient) -}}{{- '<|message|>' -}}
219
+ {{- body -}}
220
+ {{- ('<|eot|>' if end_turn else '<|eom|>') -}}
221
+ {%- endif -%}
222
+ {%- endgeneration %}
223
+ {%- endif -%}
224
+ {%- endfor -%}
225
+ {%- if add_generation_prompt -%}
226
+ {{- '<|start|>assistant' -}}
227
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "MuseSparkForConditionalGeneration"
4
+ ],
5
+ "audio_config": {
6
+ "conv_kernel_size": 3,
7
+ "depths": [
8
+ 1,
9
+ 1,
10
+ 1,
11
+ 1
12
+ ],
13
+ "hidden_act": "gelu",
14
+ "hidden_sizes": [
15
+ 16,
16
+ 16,
17
+ 32,
18
+ 32
19
+ ],
20
+ "initializer_range": 0.02,
21
+ "mlp_ratio": 2.0,
22
+ "model_type": "musespark1x_omni_audio",
23
+ "num_hidden_layers": 4,
24
+ "out_hidden_size": 64,
25
+ "patch_sizes": [
26
+ 16,
27
+ 6,
28
+ 5,
29
+ 4
30
+ ],
31
+ "rms_norm_eps": 1e-06
32
+ },
33
+ "audio_token_id": 200038,
34
+ "dtype": "bfloat16",
35
+ "image_token_id": 200092,
36
+ "model_type": "musespark1x_omni",
37
+ "out_hidden_size": 128,
38
+ "projector_hidden_act": "gelu",
39
+ "projector_hidden_size": 32,
40
+ "text_config": {
41
+ "attention_bias": false,
42
+ "attention_dropout": 0.0,
43
+ "bos_token_id": 200000,
44
+ "eos_token_id": 200001,
45
+ "final_logit_softcapping": 20.0,
46
+ "head_dim": 16,
47
+ "hidden_act": "silu",
48
+ "hidden_size": 64,
49
+ "initializer_range": 0.02,
50
+ "intermediate_size": 32,
51
+ "layer_rope_theta": [
52
+ 500000.0,
53
+ 0,
54
+ 500000.0,
55
+ 500000.0,
56
+ 500000.0,
57
+ 0,
58
+ 500000.0,
59
+ 500000.0,
60
+ 500000.0,
61
+ 0,
62
+ 500000.0,
63
+ 500000.0,
64
+ 500000.0,
65
+ 0,
66
+ 500000.0,
67
+ 500000.0,
68
+ 500000.0,
69
+ 0,
70
+ 500000.0,
71
+ 500000.0,
72
+ 500000.0,
73
+ 0,
74
+ 500000.0,
75
+ 500000.0,
76
+ 500000.0,
77
+ 0,
78
+ 500000.0,
79
+ 500000.0,
80
+ 500000.0,
81
+ 0,
82
+ 500000.0,
83
+ 500000.0,
84
+ 500000.0,
85
+ 0,
86
+ 500000.0,
87
+ 500000.0,
88
+ 500000.0,
89
+ 0,
90
+ 500000.0,
91
+ 500000.0,
92
+ 500000.0,
93
+ 0,
94
+ 500000.0,
95
+ 500000.0,
96
+ 500000.0,
97
+ 0,
98
+ 500000.0,
99
+ 500000.0,
100
+ 500000.0,
101
+ 0,
102
+ 500000.0,
103
+ 500000.0,
104
+ 500000.0,
105
+ 0,
106
+ 500000.0,
107
+ 500000.0,
108
+ 500000.0,
109
+ 0,
110
+ 500000.0,
111
+ 500000.0,
112
+ 500000.0,
113
+ 0
114
+ ],
115
+ "layer_types": [
116
+ "full_attention",
117
+ "sliding_attention"
118
+ ],
119
+ "max_position_embeddings": 1048576,
120
+ "mlp_layer_types": [
121
+ "sparse",
122
+ "sparse"
123
+ ],
124
+ "model_type": "musespark1x_omni_text",
125
+ "moe_hidden_size": 16,
126
+ "moe_intermediate_size": 32,
127
+ "num_attention_heads": 4,
128
+ "num_experts_per_tok": 4,
129
+ "num_hidden_layers": 2,
130
+ "num_key_value_heads": 2,
131
+ "num_local_experts": 16,
132
+ "num_shared_experts": 0,
133
+ "output_multiplier": 0.17677669529663687,
134
+ "pad_token_id": 200018,
135
+ "post_norm_eps": 1e-08,
136
+ "qk_scale_factor": 5.4730064863875,
137
+ "residual_gate_temperature": 0.3,
138
+ "rms_norm_eps": 1e-05,
139
+ "rope_parameters": {
140
+ "rope_theta": 500000.0,
141
+ "rope_type": "default"
142
+ },
143
+ "routed_scaling_factor": 1.0,
144
+ "sliding_window": 32,
145
+ "tie_word_embeddings": false,
146
+ "use_cache": true,
147
+ "vocab_size": 202048
148
+ },
149
+ "transformers_version": "5.18.0.dev0",
150
+ "video_token_id": 200091,
151
+ "vision_config": {
152
+ "hidden_act": "gelu",
153
+ "hidden_size": 32,
154
+ "intermediate_size": 64,
155
+ "layer_norm_eps": 1e-05,
156
+ "layer_types": [
157
+ "window_attention",
158
+ "full_attention"
159
+ ],
160
+ "max_position_embeddings": 1024,
161
+ "merge_size": 2,
162
+ "model_type": "musespark1x_omni_vision",
163
+ "num_attention_heads": 4,
164
+ "num_hidden_layers": 2,
165
+ "patch_size": 14,
166
+ "patch_temporal": 2,
167
+ "pos_emb_height": 32,
168
+ "pos_emb_width": 32,
169
+ "rope_parameters": {
170
+ "rope_theta": 10000,
171
+ "rope_type": "axial"
172
+ }
173
+ }
174
+ }
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 200000,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 200001,
6
+ 200008
7
+ ],
8
+ "max_length": 1048576,
9
+ "pad_token_id": 200018,
10
+ "temperature": 1.0,
11
+ "top_k": 64,
12
+ "top_p": 0.95,
13
+ "transformers_version": "5.18.0.dev0"
14
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:80e75d8cd917fd5d886d934975bd1505c7f03c2bad7da6ef823d6e7f9923281d
3
+ size 52150008
processor_config.json ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "feature_extractor": {
3
+ "feature_extractor_type": "MuseSparkFeatureExtractor",
4
+ "feature_size": 1,
5
+ "padding_side": "right",
6
+ "padding_value": 0.0,
7
+ "return_attention_mask": true,
8
+ "samples_per_token": 1920,
9
+ "sampling_rate": 24000
10
+ },
11
+ "image_processor": {
12
+ "do_convert_rgb": true,
13
+ "do_normalize": true,
14
+ "do_rescale": true,
15
+ "do_resize": true,
16
+ "image_mean": [
17
+ 0.5,
18
+ 0.5,
19
+ 0.5
20
+ ],
21
+ "image_processor_type": "MuseGlimmerImageProcessor",
22
+ "image_std": [
23
+ 0.5,
24
+ 0.5,
25
+ 0.5
26
+ ],
27
+ "max_image_tokens": 4096,
28
+ "merge_size": 2,
29
+ "patch_size": 14,
30
+ "resample": 1,
31
+ "rescale_factor": 0.00392156862745098,
32
+ "temporal_patch_size": 2
33
+ },
34
+ "processor_class": "MuseSparkProcessor",
35
+ "video_processor": {
36
+ "do_convert_rgb": true,
37
+ "do_normalize": true,
38
+ "do_rescale": true,
39
+ "do_resize": true,
40
+ "do_sample_frames": true,
41
+ "fps": 2.0,
42
+ "image_mean": [
43
+ 0.5,
44
+ 0.5,
45
+ 0.5
46
+ ],
47
+ "image_std": [
48
+ 0.5,
49
+ 0.5,
50
+ 0.5
51
+ ],
52
+ "max_video_frame_tokens": 144,
53
+ "merge_size": 2,
54
+ "num_frames": 96,
55
+ "patch_size": 14,
56
+ "resample": 1,
57
+ "rescale_factor": 0.00392156862745098,
58
+ "return_metadata": true,
59
+ "temporal_patch_size": 2,
60
+ "video_processor_type": "MuseGlimmerVideoProcessor"
61
+ }
62
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:67fd0540977f672f1c139c0b82b9342bec1e07349e6d1a89c4331496cbab7238
3
+ size 28086030
tokenizer_config.json ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|begin_of_text|>",
4
+ "clean_up_tokenization_spaces": false,
5
+ "eos_token": "<|end_of_text|>",
6
+ "is_local": true,
7
+ "local_files_only": false,
8
+ "model_max_length": 1048576,
9
+ "pad_token": "<|finetune_right_pad|>",
10
+ "processor_class": "MuseSparkProcessor",
11
+ "response_template": {
12
+ "defaults": {
13
+ "role": "assistant"
14
+ },
15
+ "fields": {
16
+ "content": {
17
+ "close": [
18
+ "<|eot|>",
19
+ "<|eom|>"
20
+ ],
21
+ "content": "text",
22
+ "join": "",
23
+ "open_pattern": "to=(?:user|commentary)<\\|message\\|>",
24
+ "repeats": true
25
+ },
26
+ "reasoning_content": {
27
+ "close": "<|eom|>",
28
+ "content": "text",
29
+ "open_pattern": "to=self<\\|message\\|>"
30
+ },
31
+ "tool_calls": {
32
+ "close": "</atem:invoke>",
33
+ "content": "xml-inline",
34
+ "content_args": {
35
+ "tag_pattern": "<atem:parameter\\b[^>]*?\\bname=\"(?P<key>[^\"]+)\"[^>]*?>(?P<value>.*?)</atem:parameter>",
36
+ "value_parser": {
37
+ "args": {
38
+ "allow_non_json": true
39
+ },
40
+ "name": "json"
41
+ }
42
+ },
43
+ "open_pattern": "<atem:invoke\\b[^>]*?\\bname=\"(?P<name>[^\"]+)\">",
44
+ "repeats": true,
45
+ "transform": {
46
+ "function": {
47
+ "arguments": "{content}",
48
+ "name": "{name}"
49
+ },
50
+ "type": "function"
51
+ }
52
+ }
53
+ },
54
+ "start_anchor": "<|start|>assistant"
55
+ },
56
+ "tokenizer_class": "TokenizersBackend"
57
+ }