Lmao commited on
Commit
b8a724b
·
verified ·
1 Parent(s): ff8ee4e

Delete checkpoint-200

Browse files
checkpoint-200/README.md DELETED
@@ -1,210 +0,0 @@
1
- ---
2
- base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit
3
- library_name: peft
4
- pipeline_tag: text-generation
5
- tags:
6
- - base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit
7
- - lora
8
- - sft
9
- - transformers
10
- - trl
11
- - unsloth
12
- ---
13
-
14
- # Model Card for Model ID
15
-
16
- <!-- Provide a quick summary of what the model is/does. -->
17
-
18
-
19
-
20
- ## Model Details
21
-
22
- ### Model Description
23
-
24
- <!-- Provide a longer summary of what this model is. -->
25
-
26
-
27
-
28
- - **Developed by:** [More Information Needed]
29
- - **Funded by [optional]:** [More Information Needed]
30
- - **Shared by [optional]:** [More Information Needed]
31
- - **Model type:** [More Information Needed]
32
- - **Language(s) (NLP):** [More Information Needed]
33
- - **License:** [More Information Needed]
34
- - **Finetuned from model [optional]:** [More Information Needed]
35
-
36
- ### Model Sources [optional]
37
-
38
- <!-- Provide the basic links for the model. -->
39
-
40
- - **Repository:** [More Information Needed]
41
- - **Paper [optional]:** [More Information Needed]
42
- - **Demo [optional]:** [More Information Needed]
43
-
44
- ## Uses
45
-
46
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
47
-
48
- ### Direct Use
49
-
50
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
51
-
52
- [More Information Needed]
53
-
54
- ### Downstream Use [optional]
55
-
56
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
57
-
58
- [More Information Needed]
59
-
60
- ### Out-of-Scope Use
61
-
62
- <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
63
-
64
- [More Information Needed]
65
-
66
- ## Bias, Risks, and Limitations
67
-
68
- <!-- This section is meant to convey both technical and sociotechnical limitations. -->
69
-
70
- [More Information Needed]
71
-
72
- ### Recommendations
73
-
74
- <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
75
-
76
- Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
77
-
78
- ## How to Get Started with the Model
79
-
80
- Use the code below to get started with the model.
81
-
82
- [More Information Needed]
83
-
84
- ## Training Details
85
-
86
- ### Training Data
87
-
88
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
89
-
90
- [More Information Needed]
91
-
92
- ### Training Procedure
93
-
94
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
95
-
96
- #### Preprocessing [optional]
97
-
98
- [More Information Needed]
99
-
100
-
101
- #### Training Hyperparameters
102
-
103
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
104
-
105
- #### Speeds, Sizes, Times [optional]
106
-
107
- <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
108
-
109
- [More Information Needed]
110
-
111
- ## Evaluation
112
-
113
- <!-- This section describes the evaluation protocols and provides the results. -->
114
-
115
- ### Testing Data, Factors & Metrics
116
-
117
- #### Testing Data
118
-
119
- <!-- This should link to a Dataset Card if possible. -->
120
-
121
- [More Information Needed]
122
-
123
- #### Factors
124
-
125
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
126
-
127
- [More Information Needed]
128
-
129
- #### Metrics
130
-
131
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
132
-
133
- [More Information Needed]
134
-
135
- ### Results
136
-
137
- [More Information Needed]
138
-
139
- #### Summary
140
-
141
-
142
-
143
- ## Model Examination [optional]
144
-
145
- <!-- Relevant interpretability work for the model goes here -->
146
-
147
- [More Information Needed]
148
-
149
- ## Environmental Impact
150
-
151
- <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
152
-
153
- Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
154
-
155
- - **Hardware Type:** [More Information Needed]
156
- - **Hours used:** [More Information Needed]
157
- - **Cloud Provider:** [More Information Needed]
158
- - **Compute Region:** [More Information Needed]
159
- - **Carbon Emitted:** [More Information Needed]
160
-
161
- ## Technical Specifications [optional]
162
-
163
- ### Model Architecture and Objective
164
-
165
- [More Information Needed]
166
-
167
- ### Compute Infrastructure
168
-
169
- [More Information Needed]
170
-
171
- #### Hardware
172
-
173
- [More Information Needed]
174
-
175
- #### Software
176
-
177
- [More Information Needed]
178
-
179
- ## Citation [optional]
180
-
181
- <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
182
-
183
- **BibTeX:**
184
-
185
- [More Information Needed]
186
-
187
- **APA:**
188
-
189
- [More Information Needed]
190
-
191
- ## Glossary [optional]
192
-
193
- <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
194
-
195
- [More Information Needed]
196
-
197
- ## More Information [optional]
198
-
199
- [More Information Needed]
200
-
201
- ## Model Card Authors [optional]
202
-
203
- [More Information Needed]
204
-
205
- ## Model Card Contact
206
-
207
- [More Information Needed]
208
- ### Framework versions
209
-
210
- - PEFT 0.20.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
checkpoint-200/adapter_config.json DELETED
@@ -1,46 +0,0 @@
1
- {
2
- "alora_invocation_tokens": null,
3
- "alpha_pattern": {},
4
- "arrow_config": null,
5
- "auto_mapping": {
6
- "base_model_class": "Gemma4ForConditionalGeneration",
7
- "parent_library": "transformers.models.gemma4.modeling_gemma4",
8
- "unsloth_fixed": true
9
- },
10
- "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit",
11
- "bias": "none",
12
- "corda_config": null,
13
- "ensure_weight_tying": false,
14
- "eva_config": null,
15
- "exclude_modules": null,
16
- "fan_in_fan_out": false,
17
- "inference_mode": true,
18
- "init_lora_weights": true,
19
- "layer_replication": null,
20
- "layers_pattern": null,
21
- "layers_to_transform": null,
22
- "loftq_config": {},
23
- "lora_alpha": 64,
24
- "lora_bias": false,
25
- "lora_dropout": 0,
26
- "lora_ga_config": null,
27
- "megatron_config": null,
28
- "megatron_core": "megatron.core",
29
- "modules_to_save": null,
30
- "monteclora_config": null,
31
- "peft_type": "LORA",
32
- "peft_version": "0.20.0",
33
- "qalora_group_size": 16,
34
- "r": 32,
35
- "rank_pattern": {},
36
- "revision": null,
37
- "target_modules": "(?:(?:.*?(?:vision|image|visual|patch|language|text).*?(?:self_attn|attention|attn|mixer|mlp|feed_forward|ffn|dense|mixer).*?(?:q_proj|k_proj|v_proj|o_proj|gate_proj|up_proj|down_proj|per_layer_input_gate|per_layer_projection|linear|embedding_projection|relative_k_proj))|(?:\\bmodel\\.layers\\.[\\d]{1,}\\.(?:self_attn|attention|attn|mixer|mlp|feed_forward|ffn|dense|mixer)\\.(?:(?:q_proj|k_proj|v_proj|o_proj|gate_proj|up_proj|down_proj|per_layer_input_gate|per_layer_projection|linear|embedding_projection|relative_k_proj))))|(?:.*?\\bembed_vision\\.embedding_projection)|(?:.*?\\bvision_tower\\.patch_embedder\\.input_proj)",
38
- "target_parameters": null,
39
- "task_type": "CAUSAL_LM",
40
- "trainable_token_indices": null,
41
- "use_bdlora": null,
42
- "use_dora": false,
43
- "use_qalora": false,
44
- "use_rslora": true,
45
- "velora_config": null
46
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
checkpoint-200/adapter_model.safetensors DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:6ade2e257144044e68fe27102112ed378b8c253c3ed9cab588bd83bf32067d1d
3
- size 230030912
 
 
 
 
checkpoint-200/chat_template.jinja DELETED
@@ -1,385 +0,0 @@
1
- {%- macro format_parameters(properties, required, filter_keys=false) -%}
2
- {%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}
3
- {%- set ns = namespace(found_first=false) -%}
4
- {%- for key, value in properties | dictsort -%}
5
- {%- set add_comma = false -%}
6
- {%- if not filter_keys or key not in standard_keys -%}
7
- {%- if ns.found_first %},{% endif -%}
8
- {%- set ns.found_first = true -%}
9
- {{ key }}:{
10
- {%- if value['description'] -%}
11
- description:<|"|>{{ value['description'] }}<|"|>
12
- {%- set add_comma = true -%}
13
- {%- endif -%}
14
- {%- if value['type'] | upper == 'STRING' -%}
15
- {%- if value['enum'] -%}
16
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
17
- enum:{{ format_argument(value['enum']) }}
18
- {%- endif -%}
19
- {%- elif value['type'] | upper == 'ARRAY' -%}
20
- {%- if value['items'] is mapping and value['items'] -%}
21
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
22
- items:{
23
- {%- set ns_items = namespace(found_first=false) -%}
24
- {%- for item_key, item_value in value['items'] | dictsort -%}
25
- {%- if item_value is not none -%}
26
- {%- if ns_items.found_first %},{% endif -%}
27
- {%- set ns_items.found_first = true -%}
28
- {%- if item_key == 'properties' -%}
29
- properties:{
30
- {%- if item_value is mapping -%}
31
- {{- format_parameters(item_value, value['items']['required'] | default([])) -}}
32
- {%- endif -%}
33
- }
34
- {%- elif item_key == 'required' -%}
35
- required:[
36
- {%- for req_item in item_value -%}
37
- <|"|>{{- req_item -}}<|"|>
38
- {%- if not loop.last %},{% endif -%}
39
- {%- endfor -%}
40
- ]
41
- {%- elif item_key == 'type' -%}
42
- {%- if item_value is string -%}
43
- type:{{ format_argument(item_value | upper) }}
44
- {%- else -%}
45
- type:{{ format_argument(item_value | map('upper') | list) }}
46
- {%- endif -%}
47
- {%- else -%}
48
- {{ item_key }}:{{ format_argument(item_value) }}
49
- {%- endif -%}
50
- {%- endif -%}
51
- {%- endfor -%}
52
- }
53
- {%- endif -%}
54
- {%- endif -%}
55
- {%- if value['nullable'] %}
56
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
57
- nullable:true
58
- {%- endif -%}
59
- {%- if value['type'] | upper == 'OBJECT' -%}
60
- {%- if value['properties'] is defined and value['properties'] is mapping -%}
61
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
62
- properties:{
63
- {{- format_parameters(value['properties'], value['required'] | default([])) -}}
64
- }
65
- {%- elif value is mapping -%}
66
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
67
- properties:{
68
- {{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}
69
- }
70
- {%- endif -%}
71
- {%- if value['required'] -%}
72
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
73
- required:[
74
- {%- for item in value['required'] | default([]) -%}
75
- <|"|>{{- item -}}<|"|>
76
- {%- if not loop.last %},{% endif -%}
77
- {%- endfor -%}
78
- ]
79
- {%- endif -%}
80
- {%- endif -%}
81
- {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}
82
- type:<|"|>{{ value['type'] | upper }}<|"|>}
83
- {%- endif -%}
84
- {%- endfor -%}
85
- {%- endmacro -%}
86
- {%- macro format_function_declaration(tool_data) -%}
87
- declaration:{{- tool_data['function']['name'] -}}{description:<|"|>{{- tool_data['function']['description'] -}}<|"|>
88
- {%- set params = tool_data['function']['parameters'] -%}
89
- {%- if params -%}
90
- ,parameters:{
91
- {%- if params['properties'] -%}
92
- properties:{ {{- format_parameters(params['properties'], params['required']) -}} },
93
- {%- endif -%}
94
- {%- if params['required'] -%}
95
- required:[
96
- {%- for item in params['required'] -%}
97
- <|"|>{{- item -}}<|"|>
98
- {{- ',' if not loop.last -}}
99
- {%- endfor -%}
100
- ],
101
- {%- endif -%}
102
- {%- if params['type'] -%}
103
- type:<|"|>{{- params['type'] | upper -}}<|"|>}
104
- {%- endif -%}
105
- {%- endif -%}
106
- {%- if 'response' in tool_data['function'] -%}
107
- {%- set response_declaration = tool_data['function']['response'] -%}
108
- ,response:{
109
- {%- if response_declaration['description'] -%}
110
- description:<|"|>{{- response_declaration['description'] -}}<|"|>,
111
- {%- endif -%}
112
- {%- if response_declaration['type'] | upper == 'OBJECT' -%}
113
- type:<|"|>{{- response_declaration['type'] | upper -}}<|"|>}
114
- {%- endif -%}
115
- {%- endif -%}
116
- }
117
- {%- endmacro -%}
118
- {%- macro format_argument(argument, escape_keys=True) -%}
119
- {%- if argument is none -%}
120
- {{- 'null' -}}
121
- {%- elif argument is string -%}
122
- {{- '<|"|>' + argument + '<|"|>' -}}
123
- {%- elif argument is boolean -%}
124
- {{- 'true' if argument else 'false' -}}
125
- {%- elif argument is mapping -%}
126
- {{- '{' -}}
127
- {%- set ns = namespace(found_first=false) -%}
128
- {%- for key, value in argument | dictsort -%}
129
- {%- if ns.found_first %},{% endif -%}
130
- {%- set ns.found_first = true -%}
131
- {%- if escape_keys -%}
132
- {{- '<|"|>' + key + '<|"|>' -}}
133
- {%- else -%}
134
- {{- key -}}
135
- {%- endif -%}
136
- :{{- format_argument(value, escape_keys=escape_keys) -}}
137
- {%- endfor -%}
138
- {{- '}' -}}
139
- {%- elif argument is sequence -%}
140
- {{- '[' -}}
141
- {%- for item in argument -%}
142
- {{- format_argument(item, escape_keys=escape_keys) -}}
143
- {%- if not loop.last %},{% endif -%}
144
- {%- endfor -%}
145
- {{- ']' -}}
146
- {%- else -%}
147
- {{- argument -}}
148
- {%- endif -%}
149
- {%- endmacro -%}
150
- {%- macro strip_thinking(text) -%}
151
- {%- set ns = namespace(result='') -%}
152
- {%- for part in text.split('<channel|>') -%}
153
- {%- if '<|channel>' in part -%}
154
- {%- set ns.result = ns.result + part.split('<|channel>')[0] -%}
155
- {%- else -%}
156
- {%- set ns.result = ns.result + part -%}
157
- {%- endif -%}
158
- {%- endfor -%}
159
- {{- ns.result | trim -}}
160
- {%- endmacro -%}
161
-
162
- {%- macro format_tool_response_block(tool_name, response) -%}
163
- {{- '<|tool_response>' -}}
164
- {%- if response is mapping -%}
165
- {{- 'response:' + tool_name + '{' -}}
166
- {%- for key, value in response | dictsort -%}
167
- {{- key -}}:{{- format_argument(value, escape_keys=False) -}}
168
- {%- if not loop.last %},{% endif -%}
169
- {%- endfor -%}
170
- {{- '}' -}}
171
- {%- else -%}
172
- {{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}
173
- {%- endif -%}
174
- {{- '<tool_response|>' -}}
175
- {%- endmacro -%}
176
-
177
- {#- ===== SETUP ===== -#}
178
- {%- set ns = namespace(prev_message_type=None, prev_non_tool_role=None) -%}
179
- {%- set loop_messages = messages -%}
180
- {%- set enable_thinking = enable_thinking | default(false) -%}
181
- {%- set preserve_thinking = preserve_thinking | default(false) -%}
182
- {{- bos_token -}}
183
- {#- Handle System/Tool Definitions Block -#}
184
- {%- if enable_thinking or tools or (messages and messages[0]['role'] in ['system', 'developer']) -%}
185
- {{- '<|turn>system\n' -}}
186
- {#- Inject Thinking token at the very top of the FIRST system turn -#}
187
- {%- if enable_thinking -%}
188
- {{- '<|think|>\n' -}}
189
- {%- set ns.prev_message_type = 'think' -%}
190
- {%- endif -%}
191
- {%- if messages and messages[0]['role'] in ['system', 'developer'] -%}
192
- {%- if messages[0]['content'] is string -%}
193
- {{- messages[0]['content'] | trim -}}
194
- {%- elif messages[0]['content'] is sequence -%}
195
- {%- for item in messages[0]['content'] -%}
196
- {{- item['text'] | trim + ' '-}}
197
- {%- endfor -%}
198
- {%- endif -%}
199
- {%- set loop_messages = messages[1:] -%}
200
- {%- endif -%}
201
- {%- if tools -%}
202
- {%- for tool in tools %}
203
- {{- '<|tool>' -}}
204
- {{- format_function_declaration(tool) | trim -}}
205
- {{- '<tool|>' -}}
206
- {%- endfor %}
207
- {%- set ns.prev_message_type = 'tool' -%}
208
- {%- endif -%}
209
- {{- '<turn|>\n' -}}
210
- {%- endif %}
211
-
212
- {#- Pre-scan: find last user message index for reasoning guard -#}
213
- {%- set ns_turn = namespace(last_user_idx=-1) -%}
214
- {%- for i in range(loop_messages | length) -%}
215
- {%- if loop_messages[i]['role'] == 'user' -%}
216
- {%- set ns_turn.last_user_idx = i -%}
217
- {%- endif -%}
218
- {%- endfor -%}
219
-
220
- {#- Loop through messages -#}
221
- {%- for message in loop_messages -%}
222
- {%- if message['role'] != 'tool' -%}
223
- {%- set ns.prev_message_type = None -%}
224
- {%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}
225
- {#- Detect continuation using tracked state — O(1) instead of O(n) backward scan -#}
226
- {%- set continue_same_model_turn = (role == 'model' and ns.prev_non_tool_role == 'assistant') -%}
227
- {%- if not continue_same_model_turn -%}
228
- {{- '<|turn>' + role + '\n' }}
229
- {%- endif -%}
230
-
231
- {#- Render reasoning/reasoning_content as thinking channel -#}
232
- {%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}
233
- {%- set thinking_gate = (loop.index0 > ns_turn.last_user_idx) or (preserve_thinking and message.get('tool_calls')) -%}
234
- {%- if thinking_text and thinking_gate -%}
235
- {{- '<|channel>thought\n' + thinking_text + '\n<channel|>' -}}
236
- {%- endif -%}
237
-
238
- {%- if message.get('tool_calls') -%}
239
- {%- for tool_call in message.get('tool_calls') -%}
240
- {%- set function = tool_call['function'] -%}
241
- {{- '<|tool_call>call:' + function['name'] + '{' -}}
242
- {%- if function['arguments'] is mapping -%}
243
- {%- set ns_args = namespace(found_first=false) -%}
244
- {%- for key, value in function['arguments'] | dictsort -%}
245
- {%- if ns_args.found_first %},{% endif -%}
246
- {%- set ns_args.found_first = true -%}
247
- {{- key -}}:{{- format_argument(value, escape_keys=False) -}}
248
- {%- endfor -%}
249
- {%- elif function['arguments'] is none -%}
250
- {%- elif function['arguments'] is string -%}
251
- {#- Pre-serialized args (e.g. an OpenAI JSON string). We cannot JSON-parse
252
- portably in-template, so render non-fatally instead of erroring. Strip an
253
- outer {...} so it composes with the DSL braces rather than double-wrapping.
254
- Prefer passing arguments as a mapping for exact Gemma DSL. -#}
255
- {%- set argstr = function['arguments'] | trim -%}
256
- {%- if argstr[:1] == '{' and argstr[-1:] == '}' -%}
257
- {{- argstr[1:-1] -}}
258
- {%- else -%}
259
- {{- function['arguments'] -}}
260
- {%- endif -%}
261
- {%- endif -%}
262
- {{- '}<tool_call|>' -}}
263
- {%- endfor -%}
264
- {%- set ns.prev_message_type = 'tool_call' -%}
265
- {%- endif -%}
266
-
267
- {%- set ns_tr_out = namespace(flag=false) -%}
268
- {%- if message.get('tool_responses') -%}
269
- {#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}
270
- {%- for tool_response in message.get('tool_responses') -%}
271
- {{- format_tool_response_block(tool_response['name'] | default('unknown', true), tool_response['response']) -}}
272
- {%- set ns_tr_out.flag = true -%}
273
- {%- set ns.prev_message_type = 'tool_response' -%}
274
- {%- endfor -%}
275
- {%- elif message.get('tool_calls') -%}
276
- {#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}
277
- {%- set ns_tool_scan = namespace(stopped=false) -%}
278
- {%- for k in range(loop.index0 + 1, loop_messages | length) -%}
279
- {%- if ns_tool_scan.stopped -%}
280
- {%- elif loop_messages[k]['role'] != 'tool' -%}
281
- {%- set ns_tool_scan.stopped = true -%}
282
- {%- else -%}
283
- {%- set follow = loop_messages[k] -%}
284
- {#- Resolve tool_call_id to function name -#}
285
- {%- set ns_tname = namespace(name=follow.get('name') or 'unknown') -%}
286
- {%- for tc in message.get('tool_calls') -%}
287
- {%- if tc.get('id') == follow.get('tool_call_id') -%}
288
- {%- set ns_tname.name = tc['function']['name'] -%}
289
- {%- endif -%}
290
- {%- endfor -%}
291
- {#- Handle content as string or content-parts array -#}
292
- {%- set tool_body = follow.get('content') -%}
293
- {%- if tool_body is string -%}
294
- {{- format_tool_response_block(ns_tname.name, tool_body) -}}
295
- {%- elif tool_body is sequence and tool_body is not string -%}
296
- {%- set ns_txt = namespace(s='') -%}
297
- {%- for part in tool_body -%}
298
- {%- if part.get('type') == 'text' -%}
299
- {%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}
300
- {%- endif -%}
301
- {%- endfor -%}
302
- {{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}
303
- {%- for part in tool_body -%}
304
- {%- if part.get('type') in ['image', 'image_url'] -%}
305
- {{- '<|image|>' -}}
306
- {%- elif part.get('type') in ['audio', 'input_audio'] -%}
307
- {{- '<|audio|>' -}}
308
- {%- elif part.get('type') == 'video' -%}
309
- {{- '<|video|>' -}}
310
- {%- endif -%}
311
- {%- endfor -%}
312
- {%- else -%}
313
- {{- format_tool_response_block(ns_tname.name, tool_body) -}}
314
- {%- endif -%}
315
- {%- set ns_tr_out.flag = true -%}
316
- {%- set ns.prev_message_type = 'tool_response' -%}
317
- {%- endif -%}
318
- {%- endfor -%}
319
- {%- endif -%}
320
-
321
- {%- set captured_content -%}
322
- {%- if message.get('content') is string -%}
323
- {%- if role == 'model' -%}
324
- {{- strip_thinking(message['content']) -}}
325
- {%- else -%}
326
- {{- message['content'] | trim -}}
327
- {%- endif -%}
328
- {%- elif message.get('content') is sequence -%}
329
- {%- for item in message['content'] -%}
330
- {%- if item.get('type') == 'text' -%}
331
- {%- if role == 'model' -%}
332
- {{- strip_thinking(item['text']) -}}
333
- {%- else -%}
334
- {{- item['text'] | trim -}}
335
- {%- endif -%}
336
- {%- elif item.get('type') in ['image', 'image_url'] -%}
337
- {{- '<|image|>' -}}
338
- {%- elif item.get('type') in ['audio', 'input_audio'] -%}
339
- {{- '<|audio|>' -}}
340
- {%- elif item.get('type') == 'video' -%}
341
- {{- '<|video|>' -}}
342
- {%- endif -%}
343
- {%- endfor -%}
344
- {%- endif -%}
345
- {%- endset -%}
346
-
347
- {{- captured_content -}}
348
- {%- set has_content = captured_content | trim | length > 0 -%}
349
-
350
- {#- Forward-scan: find next non-tool message role for continuation detection -#}
351
- {%- set next_nt = namespace(role=None, found=false) -%}
352
- {%- for j in range(loop.index0 + 1, loop_messages | length) -%}
353
- {%- if not next_nt.found -%}
354
- {%- if loop_messages[j]['role'] != 'tool' -%}
355
- {%- set next_nt.role = loop_messages[j]['role'] -%}
356
- {%- set next_nt.found = true -%}
357
- {%- endif -%}
358
- {%- endif -%}
359
- {%- endfor -%}
360
-
361
- {%- set continues_into_next = (
362
- role == 'model'
363
- and next_nt.role == 'assistant'
364
- and (not message.get('tool_calls') or ns_tr_out.flag)
365
- ) -%}
366
-
367
- {%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}
368
- {{- '<|tool_response>' -}}
369
- {%- elif continues_into_next -%}
370
- {%- elif not (ns_tr_out.flag and not has_content and not next_nt.found) -%}
371
- {{- '<turn|>\n' -}}
372
- {%- endif -%}
373
-
374
- {#- Track previous non-tool role for next iteration (avoids O(n) backward scan) -#}
375
- {%- set ns.prev_non_tool_role = message['role'] -%}
376
- {%- endif -%}
377
- {%- endfor -%}
378
-
379
- {%- if add_generation_prompt -%}
380
- {%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}
381
- {{- '<|turn>model\n' -}}
382
- {%- elif ns.prev_message_type == 'tool_response' and enable_thinking -%}
383
- {{- '<|channel>thought\n' -}}
384
- {%- endif -%}
385
- {%- endif -%}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
checkpoint-200/optimizer.pt DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:23d38ff8c8d52d473f23584bd17017cced918260bed8d9d412b18f238cc13bb9
3
- size 117523165
 
 
 
 
checkpoint-200/processor_config.json DELETED
@@ -1,75 +0,0 @@
1
- {
2
- "audio_ms_per_token": 40,
3
- "audio_seq_length": 750,
4
- "feature_extractor": {
5
- "dither": 0.0,
6
- "feature_extractor_type": "Gemma4AudioFeatureExtractor",
7
- "feature_size": 128,
8
- "fft_length": 512,
9
- "fft_overdrive": false,
10
- "frame_length": 320,
11
- "hop_length": 160,
12
- "input_scale_factor": 1.0,
13
- "max_frequency": 8000.0,
14
- "mel_floor": 0.001,
15
- "min_frequency": 0.0,
16
- "padding_side": "right",
17
- "padding_value": 0.0,
18
- "per_bin_mean": null,
19
- "per_bin_stddev": null,
20
- "preemphasis": 0.0,
21
- "preemphasis_htk_flavor": true,
22
- "return_attention_mask": true,
23
- "sampling_rate": 16000
24
- },
25
- "image_processor": {
26
- "do_convert_rgb": true,
27
- "do_normalize": false,
28
- "do_rescale": true,
29
- "do_resize": true,
30
- "image_mean": [
31
- 0.0,
32
- 0.0,
33
- 0.0
34
- ],
35
- "image_processor_type": "Gemma4ImageProcessor",
36
- "image_seq_length": 280,
37
- "image_std": [
38
- 1.0,
39
- 1.0,
40
- 1.0
41
- ],
42
- "max_soft_tokens": 280,
43
- "patch_size": 16,
44
- "pooling_kernel_size": 3,
45
- "resample": 3,
46
- "rescale_factor": 0.00392156862745098
47
- },
48
- "image_seq_length": 280,
49
- "processor_class": "Gemma4Processor",
50
- "video_processor": {
51
- "do_convert_rgb": true,
52
- "do_normalize": true,
53
- "do_rescale": true,
54
- "do_resize": true,
55
- "do_sample_frames": true,
56
- "image_mean": [
57
- 0.0,
58
- 0.0,
59
- 0.0
60
- ],
61
- "image_std": [
62
- 1.0,
63
- 1.0,
64
- 1.0
65
- ],
66
- "max_soft_tokens": 70,
67
- "num_frames": 32,
68
- "patch_size": 16,
69
- "pooling_kernel_size": 3,
70
- "resample": 3,
71
- "rescale_factor": 0.00392156862745098,
72
- "return_metadata": false,
73
- "video_processor_type": "Gemma4VideoProcessor"
74
- }
75
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
checkpoint-200/scheduler.pt DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:f787748d836cb3b906acf5be8922b61a937676bdffc86174dcd828c1524d9c67
3
- size 1465
 
 
 
 
checkpoint-200/tokenizer.json DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:2fea404a41c8eeab84f75bcc38e99c7811f85fa0401d96d6b8db270a41aa4566
3
- size 32169880
 
 
 
 
checkpoint-200/tokenizer_config.json DELETED
@@ -1,289 +0,0 @@
1
- {
2
- "audio_token": "<|audio|>",
3
- "backend": "tokenizers",
4
- "boa_token": "<|audio>",
5
- "boi_token": "<|image>",
6
- "bos_token": "<bos>",
7
- "eoa_token": "<audio|>",
8
- "eoc_token": "<channel|>",
9
- "eoi_token": "<image|>",
10
- "eos_token": "<eos>",
11
- "eot_token": "<turn|>",
12
- "escape_token": "<|\"|>",
13
- "etc_token": "<tool_call|>",
14
- "etd_token": "<tool|>",
15
- "etr_token": "<tool_response|>",
16
- "extra_special_tokens": [
17
- "<|video|>"
18
- ],
19
- "image_token": "<|image|>",
20
- "is_local": false,
21
- "mask_token": "<mask>",
22
- "model_max_length": 131072,
23
- "model_specific_special_tokens": {
24
- "audio_token": "<|audio|>",
25
- "boa_token": "<|audio>",
26
- "boi_token": "<|image>",
27
- "eoa_token": "<audio|>",
28
- "eoc_token": "<channel|>",
29
- "eoi_token": "<image|>",
30
- "eot_token": "<turn|>",
31
- "escape_token": "<|\"|>",
32
- "etc_token": "<tool_call|>",
33
- "etd_token": "<tool|>",
34
- "etr_token": "<tool_response|>",
35
- "image_token": "<|image|>",
36
- "soc_token": "<|channel>",
37
- "sot_token": "<|turn>",
38
- "stc_token": "<|tool_call>",
39
- "std_token": "<|tool>",
40
- "str_token": "<|tool_response>",
41
- "think_token": "<|think|>"
42
- },
43
- "pad_token": "<pad>",
44
- "padding_side": "right",
45
- "processor_class": "Gemma4Processor",
46
- "response_schema": {
47
- "properties": {
48
- "content": {
49
- "type": "string"
50
- },
51
- "role": {
52
- "const": "assistant"
53
- },
54
- "thinking": {
55
- "type": "string"
56
- },
57
- "tool_calls": {
58
- "items": {
59
- "properties": {
60
- "function": {
61
- "properties": {
62
- "arguments": {
63
- "additionalProperties": {},
64
- "type": "object",
65
- "x-parser": "gemma4-tool-call"
66
- },
67
- "name": {
68
- "type": "string"
69
- }
70
- },
71
- "type": "object",
72
- "x-regex": "call\\:(?P<name>\\w+)(?P<arguments>\\{.*\\})"
73
- },
74
- "type": {
75
- "const": "function"
76
- }
77
- },
78
- "type": "object"
79
- },
80
- "type": "array",
81
- "x-regex-iterator": "<\\|tool_call>(.*?)<tool_call\\|>"
82
- }
83
- },
84
- "type": "object",
85
- "x-regex": "(\\<\\|channel\\>thought\\n(?P<thinking>.*?)\\<channel\\|\\>)?(?P<tool_calls>\\<\\|tool_call\\>.*\\<tool_call\\|\\>)?(?P<content>(?:(?!\\<turn\\|\\>)(?!\\<\\|tool_response\\>).)+)?(?:\\<turn\\|\\>|\\<\\|tool_response\\>)?"
86
- },
87
- "soc_token": "<|channel>",
88
- "sot_token": "<|turn>",
89
- "stc_token": "<|tool_call>",
90
- "std_token": "<|tool>",
91
- "str_token": "<|tool_response>",
92
- "think_token": "<|think|>",
93
- "tokenizer_class": "GemmaTokenizer",
94
- "unk_token": "<unk>",
95
- "added_tokens_decoder": {
96
- "0": {
97
- "content": "<pad>",
98
- "single_word": false,
99
- "lstrip": false,
100
- "rstrip": false,
101
- "normalized": false,
102
- "special": true
103
- },
104
- "1": {
105
- "content": "<eos>",
106
- "single_word": false,
107
- "lstrip": false,
108
- "rstrip": false,
109
- "normalized": false,
110
- "special": true
111
- },
112
- "2": {
113
- "content": "<bos>",
114
- "single_word": false,
115
- "lstrip": false,
116
- "rstrip": false,
117
- "normalized": false,
118
- "special": true
119
- },
120
- "3": {
121
- "content": "<unk>",
122
- "single_word": false,
123
- "lstrip": false,
124
- "rstrip": false,
125
- "normalized": false,
126
- "special": true
127
- },
128
- "4": {
129
- "content": "<mask>",
130
- "single_word": false,
131
- "lstrip": false,
132
- "rstrip": false,
133
- "normalized": false,
134
- "special": true
135
- },
136
- "46": {
137
- "content": "<|tool>",
138
- "single_word": false,
139
- "lstrip": false,
140
- "rstrip": false,
141
- "normalized": false,
142
- "special": true
143
- },
144
- "47": {
145
- "content": "<tool|>",
146
- "single_word": false,
147
- "lstrip": false,
148
- "rstrip": false,
149
- "normalized": false,
150
- "special": true
151
- },
152
- "48": {
153
- "content": "<|tool_call>",
154
- "single_word": false,
155
- "lstrip": false,
156
- "rstrip": false,
157
- "normalized": false,
158
- "special": true
159
- },
160
- "49": {
161
- "content": "<tool_call|>",
162
- "single_word": false,
163
- "lstrip": false,
164
- "rstrip": false,
165
- "normalized": false,
166
- "special": true
167
- },
168
- "50": {
169
- "content": "<|tool_response>",
170
- "single_word": false,
171
- "lstrip": false,
172
- "rstrip": false,
173
- "normalized": false,
174
- "special": true
175
- },
176
- "51": {
177
- "content": "<tool_response|>",
178
- "single_word": false,
179
- "lstrip": false,
180
- "rstrip": false,
181
- "normalized": false,
182
- "special": true
183
- },
184
- "52": {
185
- "content": "<|\"|>",
186
- "single_word": false,
187
- "lstrip": false,
188
- "rstrip": false,
189
- "normalized": false,
190
- "special": true
191
- },
192
- "98": {
193
- "content": "<|think|>",
194
- "single_word": false,
195
- "lstrip": false,
196
- "rstrip": false,
197
- "normalized": false,
198
- "special": true
199
- },
200
- "100": {
201
- "content": "<|channel>",
202
- "single_word": false,
203
- "lstrip": false,
204
- "rstrip": false,
205
- "normalized": false,
206
- "special": true
207
- },
208
- "101": {
209
- "content": "<channel|>",
210
- "single_word": false,
211
- "lstrip": false,
212
- "rstrip": false,
213
- "normalized": false,
214
- "special": true
215
- },
216
- "105": {
217
- "content": "<|turn>",
218
- "single_word": false,
219
- "lstrip": false,
220
- "rstrip": false,
221
- "normalized": false,
222
- "special": true
223
- },
224
- "106": {
225
- "content": "<turn|>",
226
- "single_word": false,
227
- "lstrip": false,
228
- "rstrip": false,
229
- "normalized": false,
230
- "special": true
231
- },
232
- "255999": {
233
- "content": "<|image>",
234
- "single_word": false,
235
- "lstrip": false,
236
- "rstrip": false,
237
- "normalized": false,
238
- "special": true
239
- },
240
- "256000": {
241
- "content": "<|audio>",
242
- "single_word": false,
243
- "lstrip": false,
244
- "rstrip": false,
245
- "normalized": false,
246
- "special": true
247
- },
248
- "258880": {
249
- "content": "<|image|>",
250
- "single_word": false,
251
- "lstrip": false,
252
- "rstrip": false,
253
- "normalized": false,
254
- "special": true
255
- },
256
- "258881": {
257
- "content": "<|audio|>",
258
- "single_word": false,
259
- "lstrip": false,
260
- "rstrip": false,
261
- "normalized": false,
262
- "special": true
263
- },
264
- "258882": {
265
- "content": "<image|>",
266
- "single_word": false,
267
- "lstrip": false,
268
- "rstrip": false,
269
- "normalized": false,
270
- "special": true
271
- },
272
- "258883": {
273
- "content": "<audio|>",
274
- "single_word": false,
275
- "lstrip": false,
276
- "rstrip": false,
277
- "normalized": false,
278
- "special": true
279
- },
280
- "258884": {
281
- "content": "<|video|>",
282
- "single_word": false,
283
- "lstrip": false,
284
- "rstrip": false,
285
- "normalized": false,
286
- "special": true
287
- }
288
- }
289
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
checkpoint-200/trainer_state.json DELETED
@@ -1,175 +0,0 @@
1
- {
2
- "best_global_step": null,
3
- "best_metric": null,
4
- "best_model_checkpoint": null,
5
- "epoch": 0.016,
6
- "eval_steps": 100,
7
- "global_step": 200,
8
- "is_hyper_param_search": false,
9
- "is_local_process_zero": true,
10
- "is_world_process_zero": true,
11
- "log_history": [
12
- {
13
- "epoch": 0.0008,
14
- "grad_norm": 18.061511993408203,
15
- "learning_rate": 9e-06,
16
- "loss": 3.032268524169922,
17
- "step": 10
18
- },
19
- {
20
- "epoch": 0.0016,
21
- "grad_norm": 4.806535243988037,
22
- "learning_rate": 1.9e-05,
23
- "loss": 1.2614649772644042,
24
- "step": 20
25
- },
26
- {
27
- "epoch": 0.0024,
28
- "grad_norm": 5.756173610687256,
29
- "learning_rate": 2.9e-05,
30
- "loss": 0.7813449382781983,
31
- "step": 30
32
- },
33
- {
34
- "epoch": 0.0032,
35
- "grad_norm": 7.617087364196777,
36
- "learning_rate": 3.9000000000000006e-05,
37
- "loss": 0.7081559181213379,
38
- "step": 40
39
- },
40
- {
41
- "epoch": 0.004,
42
- "grad_norm": 2.7637441158294678,
43
- "learning_rate": 4.9e-05,
44
- "loss": 0.6109273910522461,
45
- "step": 50
46
- },
47
- {
48
- "epoch": 0.0048,
49
- "grad_norm": 5.183483123779297,
50
- "learning_rate": 5.9e-05,
51
- "loss": 0.5703989028930664,
52
- "step": 60
53
- },
54
- {
55
- "epoch": 0.0056,
56
- "grad_norm": 4.861269950866699,
57
- "learning_rate": 6.9e-05,
58
- "loss": 0.5904306411743164,
59
- "step": 70
60
- },
61
- {
62
- "epoch": 0.0064,
63
- "grad_norm": 6.499035835266113,
64
- "learning_rate": 7.900000000000001e-05,
65
- "loss": 0.5895530700683593,
66
- "step": 80
67
- },
68
- {
69
- "epoch": 0.0072,
70
- "grad_norm": 23.616708755493164,
71
- "learning_rate": 8.900000000000001e-05,
72
- "loss": 0.6103736877441406,
73
- "step": 90
74
- },
75
- {
76
- "epoch": 0.008,
77
- "grad_norm": 4.505922794342041,
78
- "learning_rate": 9.900000000000001e-05,
79
- "loss": 0.5847806453704834,
80
- "step": 100
81
- },
82
- {
83
- "epoch": 0.008,
84
- "eval_loss": 1.4098401069641113,
85
- "eval_runtime": 464.645,
86
- "eval_samples_per_second": 2.152,
87
- "eval_steps_per_second": 0.538,
88
- "step": 100
89
- },
90
- {
91
- "epoch": 0.0088,
92
- "grad_norm": 7.671365261077881,
93
- "learning_rate": 0.000109,
94
- "loss": 0.554984712600708,
95
- "step": 110
96
- },
97
- {
98
- "epoch": 0.0096,
99
- "grad_norm": 1.8769723176956177,
100
- "learning_rate": 0.000119,
101
- "loss": 0.5454862117767334,
102
- "step": 120
103
- },
104
- {
105
- "epoch": 0.0104,
106
- "grad_norm": 2.3191611766815186,
107
- "learning_rate": 0.00012900000000000002,
108
- "loss": 0.5579533100128173,
109
- "step": 130
110
- },
111
- {
112
- "epoch": 0.0112,
113
- "grad_norm": 2.0915579795837402,
114
- "learning_rate": 0.000139,
115
- "loss": 0.5558210372924804,
116
- "step": 140
117
- },
118
- {
119
- "epoch": 0.012,
120
- "grad_norm": 3.749422073364258,
121
- "learning_rate": 0.00014900000000000002,
122
- "loss": 0.5407380580902099,
123
- "step": 150
124
- },
125
- {
126
- "epoch": 0.0128,
127
- "grad_norm": 1.8309006690979004,
128
- "learning_rate": 0.00015900000000000002,
129
- "loss": 0.5888145446777344,
130
- "step": 160
131
- },
132
- {
133
- "epoch": 0.0136,
134
- "grad_norm": 7.624997615814209,
135
- "learning_rate": 0.00016900000000000002,
136
- "loss": 0.5323310852050781,
137
- "step": 170
138
- },
139
- {
140
- "epoch": 0.0144,
141
- "grad_norm": 2.318502426147461,
142
- "learning_rate": 0.00017900000000000001,
143
- "loss": 0.5893337249755859,
144
- "step": 180
145
- },
146
- {
147
- "epoch": 0.0152,
148
- "grad_norm": 3.077857255935669,
149
- "learning_rate": 0.00018899999999999999,
150
- "loss": 0.5705833911895752,
151
- "step": 190
152
- }
153
- ],
154
- "logging_steps": 10,
155
- "max_steps": 12500,
156
- "num_input_tokens_seen": 0,
157
- "num_train_epochs": 9223372036854775807,
158
- "save_steps": 500,
159
- "stateful_callbacks": {
160
- "TrainerControl": {
161
- "args": {
162
- "should_epoch_stop": false,
163
- "should_evaluate": false,
164
- "should_log": false,
165
- "should_save": false,
166
- "should_training_stop": false
167
- },
168
- "attributes": {}
169
- }
170
- },
171
- "total_flos": 2.573137172968013e+16,
172
- "train_batch_size": 2,
173
- "trial_name": null,
174
- "trial_params": null
175
- }