diff --git a/README.md b/README.md index fd5283695762652b485d13f396ca2f4e3cc01bcd..588cf705f719baf7cb6bd2749f5529e9cebec8a2 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,63 @@ --- base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +model_name: unsloth_gemma-4-E2B-it_1780218767 tags: -- text-generation-inference +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft - transformers +- trl - unsloth -- gemma4 -license: apache-2.0 -language: -- en +licence: license +pipeline_tag: text-generation --- -# Uploaded finetuned model +# Model Card for unsloth_gemma-4-E2B-it_1780218767 -- **Developed by:** prog-love -- **License:** apache-2.0 -- **Finetuned from model :** unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +This model is a fine-tuned version of [unsloth/gemma-4-e2b-it-unsloth-bnb-4bit](https://huggingface.co/unsloth/gemma-4-e2b-it-unsloth-bnb-4bit). +It has been trained using [TRL](https://github.com/huggingface/trl). -This gemma4 model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library. +## Quick start -[](https://github.com/unslothai/unsloth) +```python +from transformers import pipeline + +question = "If you had a time machine, but could only go to the past or the future once and never return, which would you choose and why?" +generator = pipeline("text-generation", model="None", device="cuda") +output = generator([{"role": "user", "content": question}], max_new_tokens=128, return_full_text=False)[0] +print(output["generated_text"]) +``` + +## Training procedure + + + + +This model was trained with SFT. + +### Framework versions + +- PEFT 0.18.1 +- TRL: 0.23.1 +- Transformers: 5.5.0 +- Pytorch: 2.10.0+cu128 +- Datasets: 4.3.0 +- Tokenizers: 0.22.2 + +## Citations + + + +Cite TRL as: + +```bibtex +@misc{vonwerra2022trl, + title = {{TRL: Transformer Reinforcement Learning}}, + author = {Leandro von Werra and Younes Belkada and Lewis Tunstall and Edward Beeching and Tristan Thrush and Nathan Lambert and Shengyi Huang and Kashif Rasul and Quentin Gallou{\'e}dec}, + year = 2020, + journal = {GitHub repository}, + publisher = {GitHub}, + howpublished = {\url{https://github.com/huggingface/trl}} +} +``` \ No newline at end of file diff --git a/adapter_config.json b/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..78d5b0d5d0dac5f323442e40d7ce2edccb4e3151 --- /dev/null +++ b/adapter_config.json @@ -0,0 +1,51 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false, + "unsloth_training_method": "qlora" +} \ No newline at end of file diff --git a/adapter_model.safetensors b/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..2c87a0ef165f037ee646d9506ba63a7bcc4aa079 --- /dev/null +++ b/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dae7c101be06c818341a1b3354a5715c93ad40fc4c4700a81f0c71c0e699b82b +size 124277728 diff --git a/checkpoint-120/README.md b/checkpoint-120/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-120/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-120/adapter_config.json b/checkpoint-120/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-120/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-120/adapter_model.safetensors b/checkpoint-120/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..8f9f4a3dfabb88103f6bd5c376c21e31b851bcfd --- /dev/null +++ b/checkpoint-120/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2fa7f51110b2c95c35000062cb6a564c25910d5c3d47a3ab9455def2a9d031c +size 124277728 diff --git a/checkpoint-120/chat_template.jinja b/checkpoint-120/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-120/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-120/optimizer.pt b/checkpoint-120/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..0e06b19d377b8fadae90e2505364557f82b3f19b --- /dev/null +++ b/checkpoint-120/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:095e1fcdf14af0658b82cfeea97af6ef9916881ed1b2df6af4546d0f79623b85 +size 52047117 diff --git a/checkpoint-120/processor_config.json b/checkpoint-120/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-120/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-120/rng_state.pth b/checkpoint-120/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-120/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-120/scaler.pt b/checkpoint-120/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..3b3554b6c901fe0b965040dde5865974f5d9a42c --- /dev/null +++ b/checkpoint-120/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa76f9fdc8f6bd88ee74f70ad294ae36bf2fe178b9965d6d01f072e8fa9198a8 +size 1383 diff --git a/checkpoint-120/scheduler.pt b/checkpoint-120/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..f95fbe157a2c9324ca9f4be1525b136b26dc5307 --- /dev/null +++ b/checkpoint-120/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d142e1b585c4fbc6a90a9d8170d8738b8abf95d0d40cf8046076286563427f1 +size 1465 diff --git a/checkpoint-120/tokenizer.json b/checkpoint-120/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-120/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-120/tokenizer_config.json b/checkpoint-120/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-120/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-120/trainer_state.json b/checkpoint-120/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..f00bc6275b952c8f9bea0301731173e0478935d7 --- /dev/null +++ b/checkpoint-120/trainer_state.json @@ -0,0 +1,1234 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.028402366863905324, + "eval_steps": 500, + "global_step": 120, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + }, + { + "epoch": 0.014437869822485207, + "grad_norm": 0.5483338236808777, + "learning_rate": 0.00014270270270270272, + "loss": 0.2725352644920349, + "num_input_tokens_seen": 58036, + "step": 61, + "train_runtime": 260.2844, + "train_tokens_per_second": 222.971 + }, + { + "epoch": 0.014674556213017751, + "grad_norm": 0.6806847453117371, + "learning_rate": 0.00014162162162162161, + "loss": 0.31959983706474304, + "num_input_tokens_seen": 59026, + "step": 62, + "train_runtime": 263.3802, + "train_tokens_per_second": 224.109 + }, + { + "epoch": 0.014911242603550296, + "grad_norm": 0.6916660070419312, + "learning_rate": 0.00014054054054054056, + "loss": 0.312305748462677, + "num_input_tokens_seen": 59982, + "step": 63, + "train_runtime": 266.3794, + "train_tokens_per_second": 225.175 + }, + { + "epoch": 0.01514792899408284, + "grad_norm": 0.5516266226768494, + "learning_rate": 0.00013945945945945947, + "loss": 0.2653953433036804, + "num_input_tokens_seen": 60926, + "step": 64, + "train_runtime": 269.3893, + "train_tokens_per_second": 226.163 + }, + { + "epoch": 0.015384615384615385, + "grad_norm": 0.5579270720481873, + "learning_rate": 0.0001383783783783784, + "loss": 0.20462818443775177, + "num_input_tokens_seen": 61844, + "step": 65, + "train_runtime": 272.3982, + "train_tokens_per_second": 227.035 + }, + { + "epoch": 0.015621301775147929, + "grad_norm": 0.7645660638809204, + "learning_rate": 0.0001372972972972973, + "loss": 0.2650893032550812, + "num_input_tokens_seen": 62766, + "step": 66, + "train_runtime": 275.404, + "train_tokens_per_second": 227.905 + }, + { + "epoch": 0.015857988165680473, + "grad_norm": 0.5974738001823425, + "learning_rate": 0.00013621621621621622, + "loss": 0.21247778832912445, + "num_input_tokens_seen": 63690, + "step": 67, + "train_runtime": 278.4021, + "train_tokens_per_second": 228.77 + }, + { + "epoch": 0.016094674556213016, + "grad_norm": 0.5831193327903748, + "learning_rate": 0.00013513513513513514, + "loss": 0.2024172842502594, + "num_input_tokens_seen": 64496, + "step": 68, + "train_runtime": 281.4313, + "train_tokens_per_second": 229.171 + }, + { + "epoch": 0.016331360946745564, + "grad_norm": 0.8678795695304871, + "learning_rate": 0.00013405405405405408, + "loss": 0.31490638852119446, + "num_input_tokens_seen": 65460, + "step": 69, + "train_runtime": 284.6137, + "train_tokens_per_second": 229.996 + }, + { + "epoch": 0.016568047337278107, + "grad_norm": 0.7611344456672668, + "learning_rate": 0.00013297297297297297, + "loss": 0.24661925435066223, + "num_input_tokens_seen": 66374, + "step": 70, + "train_runtime": 287.7742, + "train_tokens_per_second": 230.646 + }, + { + "epoch": 0.01680473372781065, + "grad_norm": 0.6685308814048767, + "learning_rate": 0.0001318918918918919, + "loss": 0.1843535602092743, + "num_input_tokens_seen": 67112, + "step": 71, + "train_runtime": 290.9321, + "train_tokens_per_second": 230.679 + }, + { + "epoch": 0.017041420118343194, + "grad_norm": 0.6150883436203003, + "learning_rate": 0.0001308108108108108, + "loss": 0.23372295498847961, + "num_input_tokens_seen": 68154, + "step": 72, + "train_runtime": 294.0809, + "train_tokens_per_second": 231.753 + }, + { + "epoch": 0.017278106508875738, + "grad_norm": 0.6938812732696533, + "learning_rate": 0.00012972972972972974, + "loss": 0.22619186341762543, + "num_input_tokens_seen": 69102, + "step": 73, + "train_runtime": 297.1843, + "train_tokens_per_second": 232.522 + }, + { + "epoch": 0.017514792899408285, + "grad_norm": 0.617787778377533, + "learning_rate": 0.00012864864864864866, + "loss": 0.2535328269004822, + "num_input_tokens_seen": 70010, + "step": 74, + "train_runtime": 300.2851, + "train_tokens_per_second": 233.145 + }, + { + "epoch": 0.01775147928994083, + "grad_norm": 0.6884900331497192, + "learning_rate": 0.00012756756756756758, + "loss": 0.21632739901542664, + "num_input_tokens_seen": 70940, + "step": 75, + "train_runtime": 303.3533, + "train_tokens_per_second": 233.853 + }, + { + "epoch": 0.017988165680473372, + "grad_norm": 0.5782189965248108, + "learning_rate": 0.0001264864864864865, + "loss": 0.20167675614356995, + "num_input_tokens_seen": 71862, + "step": 76, + "train_runtime": 306.4503, + "train_tokens_per_second": 234.498 + }, + { + "epoch": 0.018224852071005916, + "grad_norm": 0.6541483402252197, + "learning_rate": 0.0001254054054054054, + "loss": 0.23231221735477448, + "num_input_tokens_seen": 72812, + "step": 77, + "train_runtime": 309.5743, + "train_tokens_per_second": 235.2 + }, + { + "epoch": 0.018461538461538463, + "grad_norm": 0.7524886727333069, + "learning_rate": 0.00012432432432432433, + "loss": 0.27632662653923035, + "num_input_tokens_seen": 73774, + "step": 78, + "train_runtime": 312.6963, + "train_tokens_per_second": 235.929 + }, + { + "epoch": 0.018698224852071007, + "grad_norm": 0.716282308101654, + "learning_rate": 0.00012324324324324327, + "loss": 0.2734939754009247, + "num_input_tokens_seen": 74716, + "step": 79, + "train_runtime": 315.7612, + "train_tokens_per_second": 236.622 + }, + { + "epoch": 0.01893491124260355, + "grad_norm": 0.7010631561279297, + "learning_rate": 0.00012216216216216216, + "loss": 0.2774362564086914, + "num_input_tokens_seen": 75692, + "step": 80, + "train_runtime": 318.7983, + "train_tokens_per_second": 237.429 + }, + { + "epoch": 0.019171597633136094, + "grad_norm": 0.6561240553855896, + "learning_rate": 0.00012108108108108109, + "loss": 0.21640686690807343, + "num_input_tokens_seen": 76558, + "step": 81, + "train_runtime": 321.889, + "train_tokens_per_second": 237.84 + }, + { + "epoch": 0.019408284023668638, + "grad_norm": 0.5552831888198853, + "learning_rate": 0.00012, + "loss": 0.21232956647872925, + "num_input_tokens_seen": 77408, + "step": 82, + "train_runtime": 325.0469, + "train_tokens_per_second": 238.144 + }, + { + "epoch": 0.019644970414201185, + "grad_norm": 0.5905120372772217, + "learning_rate": 0.00011891891891891893, + "loss": 0.22443550825119019, + "num_input_tokens_seen": 78278, + "step": 83, + "train_runtime": 328.099, + "train_tokens_per_second": 238.58 + }, + { + "epoch": 0.01988165680473373, + "grad_norm": 0.6606366634368896, + "learning_rate": 0.00011783783783783784, + "loss": 0.2400747388601303, + "num_input_tokens_seen": 79262, + "step": 84, + "train_runtime": 331.1361, + "train_tokens_per_second": 239.364 + }, + { + "epoch": 0.020118343195266272, + "grad_norm": 0.6508055329322815, + "learning_rate": 0.00011675675675675676, + "loss": 0.19072499871253967, + "num_input_tokens_seen": 80144, + "step": 85, + "train_runtime": 334.2158, + "train_tokens_per_second": 239.797 + }, + { + "epoch": 0.020355029585798816, + "grad_norm": 0.606562614440918, + "learning_rate": 0.00011567567567567568, + "loss": 0.20951862633228302, + "num_input_tokens_seen": 81108, + "step": 86, + "train_runtime": 337.3105, + "train_tokens_per_second": 240.455 + }, + { + "epoch": 0.02059171597633136, + "grad_norm": 0.6757521629333496, + "learning_rate": 0.00011459459459459461, + "loss": 0.17614495754241943, + "num_input_tokens_seen": 82032, + "step": 87, + "train_runtime": 340.3438, + "train_tokens_per_second": 241.027 + }, + { + "epoch": 0.020828402366863907, + "grad_norm": 0.671481728553772, + "learning_rate": 0.00011351351351351351, + "loss": 0.1901710331439972, + "num_input_tokens_seen": 82954, + "step": 88, + "train_runtime": 343.4059, + "train_tokens_per_second": 241.563 + }, + { + "epoch": 0.02106508875739645, + "grad_norm": 0.5919027924537659, + "learning_rate": 0.00011243243243243244, + "loss": 0.1563737988471985, + "num_input_tokens_seen": 83880, + "step": 89, + "train_runtime": 346.5125, + "train_tokens_per_second": 242.069 + }, + { + "epoch": 0.021301775147928994, + "grad_norm": 0.7108309268951416, + "learning_rate": 0.00011135135135135135, + "loss": 0.17256894707679749, + "num_input_tokens_seen": 84852, + "step": 90, + "train_runtime": 349.6508, + "train_tokens_per_second": 242.676 + }, + { + "epoch": 0.021538461538461538, + "grad_norm": 0.8608420491218567, + "learning_rate": 0.00011027027027027029, + "loss": 0.1845530867576599, + "num_input_tokens_seen": 85820, + "step": 91, + "train_runtime": 356.267, + "train_tokens_per_second": 240.887 + }, + { + "epoch": 0.02177514792899408, + "grad_norm": 0.9677010774612427, + "learning_rate": 0.00010918918918918919, + "loss": 0.24358105659484863, + "num_input_tokens_seen": 86770, + "step": 92, + "train_runtime": 359.3722, + "train_tokens_per_second": 241.449 + }, + { + "epoch": 0.02201183431952663, + "grad_norm": 0.6302966475486755, + "learning_rate": 0.00010810810810810812, + "loss": 0.18155133724212646, + "num_input_tokens_seen": 87736, + "step": 93, + "train_runtime": 362.5874, + "train_tokens_per_second": 241.972 + }, + { + "epoch": 0.022248520710059172, + "grad_norm": 0.7171812653541565, + "learning_rate": 0.00010702702702702702, + "loss": 0.15349116921424866, + "num_input_tokens_seen": 88626, + "step": 94, + "train_runtime": 365.7055, + "train_tokens_per_second": 242.343 + }, + { + "epoch": 0.022485207100591716, + "grad_norm": 0.7326887845993042, + "learning_rate": 0.00010594594594594595, + "loss": 0.18243758380413055, + "num_input_tokens_seen": 89548, + "step": 95, + "train_runtime": 368.799, + "train_tokens_per_second": 242.81 + }, + { + "epoch": 0.02272189349112426, + "grad_norm": 0.6686019897460938, + "learning_rate": 0.00010486486486486487, + "loss": 0.15622465312480927, + "num_input_tokens_seen": 90504, + "step": 96, + "train_runtime": 371.8404, + "train_tokens_per_second": 243.395 + }, + { + "epoch": 0.022958579881656806, + "grad_norm": 0.6306503415107727, + "learning_rate": 0.0001037837837837838, + "loss": 0.1272117793560028, + "num_input_tokens_seen": 91454, + "step": 97, + "train_runtime": 375.0199, + "train_tokens_per_second": 243.864 + }, + { + "epoch": 0.02319526627218935, + "grad_norm": 0.6068493127822876, + "learning_rate": 0.0001027027027027027, + "loss": 0.1577155441045761, + "num_input_tokens_seen": 92466, + "step": 98, + "train_runtime": 378.0978, + "train_tokens_per_second": 244.556 + }, + { + "epoch": 0.023431952662721894, + "grad_norm": 0.7263635993003845, + "learning_rate": 0.00010162162162162163, + "loss": 0.1845340132713318, + "num_input_tokens_seen": 93398, + "step": 99, + "train_runtime": 381.1358, + "train_tokens_per_second": 245.052 + }, + { + "epoch": 0.023668639053254437, + "grad_norm": 0.6466794013977051, + "learning_rate": 0.00010054054054054053, + "loss": 0.14443959295749664, + "num_input_tokens_seen": 94230, + "step": 100, + "train_runtime": 384.2906, + "train_tokens_per_second": 245.205 + }, + { + "epoch": 0.02390532544378698, + "grad_norm": 0.6924043297767639, + "learning_rate": 9.945945945945948e-05, + "loss": 0.18473166227340698, + "num_input_tokens_seen": 95132, + "step": 101, + "train_runtime": 387.5005, + "train_tokens_per_second": 245.502 + }, + { + "epoch": 0.024142011834319528, + "grad_norm": 0.732337236404419, + "learning_rate": 9.837837837837839e-05, + "loss": 0.16353662312030792, + "num_input_tokens_seen": 96080, + "step": 102, + "train_runtime": 390.584, + "train_tokens_per_second": 245.991 + }, + { + "epoch": 0.02437869822485207, + "grad_norm": 0.5956932902336121, + "learning_rate": 9.729729729729731e-05, + "loss": 0.16359847784042358, + "num_input_tokens_seen": 97048, + "step": 103, + "train_runtime": 393.6474, + "train_tokens_per_second": 246.535 + }, + { + "epoch": 0.024615384615384615, + "grad_norm": 0.6137388348579407, + "learning_rate": 9.621621621621622e-05, + "loss": 0.15779417753219604, + "num_input_tokens_seen": 97986, + "step": 104, + "train_runtime": 396.7042, + "train_tokens_per_second": 247.0 + }, + { + "epoch": 0.02485207100591716, + "grad_norm": 0.7936599254608154, + "learning_rate": 9.513513513513514e-05, + "loss": 0.21357379853725433, + "num_input_tokens_seen": 98894, + "step": 105, + "train_runtime": 399.8228, + "train_tokens_per_second": 247.345 + }, + { + "epoch": 0.025088757396449703, + "grad_norm": 0.6574507355690002, + "learning_rate": 9.405405405405407e-05, + "loss": 0.1685573309659958, + "num_input_tokens_seen": 99856, + "step": 106, + "train_runtime": 402.8867, + "train_tokens_per_second": 247.851 + }, + { + "epoch": 0.02532544378698225, + "grad_norm": 0.5891634821891785, + "learning_rate": 9.297297297297299e-05, + "loss": 0.12082140147686005, + "num_input_tokens_seen": 100810, + "step": 107, + "train_runtime": 405.9752, + "train_tokens_per_second": 248.316 + }, + { + "epoch": 0.025562130177514793, + "grad_norm": 0.6624342799186707, + "learning_rate": 9.18918918918919e-05, + "loss": 0.1473795771598816, + "num_input_tokens_seen": 101744, + "step": 108, + "train_runtime": 409.0084, + "train_tokens_per_second": 248.758 + }, + { + "epoch": 0.025798816568047337, + "grad_norm": 0.5968036651611328, + "learning_rate": 9.081081081081082e-05, + "loss": 0.12923751771450043, + "num_input_tokens_seen": 102702, + "step": 109, + "train_runtime": 412.199, + "train_tokens_per_second": 249.156 + }, + { + "epoch": 0.02603550295857988, + "grad_norm": 0.5954580307006836, + "learning_rate": 8.972972972972973e-05, + "loss": 0.1161399856209755, + "num_input_tokens_seen": 103672, + "step": 110, + "train_runtime": 415.3736, + "train_tokens_per_second": 249.587 + }, + { + "epoch": 0.026272189349112424, + "grad_norm": 0.6139379739761353, + "learning_rate": 8.864864864864866e-05, + "loss": 0.12352899461984634, + "num_input_tokens_seen": 104598, + "step": 111, + "train_runtime": 418.3271, + "train_tokens_per_second": 250.039 + }, + { + "epoch": 0.02650887573964497, + "grad_norm": 0.7933095097541809, + "learning_rate": 8.756756756756758e-05, + "loss": 0.1709994524717331, + "num_input_tokens_seen": 105580, + "step": 112, + "train_runtime": 421.3565, + "train_tokens_per_second": 250.572 + }, + { + "epoch": 0.026745562130177515, + "grad_norm": 0.7641370892524719, + "learning_rate": 8.64864864864865e-05, + "loss": 0.13086311519145966, + "num_input_tokens_seen": 106444, + "step": 113, + "train_runtime": 424.4668, + "train_tokens_per_second": 250.771 + }, + { + "epoch": 0.02698224852071006, + "grad_norm": 0.7611938118934631, + "learning_rate": 8.540540540540541e-05, + "loss": 0.16537640988826752, + "num_input_tokens_seen": 107454, + "step": 114, + "train_runtime": 427.5, + "train_tokens_per_second": 251.354 + }, + { + "epoch": 0.027218934911242602, + "grad_norm": 0.7495304346084595, + "learning_rate": 8.432432432432433e-05, + "loss": 0.14228317141532898, + "num_input_tokens_seen": 108426, + "step": 115, + "train_runtime": 430.5035, + "train_tokens_per_second": 251.859 + }, + { + "epoch": 0.02745562130177515, + "grad_norm": 1.2078282833099365, + "learning_rate": 8.324324324324326e-05, + "loss": 0.10530930012464523, + "num_input_tokens_seen": 109446, + "step": 116, + "train_runtime": 433.4964, + "train_tokens_per_second": 252.473 + }, + { + "epoch": 0.027692307692307693, + "grad_norm": 0.6765572428703308, + "learning_rate": 8.216216216216217e-05, + "loss": 0.10717278718948364, + "num_input_tokens_seen": 110374, + "step": 117, + "train_runtime": 436.5901, + "train_tokens_per_second": 252.809 + }, + { + "epoch": 0.027928994082840237, + "grad_norm": 0.8501551151275635, + "learning_rate": 8.108108108108109e-05, + "loss": 0.17784273624420166, + "num_input_tokens_seen": 111340, + "step": 118, + "train_runtime": 439.6526, + "train_tokens_per_second": 253.245 + }, + { + "epoch": 0.02816568047337278, + "grad_norm": 0.7583926320075989, + "learning_rate": 8e-05, + "loss": 0.16588062047958374, + "num_input_tokens_seen": 112288, + "step": 119, + "train_runtime": 442.8046, + "train_tokens_per_second": 253.584 + }, + { + "epoch": 0.028402366863905324, + "grad_norm": 0.6620173454284668, + "learning_rate": 7.891891891891892e-05, + "loss": 0.11676295101642609, + "num_input_tokens_seen": 113206, + "step": 120, + "train_runtime": 445.9682, + "train_tokens_per_second": 253.843 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 113206, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 1632037070282880.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-120/training_args.bin b/checkpoint-120/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-120/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-150/README.md b/checkpoint-150/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-150/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-150/adapter_config.json b/checkpoint-150/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-150/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-150/adapter_model.safetensors b/checkpoint-150/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..c787305432866f090776eef524af0ac379f6aaad --- /dev/null +++ b/checkpoint-150/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79025ee3acf1d35d8aa435821bda964bc6b3cb6801665ea77bdff85aaa1067c2 +size 124277728 diff --git a/checkpoint-150/chat_template.jinja b/checkpoint-150/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-150/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-150/optimizer.pt b/checkpoint-150/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..ab8aa79fe1b63cff8272e54e6ea0f6e0f35e1cd2 --- /dev/null +++ b/checkpoint-150/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:676e7ff5f1af2f689ece698e6985cdaf684ab2bafbeeaa8681977a6453dffe22 +size 52047117 diff --git a/checkpoint-150/processor_config.json b/checkpoint-150/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-150/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-150/rng_state.pth b/checkpoint-150/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-150/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-150/scaler.pt b/checkpoint-150/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..5e3ce5fc7ee2fcd8a46c258277b182352c1b6696 --- /dev/null +++ b/checkpoint-150/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41ce6f17608f83ea4a19655ee2f08447977bad8cf4b831826d8c03f86b5176e9 +size 1383 diff --git a/checkpoint-150/scheduler.pt b/checkpoint-150/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..91371002aba314039408a1adad72709bea076d7b --- /dev/null +++ b/checkpoint-150/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a02bbb7a0dfd9017bf6ee57d7f39ecba548a46e11e466823a59cfab4c980712f +size 1465 diff --git a/checkpoint-150/tokenizer.json b/checkpoint-150/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-150/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-150/tokenizer_config.json b/checkpoint-150/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-150/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-150/trainer_state.json b/checkpoint-150/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..9c7c1589da8ffa2653b1a405485468e519b1a768 --- /dev/null +++ b/checkpoint-150/trainer_state.json @@ -0,0 +1,1534 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.03550295857988166, + "eval_steps": 500, + "global_step": 150, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + }, + { + "epoch": 0.014437869822485207, + "grad_norm": 0.5483338236808777, + "learning_rate": 0.00014270270270270272, + "loss": 0.2725352644920349, + "num_input_tokens_seen": 58036, + "step": 61, + "train_runtime": 260.2844, + "train_tokens_per_second": 222.971 + }, + { + "epoch": 0.014674556213017751, + "grad_norm": 0.6806847453117371, + "learning_rate": 0.00014162162162162161, + "loss": 0.31959983706474304, + "num_input_tokens_seen": 59026, + "step": 62, + "train_runtime": 263.3802, + "train_tokens_per_second": 224.109 + }, + { + "epoch": 0.014911242603550296, + "grad_norm": 0.6916660070419312, + "learning_rate": 0.00014054054054054056, + "loss": 0.312305748462677, + "num_input_tokens_seen": 59982, + "step": 63, + "train_runtime": 266.3794, + "train_tokens_per_second": 225.175 + }, + { + "epoch": 0.01514792899408284, + "grad_norm": 0.5516266226768494, + "learning_rate": 0.00013945945945945947, + "loss": 0.2653953433036804, + "num_input_tokens_seen": 60926, + "step": 64, + "train_runtime": 269.3893, + "train_tokens_per_second": 226.163 + }, + { + "epoch": 0.015384615384615385, + "grad_norm": 0.5579270720481873, + "learning_rate": 0.0001383783783783784, + "loss": 0.20462818443775177, + "num_input_tokens_seen": 61844, + "step": 65, + "train_runtime": 272.3982, + "train_tokens_per_second": 227.035 + }, + { + "epoch": 0.015621301775147929, + "grad_norm": 0.7645660638809204, + "learning_rate": 0.0001372972972972973, + "loss": 0.2650893032550812, + "num_input_tokens_seen": 62766, + "step": 66, + "train_runtime": 275.404, + "train_tokens_per_second": 227.905 + }, + { + "epoch": 0.015857988165680473, + "grad_norm": 0.5974738001823425, + "learning_rate": 0.00013621621621621622, + "loss": 0.21247778832912445, + "num_input_tokens_seen": 63690, + "step": 67, + "train_runtime": 278.4021, + "train_tokens_per_second": 228.77 + }, + { + "epoch": 0.016094674556213016, + "grad_norm": 0.5831193327903748, + "learning_rate": 0.00013513513513513514, + "loss": 0.2024172842502594, + "num_input_tokens_seen": 64496, + "step": 68, + "train_runtime": 281.4313, + "train_tokens_per_second": 229.171 + }, + { + "epoch": 0.016331360946745564, + "grad_norm": 0.8678795695304871, + "learning_rate": 0.00013405405405405408, + "loss": 0.31490638852119446, + "num_input_tokens_seen": 65460, + "step": 69, + "train_runtime": 284.6137, + "train_tokens_per_second": 229.996 + }, + { + "epoch": 0.016568047337278107, + "grad_norm": 0.7611344456672668, + "learning_rate": 0.00013297297297297297, + "loss": 0.24661925435066223, + "num_input_tokens_seen": 66374, + "step": 70, + "train_runtime": 287.7742, + "train_tokens_per_second": 230.646 + }, + { + "epoch": 0.01680473372781065, + "grad_norm": 0.6685308814048767, + "learning_rate": 0.0001318918918918919, + "loss": 0.1843535602092743, + "num_input_tokens_seen": 67112, + "step": 71, + "train_runtime": 290.9321, + "train_tokens_per_second": 230.679 + }, + { + "epoch": 0.017041420118343194, + "grad_norm": 0.6150883436203003, + "learning_rate": 0.0001308108108108108, + "loss": 0.23372295498847961, + "num_input_tokens_seen": 68154, + "step": 72, + "train_runtime": 294.0809, + "train_tokens_per_second": 231.753 + }, + { + "epoch": 0.017278106508875738, + "grad_norm": 0.6938812732696533, + "learning_rate": 0.00012972972972972974, + "loss": 0.22619186341762543, + "num_input_tokens_seen": 69102, + "step": 73, + "train_runtime": 297.1843, + "train_tokens_per_second": 232.522 + }, + { + "epoch": 0.017514792899408285, + "grad_norm": 0.617787778377533, + "learning_rate": 0.00012864864864864866, + "loss": 0.2535328269004822, + "num_input_tokens_seen": 70010, + "step": 74, + "train_runtime": 300.2851, + "train_tokens_per_second": 233.145 + }, + { + "epoch": 0.01775147928994083, + "grad_norm": 0.6884900331497192, + "learning_rate": 0.00012756756756756758, + "loss": 0.21632739901542664, + "num_input_tokens_seen": 70940, + "step": 75, + "train_runtime": 303.3533, + "train_tokens_per_second": 233.853 + }, + { + "epoch": 0.017988165680473372, + "grad_norm": 0.5782189965248108, + "learning_rate": 0.0001264864864864865, + "loss": 0.20167675614356995, + "num_input_tokens_seen": 71862, + "step": 76, + "train_runtime": 306.4503, + "train_tokens_per_second": 234.498 + }, + { + "epoch": 0.018224852071005916, + "grad_norm": 0.6541483402252197, + "learning_rate": 0.0001254054054054054, + "loss": 0.23231221735477448, + "num_input_tokens_seen": 72812, + "step": 77, + "train_runtime": 309.5743, + "train_tokens_per_second": 235.2 + }, + { + "epoch": 0.018461538461538463, + "grad_norm": 0.7524886727333069, + "learning_rate": 0.00012432432432432433, + "loss": 0.27632662653923035, + "num_input_tokens_seen": 73774, + "step": 78, + "train_runtime": 312.6963, + "train_tokens_per_second": 235.929 + }, + { + "epoch": 0.018698224852071007, + "grad_norm": 0.716282308101654, + "learning_rate": 0.00012324324324324327, + "loss": 0.2734939754009247, + "num_input_tokens_seen": 74716, + "step": 79, + "train_runtime": 315.7612, + "train_tokens_per_second": 236.622 + }, + { + "epoch": 0.01893491124260355, + "grad_norm": 0.7010631561279297, + "learning_rate": 0.00012216216216216216, + "loss": 0.2774362564086914, + "num_input_tokens_seen": 75692, + "step": 80, + "train_runtime": 318.7983, + "train_tokens_per_second": 237.429 + }, + { + "epoch": 0.019171597633136094, + "grad_norm": 0.6561240553855896, + "learning_rate": 0.00012108108108108109, + "loss": 0.21640686690807343, + "num_input_tokens_seen": 76558, + "step": 81, + "train_runtime": 321.889, + "train_tokens_per_second": 237.84 + }, + { + "epoch": 0.019408284023668638, + "grad_norm": 0.5552831888198853, + "learning_rate": 0.00012, + "loss": 0.21232956647872925, + "num_input_tokens_seen": 77408, + "step": 82, + "train_runtime": 325.0469, + "train_tokens_per_second": 238.144 + }, + { + "epoch": 0.019644970414201185, + "grad_norm": 0.5905120372772217, + "learning_rate": 0.00011891891891891893, + "loss": 0.22443550825119019, + "num_input_tokens_seen": 78278, + "step": 83, + "train_runtime": 328.099, + "train_tokens_per_second": 238.58 + }, + { + "epoch": 0.01988165680473373, + "grad_norm": 0.6606366634368896, + "learning_rate": 0.00011783783783783784, + "loss": 0.2400747388601303, + "num_input_tokens_seen": 79262, + "step": 84, + "train_runtime": 331.1361, + "train_tokens_per_second": 239.364 + }, + { + "epoch": 0.020118343195266272, + "grad_norm": 0.6508055329322815, + "learning_rate": 0.00011675675675675676, + "loss": 0.19072499871253967, + "num_input_tokens_seen": 80144, + "step": 85, + "train_runtime": 334.2158, + "train_tokens_per_second": 239.797 + }, + { + "epoch": 0.020355029585798816, + "grad_norm": 0.606562614440918, + "learning_rate": 0.00011567567567567568, + "loss": 0.20951862633228302, + "num_input_tokens_seen": 81108, + "step": 86, + "train_runtime": 337.3105, + "train_tokens_per_second": 240.455 + }, + { + "epoch": 0.02059171597633136, + "grad_norm": 0.6757521629333496, + "learning_rate": 0.00011459459459459461, + "loss": 0.17614495754241943, + "num_input_tokens_seen": 82032, + "step": 87, + "train_runtime": 340.3438, + "train_tokens_per_second": 241.027 + }, + { + "epoch": 0.020828402366863907, + "grad_norm": 0.671481728553772, + "learning_rate": 0.00011351351351351351, + "loss": 0.1901710331439972, + "num_input_tokens_seen": 82954, + "step": 88, + "train_runtime": 343.4059, + "train_tokens_per_second": 241.563 + }, + { + "epoch": 0.02106508875739645, + "grad_norm": 0.5919027924537659, + "learning_rate": 0.00011243243243243244, + "loss": 0.1563737988471985, + "num_input_tokens_seen": 83880, + "step": 89, + "train_runtime": 346.5125, + "train_tokens_per_second": 242.069 + }, + { + "epoch": 0.021301775147928994, + "grad_norm": 0.7108309268951416, + "learning_rate": 0.00011135135135135135, + "loss": 0.17256894707679749, + "num_input_tokens_seen": 84852, + "step": 90, + "train_runtime": 349.6508, + "train_tokens_per_second": 242.676 + }, + { + "epoch": 0.021538461538461538, + "grad_norm": 0.8608420491218567, + "learning_rate": 0.00011027027027027029, + "loss": 0.1845530867576599, + "num_input_tokens_seen": 85820, + "step": 91, + "train_runtime": 356.267, + "train_tokens_per_second": 240.887 + }, + { + "epoch": 0.02177514792899408, + "grad_norm": 0.9677010774612427, + "learning_rate": 0.00010918918918918919, + "loss": 0.24358105659484863, + "num_input_tokens_seen": 86770, + "step": 92, + "train_runtime": 359.3722, + "train_tokens_per_second": 241.449 + }, + { + "epoch": 0.02201183431952663, + "grad_norm": 0.6302966475486755, + "learning_rate": 0.00010810810810810812, + "loss": 0.18155133724212646, + "num_input_tokens_seen": 87736, + "step": 93, + "train_runtime": 362.5874, + "train_tokens_per_second": 241.972 + }, + { + "epoch": 0.022248520710059172, + "grad_norm": 0.7171812653541565, + "learning_rate": 0.00010702702702702702, + "loss": 0.15349116921424866, + "num_input_tokens_seen": 88626, + "step": 94, + "train_runtime": 365.7055, + "train_tokens_per_second": 242.343 + }, + { + "epoch": 0.022485207100591716, + "grad_norm": 0.7326887845993042, + "learning_rate": 0.00010594594594594595, + "loss": 0.18243758380413055, + "num_input_tokens_seen": 89548, + "step": 95, + "train_runtime": 368.799, + "train_tokens_per_second": 242.81 + }, + { + "epoch": 0.02272189349112426, + "grad_norm": 0.6686019897460938, + "learning_rate": 0.00010486486486486487, + "loss": 0.15622465312480927, + "num_input_tokens_seen": 90504, + "step": 96, + "train_runtime": 371.8404, + "train_tokens_per_second": 243.395 + }, + { + "epoch": 0.022958579881656806, + "grad_norm": 0.6306503415107727, + "learning_rate": 0.0001037837837837838, + "loss": 0.1272117793560028, + "num_input_tokens_seen": 91454, + "step": 97, + "train_runtime": 375.0199, + "train_tokens_per_second": 243.864 + }, + { + "epoch": 0.02319526627218935, + "grad_norm": 0.6068493127822876, + "learning_rate": 0.0001027027027027027, + "loss": 0.1577155441045761, + "num_input_tokens_seen": 92466, + "step": 98, + "train_runtime": 378.0978, + "train_tokens_per_second": 244.556 + }, + { + "epoch": 0.023431952662721894, + "grad_norm": 0.7263635993003845, + "learning_rate": 0.00010162162162162163, + "loss": 0.1845340132713318, + "num_input_tokens_seen": 93398, + "step": 99, + "train_runtime": 381.1358, + "train_tokens_per_second": 245.052 + }, + { + "epoch": 0.023668639053254437, + "grad_norm": 0.6466794013977051, + "learning_rate": 0.00010054054054054053, + "loss": 0.14443959295749664, + "num_input_tokens_seen": 94230, + "step": 100, + "train_runtime": 384.2906, + "train_tokens_per_second": 245.205 + }, + { + "epoch": 0.02390532544378698, + "grad_norm": 0.6924043297767639, + "learning_rate": 9.945945945945948e-05, + "loss": 0.18473166227340698, + "num_input_tokens_seen": 95132, + "step": 101, + "train_runtime": 387.5005, + "train_tokens_per_second": 245.502 + }, + { + "epoch": 0.024142011834319528, + "grad_norm": 0.732337236404419, + "learning_rate": 9.837837837837839e-05, + "loss": 0.16353662312030792, + "num_input_tokens_seen": 96080, + "step": 102, + "train_runtime": 390.584, + "train_tokens_per_second": 245.991 + }, + { + "epoch": 0.02437869822485207, + "grad_norm": 0.5956932902336121, + "learning_rate": 9.729729729729731e-05, + "loss": 0.16359847784042358, + "num_input_tokens_seen": 97048, + "step": 103, + "train_runtime": 393.6474, + "train_tokens_per_second": 246.535 + }, + { + "epoch": 0.024615384615384615, + "grad_norm": 0.6137388348579407, + "learning_rate": 9.621621621621622e-05, + "loss": 0.15779417753219604, + "num_input_tokens_seen": 97986, + "step": 104, + "train_runtime": 396.7042, + "train_tokens_per_second": 247.0 + }, + { + "epoch": 0.02485207100591716, + "grad_norm": 0.7936599254608154, + "learning_rate": 9.513513513513514e-05, + "loss": 0.21357379853725433, + "num_input_tokens_seen": 98894, + "step": 105, + "train_runtime": 399.8228, + "train_tokens_per_second": 247.345 + }, + { + "epoch": 0.025088757396449703, + "grad_norm": 0.6574507355690002, + "learning_rate": 9.405405405405407e-05, + "loss": 0.1685573309659958, + "num_input_tokens_seen": 99856, + "step": 106, + "train_runtime": 402.8867, + "train_tokens_per_second": 247.851 + }, + { + "epoch": 0.02532544378698225, + "grad_norm": 0.5891634821891785, + "learning_rate": 9.297297297297299e-05, + "loss": 0.12082140147686005, + "num_input_tokens_seen": 100810, + "step": 107, + "train_runtime": 405.9752, + "train_tokens_per_second": 248.316 + }, + { + "epoch": 0.025562130177514793, + "grad_norm": 0.6624342799186707, + "learning_rate": 9.18918918918919e-05, + "loss": 0.1473795771598816, + "num_input_tokens_seen": 101744, + "step": 108, + "train_runtime": 409.0084, + "train_tokens_per_second": 248.758 + }, + { + "epoch": 0.025798816568047337, + "grad_norm": 0.5968036651611328, + "learning_rate": 9.081081081081082e-05, + "loss": 0.12923751771450043, + "num_input_tokens_seen": 102702, + "step": 109, + "train_runtime": 412.199, + "train_tokens_per_second": 249.156 + }, + { + "epoch": 0.02603550295857988, + "grad_norm": 0.5954580307006836, + "learning_rate": 8.972972972972973e-05, + "loss": 0.1161399856209755, + "num_input_tokens_seen": 103672, + "step": 110, + "train_runtime": 415.3736, + "train_tokens_per_second": 249.587 + }, + { + "epoch": 0.026272189349112424, + "grad_norm": 0.6139379739761353, + "learning_rate": 8.864864864864866e-05, + "loss": 0.12352899461984634, + "num_input_tokens_seen": 104598, + "step": 111, + "train_runtime": 418.3271, + "train_tokens_per_second": 250.039 + }, + { + "epoch": 0.02650887573964497, + "grad_norm": 0.7933095097541809, + "learning_rate": 8.756756756756758e-05, + "loss": 0.1709994524717331, + "num_input_tokens_seen": 105580, + "step": 112, + "train_runtime": 421.3565, + "train_tokens_per_second": 250.572 + }, + { + "epoch": 0.026745562130177515, + "grad_norm": 0.7641370892524719, + "learning_rate": 8.64864864864865e-05, + "loss": 0.13086311519145966, + "num_input_tokens_seen": 106444, + "step": 113, + "train_runtime": 424.4668, + "train_tokens_per_second": 250.771 + }, + { + "epoch": 0.02698224852071006, + "grad_norm": 0.7611938118934631, + "learning_rate": 8.540540540540541e-05, + "loss": 0.16537640988826752, + "num_input_tokens_seen": 107454, + "step": 114, + "train_runtime": 427.5, + "train_tokens_per_second": 251.354 + }, + { + "epoch": 0.027218934911242602, + "grad_norm": 0.7495304346084595, + "learning_rate": 8.432432432432433e-05, + "loss": 0.14228317141532898, + "num_input_tokens_seen": 108426, + "step": 115, + "train_runtime": 430.5035, + "train_tokens_per_second": 251.859 + }, + { + "epoch": 0.02745562130177515, + "grad_norm": 1.2078282833099365, + "learning_rate": 8.324324324324326e-05, + "loss": 0.10530930012464523, + "num_input_tokens_seen": 109446, + "step": 116, + "train_runtime": 433.4964, + "train_tokens_per_second": 252.473 + }, + { + "epoch": 0.027692307692307693, + "grad_norm": 0.6765572428703308, + "learning_rate": 8.216216216216217e-05, + "loss": 0.10717278718948364, + "num_input_tokens_seen": 110374, + "step": 117, + "train_runtime": 436.5901, + "train_tokens_per_second": 252.809 + }, + { + "epoch": 0.027928994082840237, + "grad_norm": 0.8501551151275635, + "learning_rate": 8.108108108108109e-05, + "loss": 0.17784273624420166, + "num_input_tokens_seen": 111340, + "step": 118, + "train_runtime": 439.6526, + "train_tokens_per_second": 253.245 + }, + { + "epoch": 0.02816568047337278, + "grad_norm": 0.7583926320075989, + "learning_rate": 8e-05, + "loss": 0.16588062047958374, + "num_input_tokens_seen": 112288, + "step": 119, + "train_runtime": 442.8046, + "train_tokens_per_second": 253.584 + }, + { + "epoch": 0.028402366863905324, + "grad_norm": 0.6620173454284668, + "learning_rate": 7.891891891891892e-05, + "loss": 0.11676295101642609, + "num_input_tokens_seen": 113206, + "step": 120, + "train_runtime": 445.9682, + "train_tokens_per_second": 253.843 + }, + { + "epoch": 0.02863905325443787, + "grad_norm": 0.6844660639762878, + "learning_rate": 7.783783783783785e-05, + "loss": 0.09329869598150253, + "num_input_tokens_seen": 114134, + "step": 121, + "train_runtime": 452.5692, + "train_tokens_per_second": 252.191 + }, + { + "epoch": 0.028875739644970415, + "grad_norm": 0.7968376874923706, + "learning_rate": 7.675675675675677e-05, + "loss": 0.13320565223693848, + "num_input_tokens_seen": 115088, + "step": 122, + "train_runtime": 455.6245, + "train_tokens_per_second": 252.594 + }, + { + "epoch": 0.02911242603550296, + "grad_norm": 0.8079301118850708, + "learning_rate": 7.567567567567568e-05, + "loss": 0.1387016326189041, + "num_input_tokens_seen": 116006, + "step": 123, + "train_runtime": 458.7601, + "train_tokens_per_second": 252.869 + }, + { + "epoch": 0.029349112426035502, + "grad_norm": 1.1301748752593994, + "learning_rate": 7.45945945945946e-05, + "loss": 0.197790265083313, + "num_input_tokens_seen": 116958, + "step": 124, + "train_runtime": 461.861, + "train_tokens_per_second": 253.232 + }, + { + "epoch": 0.029585798816568046, + "grad_norm": 0.7272042632102966, + "learning_rate": 7.351351351351352e-05, + "loss": 0.12121891975402832, + "num_input_tokens_seen": 117886, + "step": 125, + "train_runtime": 465.0328, + "train_tokens_per_second": 253.5 + }, + { + "epoch": 0.029822485207100593, + "grad_norm": 0.6021063923835754, + "learning_rate": 7.243243243243245e-05, + "loss": 0.08234579861164093, + "num_input_tokens_seen": 118806, + "step": 126, + "train_runtime": 468.1518, + "train_tokens_per_second": 253.777 + }, + { + "epoch": 0.030059171597633137, + "grad_norm": 0.5659137964248657, + "learning_rate": 7.135135135135136e-05, + "loss": 0.07469362020492554, + "num_input_tokens_seen": 119716, + "step": 127, + "train_runtime": 471.2559, + "train_tokens_per_second": 254.036 + }, + { + "epoch": 0.03029585798816568, + "grad_norm": 0.7604466080665588, + "learning_rate": 7.027027027027028e-05, + "loss": 0.15167035162448883, + "num_input_tokens_seen": 120710, + "step": 128, + "train_runtime": 474.3536, + "train_tokens_per_second": 254.473 + }, + { + "epoch": 0.030532544378698224, + "grad_norm": 0.898281455039978, + "learning_rate": 6.91891891891892e-05, + "loss": 0.18358615040779114, + "num_input_tokens_seen": 121668, + "step": 129, + "train_runtime": 477.4676, + "train_tokens_per_second": 254.819 + }, + { + "epoch": 0.03076923076923077, + "grad_norm": 1.046539545059204, + "learning_rate": 6.810810810810811e-05, + "loss": 0.14173445105552673, + "num_input_tokens_seen": 122654, + "step": 130, + "train_runtime": 480.6242, + "train_tokens_per_second": 255.197 + }, + { + "epoch": 0.031005917159763315, + "grad_norm": 0.689860463142395, + "learning_rate": 6.702702702702704e-05, + "loss": 0.1232977956533432, + "num_input_tokens_seen": 123610, + "step": 131, + "train_runtime": 483.7904, + "train_tokens_per_second": 255.503 + }, + { + "epoch": 0.031242603550295858, + "grad_norm": 0.6417210698127747, + "learning_rate": 6.594594594594596e-05, + "loss": 0.08111131936311722, + "num_input_tokens_seen": 124526, + "step": 132, + "train_runtime": 486.9241, + "train_tokens_per_second": 255.74 + }, + { + "epoch": 0.0314792899408284, + "grad_norm": 0.8019670844078064, + "learning_rate": 6.486486486486487e-05, + "loss": 0.13235916197299957, + "num_input_tokens_seen": 125438, + "step": 133, + "train_runtime": 490.0416, + "train_tokens_per_second": 255.974 + }, + { + "epoch": 0.031715976331360946, + "grad_norm": 0.8618372082710266, + "learning_rate": 6.378378378378379e-05, + "loss": 0.11209192872047424, + "num_input_tokens_seen": 126378, + "step": 134, + "train_runtime": 493.0816, + "train_tokens_per_second": 256.302 + }, + { + "epoch": 0.03195266272189349, + "grad_norm": 0.6566123962402344, + "learning_rate": 6.27027027027027e-05, + "loss": 0.08107412606477737, + "num_input_tokens_seen": 127280, + "step": 135, + "train_runtime": 496.1373, + "train_tokens_per_second": 256.542 + }, + { + "epoch": 0.03218934911242603, + "grad_norm": 0.671886682510376, + "learning_rate": 6.162162162162163e-05, + "loss": 0.10395485162734985, + "num_input_tokens_seen": 128246, + "step": 136, + "train_runtime": 499.2198, + "train_tokens_per_second": 256.893 + }, + { + "epoch": 0.032426035502958576, + "grad_norm": 0.5853029489517212, + "learning_rate": 6.0540540540540543e-05, + "loss": 0.06830425560474396, + "num_input_tokens_seen": 129142, + "step": 137, + "train_runtime": 502.2719, + "train_tokens_per_second": 257.116 + }, + { + "epoch": 0.03266272189349113, + "grad_norm": 0.9871621131896973, + "learning_rate": 5.9459459459459466e-05, + "loss": 0.14138084650039673, + "num_input_tokens_seen": 130060, + "step": 138, + "train_runtime": 505.3687, + "train_tokens_per_second": 257.357 + }, + { + "epoch": 0.03289940828402367, + "grad_norm": 0.6716732978820801, + "learning_rate": 5.837837837837838e-05, + "loss": 0.07525799423456192, + "num_input_tokens_seen": 130982, + "step": 139, + "train_runtime": 508.4248, + "train_tokens_per_second": 257.623 + }, + { + "epoch": 0.033136094674556214, + "grad_norm": 0.7177789807319641, + "learning_rate": 5.7297297297297305e-05, + "loss": 0.09517940878868103, + "num_input_tokens_seen": 131900, + "step": 140, + "train_runtime": 511.57, + "train_tokens_per_second": 257.834 + }, + { + "epoch": 0.03337278106508876, + "grad_norm": 0.703551709651947, + "learning_rate": 5.621621621621622e-05, + "loss": 0.09361469000577927, + "num_input_tokens_seen": 132890, + "step": 141, + "train_runtime": 514.7186, + "train_tokens_per_second": 258.18 + }, + { + "epoch": 0.0336094674556213, + "grad_norm": 0.7156357765197754, + "learning_rate": 5.5135135135135144e-05, + "loss": 0.08832181245088577, + "num_input_tokens_seen": 133810, + "step": 142, + "train_runtime": 517.7644, + "train_tokens_per_second": 258.438 + }, + { + "epoch": 0.033846153846153845, + "grad_norm": 0.7757886648178101, + "learning_rate": 5.405405405405406e-05, + "loss": 0.12478049844503403, + "num_input_tokens_seen": 134758, + "step": 143, + "train_runtime": 520.8215, + "train_tokens_per_second": 258.741 + }, + { + "epoch": 0.03408284023668639, + "grad_norm": 0.6047410368919373, + "learning_rate": 5.2972972972972976e-05, + "loss": 0.07645335048437119, + "num_input_tokens_seen": 135724, + "step": 144, + "train_runtime": 523.9787, + "train_tokens_per_second": 259.026 + }, + { + "epoch": 0.03431952662721893, + "grad_norm": 0.7750188708305359, + "learning_rate": 5.18918918918919e-05, + "loss": 0.10904290527105331, + "num_input_tokens_seen": 136662, + "step": 145, + "train_runtime": 527.0633, + "train_tokens_per_second": 259.29 + }, + { + "epoch": 0.034556213017751476, + "grad_norm": 0.6400149464607239, + "learning_rate": 5.0810810810810815e-05, + "loss": 0.07525563985109329, + "num_input_tokens_seen": 137628, + "step": 146, + "train_runtime": 530.1299, + "train_tokens_per_second": 259.612 + }, + { + "epoch": 0.03479289940828403, + "grad_norm": 0.6681646108627319, + "learning_rate": 4.972972972972974e-05, + "loss": 0.08536849915981293, + "num_input_tokens_seen": 138610, + "step": 147, + "train_runtime": 533.159, + "train_tokens_per_second": 259.979 + }, + { + "epoch": 0.03502958579881657, + "grad_norm": 0.6158885359764099, + "learning_rate": 4.8648648648648654e-05, + "loss": 0.0753958523273468, + "num_input_tokens_seen": 139486, + "step": 148, + "train_runtime": 536.2632, + "train_tokens_per_second": 260.107 + }, + { + "epoch": 0.035266272189349114, + "grad_norm": 0.665565550327301, + "learning_rate": 4.756756756756757e-05, + "loss": 0.08198000490665436, + "num_input_tokens_seen": 140440, + "step": 149, + "train_runtime": 539.3165, + "train_tokens_per_second": 260.404 + }, + { + "epoch": 0.03550295857988166, + "grad_norm": 0.6818353533744812, + "learning_rate": 4.648648648648649e-05, + "loss": 0.0710655227303505, + "num_input_tokens_seen": 141344, + "step": 150, + "train_runtime": 542.3824, + "train_tokens_per_second": 260.598 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 141344, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 2037689236101120.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-150/training_args.bin b/checkpoint-150/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-150/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-180/README.md b/checkpoint-180/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-180/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-180/adapter_config.json b/checkpoint-180/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-180/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-180/adapter_model.safetensors b/checkpoint-180/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..0955267837a52e4d43cba77049e357c2e2051f25 --- /dev/null +++ b/checkpoint-180/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e2c1029454f1834f511c4c2d3a52d76531655516a9d3045514d762b5156feb6 +size 124277728 diff --git a/checkpoint-180/chat_template.jinja b/checkpoint-180/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-180/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-180/optimizer.pt b/checkpoint-180/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..396b6690f525bbe940e019f43b8da5834f908301 --- /dev/null +++ b/checkpoint-180/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d28a0dc846feefdc15b5a30c4ff928dcdd8416bb2c13beef4fa5f4ca242bd821 +size 52047117 diff --git a/checkpoint-180/processor_config.json b/checkpoint-180/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-180/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-180/rng_state.pth b/checkpoint-180/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-180/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-180/scaler.pt b/checkpoint-180/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..6d1a2b946581ac44713999963c836d5ea2df6738 --- /dev/null +++ b/checkpoint-180/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:157cc77e7dd6e9c2bce809a6b120c6be65dd2e62a42b62dfda1d462877a40ec3 +size 1383 diff --git a/checkpoint-180/scheduler.pt b/checkpoint-180/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..5db1001aabf925209d186bbb6f5b0edef90b6ef7 --- /dev/null +++ b/checkpoint-180/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec2bd51ad4fa32551317ffe221c08d896ed511f96c24b01b67eb1975b12513fc +size 1465 diff --git a/checkpoint-180/tokenizer.json b/checkpoint-180/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-180/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-180/tokenizer_config.json b/checkpoint-180/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-180/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-180/trainer_state.json b/checkpoint-180/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..76ed8c38fd4551d03f78f66ca97a3a293c3099c4 --- /dev/null +++ b/checkpoint-180/trainer_state.json @@ -0,0 +1,1834 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.04260355029585799, + "eval_steps": 500, + "global_step": 180, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + }, + { + "epoch": 0.014437869822485207, + "grad_norm": 0.5483338236808777, + "learning_rate": 0.00014270270270270272, + "loss": 0.2725352644920349, + "num_input_tokens_seen": 58036, + "step": 61, + "train_runtime": 260.2844, + "train_tokens_per_second": 222.971 + }, + { + "epoch": 0.014674556213017751, + "grad_norm": 0.6806847453117371, + "learning_rate": 0.00014162162162162161, + "loss": 0.31959983706474304, + "num_input_tokens_seen": 59026, + "step": 62, + "train_runtime": 263.3802, + "train_tokens_per_second": 224.109 + }, + { + "epoch": 0.014911242603550296, + "grad_norm": 0.6916660070419312, + "learning_rate": 0.00014054054054054056, + "loss": 0.312305748462677, + "num_input_tokens_seen": 59982, + "step": 63, + "train_runtime": 266.3794, + "train_tokens_per_second": 225.175 + }, + { + "epoch": 0.01514792899408284, + "grad_norm": 0.5516266226768494, + "learning_rate": 0.00013945945945945947, + "loss": 0.2653953433036804, + "num_input_tokens_seen": 60926, + "step": 64, + "train_runtime": 269.3893, + "train_tokens_per_second": 226.163 + }, + { + "epoch": 0.015384615384615385, + "grad_norm": 0.5579270720481873, + "learning_rate": 0.0001383783783783784, + "loss": 0.20462818443775177, + "num_input_tokens_seen": 61844, + "step": 65, + "train_runtime": 272.3982, + "train_tokens_per_second": 227.035 + }, + { + "epoch": 0.015621301775147929, + "grad_norm": 0.7645660638809204, + "learning_rate": 0.0001372972972972973, + "loss": 0.2650893032550812, + "num_input_tokens_seen": 62766, + "step": 66, + "train_runtime": 275.404, + "train_tokens_per_second": 227.905 + }, + { + "epoch": 0.015857988165680473, + "grad_norm": 0.5974738001823425, + "learning_rate": 0.00013621621621621622, + "loss": 0.21247778832912445, + "num_input_tokens_seen": 63690, + "step": 67, + "train_runtime": 278.4021, + "train_tokens_per_second": 228.77 + }, + { + "epoch": 0.016094674556213016, + "grad_norm": 0.5831193327903748, + "learning_rate": 0.00013513513513513514, + "loss": 0.2024172842502594, + "num_input_tokens_seen": 64496, + "step": 68, + "train_runtime": 281.4313, + "train_tokens_per_second": 229.171 + }, + { + "epoch": 0.016331360946745564, + "grad_norm": 0.8678795695304871, + "learning_rate": 0.00013405405405405408, + "loss": 0.31490638852119446, + "num_input_tokens_seen": 65460, + "step": 69, + "train_runtime": 284.6137, + "train_tokens_per_second": 229.996 + }, + { + "epoch": 0.016568047337278107, + "grad_norm": 0.7611344456672668, + "learning_rate": 0.00013297297297297297, + "loss": 0.24661925435066223, + "num_input_tokens_seen": 66374, + "step": 70, + "train_runtime": 287.7742, + "train_tokens_per_second": 230.646 + }, + { + "epoch": 0.01680473372781065, + "grad_norm": 0.6685308814048767, + "learning_rate": 0.0001318918918918919, + "loss": 0.1843535602092743, + "num_input_tokens_seen": 67112, + "step": 71, + "train_runtime": 290.9321, + "train_tokens_per_second": 230.679 + }, + { + "epoch": 0.017041420118343194, + "grad_norm": 0.6150883436203003, + "learning_rate": 0.0001308108108108108, + "loss": 0.23372295498847961, + "num_input_tokens_seen": 68154, + "step": 72, + "train_runtime": 294.0809, + "train_tokens_per_second": 231.753 + }, + { + "epoch": 0.017278106508875738, + "grad_norm": 0.6938812732696533, + "learning_rate": 0.00012972972972972974, + "loss": 0.22619186341762543, + "num_input_tokens_seen": 69102, + "step": 73, + "train_runtime": 297.1843, + "train_tokens_per_second": 232.522 + }, + { + "epoch": 0.017514792899408285, + "grad_norm": 0.617787778377533, + "learning_rate": 0.00012864864864864866, + "loss": 0.2535328269004822, + "num_input_tokens_seen": 70010, + "step": 74, + "train_runtime": 300.2851, + "train_tokens_per_second": 233.145 + }, + { + "epoch": 0.01775147928994083, + "grad_norm": 0.6884900331497192, + "learning_rate": 0.00012756756756756758, + "loss": 0.21632739901542664, + "num_input_tokens_seen": 70940, + "step": 75, + "train_runtime": 303.3533, + "train_tokens_per_second": 233.853 + }, + { + "epoch": 0.017988165680473372, + "grad_norm": 0.5782189965248108, + "learning_rate": 0.0001264864864864865, + "loss": 0.20167675614356995, + "num_input_tokens_seen": 71862, + "step": 76, + "train_runtime": 306.4503, + "train_tokens_per_second": 234.498 + }, + { + "epoch": 0.018224852071005916, + "grad_norm": 0.6541483402252197, + "learning_rate": 0.0001254054054054054, + "loss": 0.23231221735477448, + "num_input_tokens_seen": 72812, + "step": 77, + "train_runtime": 309.5743, + "train_tokens_per_second": 235.2 + }, + { + "epoch": 0.018461538461538463, + "grad_norm": 0.7524886727333069, + "learning_rate": 0.00012432432432432433, + "loss": 0.27632662653923035, + "num_input_tokens_seen": 73774, + "step": 78, + "train_runtime": 312.6963, + "train_tokens_per_second": 235.929 + }, + { + "epoch": 0.018698224852071007, + "grad_norm": 0.716282308101654, + "learning_rate": 0.00012324324324324327, + "loss": 0.2734939754009247, + "num_input_tokens_seen": 74716, + "step": 79, + "train_runtime": 315.7612, + "train_tokens_per_second": 236.622 + }, + { + "epoch": 0.01893491124260355, + "grad_norm": 0.7010631561279297, + "learning_rate": 0.00012216216216216216, + "loss": 0.2774362564086914, + "num_input_tokens_seen": 75692, + "step": 80, + "train_runtime": 318.7983, + "train_tokens_per_second": 237.429 + }, + { + "epoch": 0.019171597633136094, + "grad_norm": 0.6561240553855896, + "learning_rate": 0.00012108108108108109, + "loss": 0.21640686690807343, + "num_input_tokens_seen": 76558, + "step": 81, + "train_runtime": 321.889, + "train_tokens_per_second": 237.84 + }, + { + "epoch": 0.019408284023668638, + "grad_norm": 0.5552831888198853, + "learning_rate": 0.00012, + "loss": 0.21232956647872925, + "num_input_tokens_seen": 77408, + "step": 82, + "train_runtime": 325.0469, + "train_tokens_per_second": 238.144 + }, + { + "epoch": 0.019644970414201185, + "grad_norm": 0.5905120372772217, + "learning_rate": 0.00011891891891891893, + "loss": 0.22443550825119019, + "num_input_tokens_seen": 78278, + "step": 83, + "train_runtime": 328.099, + "train_tokens_per_second": 238.58 + }, + { + "epoch": 0.01988165680473373, + "grad_norm": 0.6606366634368896, + "learning_rate": 0.00011783783783783784, + "loss": 0.2400747388601303, + "num_input_tokens_seen": 79262, + "step": 84, + "train_runtime": 331.1361, + "train_tokens_per_second": 239.364 + }, + { + "epoch": 0.020118343195266272, + "grad_norm": 0.6508055329322815, + "learning_rate": 0.00011675675675675676, + "loss": 0.19072499871253967, + "num_input_tokens_seen": 80144, + "step": 85, + "train_runtime": 334.2158, + "train_tokens_per_second": 239.797 + }, + { + "epoch": 0.020355029585798816, + "grad_norm": 0.606562614440918, + "learning_rate": 0.00011567567567567568, + "loss": 0.20951862633228302, + "num_input_tokens_seen": 81108, + "step": 86, + "train_runtime": 337.3105, + "train_tokens_per_second": 240.455 + }, + { + "epoch": 0.02059171597633136, + "grad_norm": 0.6757521629333496, + "learning_rate": 0.00011459459459459461, + "loss": 0.17614495754241943, + "num_input_tokens_seen": 82032, + "step": 87, + "train_runtime": 340.3438, + "train_tokens_per_second": 241.027 + }, + { + "epoch": 0.020828402366863907, + "grad_norm": 0.671481728553772, + "learning_rate": 0.00011351351351351351, + "loss": 0.1901710331439972, + "num_input_tokens_seen": 82954, + "step": 88, + "train_runtime": 343.4059, + "train_tokens_per_second": 241.563 + }, + { + "epoch": 0.02106508875739645, + "grad_norm": 0.5919027924537659, + "learning_rate": 0.00011243243243243244, + "loss": 0.1563737988471985, + "num_input_tokens_seen": 83880, + "step": 89, + "train_runtime": 346.5125, + "train_tokens_per_second": 242.069 + }, + { + "epoch": 0.021301775147928994, + "grad_norm": 0.7108309268951416, + "learning_rate": 0.00011135135135135135, + "loss": 0.17256894707679749, + "num_input_tokens_seen": 84852, + "step": 90, + "train_runtime": 349.6508, + "train_tokens_per_second": 242.676 + }, + { + "epoch": 0.021538461538461538, + "grad_norm": 0.8608420491218567, + "learning_rate": 0.00011027027027027029, + "loss": 0.1845530867576599, + "num_input_tokens_seen": 85820, + "step": 91, + "train_runtime": 356.267, + "train_tokens_per_second": 240.887 + }, + { + "epoch": 0.02177514792899408, + "grad_norm": 0.9677010774612427, + "learning_rate": 0.00010918918918918919, + "loss": 0.24358105659484863, + "num_input_tokens_seen": 86770, + "step": 92, + "train_runtime": 359.3722, + "train_tokens_per_second": 241.449 + }, + { + "epoch": 0.02201183431952663, + "grad_norm": 0.6302966475486755, + "learning_rate": 0.00010810810810810812, + "loss": 0.18155133724212646, + "num_input_tokens_seen": 87736, + "step": 93, + "train_runtime": 362.5874, + "train_tokens_per_second": 241.972 + }, + { + "epoch": 0.022248520710059172, + "grad_norm": 0.7171812653541565, + "learning_rate": 0.00010702702702702702, + "loss": 0.15349116921424866, + "num_input_tokens_seen": 88626, + "step": 94, + "train_runtime": 365.7055, + "train_tokens_per_second": 242.343 + }, + { + "epoch": 0.022485207100591716, + "grad_norm": 0.7326887845993042, + "learning_rate": 0.00010594594594594595, + "loss": 0.18243758380413055, + "num_input_tokens_seen": 89548, + "step": 95, + "train_runtime": 368.799, + "train_tokens_per_second": 242.81 + }, + { + "epoch": 0.02272189349112426, + "grad_norm": 0.6686019897460938, + "learning_rate": 0.00010486486486486487, + "loss": 0.15622465312480927, + "num_input_tokens_seen": 90504, + "step": 96, + "train_runtime": 371.8404, + "train_tokens_per_second": 243.395 + }, + { + "epoch": 0.022958579881656806, + "grad_norm": 0.6306503415107727, + "learning_rate": 0.0001037837837837838, + "loss": 0.1272117793560028, + "num_input_tokens_seen": 91454, + "step": 97, + "train_runtime": 375.0199, + "train_tokens_per_second": 243.864 + }, + { + "epoch": 0.02319526627218935, + "grad_norm": 0.6068493127822876, + "learning_rate": 0.0001027027027027027, + "loss": 0.1577155441045761, + "num_input_tokens_seen": 92466, + "step": 98, + "train_runtime": 378.0978, + "train_tokens_per_second": 244.556 + }, + { + "epoch": 0.023431952662721894, + "grad_norm": 0.7263635993003845, + "learning_rate": 0.00010162162162162163, + "loss": 0.1845340132713318, + "num_input_tokens_seen": 93398, + "step": 99, + "train_runtime": 381.1358, + "train_tokens_per_second": 245.052 + }, + { + "epoch": 0.023668639053254437, + "grad_norm": 0.6466794013977051, + "learning_rate": 0.00010054054054054053, + "loss": 0.14443959295749664, + "num_input_tokens_seen": 94230, + "step": 100, + "train_runtime": 384.2906, + "train_tokens_per_second": 245.205 + }, + { + "epoch": 0.02390532544378698, + "grad_norm": 0.6924043297767639, + "learning_rate": 9.945945945945948e-05, + "loss": 0.18473166227340698, + "num_input_tokens_seen": 95132, + "step": 101, + "train_runtime": 387.5005, + "train_tokens_per_second": 245.502 + }, + { + "epoch": 0.024142011834319528, + "grad_norm": 0.732337236404419, + "learning_rate": 9.837837837837839e-05, + "loss": 0.16353662312030792, + "num_input_tokens_seen": 96080, + "step": 102, + "train_runtime": 390.584, + "train_tokens_per_second": 245.991 + }, + { + "epoch": 0.02437869822485207, + "grad_norm": 0.5956932902336121, + "learning_rate": 9.729729729729731e-05, + "loss": 0.16359847784042358, + "num_input_tokens_seen": 97048, + "step": 103, + "train_runtime": 393.6474, + "train_tokens_per_second": 246.535 + }, + { + "epoch": 0.024615384615384615, + "grad_norm": 0.6137388348579407, + "learning_rate": 9.621621621621622e-05, + "loss": 0.15779417753219604, + "num_input_tokens_seen": 97986, + "step": 104, + "train_runtime": 396.7042, + "train_tokens_per_second": 247.0 + }, + { + "epoch": 0.02485207100591716, + "grad_norm": 0.7936599254608154, + "learning_rate": 9.513513513513514e-05, + "loss": 0.21357379853725433, + "num_input_tokens_seen": 98894, + "step": 105, + "train_runtime": 399.8228, + "train_tokens_per_second": 247.345 + }, + { + "epoch": 0.025088757396449703, + "grad_norm": 0.6574507355690002, + "learning_rate": 9.405405405405407e-05, + "loss": 0.1685573309659958, + "num_input_tokens_seen": 99856, + "step": 106, + "train_runtime": 402.8867, + "train_tokens_per_second": 247.851 + }, + { + "epoch": 0.02532544378698225, + "grad_norm": 0.5891634821891785, + "learning_rate": 9.297297297297299e-05, + "loss": 0.12082140147686005, + "num_input_tokens_seen": 100810, + "step": 107, + "train_runtime": 405.9752, + "train_tokens_per_second": 248.316 + }, + { + "epoch": 0.025562130177514793, + "grad_norm": 0.6624342799186707, + "learning_rate": 9.18918918918919e-05, + "loss": 0.1473795771598816, + "num_input_tokens_seen": 101744, + "step": 108, + "train_runtime": 409.0084, + "train_tokens_per_second": 248.758 + }, + { + "epoch": 0.025798816568047337, + "grad_norm": 0.5968036651611328, + "learning_rate": 9.081081081081082e-05, + "loss": 0.12923751771450043, + "num_input_tokens_seen": 102702, + "step": 109, + "train_runtime": 412.199, + "train_tokens_per_second": 249.156 + }, + { + "epoch": 0.02603550295857988, + "grad_norm": 0.5954580307006836, + "learning_rate": 8.972972972972973e-05, + "loss": 0.1161399856209755, + "num_input_tokens_seen": 103672, + "step": 110, + "train_runtime": 415.3736, + "train_tokens_per_second": 249.587 + }, + { + "epoch": 0.026272189349112424, + "grad_norm": 0.6139379739761353, + "learning_rate": 8.864864864864866e-05, + "loss": 0.12352899461984634, + "num_input_tokens_seen": 104598, + "step": 111, + "train_runtime": 418.3271, + "train_tokens_per_second": 250.039 + }, + { + "epoch": 0.02650887573964497, + "grad_norm": 0.7933095097541809, + "learning_rate": 8.756756756756758e-05, + "loss": 0.1709994524717331, + "num_input_tokens_seen": 105580, + "step": 112, + "train_runtime": 421.3565, + "train_tokens_per_second": 250.572 + }, + { + "epoch": 0.026745562130177515, + "grad_norm": 0.7641370892524719, + "learning_rate": 8.64864864864865e-05, + "loss": 0.13086311519145966, + "num_input_tokens_seen": 106444, + "step": 113, + "train_runtime": 424.4668, + "train_tokens_per_second": 250.771 + }, + { + "epoch": 0.02698224852071006, + "grad_norm": 0.7611938118934631, + "learning_rate": 8.540540540540541e-05, + "loss": 0.16537640988826752, + "num_input_tokens_seen": 107454, + "step": 114, + "train_runtime": 427.5, + "train_tokens_per_second": 251.354 + }, + { + "epoch": 0.027218934911242602, + "grad_norm": 0.7495304346084595, + "learning_rate": 8.432432432432433e-05, + "loss": 0.14228317141532898, + "num_input_tokens_seen": 108426, + "step": 115, + "train_runtime": 430.5035, + "train_tokens_per_second": 251.859 + }, + { + "epoch": 0.02745562130177515, + "grad_norm": 1.2078282833099365, + "learning_rate": 8.324324324324326e-05, + "loss": 0.10530930012464523, + "num_input_tokens_seen": 109446, + "step": 116, + "train_runtime": 433.4964, + "train_tokens_per_second": 252.473 + }, + { + "epoch": 0.027692307692307693, + "grad_norm": 0.6765572428703308, + "learning_rate": 8.216216216216217e-05, + "loss": 0.10717278718948364, + "num_input_tokens_seen": 110374, + "step": 117, + "train_runtime": 436.5901, + "train_tokens_per_second": 252.809 + }, + { + "epoch": 0.027928994082840237, + "grad_norm": 0.8501551151275635, + "learning_rate": 8.108108108108109e-05, + "loss": 0.17784273624420166, + "num_input_tokens_seen": 111340, + "step": 118, + "train_runtime": 439.6526, + "train_tokens_per_second": 253.245 + }, + { + "epoch": 0.02816568047337278, + "grad_norm": 0.7583926320075989, + "learning_rate": 8e-05, + "loss": 0.16588062047958374, + "num_input_tokens_seen": 112288, + "step": 119, + "train_runtime": 442.8046, + "train_tokens_per_second": 253.584 + }, + { + "epoch": 0.028402366863905324, + "grad_norm": 0.6620173454284668, + "learning_rate": 7.891891891891892e-05, + "loss": 0.11676295101642609, + "num_input_tokens_seen": 113206, + "step": 120, + "train_runtime": 445.9682, + "train_tokens_per_second": 253.843 + }, + { + "epoch": 0.02863905325443787, + "grad_norm": 0.6844660639762878, + "learning_rate": 7.783783783783785e-05, + "loss": 0.09329869598150253, + "num_input_tokens_seen": 114134, + "step": 121, + "train_runtime": 452.5692, + "train_tokens_per_second": 252.191 + }, + { + "epoch": 0.028875739644970415, + "grad_norm": 0.7968376874923706, + "learning_rate": 7.675675675675677e-05, + "loss": 0.13320565223693848, + "num_input_tokens_seen": 115088, + "step": 122, + "train_runtime": 455.6245, + "train_tokens_per_second": 252.594 + }, + { + "epoch": 0.02911242603550296, + "grad_norm": 0.8079301118850708, + "learning_rate": 7.567567567567568e-05, + "loss": 0.1387016326189041, + "num_input_tokens_seen": 116006, + "step": 123, + "train_runtime": 458.7601, + "train_tokens_per_second": 252.869 + }, + { + "epoch": 0.029349112426035502, + "grad_norm": 1.1301748752593994, + "learning_rate": 7.45945945945946e-05, + "loss": 0.197790265083313, + "num_input_tokens_seen": 116958, + "step": 124, + "train_runtime": 461.861, + "train_tokens_per_second": 253.232 + }, + { + "epoch": 0.029585798816568046, + "grad_norm": 0.7272042632102966, + "learning_rate": 7.351351351351352e-05, + "loss": 0.12121891975402832, + "num_input_tokens_seen": 117886, + "step": 125, + "train_runtime": 465.0328, + "train_tokens_per_second": 253.5 + }, + { + "epoch": 0.029822485207100593, + "grad_norm": 0.6021063923835754, + "learning_rate": 7.243243243243245e-05, + "loss": 0.08234579861164093, + "num_input_tokens_seen": 118806, + "step": 126, + "train_runtime": 468.1518, + "train_tokens_per_second": 253.777 + }, + { + "epoch": 0.030059171597633137, + "grad_norm": 0.5659137964248657, + "learning_rate": 7.135135135135136e-05, + "loss": 0.07469362020492554, + "num_input_tokens_seen": 119716, + "step": 127, + "train_runtime": 471.2559, + "train_tokens_per_second": 254.036 + }, + { + "epoch": 0.03029585798816568, + "grad_norm": 0.7604466080665588, + "learning_rate": 7.027027027027028e-05, + "loss": 0.15167035162448883, + "num_input_tokens_seen": 120710, + "step": 128, + "train_runtime": 474.3536, + "train_tokens_per_second": 254.473 + }, + { + "epoch": 0.030532544378698224, + "grad_norm": 0.898281455039978, + "learning_rate": 6.91891891891892e-05, + "loss": 0.18358615040779114, + "num_input_tokens_seen": 121668, + "step": 129, + "train_runtime": 477.4676, + "train_tokens_per_second": 254.819 + }, + { + "epoch": 0.03076923076923077, + "grad_norm": 1.046539545059204, + "learning_rate": 6.810810810810811e-05, + "loss": 0.14173445105552673, + "num_input_tokens_seen": 122654, + "step": 130, + "train_runtime": 480.6242, + "train_tokens_per_second": 255.197 + }, + { + "epoch": 0.031005917159763315, + "grad_norm": 0.689860463142395, + "learning_rate": 6.702702702702704e-05, + "loss": 0.1232977956533432, + "num_input_tokens_seen": 123610, + "step": 131, + "train_runtime": 483.7904, + "train_tokens_per_second": 255.503 + }, + { + "epoch": 0.031242603550295858, + "grad_norm": 0.6417210698127747, + "learning_rate": 6.594594594594596e-05, + "loss": 0.08111131936311722, + "num_input_tokens_seen": 124526, + "step": 132, + "train_runtime": 486.9241, + "train_tokens_per_second": 255.74 + }, + { + "epoch": 0.0314792899408284, + "grad_norm": 0.8019670844078064, + "learning_rate": 6.486486486486487e-05, + "loss": 0.13235916197299957, + "num_input_tokens_seen": 125438, + "step": 133, + "train_runtime": 490.0416, + "train_tokens_per_second": 255.974 + }, + { + "epoch": 0.031715976331360946, + "grad_norm": 0.8618372082710266, + "learning_rate": 6.378378378378379e-05, + "loss": 0.11209192872047424, + "num_input_tokens_seen": 126378, + "step": 134, + "train_runtime": 493.0816, + "train_tokens_per_second": 256.302 + }, + { + "epoch": 0.03195266272189349, + "grad_norm": 0.6566123962402344, + "learning_rate": 6.27027027027027e-05, + "loss": 0.08107412606477737, + "num_input_tokens_seen": 127280, + "step": 135, + "train_runtime": 496.1373, + "train_tokens_per_second": 256.542 + }, + { + "epoch": 0.03218934911242603, + "grad_norm": 0.671886682510376, + "learning_rate": 6.162162162162163e-05, + "loss": 0.10395485162734985, + "num_input_tokens_seen": 128246, + "step": 136, + "train_runtime": 499.2198, + "train_tokens_per_second": 256.893 + }, + { + "epoch": 0.032426035502958576, + "grad_norm": 0.5853029489517212, + "learning_rate": 6.0540540540540543e-05, + "loss": 0.06830425560474396, + "num_input_tokens_seen": 129142, + "step": 137, + "train_runtime": 502.2719, + "train_tokens_per_second": 257.116 + }, + { + "epoch": 0.03266272189349113, + "grad_norm": 0.9871621131896973, + "learning_rate": 5.9459459459459466e-05, + "loss": 0.14138084650039673, + "num_input_tokens_seen": 130060, + "step": 138, + "train_runtime": 505.3687, + "train_tokens_per_second": 257.357 + }, + { + "epoch": 0.03289940828402367, + "grad_norm": 0.6716732978820801, + "learning_rate": 5.837837837837838e-05, + "loss": 0.07525799423456192, + "num_input_tokens_seen": 130982, + "step": 139, + "train_runtime": 508.4248, + "train_tokens_per_second": 257.623 + }, + { + "epoch": 0.033136094674556214, + "grad_norm": 0.7177789807319641, + "learning_rate": 5.7297297297297305e-05, + "loss": 0.09517940878868103, + "num_input_tokens_seen": 131900, + "step": 140, + "train_runtime": 511.57, + "train_tokens_per_second": 257.834 + }, + { + "epoch": 0.03337278106508876, + "grad_norm": 0.703551709651947, + "learning_rate": 5.621621621621622e-05, + "loss": 0.09361469000577927, + "num_input_tokens_seen": 132890, + "step": 141, + "train_runtime": 514.7186, + "train_tokens_per_second": 258.18 + }, + { + "epoch": 0.0336094674556213, + "grad_norm": 0.7156357765197754, + "learning_rate": 5.5135135135135144e-05, + "loss": 0.08832181245088577, + "num_input_tokens_seen": 133810, + "step": 142, + "train_runtime": 517.7644, + "train_tokens_per_second": 258.438 + }, + { + "epoch": 0.033846153846153845, + "grad_norm": 0.7757886648178101, + "learning_rate": 5.405405405405406e-05, + "loss": 0.12478049844503403, + "num_input_tokens_seen": 134758, + "step": 143, + "train_runtime": 520.8215, + "train_tokens_per_second": 258.741 + }, + { + "epoch": 0.03408284023668639, + "grad_norm": 0.6047410368919373, + "learning_rate": 5.2972972972972976e-05, + "loss": 0.07645335048437119, + "num_input_tokens_seen": 135724, + "step": 144, + "train_runtime": 523.9787, + "train_tokens_per_second": 259.026 + }, + { + "epoch": 0.03431952662721893, + "grad_norm": 0.7750188708305359, + "learning_rate": 5.18918918918919e-05, + "loss": 0.10904290527105331, + "num_input_tokens_seen": 136662, + "step": 145, + "train_runtime": 527.0633, + "train_tokens_per_second": 259.29 + }, + { + "epoch": 0.034556213017751476, + "grad_norm": 0.6400149464607239, + "learning_rate": 5.0810810810810815e-05, + "loss": 0.07525563985109329, + "num_input_tokens_seen": 137628, + "step": 146, + "train_runtime": 530.1299, + "train_tokens_per_second": 259.612 + }, + { + "epoch": 0.03479289940828403, + "grad_norm": 0.6681646108627319, + "learning_rate": 4.972972972972974e-05, + "loss": 0.08536849915981293, + "num_input_tokens_seen": 138610, + "step": 147, + "train_runtime": 533.159, + "train_tokens_per_second": 259.979 + }, + { + "epoch": 0.03502958579881657, + "grad_norm": 0.6158885359764099, + "learning_rate": 4.8648648648648654e-05, + "loss": 0.0753958523273468, + "num_input_tokens_seen": 139486, + "step": 148, + "train_runtime": 536.2632, + "train_tokens_per_second": 260.107 + }, + { + "epoch": 0.035266272189349114, + "grad_norm": 0.665565550327301, + "learning_rate": 4.756756756756757e-05, + "loss": 0.08198000490665436, + "num_input_tokens_seen": 140440, + "step": 149, + "train_runtime": 539.3165, + "train_tokens_per_second": 260.404 + }, + { + "epoch": 0.03550295857988166, + "grad_norm": 0.6818353533744812, + "learning_rate": 4.648648648648649e-05, + "loss": 0.0710655227303505, + "num_input_tokens_seen": 141344, + "step": 150, + "train_runtime": 542.3824, + "train_tokens_per_second": 260.598 + }, + { + "epoch": 0.0357396449704142, + "grad_norm": 0.5292275547981262, + "learning_rate": 4.540540540540541e-05, + "loss": 0.04743894189596176, + "num_input_tokens_seen": 142242, + "step": 151, + "train_runtime": 549.1326, + "train_tokens_per_second": 259.03 + }, + { + "epoch": 0.035976331360946745, + "grad_norm": 0.9436084032058716, + "learning_rate": 4.432432432432433e-05, + "loss": 0.10009428858757019, + "num_input_tokens_seen": 143104, + "step": 152, + "train_runtime": 552.245, + "train_tokens_per_second": 259.131 + }, + { + "epoch": 0.03621301775147929, + "grad_norm": 0.8146379590034485, + "learning_rate": 4.324324324324325e-05, + "loss": 0.08397847414016724, + "num_input_tokens_seen": 144036, + "step": 153, + "train_runtime": 555.3194, + "train_tokens_per_second": 259.375 + }, + { + "epoch": 0.03644970414201183, + "grad_norm": 0.6370963454246521, + "learning_rate": 4.2162162162162164e-05, + "loss": 0.0647936463356018, + "num_input_tokens_seen": 144978, + "step": 154, + "train_runtime": 558.5158, + "train_tokens_per_second": 259.577 + }, + { + "epoch": 0.036686390532544376, + "grad_norm": 0.7876921892166138, + "learning_rate": 4.108108108108109e-05, + "loss": 0.10044769942760468, + "num_input_tokens_seen": 145932, + "step": 155, + "train_runtime": 561.6626, + "train_tokens_per_second": 259.821 + }, + { + "epoch": 0.036923076923076927, + "grad_norm": 0.5711075067520142, + "learning_rate": 4e-05, + "loss": 0.0628824308514595, + "num_input_tokens_seen": 146822, + "step": 156, + "train_runtime": 564.7686, + "train_tokens_per_second": 259.968 + }, + { + "epoch": 0.03715976331360947, + "grad_norm": 0.6890460848808289, + "learning_rate": 3.8918918918918926e-05, + "loss": 0.0714673101902008, + "num_input_tokens_seen": 147746, + "step": 157, + "train_runtime": 567.7959, + "train_tokens_per_second": 260.21 + }, + { + "epoch": 0.037396449704142014, + "grad_norm": 0.6936295032501221, + "learning_rate": 3.783783783783784e-05, + "loss": 0.05670904368162155, + "num_input_tokens_seen": 148648, + "step": 158, + "train_runtime": 570.8255, + "train_tokens_per_second": 260.409 + }, + { + "epoch": 0.03763313609467456, + "grad_norm": 0.6268077492713928, + "learning_rate": 3.675675675675676e-05, + "loss": 0.04924366623163223, + "num_input_tokens_seen": 149622, + "step": 159, + "train_runtime": 573.9724, + "train_tokens_per_second": 260.678 + }, + { + "epoch": 0.0378698224852071, + "grad_norm": 0.7037569284439087, + "learning_rate": 3.567567567567568e-05, + "loss": 0.06151504069566727, + "num_input_tokens_seen": 150586, + "step": 160, + "train_runtime": 577.103, + "train_tokens_per_second": 260.934 + }, + { + "epoch": 0.038106508875739645, + "grad_norm": 0.6471953392028809, + "learning_rate": 3.45945945945946e-05, + "loss": 0.040921665728092194, + "num_input_tokens_seen": 151442, + "step": 161, + "train_runtime": 580.1219, + "train_tokens_per_second": 261.052 + }, + { + "epoch": 0.03834319526627219, + "grad_norm": 0.7046090960502625, + "learning_rate": 3.351351351351352e-05, + "loss": 0.05204992741346359, + "num_input_tokens_seen": 152350, + "step": 162, + "train_runtime": 583.1537, + "train_tokens_per_second": 261.252 + }, + { + "epoch": 0.03857988165680473, + "grad_norm": 1.0495421886444092, + "learning_rate": 3.2432432432432436e-05, + "loss": 0.1057022288441658, + "num_input_tokens_seen": 153278, + "step": 163, + "train_runtime": 586.3134, + "train_tokens_per_second": 261.427 + }, + { + "epoch": 0.038816568047337276, + "grad_norm": 0.6432052850723267, + "learning_rate": 3.135135135135135e-05, + "loss": 0.05509451404213905, + "num_input_tokens_seen": 154178, + "step": 164, + "train_runtime": 589.3544, + "train_tokens_per_second": 261.605 + }, + { + "epoch": 0.03905325443786982, + "grad_norm": 0.6547747254371643, + "learning_rate": 3.0270270270270272e-05, + "loss": 0.04602127522230148, + "num_input_tokens_seen": 155080, + "step": 165, + "train_runtime": 592.3642, + "train_tokens_per_second": 261.798 + }, + { + "epoch": 0.03928994082840237, + "grad_norm": 0.6700029969215393, + "learning_rate": 2.918918918918919e-05, + "loss": 0.05721529945731163, + "num_input_tokens_seen": 156140, + "step": 166, + "train_runtime": 595.4897, + "train_tokens_per_second": 262.204 + }, + { + "epoch": 0.039526627218934914, + "grad_norm": 0.9145491719245911, + "learning_rate": 2.810810810810811e-05, + "loss": 0.06747015565633774, + "num_input_tokens_seen": 157106, + "step": 167, + "train_runtime": 598.5891, + "train_tokens_per_second": 262.461 + }, + { + "epoch": 0.03976331360946746, + "grad_norm": 0.8798087239265442, + "learning_rate": 2.702702702702703e-05, + "loss": 0.08232270181179047, + "num_input_tokens_seen": 158056, + "step": 168, + "train_runtime": 601.7315, + "train_tokens_per_second": 262.669 + }, + { + "epoch": 0.04, + "grad_norm": 1.0618623495101929, + "learning_rate": 2.594594594594595e-05, + "loss": 0.09569647908210754, + "num_input_tokens_seen": 159060, + "step": 169, + "train_runtime": 604.8838, + "train_tokens_per_second": 262.96 + }, + { + "epoch": 0.040236686390532544, + "grad_norm": 0.6945156455039978, + "learning_rate": 2.486486486486487e-05, + "loss": 0.0597086027264595, + "num_input_tokens_seen": 160054, + "step": 170, + "train_runtime": 608.004, + "train_tokens_per_second": 263.245 + }, + { + "epoch": 0.04047337278106509, + "grad_norm": 0.6867018342018127, + "learning_rate": 2.3783783783783785e-05, + "loss": 0.053483735769987106, + "num_input_tokens_seen": 160992, + "step": 171, + "train_runtime": 611.0992, + "train_tokens_per_second": 263.447 + }, + { + "epoch": 0.04071005917159763, + "grad_norm": 0.9504451751708984, + "learning_rate": 2.2702702702702705e-05, + "loss": 0.07532191276550293, + "num_input_tokens_seen": 161910, + "step": 172, + "train_runtime": 614.2523, + "train_tokens_per_second": 263.589 + }, + { + "epoch": 0.040946745562130175, + "grad_norm": 0.6639146208763123, + "learning_rate": 2.1621621621621624e-05, + "loss": 0.04415765404701233, + "num_input_tokens_seen": 162810, + "step": 173, + "train_runtime": 617.2712, + "train_tokens_per_second": 263.758 + }, + { + "epoch": 0.04118343195266272, + "grad_norm": 0.5948973894119263, + "learning_rate": 2.0540540540540544e-05, + "loss": 0.04589955136179924, + "num_input_tokens_seen": 163792, + "step": 174, + "train_runtime": 620.3367, + "train_tokens_per_second": 264.037 + }, + { + "epoch": 0.04142011834319527, + "grad_norm": 0.8319454193115234, + "learning_rate": 1.9459459459459463e-05, + "loss": 0.07309269905090332, + "num_input_tokens_seen": 164770, + "step": 175, + "train_runtime": 623.4097, + "train_tokens_per_second": 264.305 + }, + { + "epoch": 0.04165680473372781, + "grad_norm": 0.591090202331543, + "learning_rate": 1.837837837837838e-05, + "loss": 0.04063474386930466, + "num_input_tokens_seen": 165708, + "step": 176, + "train_runtime": 626.513, + "train_tokens_per_second": 264.493 + }, + { + "epoch": 0.04189349112426036, + "grad_norm": 0.5455971360206604, + "learning_rate": 1.72972972972973e-05, + "loss": 0.0511426106095314, + "num_input_tokens_seen": 166654, + "step": 177, + "train_runtime": 629.5606, + "train_tokens_per_second": 264.715 + }, + { + "epoch": 0.0421301775147929, + "grad_norm": 0.7040805816650391, + "learning_rate": 1.6216216216216218e-05, + "loss": 0.06684890389442444, + "num_input_tokens_seen": 167586, + "step": 178, + "train_runtime": 632.5911, + "train_tokens_per_second": 264.92 + }, + { + "epoch": 0.042366863905325444, + "grad_norm": 0.9840870499610901, + "learning_rate": 1.5135135135135136e-05, + "loss": 0.08544427156448364, + "num_input_tokens_seen": 168558, + "step": 179, + "train_runtime": 635.6343, + "train_tokens_per_second": 265.181 + }, + { + "epoch": 0.04260355029585799, + "grad_norm": 0.763282835483551, + "learning_rate": 1.4054054054054055e-05, + "loss": 0.05402141064405441, + "num_input_tokens_seen": 169594, + "step": 180, + "train_runtime": 638.8133, + "train_tokens_per_second": 265.483 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 169594, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 2444956052661120.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-180/training_args.bin b/checkpoint-180/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-180/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-190/README.md b/checkpoint-190/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-190/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-190/adapter_config.json b/checkpoint-190/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-190/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-190/adapter_model.safetensors b/checkpoint-190/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..2c87a0ef165f037ee646d9506ba63a7bcc4aa079 --- /dev/null +++ b/checkpoint-190/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dae7c101be06c818341a1b3354a5715c93ad40fc4c4700a81f0c71c0e699b82b +size 124277728 diff --git a/checkpoint-190/chat_template.jinja b/checkpoint-190/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-190/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-190/optimizer.pt b/checkpoint-190/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..6e0dff6925573d76e7fc90a716316ed2ac69af96 --- /dev/null +++ b/checkpoint-190/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b26ffa09ce09033bd748c71a5bd466483b607675e03fe146c587da6439440b9d +size 52047117 diff --git a/checkpoint-190/processor_config.json b/checkpoint-190/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-190/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-190/rng_state.pth b/checkpoint-190/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-190/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-190/scaler.pt b/checkpoint-190/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..8f1374651b0fad13c4f866d696a73d7b6b357f25 --- /dev/null +++ b/checkpoint-190/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e582bf3c00963bd3fcaa4b162e161d1ea274c715ce05768df1a86c80c59a424e +size 1383 diff --git a/checkpoint-190/scheduler.pt b/checkpoint-190/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..0409ba8b86a1aaa959f73dee2211a8e734a66469 --- /dev/null +++ b/checkpoint-190/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30ec32e5e6be2d8912b2798a0a556d384a766d11fbf712d461217391922e67ba +size 1465 diff --git a/checkpoint-190/tokenizer.json b/checkpoint-190/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-190/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-190/tokenizer_config.json b/checkpoint-190/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-190/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-190/trainer_state.json b/checkpoint-190/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..ad0a1ca66a30d7c619cfb869f44a57f7a745fd27 --- /dev/null +++ b/checkpoint-190/trainer_state.json @@ -0,0 +1,1934 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.04497041420118343, + "eval_steps": 500, + "global_step": 190, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + }, + { + "epoch": 0.014437869822485207, + "grad_norm": 0.5483338236808777, + "learning_rate": 0.00014270270270270272, + "loss": 0.2725352644920349, + "num_input_tokens_seen": 58036, + "step": 61, + "train_runtime": 260.2844, + "train_tokens_per_second": 222.971 + }, + { + "epoch": 0.014674556213017751, + "grad_norm": 0.6806847453117371, + "learning_rate": 0.00014162162162162161, + "loss": 0.31959983706474304, + "num_input_tokens_seen": 59026, + "step": 62, + "train_runtime": 263.3802, + "train_tokens_per_second": 224.109 + }, + { + "epoch": 0.014911242603550296, + "grad_norm": 0.6916660070419312, + "learning_rate": 0.00014054054054054056, + "loss": 0.312305748462677, + "num_input_tokens_seen": 59982, + "step": 63, + "train_runtime": 266.3794, + "train_tokens_per_second": 225.175 + }, + { + "epoch": 0.01514792899408284, + "grad_norm": 0.5516266226768494, + "learning_rate": 0.00013945945945945947, + "loss": 0.2653953433036804, + "num_input_tokens_seen": 60926, + "step": 64, + "train_runtime": 269.3893, + "train_tokens_per_second": 226.163 + }, + { + "epoch": 0.015384615384615385, + "grad_norm": 0.5579270720481873, + "learning_rate": 0.0001383783783783784, + "loss": 0.20462818443775177, + "num_input_tokens_seen": 61844, + "step": 65, + "train_runtime": 272.3982, + "train_tokens_per_second": 227.035 + }, + { + "epoch": 0.015621301775147929, + "grad_norm": 0.7645660638809204, + "learning_rate": 0.0001372972972972973, + "loss": 0.2650893032550812, + "num_input_tokens_seen": 62766, + "step": 66, + "train_runtime": 275.404, + "train_tokens_per_second": 227.905 + }, + { + "epoch": 0.015857988165680473, + "grad_norm": 0.5974738001823425, + "learning_rate": 0.00013621621621621622, + "loss": 0.21247778832912445, + "num_input_tokens_seen": 63690, + "step": 67, + "train_runtime": 278.4021, + "train_tokens_per_second": 228.77 + }, + { + "epoch": 0.016094674556213016, + "grad_norm": 0.5831193327903748, + "learning_rate": 0.00013513513513513514, + "loss": 0.2024172842502594, + "num_input_tokens_seen": 64496, + "step": 68, + "train_runtime": 281.4313, + "train_tokens_per_second": 229.171 + }, + { + "epoch": 0.016331360946745564, + "grad_norm": 0.8678795695304871, + "learning_rate": 0.00013405405405405408, + "loss": 0.31490638852119446, + "num_input_tokens_seen": 65460, + "step": 69, + "train_runtime": 284.6137, + "train_tokens_per_second": 229.996 + }, + { + "epoch": 0.016568047337278107, + "grad_norm": 0.7611344456672668, + "learning_rate": 0.00013297297297297297, + "loss": 0.24661925435066223, + "num_input_tokens_seen": 66374, + "step": 70, + "train_runtime": 287.7742, + "train_tokens_per_second": 230.646 + }, + { + "epoch": 0.01680473372781065, + "grad_norm": 0.6685308814048767, + "learning_rate": 0.0001318918918918919, + "loss": 0.1843535602092743, + "num_input_tokens_seen": 67112, + "step": 71, + "train_runtime": 290.9321, + "train_tokens_per_second": 230.679 + }, + { + "epoch": 0.017041420118343194, + "grad_norm": 0.6150883436203003, + "learning_rate": 0.0001308108108108108, + "loss": 0.23372295498847961, + "num_input_tokens_seen": 68154, + "step": 72, + "train_runtime": 294.0809, + "train_tokens_per_second": 231.753 + }, + { + "epoch": 0.017278106508875738, + "grad_norm": 0.6938812732696533, + "learning_rate": 0.00012972972972972974, + "loss": 0.22619186341762543, + "num_input_tokens_seen": 69102, + "step": 73, + "train_runtime": 297.1843, + "train_tokens_per_second": 232.522 + }, + { + "epoch": 0.017514792899408285, + "grad_norm": 0.617787778377533, + "learning_rate": 0.00012864864864864866, + "loss": 0.2535328269004822, + "num_input_tokens_seen": 70010, + "step": 74, + "train_runtime": 300.2851, + "train_tokens_per_second": 233.145 + }, + { + "epoch": 0.01775147928994083, + "grad_norm": 0.6884900331497192, + "learning_rate": 0.00012756756756756758, + "loss": 0.21632739901542664, + "num_input_tokens_seen": 70940, + "step": 75, + "train_runtime": 303.3533, + "train_tokens_per_second": 233.853 + }, + { + "epoch": 0.017988165680473372, + "grad_norm": 0.5782189965248108, + "learning_rate": 0.0001264864864864865, + "loss": 0.20167675614356995, + "num_input_tokens_seen": 71862, + "step": 76, + "train_runtime": 306.4503, + "train_tokens_per_second": 234.498 + }, + { + "epoch": 0.018224852071005916, + "grad_norm": 0.6541483402252197, + "learning_rate": 0.0001254054054054054, + "loss": 0.23231221735477448, + "num_input_tokens_seen": 72812, + "step": 77, + "train_runtime": 309.5743, + "train_tokens_per_second": 235.2 + }, + { + "epoch": 0.018461538461538463, + "grad_norm": 0.7524886727333069, + "learning_rate": 0.00012432432432432433, + "loss": 0.27632662653923035, + "num_input_tokens_seen": 73774, + "step": 78, + "train_runtime": 312.6963, + "train_tokens_per_second": 235.929 + }, + { + "epoch": 0.018698224852071007, + "grad_norm": 0.716282308101654, + "learning_rate": 0.00012324324324324327, + "loss": 0.2734939754009247, + "num_input_tokens_seen": 74716, + "step": 79, + "train_runtime": 315.7612, + "train_tokens_per_second": 236.622 + }, + { + "epoch": 0.01893491124260355, + "grad_norm": 0.7010631561279297, + "learning_rate": 0.00012216216216216216, + "loss": 0.2774362564086914, + "num_input_tokens_seen": 75692, + "step": 80, + "train_runtime": 318.7983, + "train_tokens_per_second": 237.429 + }, + { + "epoch": 0.019171597633136094, + "grad_norm": 0.6561240553855896, + "learning_rate": 0.00012108108108108109, + "loss": 0.21640686690807343, + "num_input_tokens_seen": 76558, + "step": 81, + "train_runtime": 321.889, + "train_tokens_per_second": 237.84 + }, + { + "epoch": 0.019408284023668638, + "grad_norm": 0.5552831888198853, + "learning_rate": 0.00012, + "loss": 0.21232956647872925, + "num_input_tokens_seen": 77408, + "step": 82, + "train_runtime": 325.0469, + "train_tokens_per_second": 238.144 + }, + { + "epoch": 0.019644970414201185, + "grad_norm": 0.5905120372772217, + "learning_rate": 0.00011891891891891893, + "loss": 0.22443550825119019, + "num_input_tokens_seen": 78278, + "step": 83, + "train_runtime": 328.099, + "train_tokens_per_second": 238.58 + }, + { + "epoch": 0.01988165680473373, + "grad_norm": 0.6606366634368896, + "learning_rate": 0.00011783783783783784, + "loss": 0.2400747388601303, + "num_input_tokens_seen": 79262, + "step": 84, + "train_runtime": 331.1361, + "train_tokens_per_second": 239.364 + }, + { + "epoch": 0.020118343195266272, + "grad_norm": 0.6508055329322815, + "learning_rate": 0.00011675675675675676, + "loss": 0.19072499871253967, + "num_input_tokens_seen": 80144, + "step": 85, + "train_runtime": 334.2158, + "train_tokens_per_second": 239.797 + }, + { + "epoch": 0.020355029585798816, + "grad_norm": 0.606562614440918, + "learning_rate": 0.00011567567567567568, + "loss": 0.20951862633228302, + "num_input_tokens_seen": 81108, + "step": 86, + "train_runtime": 337.3105, + "train_tokens_per_second": 240.455 + }, + { + "epoch": 0.02059171597633136, + "grad_norm": 0.6757521629333496, + "learning_rate": 0.00011459459459459461, + "loss": 0.17614495754241943, + "num_input_tokens_seen": 82032, + "step": 87, + "train_runtime": 340.3438, + "train_tokens_per_second": 241.027 + }, + { + "epoch": 0.020828402366863907, + "grad_norm": 0.671481728553772, + "learning_rate": 0.00011351351351351351, + "loss": 0.1901710331439972, + "num_input_tokens_seen": 82954, + "step": 88, + "train_runtime": 343.4059, + "train_tokens_per_second": 241.563 + }, + { + "epoch": 0.02106508875739645, + "grad_norm": 0.5919027924537659, + "learning_rate": 0.00011243243243243244, + "loss": 0.1563737988471985, + "num_input_tokens_seen": 83880, + "step": 89, + "train_runtime": 346.5125, + "train_tokens_per_second": 242.069 + }, + { + "epoch": 0.021301775147928994, + "grad_norm": 0.7108309268951416, + "learning_rate": 0.00011135135135135135, + "loss": 0.17256894707679749, + "num_input_tokens_seen": 84852, + "step": 90, + "train_runtime": 349.6508, + "train_tokens_per_second": 242.676 + }, + { + "epoch": 0.021538461538461538, + "grad_norm": 0.8608420491218567, + "learning_rate": 0.00011027027027027029, + "loss": 0.1845530867576599, + "num_input_tokens_seen": 85820, + "step": 91, + "train_runtime": 356.267, + "train_tokens_per_second": 240.887 + }, + { + "epoch": 0.02177514792899408, + "grad_norm": 0.9677010774612427, + "learning_rate": 0.00010918918918918919, + "loss": 0.24358105659484863, + "num_input_tokens_seen": 86770, + "step": 92, + "train_runtime": 359.3722, + "train_tokens_per_second": 241.449 + }, + { + "epoch": 0.02201183431952663, + "grad_norm": 0.6302966475486755, + "learning_rate": 0.00010810810810810812, + "loss": 0.18155133724212646, + "num_input_tokens_seen": 87736, + "step": 93, + "train_runtime": 362.5874, + "train_tokens_per_second": 241.972 + }, + { + "epoch": 0.022248520710059172, + "grad_norm": 0.7171812653541565, + "learning_rate": 0.00010702702702702702, + "loss": 0.15349116921424866, + "num_input_tokens_seen": 88626, + "step": 94, + "train_runtime": 365.7055, + "train_tokens_per_second": 242.343 + }, + { + "epoch": 0.022485207100591716, + "grad_norm": 0.7326887845993042, + "learning_rate": 0.00010594594594594595, + "loss": 0.18243758380413055, + "num_input_tokens_seen": 89548, + "step": 95, + "train_runtime": 368.799, + "train_tokens_per_second": 242.81 + }, + { + "epoch": 0.02272189349112426, + "grad_norm": 0.6686019897460938, + "learning_rate": 0.00010486486486486487, + "loss": 0.15622465312480927, + "num_input_tokens_seen": 90504, + "step": 96, + "train_runtime": 371.8404, + "train_tokens_per_second": 243.395 + }, + { + "epoch": 0.022958579881656806, + "grad_norm": 0.6306503415107727, + "learning_rate": 0.0001037837837837838, + "loss": 0.1272117793560028, + "num_input_tokens_seen": 91454, + "step": 97, + "train_runtime": 375.0199, + "train_tokens_per_second": 243.864 + }, + { + "epoch": 0.02319526627218935, + "grad_norm": 0.6068493127822876, + "learning_rate": 0.0001027027027027027, + "loss": 0.1577155441045761, + "num_input_tokens_seen": 92466, + "step": 98, + "train_runtime": 378.0978, + "train_tokens_per_second": 244.556 + }, + { + "epoch": 0.023431952662721894, + "grad_norm": 0.7263635993003845, + "learning_rate": 0.00010162162162162163, + "loss": 0.1845340132713318, + "num_input_tokens_seen": 93398, + "step": 99, + "train_runtime": 381.1358, + "train_tokens_per_second": 245.052 + }, + { + "epoch": 0.023668639053254437, + "grad_norm": 0.6466794013977051, + "learning_rate": 0.00010054054054054053, + "loss": 0.14443959295749664, + "num_input_tokens_seen": 94230, + "step": 100, + "train_runtime": 384.2906, + "train_tokens_per_second": 245.205 + }, + { + "epoch": 0.02390532544378698, + "grad_norm": 0.6924043297767639, + "learning_rate": 9.945945945945948e-05, + "loss": 0.18473166227340698, + "num_input_tokens_seen": 95132, + "step": 101, + "train_runtime": 387.5005, + "train_tokens_per_second": 245.502 + }, + { + "epoch": 0.024142011834319528, + "grad_norm": 0.732337236404419, + "learning_rate": 9.837837837837839e-05, + "loss": 0.16353662312030792, + "num_input_tokens_seen": 96080, + "step": 102, + "train_runtime": 390.584, + "train_tokens_per_second": 245.991 + }, + { + "epoch": 0.02437869822485207, + "grad_norm": 0.5956932902336121, + "learning_rate": 9.729729729729731e-05, + "loss": 0.16359847784042358, + "num_input_tokens_seen": 97048, + "step": 103, + "train_runtime": 393.6474, + "train_tokens_per_second": 246.535 + }, + { + "epoch": 0.024615384615384615, + "grad_norm": 0.6137388348579407, + "learning_rate": 9.621621621621622e-05, + "loss": 0.15779417753219604, + "num_input_tokens_seen": 97986, + "step": 104, + "train_runtime": 396.7042, + "train_tokens_per_second": 247.0 + }, + { + "epoch": 0.02485207100591716, + "grad_norm": 0.7936599254608154, + "learning_rate": 9.513513513513514e-05, + "loss": 0.21357379853725433, + "num_input_tokens_seen": 98894, + "step": 105, + "train_runtime": 399.8228, + "train_tokens_per_second": 247.345 + }, + { + "epoch": 0.025088757396449703, + "grad_norm": 0.6574507355690002, + "learning_rate": 9.405405405405407e-05, + "loss": 0.1685573309659958, + "num_input_tokens_seen": 99856, + "step": 106, + "train_runtime": 402.8867, + "train_tokens_per_second": 247.851 + }, + { + "epoch": 0.02532544378698225, + "grad_norm": 0.5891634821891785, + "learning_rate": 9.297297297297299e-05, + "loss": 0.12082140147686005, + "num_input_tokens_seen": 100810, + "step": 107, + "train_runtime": 405.9752, + "train_tokens_per_second": 248.316 + }, + { + "epoch": 0.025562130177514793, + "grad_norm": 0.6624342799186707, + "learning_rate": 9.18918918918919e-05, + "loss": 0.1473795771598816, + "num_input_tokens_seen": 101744, + "step": 108, + "train_runtime": 409.0084, + "train_tokens_per_second": 248.758 + }, + { + "epoch": 0.025798816568047337, + "grad_norm": 0.5968036651611328, + "learning_rate": 9.081081081081082e-05, + "loss": 0.12923751771450043, + "num_input_tokens_seen": 102702, + "step": 109, + "train_runtime": 412.199, + "train_tokens_per_second": 249.156 + }, + { + "epoch": 0.02603550295857988, + "grad_norm": 0.5954580307006836, + "learning_rate": 8.972972972972973e-05, + "loss": 0.1161399856209755, + "num_input_tokens_seen": 103672, + "step": 110, + "train_runtime": 415.3736, + "train_tokens_per_second": 249.587 + }, + { + "epoch": 0.026272189349112424, + "grad_norm": 0.6139379739761353, + "learning_rate": 8.864864864864866e-05, + "loss": 0.12352899461984634, + "num_input_tokens_seen": 104598, + "step": 111, + "train_runtime": 418.3271, + "train_tokens_per_second": 250.039 + }, + { + "epoch": 0.02650887573964497, + "grad_norm": 0.7933095097541809, + "learning_rate": 8.756756756756758e-05, + "loss": 0.1709994524717331, + "num_input_tokens_seen": 105580, + "step": 112, + "train_runtime": 421.3565, + "train_tokens_per_second": 250.572 + }, + { + "epoch": 0.026745562130177515, + "grad_norm": 0.7641370892524719, + "learning_rate": 8.64864864864865e-05, + "loss": 0.13086311519145966, + "num_input_tokens_seen": 106444, + "step": 113, + "train_runtime": 424.4668, + "train_tokens_per_second": 250.771 + }, + { + "epoch": 0.02698224852071006, + "grad_norm": 0.7611938118934631, + "learning_rate": 8.540540540540541e-05, + "loss": 0.16537640988826752, + "num_input_tokens_seen": 107454, + "step": 114, + "train_runtime": 427.5, + "train_tokens_per_second": 251.354 + }, + { + "epoch": 0.027218934911242602, + "grad_norm": 0.7495304346084595, + "learning_rate": 8.432432432432433e-05, + "loss": 0.14228317141532898, + "num_input_tokens_seen": 108426, + "step": 115, + "train_runtime": 430.5035, + "train_tokens_per_second": 251.859 + }, + { + "epoch": 0.02745562130177515, + "grad_norm": 1.2078282833099365, + "learning_rate": 8.324324324324326e-05, + "loss": 0.10530930012464523, + "num_input_tokens_seen": 109446, + "step": 116, + "train_runtime": 433.4964, + "train_tokens_per_second": 252.473 + }, + { + "epoch": 0.027692307692307693, + "grad_norm": 0.6765572428703308, + "learning_rate": 8.216216216216217e-05, + "loss": 0.10717278718948364, + "num_input_tokens_seen": 110374, + "step": 117, + "train_runtime": 436.5901, + "train_tokens_per_second": 252.809 + }, + { + "epoch": 0.027928994082840237, + "grad_norm": 0.8501551151275635, + "learning_rate": 8.108108108108109e-05, + "loss": 0.17784273624420166, + "num_input_tokens_seen": 111340, + "step": 118, + "train_runtime": 439.6526, + "train_tokens_per_second": 253.245 + }, + { + "epoch": 0.02816568047337278, + "grad_norm": 0.7583926320075989, + "learning_rate": 8e-05, + "loss": 0.16588062047958374, + "num_input_tokens_seen": 112288, + "step": 119, + "train_runtime": 442.8046, + "train_tokens_per_second": 253.584 + }, + { + "epoch": 0.028402366863905324, + "grad_norm": 0.6620173454284668, + "learning_rate": 7.891891891891892e-05, + "loss": 0.11676295101642609, + "num_input_tokens_seen": 113206, + "step": 120, + "train_runtime": 445.9682, + "train_tokens_per_second": 253.843 + }, + { + "epoch": 0.02863905325443787, + "grad_norm": 0.6844660639762878, + "learning_rate": 7.783783783783785e-05, + "loss": 0.09329869598150253, + "num_input_tokens_seen": 114134, + "step": 121, + "train_runtime": 452.5692, + "train_tokens_per_second": 252.191 + }, + { + "epoch": 0.028875739644970415, + "grad_norm": 0.7968376874923706, + "learning_rate": 7.675675675675677e-05, + "loss": 0.13320565223693848, + "num_input_tokens_seen": 115088, + "step": 122, + "train_runtime": 455.6245, + "train_tokens_per_second": 252.594 + }, + { + "epoch": 0.02911242603550296, + "grad_norm": 0.8079301118850708, + "learning_rate": 7.567567567567568e-05, + "loss": 0.1387016326189041, + "num_input_tokens_seen": 116006, + "step": 123, + "train_runtime": 458.7601, + "train_tokens_per_second": 252.869 + }, + { + "epoch": 0.029349112426035502, + "grad_norm": 1.1301748752593994, + "learning_rate": 7.45945945945946e-05, + "loss": 0.197790265083313, + "num_input_tokens_seen": 116958, + "step": 124, + "train_runtime": 461.861, + "train_tokens_per_second": 253.232 + }, + { + "epoch": 0.029585798816568046, + "grad_norm": 0.7272042632102966, + "learning_rate": 7.351351351351352e-05, + "loss": 0.12121891975402832, + "num_input_tokens_seen": 117886, + "step": 125, + "train_runtime": 465.0328, + "train_tokens_per_second": 253.5 + }, + { + "epoch": 0.029822485207100593, + "grad_norm": 0.6021063923835754, + "learning_rate": 7.243243243243245e-05, + "loss": 0.08234579861164093, + "num_input_tokens_seen": 118806, + "step": 126, + "train_runtime": 468.1518, + "train_tokens_per_second": 253.777 + }, + { + "epoch": 0.030059171597633137, + "grad_norm": 0.5659137964248657, + "learning_rate": 7.135135135135136e-05, + "loss": 0.07469362020492554, + "num_input_tokens_seen": 119716, + "step": 127, + "train_runtime": 471.2559, + "train_tokens_per_second": 254.036 + }, + { + "epoch": 0.03029585798816568, + "grad_norm": 0.7604466080665588, + "learning_rate": 7.027027027027028e-05, + "loss": 0.15167035162448883, + "num_input_tokens_seen": 120710, + "step": 128, + "train_runtime": 474.3536, + "train_tokens_per_second": 254.473 + }, + { + "epoch": 0.030532544378698224, + "grad_norm": 0.898281455039978, + "learning_rate": 6.91891891891892e-05, + "loss": 0.18358615040779114, + "num_input_tokens_seen": 121668, + "step": 129, + "train_runtime": 477.4676, + "train_tokens_per_second": 254.819 + }, + { + "epoch": 0.03076923076923077, + "grad_norm": 1.046539545059204, + "learning_rate": 6.810810810810811e-05, + "loss": 0.14173445105552673, + "num_input_tokens_seen": 122654, + "step": 130, + "train_runtime": 480.6242, + "train_tokens_per_second": 255.197 + }, + { + "epoch": 0.031005917159763315, + "grad_norm": 0.689860463142395, + "learning_rate": 6.702702702702704e-05, + "loss": 0.1232977956533432, + "num_input_tokens_seen": 123610, + "step": 131, + "train_runtime": 483.7904, + "train_tokens_per_second": 255.503 + }, + { + "epoch": 0.031242603550295858, + "grad_norm": 0.6417210698127747, + "learning_rate": 6.594594594594596e-05, + "loss": 0.08111131936311722, + "num_input_tokens_seen": 124526, + "step": 132, + "train_runtime": 486.9241, + "train_tokens_per_second": 255.74 + }, + { + "epoch": 0.0314792899408284, + "grad_norm": 0.8019670844078064, + "learning_rate": 6.486486486486487e-05, + "loss": 0.13235916197299957, + "num_input_tokens_seen": 125438, + "step": 133, + "train_runtime": 490.0416, + "train_tokens_per_second": 255.974 + }, + { + "epoch": 0.031715976331360946, + "grad_norm": 0.8618372082710266, + "learning_rate": 6.378378378378379e-05, + "loss": 0.11209192872047424, + "num_input_tokens_seen": 126378, + "step": 134, + "train_runtime": 493.0816, + "train_tokens_per_second": 256.302 + }, + { + "epoch": 0.03195266272189349, + "grad_norm": 0.6566123962402344, + "learning_rate": 6.27027027027027e-05, + "loss": 0.08107412606477737, + "num_input_tokens_seen": 127280, + "step": 135, + "train_runtime": 496.1373, + "train_tokens_per_second": 256.542 + }, + { + "epoch": 0.03218934911242603, + "grad_norm": 0.671886682510376, + "learning_rate": 6.162162162162163e-05, + "loss": 0.10395485162734985, + "num_input_tokens_seen": 128246, + "step": 136, + "train_runtime": 499.2198, + "train_tokens_per_second": 256.893 + }, + { + "epoch": 0.032426035502958576, + "grad_norm": 0.5853029489517212, + "learning_rate": 6.0540540540540543e-05, + "loss": 0.06830425560474396, + "num_input_tokens_seen": 129142, + "step": 137, + "train_runtime": 502.2719, + "train_tokens_per_second": 257.116 + }, + { + "epoch": 0.03266272189349113, + "grad_norm": 0.9871621131896973, + "learning_rate": 5.9459459459459466e-05, + "loss": 0.14138084650039673, + "num_input_tokens_seen": 130060, + "step": 138, + "train_runtime": 505.3687, + "train_tokens_per_second": 257.357 + }, + { + "epoch": 0.03289940828402367, + "grad_norm": 0.6716732978820801, + "learning_rate": 5.837837837837838e-05, + "loss": 0.07525799423456192, + "num_input_tokens_seen": 130982, + "step": 139, + "train_runtime": 508.4248, + "train_tokens_per_second": 257.623 + }, + { + "epoch": 0.033136094674556214, + "grad_norm": 0.7177789807319641, + "learning_rate": 5.7297297297297305e-05, + "loss": 0.09517940878868103, + "num_input_tokens_seen": 131900, + "step": 140, + "train_runtime": 511.57, + "train_tokens_per_second": 257.834 + }, + { + "epoch": 0.03337278106508876, + "grad_norm": 0.703551709651947, + "learning_rate": 5.621621621621622e-05, + "loss": 0.09361469000577927, + "num_input_tokens_seen": 132890, + "step": 141, + "train_runtime": 514.7186, + "train_tokens_per_second": 258.18 + }, + { + "epoch": 0.0336094674556213, + "grad_norm": 0.7156357765197754, + "learning_rate": 5.5135135135135144e-05, + "loss": 0.08832181245088577, + "num_input_tokens_seen": 133810, + "step": 142, + "train_runtime": 517.7644, + "train_tokens_per_second": 258.438 + }, + { + "epoch": 0.033846153846153845, + "grad_norm": 0.7757886648178101, + "learning_rate": 5.405405405405406e-05, + "loss": 0.12478049844503403, + "num_input_tokens_seen": 134758, + "step": 143, + "train_runtime": 520.8215, + "train_tokens_per_second": 258.741 + }, + { + "epoch": 0.03408284023668639, + "grad_norm": 0.6047410368919373, + "learning_rate": 5.2972972972972976e-05, + "loss": 0.07645335048437119, + "num_input_tokens_seen": 135724, + "step": 144, + "train_runtime": 523.9787, + "train_tokens_per_second": 259.026 + }, + { + "epoch": 0.03431952662721893, + "grad_norm": 0.7750188708305359, + "learning_rate": 5.18918918918919e-05, + "loss": 0.10904290527105331, + "num_input_tokens_seen": 136662, + "step": 145, + "train_runtime": 527.0633, + "train_tokens_per_second": 259.29 + }, + { + "epoch": 0.034556213017751476, + "grad_norm": 0.6400149464607239, + "learning_rate": 5.0810810810810815e-05, + "loss": 0.07525563985109329, + "num_input_tokens_seen": 137628, + "step": 146, + "train_runtime": 530.1299, + "train_tokens_per_second": 259.612 + }, + { + "epoch": 0.03479289940828403, + "grad_norm": 0.6681646108627319, + "learning_rate": 4.972972972972974e-05, + "loss": 0.08536849915981293, + "num_input_tokens_seen": 138610, + "step": 147, + "train_runtime": 533.159, + "train_tokens_per_second": 259.979 + }, + { + "epoch": 0.03502958579881657, + "grad_norm": 0.6158885359764099, + "learning_rate": 4.8648648648648654e-05, + "loss": 0.0753958523273468, + "num_input_tokens_seen": 139486, + "step": 148, + "train_runtime": 536.2632, + "train_tokens_per_second": 260.107 + }, + { + "epoch": 0.035266272189349114, + "grad_norm": 0.665565550327301, + "learning_rate": 4.756756756756757e-05, + "loss": 0.08198000490665436, + "num_input_tokens_seen": 140440, + "step": 149, + "train_runtime": 539.3165, + "train_tokens_per_second": 260.404 + }, + { + "epoch": 0.03550295857988166, + "grad_norm": 0.6818353533744812, + "learning_rate": 4.648648648648649e-05, + "loss": 0.0710655227303505, + "num_input_tokens_seen": 141344, + "step": 150, + "train_runtime": 542.3824, + "train_tokens_per_second": 260.598 + }, + { + "epoch": 0.0357396449704142, + "grad_norm": 0.5292275547981262, + "learning_rate": 4.540540540540541e-05, + "loss": 0.04743894189596176, + "num_input_tokens_seen": 142242, + "step": 151, + "train_runtime": 549.1326, + "train_tokens_per_second": 259.03 + }, + { + "epoch": 0.035976331360946745, + "grad_norm": 0.9436084032058716, + "learning_rate": 4.432432432432433e-05, + "loss": 0.10009428858757019, + "num_input_tokens_seen": 143104, + "step": 152, + "train_runtime": 552.245, + "train_tokens_per_second": 259.131 + }, + { + "epoch": 0.03621301775147929, + "grad_norm": 0.8146379590034485, + "learning_rate": 4.324324324324325e-05, + "loss": 0.08397847414016724, + "num_input_tokens_seen": 144036, + "step": 153, + "train_runtime": 555.3194, + "train_tokens_per_second": 259.375 + }, + { + "epoch": 0.03644970414201183, + "grad_norm": 0.6370963454246521, + "learning_rate": 4.2162162162162164e-05, + "loss": 0.0647936463356018, + "num_input_tokens_seen": 144978, + "step": 154, + "train_runtime": 558.5158, + "train_tokens_per_second": 259.577 + }, + { + "epoch": 0.036686390532544376, + "grad_norm": 0.7876921892166138, + "learning_rate": 4.108108108108109e-05, + "loss": 0.10044769942760468, + "num_input_tokens_seen": 145932, + "step": 155, + "train_runtime": 561.6626, + "train_tokens_per_second": 259.821 + }, + { + "epoch": 0.036923076923076927, + "grad_norm": 0.5711075067520142, + "learning_rate": 4e-05, + "loss": 0.0628824308514595, + "num_input_tokens_seen": 146822, + "step": 156, + "train_runtime": 564.7686, + "train_tokens_per_second": 259.968 + }, + { + "epoch": 0.03715976331360947, + "grad_norm": 0.6890460848808289, + "learning_rate": 3.8918918918918926e-05, + "loss": 0.0714673101902008, + "num_input_tokens_seen": 147746, + "step": 157, + "train_runtime": 567.7959, + "train_tokens_per_second": 260.21 + }, + { + "epoch": 0.037396449704142014, + "grad_norm": 0.6936295032501221, + "learning_rate": 3.783783783783784e-05, + "loss": 0.05670904368162155, + "num_input_tokens_seen": 148648, + "step": 158, + "train_runtime": 570.8255, + "train_tokens_per_second": 260.409 + }, + { + "epoch": 0.03763313609467456, + "grad_norm": 0.6268077492713928, + "learning_rate": 3.675675675675676e-05, + "loss": 0.04924366623163223, + "num_input_tokens_seen": 149622, + "step": 159, + "train_runtime": 573.9724, + "train_tokens_per_second": 260.678 + }, + { + "epoch": 0.0378698224852071, + "grad_norm": 0.7037569284439087, + "learning_rate": 3.567567567567568e-05, + "loss": 0.06151504069566727, + "num_input_tokens_seen": 150586, + "step": 160, + "train_runtime": 577.103, + "train_tokens_per_second": 260.934 + }, + { + "epoch": 0.038106508875739645, + "grad_norm": 0.6471953392028809, + "learning_rate": 3.45945945945946e-05, + "loss": 0.040921665728092194, + "num_input_tokens_seen": 151442, + "step": 161, + "train_runtime": 580.1219, + "train_tokens_per_second": 261.052 + }, + { + "epoch": 0.03834319526627219, + "grad_norm": 0.7046090960502625, + "learning_rate": 3.351351351351352e-05, + "loss": 0.05204992741346359, + "num_input_tokens_seen": 152350, + "step": 162, + "train_runtime": 583.1537, + "train_tokens_per_second": 261.252 + }, + { + "epoch": 0.03857988165680473, + "grad_norm": 1.0495421886444092, + "learning_rate": 3.2432432432432436e-05, + "loss": 0.1057022288441658, + "num_input_tokens_seen": 153278, + "step": 163, + "train_runtime": 586.3134, + "train_tokens_per_second": 261.427 + }, + { + "epoch": 0.038816568047337276, + "grad_norm": 0.6432052850723267, + "learning_rate": 3.135135135135135e-05, + "loss": 0.05509451404213905, + "num_input_tokens_seen": 154178, + "step": 164, + "train_runtime": 589.3544, + "train_tokens_per_second": 261.605 + }, + { + "epoch": 0.03905325443786982, + "grad_norm": 0.6547747254371643, + "learning_rate": 3.0270270270270272e-05, + "loss": 0.04602127522230148, + "num_input_tokens_seen": 155080, + "step": 165, + "train_runtime": 592.3642, + "train_tokens_per_second": 261.798 + }, + { + "epoch": 0.03928994082840237, + "grad_norm": 0.6700029969215393, + "learning_rate": 2.918918918918919e-05, + "loss": 0.05721529945731163, + "num_input_tokens_seen": 156140, + "step": 166, + "train_runtime": 595.4897, + "train_tokens_per_second": 262.204 + }, + { + "epoch": 0.039526627218934914, + "grad_norm": 0.9145491719245911, + "learning_rate": 2.810810810810811e-05, + "loss": 0.06747015565633774, + "num_input_tokens_seen": 157106, + "step": 167, + "train_runtime": 598.5891, + "train_tokens_per_second": 262.461 + }, + { + "epoch": 0.03976331360946746, + "grad_norm": 0.8798087239265442, + "learning_rate": 2.702702702702703e-05, + "loss": 0.08232270181179047, + "num_input_tokens_seen": 158056, + "step": 168, + "train_runtime": 601.7315, + "train_tokens_per_second": 262.669 + }, + { + "epoch": 0.04, + "grad_norm": 1.0618623495101929, + "learning_rate": 2.594594594594595e-05, + "loss": 0.09569647908210754, + "num_input_tokens_seen": 159060, + "step": 169, + "train_runtime": 604.8838, + "train_tokens_per_second": 262.96 + }, + { + "epoch": 0.040236686390532544, + "grad_norm": 0.6945156455039978, + "learning_rate": 2.486486486486487e-05, + "loss": 0.0597086027264595, + "num_input_tokens_seen": 160054, + "step": 170, + "train_runtime": 608.004, + "train_tokens_per_second": 263.245 + }, + { + "epoch": 0.04047337278106509, + "grad_norm": 0.6867018342018127, + "learning_rate": 2.3783783783783785e-05, + "loss": 0.053483735769987106, + "num_input_tokens_seen": 160992, + "step": 171, + "train_runtime": 611.0992, + "train_tokens_per_second": 263.447 + }, + { + "epoch": 0.04071005917159763, + "grad_norm": 0.9504451751708984, + "learning_rate": 2.2702702702702705e-05, + "loss": 0.07532191276550293, + "num_input_tokens_seen": 161910, + "step": 172, + "train_runtime": 614.2523, + "train_tokens_per_second": 263.589 + }, + { + "epoch": 0.040946745562130175, + "grad_norm": 0.6639146208763123, + "learning_rate": 2.1621621621621624e-05, + "loss": 0.04415765404701233, + "num_input_tokens_seen": 162810, + "step": 173, + "train_runtime": 617.2712, + "train_tokens_per_second": 263.758 + }, + { + "epoch": 0.04118343195266272, + "grad_norm": 0.5948973894119263, + "learning_rate": 2.0540540540540544e-05, + "loss": 0.04589955136179924, + "num_input_tokens_seen": 163792, + "step": 174, + "train_runtime": 620.3367, + "train_tokens_per_second": 264.037 + }, + { + "epoch": 0.04142011834319527, + "grad_norm": 0.8319454193115234, + "learning_rate": 1.9459459459459463e-05, + "loss": 0.07309269905090332, + "num_input_tokens_seen": 164770, + "step": 175, + "train_runtime": 623.4097, + "train_tokens_per_second": 264.305 + }, + { + "epoch": 0.04165680473372781, + "grad_norm": 0.591090202331543, + "learning_rate": 1.837837837837838e-05, + "loss": 0.04063474386930466, + "num_input_tokens_seen": 165708, + "step": 176, + "train_runtime": 626.513, + "train_tokens_per_second": 264.493 + }, + { + "epoch": 0.04189349112426036, + "grad_norm": 0.5455971360206604, + "learning_rate": 1.72972972972973e-05, + "loss": 0.0511426106095314, + "num_input_tokens_seen": 166654, + "step": 177, + "train_runtime": 629.5606, + "train_tokens_per_second": 264.715 + }, + { + "epoch": 0.0421301775147929, + "grad_norm": 0.7040805816650391, + "learning_rate": 1.6216216216216218e-05, + "loss": 0.06684890389442444, + "num_input_tokens_seen": 167586, + "step": 178, + "train_runtime": 632.5911, + "train_tokens_per_second": 264.92 + }, + { + "epoch": 0.042366863905325444, + "grad_norm": 0.9840870499610901, + "learning_rate": 1.5135135135135136e-05, + "loss": 0.08544427156448364, + "num_input_tokens_seen": 168558, + "step": 179, + "train_runtime": 635.6343, + "train_tokens_per_second": 265.181 + }, + { + "epoch": 0.04260355029585799, + "grad_norm": 0.763282835483551, + "learning_rate": 1.4054054054054055e-05, + "loss": 0.05402141064405441, + "num_input_tokens_seen": 169594, + "step": 180, + "train_runtime": 638.8133, + "train_tokens_per_second": 265.483 + }, + { + "epoch": 0.04284023668639053, + "grad_norm": 0.5099300742149353, + "learning_rate": 1.2972972972972975e-05, + "loss": 0.0340673066675663, + "num_input_tokens_seen": 170520, + "step": 181, + "train_runtime": 645.4574, + "train_tokens_per_second": 264.185 + }, + { + "epoch": 0.043076923076923075, + "grad_norm": 0.5777792930603027, + "learning_rate": 1.1891891891891893e-05, + "loss": 0.03730103373527527, + "num_input_tokens_seen": 171406, + "step": 182, + "train_runtime": 648.6265, + "train_tokens_per_second": 264.26 + }, + { + "epoch": 0.04331360946745562, + "grad_norm": 0.6748155355453491, + "learning_rate": 1.0810810810810812e-05, + "loss": 0.04920109361410141, + "num_input_tokens_seen": 172352, + "step": 183, + "train_runtime": 651.7436, + "train_tokens_per_second": 264.448 + }, + { + "epoch": 0.04355029585798816, + "grad_norm": 0.7281784415245056, + "learning_rate": 9.729729729729732e-06, + "loss": 0.06326033174991608, + "num_input_tokens_seen": 173274, + "step": 184, + "train_runtime": 654.8849, + "train_tokens_per_second": 264.587 + }, + { + "epoch": 0.04378698224852071, + "grad_norm": 0.4785560667514801, + "learning_rate": 8.64864864864865e-06, + "loss": 0.03624718636274338, + "num_input_tokens_seen": 174218, + "step": 185, + "train_runtime": 657.9406, + "train_tokens_per_second": 264.793 + }, + { + "epoch": 0.04402366863905326, + "grad_norm": 0.6069119572639465, + "learning_rate": 7.567567567567568e-06, + "loss": 0.055947862565517426, + "num_input_tokens_seen": 175232, + "step": 186, + "train_runtime": 661.0167, + "train_tokens_per_second": 265.095 + }, + { + "epoch": 0.0442603550295858, + "grad_norm": 0.4526364207267761, + "learning_rate": 6.486486486486487e-06, + "loss": 0.03549381345510483, + "num_input_tokens_seen": 176176, + "step": 187, + "train_runtime": 664.2236, + "train_tokens_per_second": 265.236 + }, + { + "epoch": 0.044497041420118344, + "grad_norm": 0.5671166777610779, + "learning_rate": 5.405405405405406e-06, + "loss": 0.04723510146141052, + "num_input_tokens_seen": 177148, + "step": 188, + "train_runtime": 667.3473, + "train_tokens_per_second": 265.451 + }, + { + "epoch": 0.04473372781065089, + "grad_norm": 0.4677238464355469, + "learning_rate": 4.324324324324325e-06, + "loss": 0.03479735553264618, + "num_input_tokens_seen": 178120, + "step": 189, + "train_runtime": 670.3812, + "train_tokens_per_second": 265.7 + }, + { + "epoch": 0.04497041420118343, + "grad_norm": 0.7161563038825989, + "learning_rate": 3.2432432432432437e-06, + "loss": 0.059224192053079605, + "num_input_tokens_seen": 178978, + "step": 190, + "train_runtime": 673.5302, + "train_tokens_per_second": 265.731 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 178978, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 2580240718381440.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-190/training_args.bin b/checkpoint-190/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-190/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-30/README.md b/checkpoint-30/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-30/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-30/adapter_config.json b/checkpoint-30/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-30/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-30/adapter_model.safetensors b/checkpoint-30/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..f371492d1e4bb27092656efb7025db1e9b3785cc --- /dev/null +++ b/checkpoint-30/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15498a59af388d964937099160eda9f496174a1b9ac196180b8df7b32e165a7a +size 124277728 diff --git a/checkpoint-30/chat_template.jinja b/checkpoint-30/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-30/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-30/optimizer.pt b/checkpoint-30/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..e299f492118fa4ab1fe1d96f38fc44134cd43967 --- /dev/null +++ b/checkpoint-30/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd7373b9baf1b47dac0846b30e03923d6194d2d63b39ea1c451c4a21d5987014 +size 52047117 diff --git a/checkpoint-30/processor_config.json b/checkpoint-30/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-30/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-30/rng_state.pth b/checkpoint-30/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-30/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-30/scaler.pt b/checkpoint-30/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..802cc24dfe5217a48ca4920be1e5978d3d11826d --- /dev/null +++ b/checkpoint-30/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ad10c944e2d21aeef682a674c8074069dd68f583dd60c49b218e2d2739e279 +size 1383 diff --git a/checkpoint-30/scheduler.pt b/checkpoint-30/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..2c4e379878c5e773093a6b3b0449975ffea004f1 --- /dev/null +++ b/checkpoint-30/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88b2e7f1ce36b7233925b64bc26e328a32a0215bfd0b00275a3a317a8271f33a +size 1465 diff --git a/checkpoint-30/tokenizer.json b/checkpoint-30/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-30/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-30/tokenizer_config.json b/checkpoint-30/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-30/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-30/trainer_state.json b/checkpoint-30/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..c392bc15b0d591d7aa1f8794e3f8a8386cdb334d --- /dev/null +++ b/checkpoint-30/trainer_state.json @@ -0,0 +1,334 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.007100591715976331, + "eval_steps": 500, + "global_step": 30, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 28648, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 413004593303040.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-30/training_args.bin b/checkpoint-30/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-30/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-60/README.md b/checkpoint-60/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-60/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-60/adapter_config.json b/checkpoint-60/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-60/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-60/adapter_model.safetensors b/checkpoint-60/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..d4e5443c8a5a7762b016a27427fb41740d624454 --- /dev/null +++ b/checkpoint-60/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:798e54e773414574465af4ec9decee158fd221f78903a7e0823dd3760e506d13 +size 124277728 diff --git a/checkpoint-60/chat_template.jinja b/checkpoint-60/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-60/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-60/optimizer.pt b/checkpoint-60/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..1eae1f319b6c88abc7e7780c519edbc048068b8e --- /dev/null +++ b/checkpoint-60/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c8cc4ebb62e0781821c4a90b7ee14fce935dbec3f5b616d7fce7eedceeb1d15 +size 52047117 diff --git a/checkpoint-60/processor_config.json b/checkpoint-60/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-60/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-60/rng_state.pth b/checkpoint-60/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-60/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-60/scaler.pt b/checkpoint-60/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..a5c211f5d67fa4959bfe47dd974c369d96816c88 --- /dev/null +++ b/checkpoint-60/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc0984e75370fd0f920a2690fbfe37926629fa7a6666636f32ed583f054361ef +size 1383 diff --git a/checkpoint-60/scheduler.pt b/checkpoint-60/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..f11fd48624699260510e99e0ed10cf719af88708 --- /dev/null +++ b/checkpoint-60/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:333dd3fe3ceed79360c29b6ce11cbcad10f04d68077d2234f8914024308a70ca +size 1465 diff --git a/checkpoint-60/tokenizer.json b/checkpoint-60/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-60/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-60/tokenizer_config.json b/checkpoint-60/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-60/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-60/trainer_state.json b/checkpoint-60/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..1a2400ff2c1f5654d5bb255b6d6eebb71f7bff94 --- /dev/null +++ b/checkpoint-60/trainer_state.json @@ -0,0 +1,634 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.014201183431952662, + "eval_steps": 500, + "global_step": 60, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 57012, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 821914893653760.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-60/training_args.bin b/checkpoint-60/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-60/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/checkpoint-90/README.md b/checkpoint-90/README.md new file mode 100644 index 0000000000000000000000000000000000000000..41470ec6557bbc37155893f70bd59986401b9148 --- /dev/null +++ b/checkpoint-90/README.md @@ -0,0 +1,210 @@ +--- +base_model: unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +library_name: peft +pipeline_tag: text-generation +tags: +- base_model:adapter:unsloth/gemma-4-e2b-it-unsloth-bnb-4bit +- lora +- sft +- transformers +- trl +- unsloth +--- + +# Model Card for Model ID + + + + + +## Model Details + +### Model Description + + + + + +- **Developed by:** [More Information Needed] +- **Funded by [optional]:** [More Information Needed] +- **Shared by [optional]:** [More Information Needed] +- **Model type:** [More Information Needed] +- **Language(s) (NLP):** [More Information Needed] +- **License:** [More Information Needed] +- **Finetuned from model [optional]:** [More Information Needed] + +### Model Sources [optional] + + + +- **Repository:** [More Information Needed] +- **Paper [optional]:** [More Information Needed] +- **Demo [optional]:** [More Information Needed] + +## Uses + + + +### Direct Use + + + +[More Information Needed] + +### Downstream Use [optional] + + + +[More Information Needed] + +### Out-of-Scope Use + + + +[More Information Needed] + +## Bias, Risks, and Limitations + + + +[More Information Needed] + +### Recommendations + + + +Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations. + +## How to Get Started with the Model + +Use the code below to get started with the model. + +[More Information Needed] + +## Training Details + +### Training Data + + + +[More Information Needed] + +### Training Procedure + + + +#### Preprocessing [optional] + +[More Information Needed] + + +#### Training Hyperparameters + +- **Training regime:** [More Information Needed] + +#### Speeds, Sizes, Times [optional] + + + +[More Information Needed] + +## Evaluation + + + +### Testing Data, Factors & Metrics + +#### Testing Data + + + +[More Information Needed] + +#### Factors + + + +[More Information Needed] + +#### Metrics + + + +[More Information Needed] + +### Results + +[More Information Needed] + +#### Summary + + + +## Model Examination [optional] + + + +[More Information Needed] + +## Environmental Impact + + + +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). + +- **Hardware Type:** [More Information Needed] +- **Hours used:** [More Information Needed] +- **Cloud Provider:** [More Information Needed] +- **Compute Region:** [More Information Needed] +- **Carbon Emitted:** [More Information Needed] + +## Technical Specifications [optional] + +### Model Architecture and Objective + +[More Information Needed] + +### Compute Infrastructure + +[More Information Needed] + +#### Hardware + +[More Information Needed] + +#### Software + +[More Information Needed] + +## Citation [optional] + + + +**BibTeX:** + +[More Information Needed] + +**APA:** + +[More Information Needed] + +## Glossary [optional] + + + +[More Information Needed] + +## More Information [optional] + +[More Information Needed] + +## Model Card Authors [optional] + +[More Information Needed] + +## Model Card Contact + +[More Information Needed] +### Framework versions + +- PEFT 0.18.1 \ No newline at end of file diff --git a/checkpoint-90/adapter_config.json b/checkpoint-90/adapter_config.json new file mode 100644 index 0000000000000000000000000000000000000000..915726be1cd67eb165724a8390b51a57fe0dd6df --- /dev/null +++ b/checkpoint-90/adapter_config.json @@ -0,0 +1,50 @@ +{ + "alora_invocation_tokens": null, + "alpha_pattern": {}, + "arrow_config": null, + "auto_mapping": { + "base_model_class": "Gemma4ForConditionalGeneration", + "parent_library": "transformers.models.gemma4.modeling_gemma4", + "unsloth_fixed": true + }, + "base_model_name_or_path": "unsloth/gemma-4-e2b-it-unsloth-bnb-4bit", + "bias": "none", + "corda_config": null, + "ensure_weight_tying": false, + "eva_config": null, + "exclude_modules": null, + "fan_in_fan_out": false, + "inference_mode": true, + "init_lora_weights": true, + "layer_replication": null, + "layers_pattern": null, + "layers_to_transform": null, + "loftq_config": {}, + "lora_alpha": 32, + "lora_bias": false, + "lora_dropout": 0.0, + "megatron_config": null, + "megatron_core": "megatron.core", + "modules_to_save": null, + "peft_type": "LORA", + "peft_version": "0.18.1", + "qalora_group_size": 16, + "r": 16, + "rank_pattern": {}, + "revision": null, + "target_modules": [ + "q_proj", + "gate_proj", + "v_proj", + "k_proj", + "down_proj", + "o_proj", + "up_proj" + ], + "target_parameters": null, + "task_type": "CAUSAL_LM", + "trainable_token_indices": null, + "use_dora": false, + "use_qalora": false, + "use_rslora": false +} \ No newline at end of file diff --git a/checkpoint-90/adapter_model.safetensors b/checkpoint-90/adapter_model.safetensors new file mode 100644 index 0000000000000000000000000000000000000000..2ff646fa4d6dbe4efe1ab27e762648586c80fbae --- /dev/null +++ b/checkpoint-90/adapter_model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c502292a1aa06ad1514b3747bdcd6ea2d8763e2cc2c20521d9de8bea8f91445 +size 124277728 diff --git a/checkpoint-90/chat_template.jinja b/checkpoint-90/chat_template.jinja new file mode 100644 index 0000000000000000000000000000000000000000..dc032e46e28e0d325b18d26da1279cdda3afa8d7 --- /dev/null +++ b/checkpoint-90/chat_template.jinja @@ -0,0 +1,351 @@ +{%- 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('') -%} + {%- 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 -%} + {{- '' -}} +{%- 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 -}} + {{- '' -}} + {%- endfor %} + {%- set ns.prev_message_type = 'tool' -%} + {%- endif -%} + {{- '\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' -}} + {%- 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 -%} + {{- '}' -}} + {%- 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) -}} + {%- 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) -%} + {{- '\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 -%} \ No newline at end of file diff --git a/checkpoint-90/optimizer.pt b/checkpoint-90/optimizer.pt new file mode 100644 index 0000000000000000000000000000000000000000..154e74bc05e1b476c3fd693a85e8a0c388b97968 --- /dev/null +++ b/checkpoint-90/optimizer.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4e94ed4db661d14cf932bb86888803dc4c15541e3da47c6dff0de5eda6257a1 +size 52047117 diff --git a/checkpoint-90/processor_config.json b/checkpoint-90/processor_config.json new file mode 100644 index 0000000000000000000000000000000000000000..bfaa5e360ad17c2761b7ee3b05abf03e381e8aa1 --- /dev/null +++ b/checkpoint-90/processor_config.json @@ -0,0 +1,75 @@ +{ + "audio_ms_per_token": 40, + "audio_seq_length": 750, + "feature_extractor": { + "dither": 0.0, + "feature_extractor_type": "Gemma4AudioFeatureExtractor", + "feature_size": 128, + "fft_length": 512, + "fft_overdrive": false, + "frame_length": 320, + "hop_length": 160, + "input_scale_factor": 1.0, + "max_frequency": 8000.0, + "mel_floor": 0.001, + "min_frequency": 0.0, + "padding_side": "left", + "padding_value": 0.0, + "per_bin_mean": null, + "per_bin_stddev": null, + "preemphasis": 0.0, + "preemphasis_htk_flavor": true, + "return_attention_mask": true, + "sampling_rate": 16000 + }, + "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 + }, + "image_seq_length": 280, + "processor_class": "Gemma4Processor", + "video_processor": { + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "do_sample_frames": true, + "image_mean": [ + 0.0, + 0.0, + 0.0 + ], + "image_std": [ + 1.0, + 1.0, + 1.0 + ], + "max_soft_tokens": 70, + "num_frames": 32, + "patch_size": 16, + "pooling_kernel_size": 3, + "resample": 3, + "rescale_factor": 0.00392156862745098, + "return_metadata": false, + "video_processor_type": "Gemma4VideoProcessor" + } +} diff --git a/checkpoint-90/rng_state.pth b/checkpoint-90/rng_state.pth new file mode 100644 index 0000000000000000000000000000000000000000..3ef66339b9befa098183fd5d69faed6838e526b0 --- /dev/null +++ b/checkpoint-90/rng_state.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1d565802a8e26c4e8a31328752b7a7fdc186d9401aa008e65697d0ad8c22e33 +size 14645 diff --git a/checkpoint-90/scaler.pt b/checkpoint-90/scaler.pt new file mode 100644 index 0000000000000000000000000000000000000000..4a06317be2d1b384d3ded50889236ba6160e7c5f --- /dev/null +++ b/checkpoint-90/scaler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:514519403b4ca514f8ce9852255fb8898d761d1af37eddca5abb7c9fcbc625f2 +size 1383 diff --git a/checkpoint-90/scheduler.pt b/checkpoint-90/scheduler.pt new file mode 100644 index 0000000000000000000000000000000000000000..1becef20a58b91d9e18a24a65500e480fb320848 --- /dev/null +++ b/checkpoint-90/scheduler.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f184f860b1a0c496e18c8da358bd285378b2088458ee6f7f666d5a88bc7f2edd +size 1465 diff --git a/checkpoint-90/tokenizer.json b/checkpoint-90/tokenizer.json new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f3e3439a939b971f9919e821bf87e835a503 --- /dev/null +++ b/checkpoint-90/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8d3a0ce36466ccc1278bf987df5f71db1719b9ca6b4118264f45cb627bfe0f +size 32169626 diff --git a/checkpoint-90/tokenizer_config.json b/checkpoint-90/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..24b1522bb32b0eb05b631b1a9f112751b8cb0fab --- /dev/null +++ b/checkpoint-90/tokenizer_config.json @@ -0,0 +1,289 @@ +{ + "audio_token": "<|audio|>", + "backend": "tokenizers", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "bos_token": "", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eos_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "extra_special_tokens": [ + "<|video|>" + ], + "image_token": "<|image|>", + "is_local": false, + "mask_token": "", + "model_max_length": 131072, + "model_specific_special_tokens": { + "audio_token": "<|audio|>", + "boa_token": "<|audio>", + "boi_token": "<|image>", + "eoa_token": "", + "eoc_token": "", + "eoi_token": "", + "eot_token": "", + "escape_token": "<|\"|>", + "etc_token": "", + "etd_token": "", + "etr_token": "", + "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": "", + "padding_side": "right", + "processor_class": "Gemma4Processor", + "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\\w+)(?P\\{.*\\})" + }, + "type": { + "const": "function" + } + }, + "type": "object" + }, + "type": "array", + "x-regex-iterator": "<\\|tool_call>(.*?)" + } + }, + "type": "object", + "x-regex": "(\\<\\|channel\\>thought\\n(?P.*?)\\)?(?P\\<\\|tool_call\\>.*\\)?(?P(?:(?!\\)(?!\\<\\|tool_response\\>).)+)?(?:\\|\\<\\|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": "", + "added_tokens_decoder": { + "0": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "1": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "2": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "3": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "4": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "46": { + "content": "<|tool>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "47": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "48": { + "content": "<|tool_call>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "49": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "50": { + "content": "<|tool_response>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "51": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "52": { + "content": "<|\"|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "98": { + "content": "<|think|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "100": { + "content": "<|channel>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "101": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "105": { + "content": "<|turn>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "106": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "255999": { + "content": "<|image>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "256000": { + "content": "<|audio>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258880": { + "content": "<|image|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258881": { + "content": "<|audio|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258882": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258883": { + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + "258884": { + "content": "<|video|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + } +} diff --git a/checkpoint-90/trainer_state.json b/checkpoint-90/trainer_state.json new file mode 100644 index 0000000000000000000000000000000000000000..25f8c88be1a52ae9b0fbc24744bf360fd0bf04a4 --- /dev/null +++ b/checkpoint-90/trainer_state.json @@ -0,0 +1,934 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 0.021301775147928994, + "eval_steps": 500, + "global_step": 90, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.00023668639053254438, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.347962379455566, + "num_input_tokens_seen": 842, + "step": 1, + "train_runtime": 63.0289, + "train_tokens_per_second": 13.359 + }, + { + "epoch": 0.00047337278106508875, + "grad_norm": NaN, + "learning_rate": 0.0, + "loss": 4.634688854217529, + "num_input_tokens_seen": 1820, + "step": 2, + "train_runtime": 67.7033, + "train_tokens_per_second": 26.882 + }, + { + "epoch": 0.0007100591715976331, + "grad_norm": 13.944212913513184, + "learning_rate": 0.0, + "loss": 4.42241096496582, + "num_input_tokens_seen": 2754, + "step": 3, + "train_runtime": 72.324, + "train_tokens_per_second": 38.079 + }, + { + "epoch": 0.0009467455621301775, + "grad_norm": 13.445413589477539, + "learning_rate": 4e-05, + "loss": 4.682804107666016, + "num_input_tokens_seen": 3700, + "step": 4, + "train_runtime": 75.3925, + "train_tokens_per_second": 49.077 + }, + { + "epoch": 0.001183431952662722, + "grad_norm": 10.576727867126465, + "learning_rate": 8e-05, + "loss": 4.166159629821777, + "num_input_tokens_seen": 4714, + "step": 5, + "train_runtime": 78.474, + "train_tokens_per_second": 60.071 + }, + { + "epoch": 0.0014201183431952662, + "grad_norm": 8.077850341796875, + "learning_rate": 0.00012, + "loss": 3.2006261348724365, + "num_input_tokens_seen": 5674, + "step": 6, + "train_runtime": 81.6139, + "train_tokens_per_second": 69.522 + }, + { + "epoch": 0.0016568047337278107, + "grad_norm": 6.60789680480957, + "learning_rate": 0.00016, + "loss": 2.7067415714263916, + "num_input_tokens_seen": 6646, + "step": 7, + "train_runtime": 84.786, + "train_tokens_per_second": 78.386 + }, + { + "epoch": 0.001893491124260355, + "grad_norm": 9.175209045410156, + "learning_rate": 0.0002, + "loss": 2.367570638656616, + "num_input_tokens_seen": 7518, + "step": 8, + "train_runtime": 87.8178, + "train_tokens_per_second": 85.609 + }, + { + "epoch": 0.0021301775147928993, + "grad_norm": 3.438948631286621, + "learning_rate": 0.00019891891891891895, + "loss": 2.1013119220733643, + "num_input_tokens_seen": 8470, + "step": 9, + "train_runtime": 90.9458, + "train_tokens_per_second": 93.132 + }, + { + "epoch": 0.002366863905325444, + "grad_norm": 3.459472894668579, + "learning_rate": 0.00019783783783783784, + "loss": 1.8991940021514893, + "num_input_tokens_seen": 9458, + "step": 10, + "train_runtime": 94.0577, + "train_tokens_per_second": 100.555 + }, + { + "epoch": 0.0026035502958579883, + "grad_norm": 2.169750928878784, + "learning_rate": 0.00019675675675675678, + "loss": 1.7395055294036865, + "num_input_tokens_seen": 10456, + "step": 11, + "train_runtime": 97.2068, + "train_tokens_per_second": 107.565 + }, + { + "epoch": 0.0028402366863905324, + "grad_norm": 1.8638927936553955, + "learning_rate": 0.00019567567567567567, + "loss": 1.5622950792312622, + "num_input_tokens_seen": 11410, + "step": 12, + "train_runtime": 100.2911, + "train_tokens_per_second": 113.769 + }, + { + "epoch": 0.003076923076923077, + "grad_norm": 1.4741116762161255, + "learning_rate": 0.00019459459459459462, + "loss": 1.392699956893921, + "num_input_tokens_seen": 12316, + "step": 13, + "train_runtime": 103.3664, + "train_tokens_per_second": 119.149 + }, + { + "epoch": 0.0033136094674556214, + "grad_norm": 1.3238699436187744, + "learning_rate": 0.00019351351351351353, + "loss": 1.2535074949264526, + "num_input_tokens_seen": 13256, + "step": 14, + "train_runtime": 106.4031, + "train_tokens_per_second": 124.583 + }, + { + "epoch": 0.0035502958579881655, + "grad_norm": 1.276484489440918, + "learning_rate": 0.00019243243243243245, + "loss": 1.135048508644104, + "num_input_tokens_seen": 14228, + "step": 15, + "train_runtime": 109.4909, + "train_tokens_per_second": 129.947 + }, + { + "epoch": 0.00378698224852071, + "grad_norm": 1.1560865640640259, + "learning_rate": 0.00019135135135135137, + "loss": 1.0317097902297974, + "num_input_tokens_seen": 15192, + "step": 16, + "train_runtime": 112.5741, + "train_tokens_per_second": 134.951 + }, + { + "epoch": 0.004023668639053254, + "grad_norm": 1.1331353187561035, + "learning_rate": 0.00019027027027027028, + "loss": 0.9967219233512878, + "num_input_tokens_seen": 16130, + "step": 17, + "train_runtime": 115.6495, + "train_tokens_per_second": 139.473 + }, + { + "epoch": 0.004260355029585799, + "grad_norm": 1.1567702293395996, + "learning_rate": 0.0001891891891891892, + "loss": 0.905368447303772, + "num_input_tokens_seen": 17078, + "step": 18, + "train_runtime": 118.6796, + "train_tokens_per_second": 143.9 + }, + { + "epoch": 0.004497041420118343, + "grad_norm": 0.9157600998878479, + "learning_rate": 0.00018810810810810814, + "loss": 0.8075690865516663, + "num_input_tokens_seen": 18062, + "step": 19, + "train_runtime": 121.8602, + "train_tokens_per_second": 148.219 + }, + { + "epoch": 0.004733727810650888, + "grad_norm": 0.8306605815887451, + "learning_rate": 0.00018702702702702703, + "loss": 0.8007175922393799, + "num_input_tokens_seen": 19078, + "step": 20, + "train_runtime": 125.0019, + "train_tokens_per_second": 152.622 + }, + { + "epoch": 0.004970414201183432, + "grad_norm": 0.690018355846405, + "learning_rate": 0.00018594594594594597, + "loss": 0.7810791730880737, + "num_input_tokens_seen": 20068, + "step": 21, + "train_runtime": 128.0932, + "train_tokens_per_second": 156.667 + }, + { + "epoch": 0.005207100591715977, + "grad_norm": 1.4768867492675781, + "learning_rate": 0.00018486486486486486, + "loss": 0.7172120809555054, + "num_input_tokens_seen": 20972, + "step": 22, + "train_runtime": 131.0901, + "train_tokens_per_second": 159.982 + }, + { + "epoch": 0.00544378698224852, + "grad_norm": 0.7999809980392456, + "learning_rate": 0.0001837837837837838, + "loss": 0.6333726048469543, + "num_input_tokens_seen": 21900, + "step": 23, + "train_runtime": 134.212, + "train_tokens_per_second": 163.175 + }, + { + "epoch": 0.005680473372781065, + "grad_norm": 0.9285996556282043, + "learning_rate": 0.00018270270270270272, + "loss": 0.6750729084014893, + "num_input_tokens_seen": 22770, + "step": 24, + "train_runtime": 137.3193, + "train_tokens_per_second": 165.818 + }, + { + "epoch": 0.005917159763313609, + "grad_norm": 0.7733820080757141, + "learning_rate": 0.00018162162162162164, + "loss": 0.672032356262207, + "num_input_tokens_seen": 23746, + "step": 25, + "train_runtime": 140.3175, + "train_tokens_per_second": 169.23 + }, + { + "epoch": 0.006153846153846154, + "grad_norm": 0.73944091796875, + "learning_rate": 0.00018054054054054055, + "loss": 0.6716101169586182, + "num_input_tokens_seen": 24716, + "step": 26, + "train_runtime": 143.3683, + "train_tokens_per_second": 172.395 + }, + { + "epoch": 0.006390532544378698, + "grad_norm": 0.7659372091293335, + "learning_rate": 0.00017945945945945947, + "loss": 0.6067175269126892, + "num_input_tokens_seen": 25724, + "step": 27, + "train_runtime": 146.5377, + "train_tokens_per_second": 175.545 + }, + { + "epoch": 0.006627218934911243, + "grad_norm": 0.5428617000579834, + "learning_rate": 0.00017837837837837839, + "loss": 0.6083395481109619, + "num_input_tokens_seen": 26712, + "step": 28, + "train_runtime": 149.6429, + "train_tokens_per_second": 178.505 + }, + { + "epoch": 0.006863905325443787, + "grad_norm": 0.5915114283561707, + "learning_rate": 0.00017729729729729733, + "loss": 0.6463742256164551, + "num_input_tokens_seen": 27704, + "step": 29, + "train_runtime": 152.7501, + "train_tokens_per_second": 181.368 + }, + { + "epoch": 0.007100591715976331, + "grad_norm": 1.3350757360458374, + "learning_rate": 0.00017621621621621622, + "loss": 0.5705698132514954, + "num_input_tokens_seen": 28648, + "step": 30, + "train_runtime": 155.8918, + "train_tokens_per_second": 183.768 + }, + { + "epoch": 0.0073372781065088755, + "grad_norm": 0.68421471118927, + "learning_rate": 0.00017513513513513516, + "loss": 0.5660746097564697, + "num_input_tokens_seen": 29622, + "step": 31, + "train_runtime": 163.3209, + "train_tokens_per_second": 181.373 + }, + { + "epoch": 0.00757396449704142, + "grad_norm": 0.5762604475021362, + "learning_rate": 0.00017405405405405405, + "loss": 0.5483309030532837, + "num_input_tokens_seen": 30534, + "step": 32, + "train_runtime": 166.5185, + "train_tokens_per_second": 183.367 + }, + { + "epoch": 0.0078106508875739646, + "grad_norm": 0.5751784443855286, + "learning_rate": 0.000172972972972973, + "loss": 0.5207005739212036, + "num_input_tokens_seen": 31458, + "step": 33, + "train_runtime": 169.7055, + "train_tokens_per_second": 185.368 + }, + { + "epoch": 0.008047337278106508, + "grad_norm": 0.5752039551734924, + "learning_rate": 0.0001718918918918919, + "loss": 0.5534584522247314, + "num_input_tokens_seen": 32424, + "step": 34, + "train_runtime": 172.9184, + "train_tokens_per_second": 187.51 + }, + { + "epoch": 0.008284023668639054, + "grad_norm": 0.5918363332748413, + "learning_rate": 0.00017081081081081083, + "loss": 0.482683002948761, + "num_input_tokens_seen": 33398, + "step": 35, + "train_runtime": 176.2158, + "train_tokens_per_second": 189.529 + }, + { + "epoch": 0.008520710059171597, + "grad_norm": 0.6921846270561218, + "learning_rate": 0.00016972972972972974, + "loss": 0.46112507581710815, + "num_input_tokens_seen": 34324, + "step": 36, + "train_runtime": 179.3173, + "train_tokens_per_second": 191.415 + }, + { + "epoch": 0.008757396449704143, + "grad_norm": 0.6429721117019653, + "learning_rate": 0.00016864864864864866, + "loss": 0.45629197359085083, + "num_input_tokens_seen": 35270, + "step": 37, + "train_runtime": 182.3558, + "train_tokens_per_second": 193.413 + }, + { + "epoch": 0.008994082840236686, + "grad_norm": 0.5477020740509033, + "learning_rate": 0.00016756756756756757, + "loss": 0.4547877907752991, + "num_input_tokens_seen": 36206, + "step": 38, + "train_runtime": 185.4483, + "train_tokens_per_second": 195.235 + }, + { + "epoch": 0.009230769230769232, + "grad_norm": 0.6158634424209595, + "learning_rate": 0.00016648648648648652, + "loss": 0.367482990026474, + "num_input_tokens_seen": 37080, + "step": 39, + "train_runtime": 188.5114, + "train_tokens_per_second": 196.699 + }, + { + "epoch": 0.009467455621301775, + "grad_norm": 0.5405091643333435, + "learning_rate": 0.0001654054054054054, + "loss": 0.42049410939216614, + "num_input_tokens_seen": 38030, + "step": 40, + "train_runtime": 191.5986, + "train_tokens_per_second": 198.488 + }, + { + "epoch": 0.009704142011834319, + "grad_norm": 0.6389183402061462, + "learning_rate": 0.00016432432432432435, + "loss": 0.3935014307498932, + "num_input_tokens_seen": 38942, + "step": 41, + "train_runtime": 194.8426, + "train_tokens_per_second": 199.864 + }, + { + "epoch": 0.009940828402366864, + "grad_norm": 0.6742956042289734, + "learning_rate": 0.00016324324324324324, + "loss": 0.4373692274093628, + "num_input_tokens_seen": 39902, + "step": 42, + "train_runtime": 197.8938, + "train_tokens_per_second": 201.633 + }, + { + "epoch": 0.010177514792899408, + "grad_norm": 0.6083794236183167, + "learning_rate": 0.00016216216216216218, + "loss": 0.3776765465736389, + "num_input_tokens_seen": 40858, + "step": 43, + "train_runtime": 200.9708, + "train_tokens_per_second": 203.303 + }, + { + "epoch": 0.010414201183431953, + "grad_norm": 0.5469992160797119, + "learning_rate": 0.0001610810810810811, + "loss": 0.31133151054382324, + "num_input_tokens_seen": 41760, + "step": 44, + "train_runtime": 204.1304, + "train_tokens_per_second": 204.575 + }, + { + "epoch": 0.010650887573964497, + "grad_norm": 0.6452498435974121, + "learning_rate": 0.00016, + "loss": 0.42721521854400635, + "num_input_tokens_seen": 42740, + "step": 45, + "train_runtime": 207.1845, + "train_tokens_per_second": 206.29 + }, + { + "epoch": 0.01088757396449704, + "grad_norm": 0.5988945960998535, + "learning_rate": 0.00015891891891891893, + "loss": 0.41375258564949036, + "num_input_tokens_seen": 43750, + "step": 46, + "train_runtime": 210.2912, + "train_tokens_per_second": 208.045 + }, + { + "epoch": 0.011124260355029586, + "grad_norm": 0.6452038288116455, + "learning_rate": 0.00015783783783783785, + "loss": 0.3485276699066162, + "num_input_tokens_seen": 44690, + "step": 47, + "train_runtime": 213.3684, + "train_tokens_per_second": 209.45 + }, + { + "epoch": 0.01136094674556213, + "grad_norm": 0.7041454911231995, + "learning_rate": 0.00015675675675675676, + "loss": 0.3296637535095215, + "num_input_tokens_seen": 45666, + "step": 48, + "train_runtime": 216.4459, + "train_tokens_per_second": 210.981 + }, + { + "epoch": 0.011597633136094675, + "grad_norm": 0.6726324558258057, + "learning_rate": 0.0001556756756756757, + "loss": 0.3179457187652588, + "num_input_tokens_seen": 46560, + "step": 49, + "train_runtime": 219.4697, + "train_tokens_per_second": 212.148 + }, + { + "epoch": 0.011834319526627219, + "grad_norm": 0.7513703107833862, + "learning_rate": 0.0001545945945945946, + "loss": 0.3722391426563263, + "num_input_tokens_seen": 47528, + "step": 50, + "train_runtime": 222.596, + "train_tokens_per_second": 213.517 + }, + { + "epoch": 0.012071005917159764, + "grad_norm": 0.6454160213470459, + "learning_rate": 0.00015351351351351354, + "loss": 0.283376544713974, + "num_input_tokens_seen": 48468, + "step": 51, + "train_runtime": 225.7262, + "train_tokens_per_second": 214.72 + }, + { + "epoch": 0.012307692307692308, + "grad_norm": 0.9116244316101074, + "learning_rate": 0.00015243243243243243, + "loss": 0.4286752939224243, + "num_input_tokens_seen": 49444, + "step": 52, + "train_runtime": 228.803, + "train_tokens_per_second": 216.099 + }, + { + "epoch": 0.012544378698224851, + "grad_norm": 0.6157099604606628, + "learning_rate": 0.00015135135135135137, + "loss": 0.27355721592903137, + "num_input_tokens_seen": 50424, + "step": 53, + "train_runtime": 231.8413, + "train_tokens_per_second": 217.494 + }, + { + "epoch": 0.012781065088757397, + "grad_norm": 0.6335808038711548, + "learning_rate": 0.00015027027027027028, + "loss": 0.37197017669677734, + "num_input_tokens_seen": 51328, + "step": 54, + "train_runtime": 234.9265, + "train_tokens_per_second": 218.485 + }, + { + "epoch": 0.01301775147928994, + "grad_norm": 0.6838424205780029, + "learning_rate": 0.0001491891891891892, + "loss": 0.3504602909088135, + "num_input_tokens_seen": 52274, + "step": 55, + "train_runtime": 238.0114, + "train_tokens_per_second": 219.628 + }, + { + "epoch": 0.013254437869822486, + "grad_norm": 0.6566418409347534, + "learning_rate": 0.00014810810810810812, + "loss": 0.3189927935600281, + "num_input_tokens_seen": 53214, + "step": 56, + "train_runtime": 241.0892, + "train_tokens_per_second": 220.723 + }, + { + "epoch": 0.01349112426035503, + "grad_norm": 0.6112971901893616, + "learning_rate": 0.00014702702702702703, + "loss": 0.3080369830131531, + "num_input_tokens_seen": 54162, + "step": 57, + "train_runtime": 244.2461, + "train_tokens_per_second": 221.752 + }, + { + "epoch": 0.013727810650887575, + "grad_norm": 0.6469757556915283, + "learning_rate": 0.00014594594594594595, + "loss": 0.24279898405075073, + "num_input_tokens_seen": 55158, + "step": 58, + "train_runtime": 247.4064, + "train_tokens_per_second": 222.945 + }, + { + "epoch": 0.013964497041420118, + "grad_norm": 0.7099384665489197, + "learning_rate": 0.0001448648648648649, + "loss": 0.31188705563545227, + "num_input_tokens_seen": 56096, + "step": 59, + "train_runtime": 250.4708, + "train_tokens_per_second": 223.962 + }, + { + "epoch": 0.014201183431952662, + "grad_norm": 0.5927040576934814, + "learning_rate": 0.00014378378378378378, + "loss": 0.25696688890457153, + "num_input_tokens_seen": 57012, + "step": 60, + "train_runtime": 253.7131, + "train_tokens_per_second": 224.711 + }, + { + "epoch": 0.014437869822485207, + "grad_norm": 0.5483338236808777, + "learning_rate": 0.00014270270270270272, + "loss": 0.2725352644920349, + "num_input_tokens_seen": 58036, + "step": 61, + "train_runtime": 260.2844, + "train_tokens_per_second": 222.971 + }, + { + "epoch": 0.014674556213017751, + "grad_norm": 0.6806847453117371, + "learning_rate": 0.00014162162162162161, + "loss": 0.31959983706474304, + "num_input_tokens_seen": 59026, + "step": 62, + "train_runtime": 263.3802, + "train_tokens_per_second": 224.109 + }, + { + "epoch": 0.014911242603550296, + "grad_norm": 0.6916660070419312, + "learning_rate": 0.00014054054054054056, + "loss": 0.312305748462677, + "num_input_tokens_seen": 59982, + "step": 63, + "train_runtime": 266.3794, + "train_tokens_per_second": 225.175 + }, + { + "epoch": 0.01514792899408284, + "grad_norm": 0.5516266226768494, + "learning_rate": 0.00013945945945945947, + "loss": 0.2653953433036804, + "num_input_tokens_seen": 60926, + "step": 64, + "train_runtime": 269.3893, + "train_tokens_per_second": 226.163 + }, + { + "epoch": 0.015384615384615385, + "grad_norm": 0.5579270720481873, + "learning_rate": 0.0001383783783783784, + "loss": 0.20462818443775177, + "num_input_tokens_seen": 61844, + "step": 65, + "train_runtime": 272.3982, + "train_tokens_per_second": 227.035 + }, + { + "epoch": 0.015621301775147929, + "grad_norm": 0.7645660638809204, + "learning_rate": 0.0001372972972972973, + "loss": 0.2650893032550812, + "num_input_tokens_seen": 62766, + "step": 66, + "train_runtime": 275.404, + "train_tokens_per_second": 227.905 + }, + { + "epoch": 0.015857988165680473, + "grad_norm": 0.5974738001823425, + "learning_rate": 0.00013621621621621622, + "loss": 0.21247778832912445, + "num_input_tokens_seen": 63690, + "step": 67, + "train_runtime": 278.4021, + "train_tokens_per_second": 228.77 + }, + { + "epoch": 0.016094674556213016, + "grad_norm": 0.5831193327903748, + "learning_rate": 0.00013513513513513514, + "loss": 0.2024172842502594, + "num_input_tokens_seen": 64496, + "step": 68, + "train_runtime": 281.4313, + "train_tokens_per_second": 229.171 + }, + { + "epoch": 0.016331360946745564, + "grad_norm": 0.8678795695304871, + "learning_rate": 0.00013405405405405408, + "loss": 0.31490638852119446, + "num_input_tokens_seen": 65460, + "step": 69, + "train_runtime": 284.6137, + "train_tokens_per_second": 229.996 + }, + { + "epoch": 0.016568047337278107, + "grad_norm": 0.7611344456672668, + "learning_rate": 0.00013297297297297297, + "loss": 0.24661925435066223, + "num_input_tokens_seen": 66374, + "step": 70, + "train_runtime": 287.7742, + "train_tokens_per_second": 230.646 + }, + { + "epoch": 0.01680473372781065, + "grad_norm": 0.6685308814048767, + "learning_rate": 0.0001318918918918919, + "loss": 0.1843535602092743, + "num_input_tokens_seen": 67112, + "step": 71, + "train_runtime": 290.9321, + "train_tokens_per_second": 230.679 + }, + { + "epoch": 0.017041420118343194, + "grad_norm": 0.6150883436203003, + "learning_rate": 0.0001308108108108108, + "loss": 0.23372295498847961, + "num_input_tokens_seen": 68154, + "step": 72, + "train_runtime": 294.0809, + "train_tokens_per_second": 231.753 + }, + { + "epoch": 0.017278106508875738, + "grad_norm": 0.6938812732696533, + "learning_rate": 0.00012972972972972974, + "loss": 0.22619186341762543, + "num_input_tokens_seen": 69102, + "step": 73, + "train_runtime": 297.1843, + "train_tokens_per_second": 232.522 + }, + { + "epoch": 0.017514792899408285, + "grad_norm": 0.617787778377533, + "learning_rate": 0.00012864864864864866, + "loss": 0.2535328269004822, + "num_input_tokens_seen": 70010, + "step": 74, + "train_runtime": 300.2851, + "train_tokens_per_second": 233.145 + }, + { + "epoch": 0.01775147928994083, + "grad_norm": 0.6884900331497192, + "learning_rate": 0.00012756756756756758, + "loss": 0.21632739901542664, + "num_input_tokens_seen": 70940, + "step": 75, + "train_runtime": 303.3533, + "train_tokens_per_second": 233.853 + }, + { + "epoch": 0.017988165680473372, + "grad_norm": 0.5782189965248108, + "learning_rate": 0.0001264864864864865, + "loss": 0.20167675614356995, + "num_input_tokens_seen": 71862, + "step": 76, + "train_runtime": 306.4503, + "train_tokens_per_second": 234.498 + }, + { + "epoch": 0.018224852071005916, + "grad_norm": 0.6541483402252197, + "learning_rate": 0.0001254054054054054, + "loss": 0.23231221735477448, + "num_input_tokens_seen": 72812, + "step": 77, + "train_runtime": 309.5743, + "train_tokens_per_second": 235.2 + }, + { + "epoch": 0.018461538461538463, + "grad_norm": 0.7524886727333069, + "learning_rate": 0.00012432432432432433, + "loss": 0.27632662653923035, + "num_input_tokens_seen": 73774, + "step": 78, + "train_runtime": 312.6963, + "train_tokens_per_second": 235.929 + }, + { + "epoch": 0.018698224852071007, + "grad_norm": 0.716282308101654, + "learning_rate": 0.00012324324324324327, + "loss": 0.2734939754009247, + "num_input_tokens_seen": 74716, + "step": 79, + "train_runtime": 315.7612, + "train_tokens_per_second": 236.622 + }, + { + "epoch": 0.01893491124260355, + "grad_norm": 0.7010631561279297, + "learning_rate": 0.00012216216216216216, + "loss": 0.2774362564086914, + "num_input_tokens_seen": 75692, + "step": 80, + "train_runtime": 318.7983, + "train_tokens_per_second": 237.429 + }, + { + "epoch": 0.019171597633136094, + "grad_norm": 0.6561240553855896, + "learning_rate": 0.00012108108108108109, + "loss": 0.21640686690807343, + "num_input_tokens_seen": 76558, + "step": 81, + "train_runtime": 321.889, + "train_tokens_per_second": 237.84 + }, + { + "epoch": 0.019408284023668638, + "grad_norm": 0.5552831888198853, + "learning_rate": 0.00012, + "loss": 0.21232956647872925, + "num_input_tokens_seen": 77408, + "step": 82, + "train_runtime": 325.0469, + "train_tokens_per_second": 238.144 + }, + { + "epoch": 0.019644970414201185, + "grad_norm": 0.5905120372772217, + "learning_rate": 0.00011891891891891893, + "loss": 0.22443550825119019, + "num_input_tokens_seen": 78278, + "step": 83, + "train_runtime": 328.099, + "train_tokens_per_second": 238.58 + }, + { + "epoch": 0.01988165680473373, + "grad_norm": 0.6606366634368896, + "learning_rate": 0.00011783783783783784, + "loss": 0.2400747388601303, + "num_input_tokens_seen": 79262, + "step": 84, + "train_runtime": 331.1361, + "train_tokens_per_second": 239.364 + }, + { + "epoch": 0.020118343195266272, + "grad_norm": 0.6508055329322815, + "learning_rate": 0.00011675675675675676, + "loss": 0.19072499871253967, + "num_input_tokens_seen": 80144, + "step": 85, + "train_runtime": 334.2158, + "train_tokens_per_second": 239.797 + }, + { + "epoch": 0.020355029585798816, + "grad_norm": 0.606562614440918, + "learning_rate": 0.00011567567567567568, + "loss": 0.20951862633228302, + "num_input_tokens_seen": 81108, + "step": 86, + "train_runtime": 337.3105, + "train_tokens_per_second": 240.455 + }, + { + "epoch": 0.02059171597633136, + "grad_norm": 0.6757521629333496, + "learning_rate": 0.00011459459459459461, + "loss": 0.17614495754241943, + "num_input_tokens_seen": 82032, + "step": 87, + "train_runtime": 340.3438, + "train_tokens_per_second": 241.027 + }, + { + "epoch": 0.020828402366863907, + "grad_norm": 0.671481728553772, + "learning_rate": 0.00011351351351351351, + "loss": 0.1901710331439972, + "num_input_tokens_seen": 82954, + "step": 88, + "train_runtime": 343.4059, + "train_tokens_per_second": 241.563 + }, + { + "epoch": 0.02106508875739645, + "grad_norm": 0.5919027924537659, + "learning_rate": 0.00011243243243243244, + "loss": 0.1563737988471985, + "num_input_tokens_seen": 83880, + "step": 89, + "train_runtime": 346.5125, + "train_tokens_per_second": 242.069 + }, + { + "epoch": 0.021301775147928994, + "grad_norm": 0.7108309268951416, + "learning_rate": 0.00011135135135135135, + "loss": 0.17256894707679749, + "num_input_tokens_seen": 84852, + "step": 90, + "train_runtime": 349.6508, + "train_tokens_per_second": 242.676 + } + ], + "logging_steps": 1, + "max_steps": 190, + "num_input_tokens_seen": 84852, + "num_train_epochs": 1, + "save_steps": 30, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": false + }, + "attributes": {} + } + }, + "total_flos": 1223270935176960.0, + "train_batch_size": 2, + "trial_name": null, + "trial_params": null +} diff --git a/checkpoint-90/training_args.bin b/checkpoint-90/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/checkpoint-90/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777 diff --git a/tokenizer_config.json b/tokenizer_config.json index 792273d8cda6b682587fbcaf56ab762158a13116..24b1522bb32b0eb05b631b1a9f112751b8cb0fab 100644 --- a/tokenizer_config.json +++ b/tokenizer_config.json @@ -41,7 +41,7 @@ "think_token": "<|think|>" }, "pad_token": "", - "padding_side": "left", + "padding_side": "right", "processor_class": "Gemma4Processor", "response_schema": { "properties": { @@ -285,6 +285,5 @@ "normalized": false, "special": true } - }, - "chat_template": "{%- macro format_parameters(properties, required, filter_keys=false) -%}\n {%- set standard_keys = ['description', 'type', 'properties', 'required', 'nullable'] -%}\n {%- set ns = namespace(found_first=false) -%}\n {%- for key, value in properties | dictsort -%}\n {%- set add_comma = false -%}\n {%- if not filter_keys or key not in standard_keys -%}\n {%- if ns.found_first %},{% endif -%}\n {%- set ns.found_first = true -%}\n {{ key }}:{\n {%- if value['description'] -%}\n description:<|\"|>{{ value['description'] }}<|\"|>\n {%- set add_comma = true -%}\n {%- endif -%}\n {%- if value['type'] | upper == 'STRING' -%}\n {%- if value['enum'] -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n enum:{{ format_argument(value['enum']) }}\n {%- endif -%}\n {%- elif value['type'] | upper == 'ARRAY' -%}\n {%- if value['items'] is mapping and value['items'] -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n items:{\n {%- set ns_items = namespace(found_first=false) -%}\n {%- for item_key, item_value in value['items'] | dictsort -%}\n {%- if item_value is not none -%}\n {%- if ns_items.found_first %},{% endif -%}\n {%- set ns_items.found_first = true -%}\n {%- if item_key == 'properties' -%}\n properties:{\n {%- if item_value is mapping -%}\n {{- format_parameters(item_value, value['items']['required'] | default([])) -}}\n {%- endif -%}\n }\n {%- elif item_key == 'required' -%}\n required:[\n {%- for req_item in item_value -%}\n <|\"|>{{- req_item -}}<|\"|>\n {%- if not loop.last %},{% endif -%}\n {%- endfor -%}\n ]\n {%- elif item_key == 'type' -%}\n {%- if item_value is string -%}\n type:{{ format_argument(item_value | upper) }}\n {%- else -%}\n type:{{ format_argument(item_value | map('upper') | list) }}\n {%- endif -%}\n {%- else -%}\n {{ item_key }}:{{ format_argument(item_value) }}\n {%- endif -%}\n {%- endif -%}\n {%- endfor -%}\n }\n {%- endif -%}\n {%- endif -%}\n {%- if value['nullable'] %}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n nullable:true\n {%- endif -%}\n {%- if value['type'] | upper == 'OBJECT' -%}\n {%- if value['properties'] is defined and value['properties'] is mapping -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n properties:{\n {{- format_parameters(value['properties'], value['required'] | default([])) -}}\n }\n {%- elif value is mapping -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n properties:{\n {{- format_parameters(value, value['required'] | default([]), filter_keys=true) -}}\n }\n {%- endif -%}\n {%- if value['required'] -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n required:[\n {%- for item in value['required'] | default([]) -%}\n <|\"|>{{- item -}}<|\"|>\n {%- if not loop.last %},{% endif -%}\n {%- endfor -%}\n ]\n {%- endif -%}\n {%- endif -%}\n {%- if add_comma %},{%- else -%} {%- set add_comma = true -%} {% endif -%}\n type:<|\"|>{{ value['type'] | upper }}<|\"|>}\n {%- endif -%}\n {%- endfor -%}\n{%- endmacro -%}\n{%- macro format_function_declaration(tool_data) -%}\n declaration:{{- tool_data['function']['name'] -}}{description:<|\"|>{{- tool_data['function']['description'] -}}<|\"|>\n {%- set params = tool_data['function']['parameters'] -%}\n {%- if params -%}\n ,parameters:{\n {%- if params['properties'] -%}\n properties:{ {{- format_parameters(params['properties'], params['required']) -}} },\n {%- endif -%}\n {%- if params['required'] -%}\n required:[\n {%- for item in params['required'] -%}\n <|\"|>{{- item -}}<|\"|>\n {{- ',' if not loop.last -}}\n {%- endfor -%}\n ],\n {%- endif -%}\n {%- if params['type'] -%}\n type:<|\"|>{{- params['type'] | upper -}}<|\"|>}\n {%- endif -%}\n {%- endif -%}\n {%- if 'response' in tool_data['function'] -%}\n {%- set response_declaration = tool_data['function']['response'] -%}\n ,response:{\n {%- if response_declaration['description'] -%}\n description:<|\"|>{{- response_declaration['description'] -}}<|\"|>,\n {%- endif -%}\n {%- if response_declaration['type'] | upper == 'OBJECT' -%}\n type:<|\"|>{{- response_declaration['type'] | upper -}}<|\"|>}\n {%- endif -%}\n {%- endif -%}\n }\n{%- endmacro -%}\n{%- macro format_argument(argument, escape_keys=True) -%}\n {%- if argument is string -%}\n {{- '<|\"|>' + argument + '<|\"|>' -}}\n {%- elif argument is boolean -%}\n {{- 'true' if argument else 'false' -}}\n {%- elif argument is mapping -%}\n {{- '{' -}}\n {%- set ns = namespace(found_first=false) -%}\n {%- for key, value in argument | dictsort -%}\n {%- if ns.found_first %},{% endif -%}\n {%- set ns.found_first = true -%}\n {%- if escape_keys -%}\n {{- '<|\"|>' + key + '<|\"|>' -}}\n {%- else -%}\n {{- key -}}\n {%- endif -%}\n :{{- format_argument(value, escape_keys=escape_keys) -}}\n {%- endfor -%}\n {{- '}' -}}\n {%- elif argument is sequence -%}\n {{- '[' -}}\n {%- for item in argument -%}\n {{- format_argument(item, escape_keys=escape_keys) -}}\n {%- if not loop.last %},{% endif -%}\n {%- endfor -%}\n {{- ']' -}}\n {%- else -%}\n {{- argument -}}\n {%- endif -%}\n{%- endmacro -%}\n{%- macro strip_thinking(text) -%}\n {%- set ns = namespace(result='') -%}\n {%- for part in text.split('') -%}\n {%- if '<|channel>' in part -%}\n {%- set ns.result = ns.result + part.split('<|channel>')[0] -%}\n {%- else -%}\n {%- set ns.result = ns.result + part -%}\n {%- endif -%}\n {%- endfor -%}\n {{- ns.result | trim -}}\n{%- endmacro -%}\n\n{%- macro format_tool_response_block(tool_name, response) -%}\n {{- '<|tool_response>' -}}\n {%- if response is mapping -%}\n {{- 'response:' + tool_name + '{' -}}\n {%- for key, value in response | dictsort -%}\n {{- key -}}:{{- format_argument(value, escape_keys=False) -}}\n {%- if not loop.last %},{% endif -%}\n {%- endfor -%}\n {{- '}' -}}\n {%- else -%}\n {{- 'response:' + tool_name + '{value:' + format_argument(response, escape_keys=False) + '}' -}}\n {%- endif -%}\n {{- '' -}}\n{%- endmacro -%}\n\n{%- set ns = namespace(prev_message_type=None) -%}\n{%- set loop_messages = messages -%}\n{{- bos_token -}}\n{#- Handle System/Tool Definitions Block -#}\n{%- if (enable_thinking is defined and enable_thinking) or tools or messages[0]['role'] in ['system', 'developer'] -%}\n {{- '<|turn>system\\n' -}}\n {#- Inject Thinking token at the very top of the FIRST system turn -#}\n {%- if enable_thinking is defined and enable_thinking -%}\n {{- '<|think|>\\n' -}}\n {%- set ns.prev_message_type = 'think' -%}\n {%- endif -%}\n {%- if messages[0]['role'] in ['system', 'developer'] -%}\n {%- if messages[0]['content'] is string -%}\n {{- messages[0]['content'] | trim -}}\n {%- elif messages[0]['content'] is sequence -%}\n {%- for item in messages[0]['content'] -%}\n {{- item['text'] | trim + ' '-}}\n {%- endfor -%}\n {%- endif -%}\n {%- set loop_messages = messages[1:] -%}\n {%- endif -%}\n {%- if tools -%}\n {%- for tool in tools %}\n {{- '<|tool>' -}}\n {{- format_function_declaration(tool) | trim -}}\n {{- '' -}}\n {%- endfor %}\n {%- set ns.prev_message_type = 'tool' -%}\n {%- endif -%}\n {{- '\\n' -}}\n{%- endif %}\n\n{#- Pre-scan: find last user message index for reasoning guard -#}\n{%- set ns_turn = namespace(last_user_idx=-1) -%}\n{%- for i in range(loop_messages | length) -%}\n {%- if loop_messages[i]['role'] == 'user' -%}\n {%- set ns_turn.last_user_idx = i -%}\n {%- endif -%}\n{%- endfor -%}\n\n{#- Loop through messages -#}\n{%- for message in loop_messages -%}\n {%- if message['role'] != 'tool' -%}\n {%- set ns.prev_message_type = None -%}\n {%- set role = 'model' if message['role'] == 'assistant' else message['role'] -%}\n {#- Detect continuation: suppress duplicate <|turn>model when previous non-tool message was also assistant -#}\n {%- set prev_nt = namespace(role=None, found=false) -%}\n {%- if loop.index0 > 0 -%}\n {%- for j in range(loop.index0 - 1, -1, -1) -%}\n {%- if not prev_nt.found -%}\n {%- if loop_messages[j]['role'] != 'tool' -%}\n {%- set prev_nt.role = loop_messages[j]['role'] -%}\n {%- set prev_nt.found = true -%}\n {%- endif -%}\n {%- endif -%}\n {%- endfor -%}\n {%- endif -%}\n {%- set continue_same_model_turn = (role == 'model' and prev_nt.role == 'assistant') -%}\n {%- if not continue_same_model_turn -%}\n {{- '<|turn>' + role + '\\n' }}\n {%- endif -%}\n\n {#- Render reasoning/reasoning_content as thinking channel -#}\n {%- set thinking_text = message.get('reasoning') or message.get('reasoning_content') -%}\n {%- if thinking_text and loop.index0 > ns_turn.last_user_idx and message.get('tool_calls') -%}\n {{- '<|channel>thought\\n' + thinking_text + '\\n' -}}\n {%- endif -%}\n\n {%- if message['tool_calls'] -%}\n {%- for tool_call in message['tool_calls'] -%}\n {%- set function = tool_call['function'] -%}\n {{- '<|tool_call>call:' + function['name'] + '{' -}}\n {%- if function['arguments'] is mapping -%}\n {%- set ns_args = namespace(found_first=false) -%}\n {%- for key, value in function['arguments'] | dictsort -%}\n {%- if ns_args.found_first %},{% endif -%}\n {%- set ns_args.found_first = true -%}\n {{- key -}}:{{- format_argument(value, escape_keys=False) -}}\n {%- endfor -%}\n {%- elif function['arguments'] is string -%}\n {{- function['arguments'] -}}\n {%- endif -%}\n {{- '}' -}}\n {%- endfor -%}\n {%- set ns.prev_message_type = 'tool_call' -%}\n {%- endif -%}\n\n {%- set ns_tr_out = namespace(flag=false) -%}\n {%- if message.get('tool_responses') -%}\n {#- Legacy: tool_responses embedded on the assistant message (Google/Gemma native) -#}\n {%- for tool_response in message['tool_responses'] -%}\n {{- format_tool_response_block(tool_response['name'] | default('unknown'), tool_response['response']) -}}\n {%- set ns_tr_out.flag = true -%}\n {%- set ns.prev_message_type = 'tool_response' -%}\n {%- endfor -%}\n {%- elif message.get('tool_calls') -%}\n {#- OpenAI Chat Completions: forward-scan consecutive role:tool messages -#}\n {%- set ns_tool_scan = namespace(stopped=false) -%}\n {%- for k in range(loop.index0 + 1, loop_messages | length) -%}\n {%- if ns_tool_scan.stopped -%}\n {%- elif loop_messages[k]['role'] != 'tool' -%}\n {%- set ns_tool_scan.stopped = true -%}\n {%- else -%}\n {%- set follow = loop_messages[k] -%}\n {#- Resolve tool_call_id to function name -#}\n {%- set ns_tname = namespace(name=follow.get('name') | default('unknown')) -%}\n {%- for tc in message['tool_calls'] -%}\n {%- if tc.get('id') == follow.get('tool_call_id') -%}\n {%- set ns_tname.name = tc['function']['name'] -%}\n {%- endif -%}\n {%- endfor -%}\n {#- Handle content as string or content-parts array -#}\n {%- set tool_body = follow.get('content') -%}\n {%- if tool_body is string -%}\n {{- format_tool_response_block(ns_tname.name, tool_body) -}}\n {%- elif tool_body is sequence and tool_body is not string -%}\n {%- set ns_txt = namespace(s='') -%}\n {%- for part in tool_body -%}\n {%- if part.get('type') == 'text' -%}\n {%- set ns_txt.s = ns_txt.s + (part.get('text') | default('')) -%}\n {%- endif -%}\n {%- endfor -%}\n {{- format_tool_response_block(ns_tname.name, ns_txt.s) -}}\n {%- else -%}\n {{- format_tool_response_block(ns_tname.name, tool_body) -}}\n {%- endif -%}\n {%- set ns_tr_out.flag = true -%}\n {%- set ns.prev_message_type = 'tool_response' -%}\n {%- endif -%}\n {%- endfor -%}\n {%- endif -%}\n\n {%- set captured_content -%}\n {%- if message['content'] is string -%}\n {%- if role == 'model' -%}\n {{- strip_thinking(message['content']) -}}\n {%- else -%}\n {{- message['content'] | trim -}}\n {%- endif -%}\n {%- elif message['content'] is sequence -%}\n {%- for item in message['content'] -%}\n {%- if item['type'] == 'text' -%}\n {%- if role == 'model' -%}\n {{- strip_thinking(item['text']) -}}\n {%- else -%}\n {{- item['text'] | trim -}}\n {%- endif -%}\n {%- elif item['type'] == 'image' -%}\n {{- '<|image|>' -}}\n {%- set ns.prev_message_type = 'image' -%}\n {%- elif item['type'] == 'audio' -%}\n {{- '<|audio|>' -}}\n {%- set ns.prev_message_type = 'audio' -%}\n {%- elif item['type'] == 'video' -%}\n {{- '<|video|>' -}}\n {%- set ns.prev_message_type = 'video' -%}\n {%- endif -%}\n {%- endfor -%}\n {%- endif -%}\n {%- endset -%}\n\n {{- captured_content -}}\n {%- set has_content = captured_content | trim | length > 0 -%}\n\n {%- if ns.prev_message_type == 'tool_call' and not ns_tr_out.flag -%}\n {{- '<|tool_response>' -}}\n {%- elif not (ns_tr_out.flag and not has_content) -%}\n {{- '\\n' -}}\n {%- endif -%}\n {%- endif -%}\n{%- endfor -%}\n\n{%- if add_generation_prompt -%}\n {%- if ns.prev_message_type != 'tool_response' and ns.prev_message_type != 'tool_call' -%}\n {{- '<|turn>model\\n' -}}\n {%- endif -%}\n{%- endif -%}" -} \ No newline at end of file + } +} diff --git a/training_args.bin b/training_args.bin new file mode 100644 index 0000000000000000000000000000000000000000..cefffe2bb567bdf18003e5cc5aaf746472c2981f --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c4ca6d50f04301fb38588516a91421e14a8ad1ffddf12afdfd9ba35cd4b64e +size 5777