From 78b48a9c88cca24b3ededf9a8eb8701f0171d6c7 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Fri, 8 May 2026 03:23:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: varshak1/reproducing-openrubric-rubric-sft Source: Original Platform --- .gitattributes | 36 +++++++ README.md | 61 +++++++++++ all_results.json | 8 ++ chat_template.jinja | 89 ++++++++++++++++ config.json | 71 +++++++++++++ generation_config.json | 12 +++ model.safetensors | 3 + tokenizer.json | 3 + tokenizer_config.json | 15 +++ train_results.json | 8 ++ trainer_log.jsonl | 28 +++++ trainer_state.json | 232 +++++++++++++++++++++++++++++++++++++++++ training_args.bin | 3 + training_loss.png | Bin 0 -> 30793 bytes 14 files changed, 569 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 all_results.json create mode 100644 chat_template.jinja create mode 100644 config.json create mode 100644 generation_config.json create mode 100644 model.safetensors create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 train_results.json create mode 100644 trainer_log.jsonl create mode 100644 trainer_state.json create mode 100644 training_args.bin create mode 100644 training_loss.png diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..f3ed9f6 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +--- +library_name: transformers +license: other +base_model: Qwen/Qwen3-8B +tags: +- llama-factory +- full +- generated_from_trainer +model-index: +- name: reproducing-openrubric-rubric-sft + results: [] +--- + + + +# reproducing-openrubric-rubric-sft + +This model is a fine-tuned version of [Qwen/Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B) on the reproducing-openrubric-rubric-sft dataset. + +## Model description + +More information needed + +## Intended uses & limitations + +More information needed + +## Training and evaluation data + +More information needed + +## Training procedure + +### Training hyperparameters + +The following hyperparameters were used during training: +- learning_rate: 8e-06 +- train_batch_size: 4 +- eval_batch_size: 8 +- seed: 42 +- distributed_type: multi-GPU +- num_devices: 8 +- gradient_accumulation_steps: 4 +- total_train_batch_size: 128 +- total_eval_batch_size: 64 +- optimizer: Use OptimizerNames.ADAMW_TORCH with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments +- lr_scheduler_type: cosine +- lr_scheduler_warmup_steps: 0.05 +- num_epochs: 1.0 + +### Training results + + + +### Framework versions + +- Transformers 5.2.0 +- Pytorch 2.6.0+cu124 +- Datasets 4.0.0 +- Tokenizers 0.22.2 diff --git a/all_results.json b/all_results.json new file mode 100644 index 0000000..9a067dd --- /dev/null +++ b/all_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 1.0, + "total_flos": 1.3482902468228547e+18, + "train_loss": 0.6133034630915597, + "train_runtime": 1004.8538, + "train_samples_per_second": 35.45, + "train_steps_per_second": 0.278 +} \ No newline at end of file diff --git a/chat_template.jinja b/chat_template.jinja new file mode 100644 index 0000000..01be9b3 --- /dev/null +++ b/chat_template.jinja @@ -0,0 +1,89 @@ +{%- if tools %} + {{- '<|im_start|>system\n' }} + {%- if messages[0].role == 'system' %} + {{- messages[0].content + '\n\n' }} + {%- endif %} + {{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within XML tags:\n" }} + {%- for tool in tools %} + {{- "\n" }} + {{- tool | tojson }} + {%- endfor %} + {{- "\n\n\nFor each function call, return a json object with function name and arguments within XML tags:\n\n{\"name\": , \"arguments\": }\n<|im_end|>\n" }} +{%- else %} + {%- if messages[0].role == 'system' %} + {{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }} + {%- endif %} +{%- endif %} +{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} +{%- for message in messages[::-1] %} + {%- set index = (messages|length - 1) - loop.index0 %} + {%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('') and message.content.endswith('')) %} + {%- set ns.multi_step_tool = false %} + {%- set ns.last_query_index = index %} + {%- endif %} +{%- endfor %} +{%- for message in messages %} + {%- if message.content is string %} + {%- set content = message.content %} + {%- else %} + {%- set content = '' %} + {%- endif %} + {%- if (message.role == "user") or (message.role == "system" and not loop.first) %} + {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }} + {%- elif message.role == "assistant" %} + {%- set reasoning_content = '' %} + {%- if message.reasoning_content is string %} + {%- set reasoning_content = message.reasoning_content %} + {%- else %} + {%- if '' in content %} + {%- set reasoning_content = content.split('')[0].rstrip('\n').split('')[-1].lstrip('\n') %} + {%- set content = content.split('')[-1].lstrip('\n') %} + {%- endif %} + {%- endif %} + {%- if loop.index0 > ns.last_query_index %} + {%- if loop.last or (not loop.last and reasoning_content) %} + {{- '<|im_start|>' + message.role + '\n\n' + reasoning_content.strip('\n') + '\n\n\n' + content.lstrip('\n') }} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- else %} + {{- '<|im_start|>' + message.role + '\n' + content }} + {%- endif %} + {%- if message.tool_calls %} + {%- for tool_call in message.tool_calls %} + {%- if (loop.first and content) or (not loop.first) %} + {{- '\n' }} + {%- endif %} + {%- if tool_call.function %} + {%- set tool_call = tool_call.function %} + {%- endif %} + {{- '\n{"name": "' }} + {{- tool_call.name }} + {{- '", "arguments": ' }} + {%- if tool_call.arguments is string %} + {{- tool_call.arguments }} + {%- else %} + {{- tool_call.arguments | tojson }} + {%- endif %} + {{- '}\n' }} + {%- endfor %} + {%- endif %} + {{- '<|im_end|>\n' }} + {%- elif message.role == "tool" %} + {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %} + {{- '<|im_start|>user' }} + {%- endif %} + {{- '\n\n' }} + {{- content }} + {{- '\n' }} + {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %} + {{- '<|im_end|>\n' }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- if add_generation_prompt %} + {{- '<|im_start|>assistant\n' }} + {%- if enable_thinking is defined and enable_thinking is false %} + {{- '\n\n\n\n' }} + {%- endif %} +{%- endif %} \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..a8e7a96 --- /dev/null +++ b/config.json @@ -0,0 +1,71 @@ +{ + "architectures": [ + "Qwen3ForCausalLM" + ], + "attention_bias": false, + "attention_dropout": 0.0, + "bos_token_id": null, + "dtype": "bfloat16", + "eos_token_id": 151645, + "head_dim": 128, + "hidden_act": "silu", + "hidden_size": 4096, + "initializer_range": 0.02, + "intermediate_size": 12288, + "layer_types": [ + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention", + "full_attention" + ], + "max_position_embeddings": 40960, + "max_window_layers": 36, + "model_type": "qwen3", + "num_attention_heads": 32, + "num_hidden_layers": 36, + "num_key_value_heads": 8, + "pad_token_id": 151643, + "rms_norm_eps": 1e-06, + "rope_parameters": { + "rope_theta": 1000000, + "rope_type": "default" + }, + "sliding_window": null, + "tie_word_embeddings": false, + "transformers_version": "5.2.0", + "use_cache": false, + "use_sliding_window": false, + "vocab_size": 151936 +} diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..1701c94 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,12 @@ +{ + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "temperature": 0.6, + "top_k": 20, + "top_p": 0.95, + "transformers_version": "5.2.0" +} diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..fb5e02b --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41f9ec07bb4dbd816e33eaaf9fbb09c4b13241a891e97bc7025a27d1f35fdb0f +size 16381517208 diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..c7afbed --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506 +size 11422650 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..ea4d101 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,15 @@ +{ + "add_prefix_space": false, + "backend": "tokenizers", + "bos_token": null, + "clean_up_tokenization_spaces": false, + "eos_token": "<|im_end|>", + "errors": "replace", + "is_local": false, + "model_max_length": 131072, + "pad_token": "<|endoftext|>", + "padding_side": "right", + "split_special_tokens": false, + "tokenizer_class": "Qwen2Tokenizer", + "unk_token": null +} diff --git a/train_results.json b/train_results.json new file mode 100644 index 0000000..9a067dd --- /dev/null +++ b/train_results.json @@ -0,0 +1,8 @@ +{ + "epoch": 1.0, + "total_flos": 1.3482902468228547e+18, + "train_loss": 0.6133034630915597, + "train_runtime": 1004.8538, + "train_samples_per_second": 35.45, + "train_steps_per_second": 0.278 +} \ No newline at end of file diff --git a/trainer_log.jsonl b/trainer_log.jsonl new file mode 100644 index 0000000..fabd4bc --- /dev/null +++ b/trainer_log.jsonl @@ -0,0 +1,28 @@ +{"current_steps": 10, "total_steps": 279, "loss": 1.4155162811279296, "lr": 5.142857142857143e-06, "epoch": 0.03590664272890485, "percentage": 3.58, "elapsed_time": "0:00:37", "remaining_time": "0:16:45"} +{"current_steps": 20, "total_steps": 279, "loss": 0.805302906036377, "lr": 7.992974927057286e-06, "epoch": 0.0718132854578097, "percentage": 7.17, "elapsed_time": "0:01:10", "remaining_time": "0:15:18"} +{"current_steps": 30, "total_steps": 279, "loss": 0.6863783836364746, "lr": 7.936922311790387e-06, "epoch": 0.10771992818671454, "percentage": 10.75, "elapsed_time": "0:01:43", "remaining_time": "0:14:19"} +{"current_steps": 40, "total_steps": 279, "loss": 0.6478697299957276, "lr": 7.825603937106089e-06, "epoch": 0.1436265709156194, "percentage": 14.34, "elapsed_time": "0:02:16", "remaining_time": "0:13:35"} +{"current_steps": 50, "total_steps": 279, "loss": 0.630420446395874, "lr": 7.660582468972073e-06, "epoch": 0.17953321364452424, "percentage": 17.92, "elapsed_time": "0:02:49", "remaining_time": "0:12:57"} +{"current_steps": 60, "total_steps": 279, "loss": 0.6120198726654053, "lr": 7.444174447069421e-06, "epoch": 0.21543985637342908, "percentage": 21.51, "elapsed_time": "0:03:22", "remaining_time": "0:12:20"} +{"current_steps": 70, "total_steps": 279, "loss": 0.6067015647888183, "lr": 7.179417765653413e-06, "epoch": 0.2513464991023339, "percentage": 25.09, "elapsed_time": "0:03:56", "remaining_time": "0:11:46"} +{"current_steps": 80, "total_steps": 279, "loss": 0.5879001617431641, "lr": 6.870029028177324e-06, "epoch": 0.2872531418312388, "percentage": 28.67, "elapsed_time": "0:04:31", "remaining_time": "0:11:14"} +{"current_steps": 90, "total_steps": 279, "loss": 0.5899921417236328, "lr": 6.520351374326845e-06, "epoch": 0.3231597845601436, "percentage": 32.26, "elapsed_time": "0:05:02", "remaining_time": "0:10:34"} +{"current_steps": 100, "total_steps": 279, "loss": 0.5808853149414063, "lr": 6.1352935118591635e-06, "epoch": 0.3590664272890485, "percentage": 35.84, "elapsed_time": "0:05:35", "remaining_time": "0:09:59"} +{"current_steps": 110, "total_steps": 279, "loss": 0.5790524482727051, "lr": 5.720260809106082e-06, "epoch": 0.39497307001795334, "percentage": 39.43, "elapsed_time": "0:06:08", "remaining_time": "0:09:25"} +{"current_steps": 120, "total_steps": 279, "loss": 0.5731555938720703, "lr": 5.28107941545135e-06, "epoch": 0.43087971274685816, "percentage": 43.01, "elapsed_time": "0:06:42", "remaining_time": "0:08:52"} +{"current_steps": 130, "total_steps": 279, "loss": 0.5686985969543457, "lr": 4.823914474964393e-06, "epoch": 0.466786355475763, "percentage": 46.59, "elapsed_time": "0:07:16", "remaining_time": "0:08:20"} +{"current_steps": 140, "total_steps": 279, "loss": 0.5693955898284913, "lr": 4.355183581291739e-06, "epoch": 0.5026929982046678, "percentage": 50.18, "elapsed_time": "0:07:51", "remaining_time": "0:07:48"} +{"current_steps": 150, "total_steps": 279, "loss": 0.5598339080810547, "lr": 3.8814666887097606e-06, "epoch": 0.5385996409335727, "percentage": 53.76, "elapsed_time": "0:08:26", "remaining_time": "0:07:15"} +{"current_steps": 160, "total_steps": 279, "loss": 0.5563373565673828, "lr": 3.4094137439900755e-06, "epoch": 0.5745062836624776, "percentage": 57.35, "elapsed_time": "0:09:00", "remaining_time": "0:06:42"} +{"current_steps": 170, "total_steps": 279, "loss": 0.5573836326599121, "lr": 2.94565133572373e-06, "epoch": 0.6104129263913824, "percentage": 60.93, "elapsed_time": "0:09:34", "remaining_time": "0:06:08"} +{"current_steps": 180, "total_steps": 279, "loss": 0.5560619354248046, "lr": 2.496689671543048e-06, "epoch": 0.6463195691202872, "percentage": 64.52, "elapsed_time": "0:10:07", "remaining_time": "0:05:34"} +{"current_steps": 190, "total_steps": 279, "loss": 0.5496598720550537, "lr": 2.068831189077021e-06, "epoch": 0.6822262118491921, "percentage": 68.1, "elapsed_time": "0:10:41", "remaining_time": "0:05:00"} +{"current_steps": 200, "total_steps": 279, "loss": 0.5505017757415771, "lr": 1.6680820835421124e-06, "epoch": 0.718132854578097, "percentage": 71.68, "elapsed_time": "0:11:14", "remaining_time": "0:04:26"} +{"current_steps": 210, "total_steps": 279, "loss": 0.5497483253479004, "lr": 1.3000679939271586e-06, "epoch": 0.7540394973070018, "percentage": 75.27, "elapsed_time": "0:11:47", "remaining_time": "0:03:52"} +{"current_steps": 220, "total_steps": 279, "loss": 0.5485612392425537, "lr": 9.699550313535194e-07, "epoch": 0.7899461400359067, "percentage": 78.85, "elapsed_time": "0:12:20", "remaining_time": "0:03:18"} +{"current_steps": 230, "total_steps": 279, "loss": 0.5506965160369873, "lr": 6.823772581991929e-07, "epoch": 0.8258527827648114, "percentage": 82.44, "elapsed_time": "0:12:53", "remaining_time": "0:02:44"} +{"current_steps": 240, "total_steps": 279, "loss": 0.5589346885681152, "lr": 4.413716360210111e-07, "epoch": 0.8617594254937163, "percentage": 86.02, "elapsed_time": "0:13:27", "remaining_time": "0:02:11"} +{"current_steps": 250, "total_steps": 279, "loss": 0.5451088905334472, "lr": 2.503213554635164e-07, "epoch": 0.8976660682226212, "percentage": 89.61, "elapsed_time": "0:14:01", "remaining_time": "0:01:37"} +{"current_steps": 260, "total_steps": 279, "loss": 0.5363705635070801, "lr": 1.11908343678357e-07, "epoch": 0.933572710951526, "percentage": 93.19, "elapsed_time": "0:14:34", "remaining_time": "0:01:03"} +{"current_steps": 270, "total_steps": 279, "loss": 0.5481849670410156, "lr": 2.8075615945932328e-08, "epoch": 0.9694793536804309, "percentage": 96.77, "elapsed_time": "0:15:08", "remaining_time": "0:00:30"} +{"current_steps": 279, "total_steps": 279, "epoch": 1.0, "percentage": 100.0, "elapsed_time": "0:16:43", "remaining_time": "0:00:00"} diff --git a/trainer_state.json b/trainer_state.json new file mode 100644 index 0000000..683901a --- /dev/null +++ b/trainer_state.json @@ -0,0 +1,232 @@ +{ + "best_global_step": null, + "best_metric": null, + "best_model_checkpoint": null, + "epoch": 1.0, + "eval_steps": 500, + "global_step": 279, + "is_hyper_param_search": false, + "is_local_process_zero": true, + "is_world_process_zero": true, + "log_history": [ + { + "epoch": 0.03590664272890485, + "grad_norm": 4.158227443695068, + "learning_rate": 5.142857142857143e-06, + "loss": 1.4155162811279296, + "step": 10 + }, + { + "epoch": 0.0718132854578097, + "grad_norm": 1.651964545249939, + "learning_rate": 7.992974927057286e-06, + "loss": 0.805302906036377, + "step": 20 + }, + { + "epoch": 0.10771992818671454, + "grad_norm": 1.1457046270370483, + "learning_rate": 7.936922311790387e-06, + "loss": 0.6863783836364746, + "step": 30 + }, + { + "epoch": 0.1436265709156194, + "grad_norm": 1.0957046747207642, + "learning_rate": 7.825603937106089e-06, + "loss": 0.6478697299957276, + "step": 40 + }, + { + "epoch": 0.17953321364452424, + "grad_norm": 1.0592354536056519, + "learning_rate": 7.660582468972073e-06, + "loss": 0.630420446395874, + "step": 50 + }, + { + "epoch": 0.21543985637342908, + "grad_norm": 1.193621277809143, + "learning_rate": 7.444174447069421e-06, + "loss": 0.6120198726654053, + "step": 60 + }, + { + "epoch": 0.2513464991023339, + "grad_norm": 1.2658783197402954, + "learning_rate": 7.179417765653413e-06, + "loss": 0.6067015647888183, + "step": 70 + }, + { + "epoch": 0.2872531418312388, + "grad_norm": 1.2949614524841309, + "learning_rate": 6.870029028177324e-06, + "loss": 0.5879001617431641, + "step": 80 + }, + { + "epoch": 0.3231597845601436, + "grad_norm": 1.060629963874817, + "learning_rate": 6.520351374326845e-06, + "loss": 0.5899921417236328, + "step": 90 + }, + { + "epoch": 0.3590664272890485, + "grad_norm": 1.0478813648223877, + "learning_rate": 6.1352935118591635e-06, + "loss": 0.5808853149414063, + "step": 100 + }, + { + "epoch": 0.39497307001795334, + "grad_norm": 1.261673092842102, + "learning_rate": 5.720260809106082e-06, + "loss": 0.5790524482727051, + "step": 110 + }, + { + "epoch": 0.43087971274685816, + "grad_norm": 0.9995132088661194, + "learning_rate": 5.28107941545135e-06, + "loss": 0.5731555938720703, + "step": 120 + }, + { + "epoch": 0.466786355475763, + "grad_norm": 1.0616153478622437, + "learning_rate": 4.823914474964393e-06, + "loss": 0.5686985969543457, + "step": 130 + }, + { + "epoch": 0.5026929982046678, + "grad_norm": 1.0009936094284058, + "learning_rate": 4.355183581291739e-06, + "loss": 0.5693955898284913, + "step": 140 + }, + { + "epoch": 0.5385996409335727, + "grad_norm": 0.9809271097183228, + "learning_rate": 3.8814666887097606e-06, + "loss": 0.5598339080810547, + "step": 150 + }, + { + "epoch": 0.5745062836624776, + "grad_norm": 0.9185540080070496, + "learning_rate": 3.4094137439900755e-06, + "loss": 0.5563373565673828, + "step": 160 + }, + { + "epoch": 0.6104129263913824, + "grad_norm": 0.9326531887054443, + "learning_rate": 2.94565133572373e-06, + "loss": 0.5573836326599121, + "step": 170 + }, + { + "epoch": 0.6463195691202872, + "grad_norm": 0.9872980117797852, + "learning_rate": 2.496689671543048e-06, + "loss": 0.5560619354248046, + "step": 180 + }, + { + "epoch": 0.6822262118491921, + "grad_norm": 0.8914107084274292, + "learning_rate": 2.068831189077021e-06, + "loss": 0.5496598720550537, + "step": 190 + }, + { + "epoch": 0.718132854578097, + "grad_norm": 0.9620088338851929, + "learning_rate": 1.6680820835421124e-06, + "loss": 0.5505017757415771, + "step": 200 + }, + { + "epoch": 0.7540394973070018, + "grad_norm": 0.8976511359214783, + "learning_rate": 1.3000679939271586e-06, + "loss": 0.5497483253479004, + "step": 210 + }, + { + "epoch": 0.7899461400359067, + "grad_norm": 0.8932470679283142, + "learning_rate": 9.699550313535194e-07, + "loss": 0.5485612392425537, + "step": 220 + }, + { + "epoch": 0.8258527827648114, + "grad_norm": 0.9887930154800415, + "learning_rate": 6.823772581991929e-07, + "loss": 0.5506965160369873, + "step": 230 + }, + { + "epoch": 0.8617594254937163, + "grad_norm": 0.9191465973854065, + "learning_rate": 4.413716360210111e-07, + "loss": 0.5589346885681152, + "step": 240 + }, + { + "epoch": 0.8976660682226212, + "grad_norm": 0.8461963534355164, + "learning_rate": 2.503213554635164e-07, + "loss": 0.5451088905334472, + "step": 250 + }, + { + "epoch": 0.933572710951526, + "grad_norm": 0.8567756414413452, + "learning_rate": 1.11908343678357e-07, + "loss": 0.5363705635070801, + "step": 260 + }, + { + "epoch": 0.9694793536804309, + "grad_norm": 0.8579103946685791, + "learning_rate": 2.8075615945932328e-08, + "loss": 0.5481849670410156, + "step": 270 + }, + { + "epoch": 1.0, + "step": 279, + "total_flos": 1.3482902468228547e+18, + "train_loss": 0.6133034630915597, + "train_runtime": 1004.8538, + "train_samples_per_second": 35.45, + "train_steps_per_second": 0.278 + } + ], + "logging_steps": 10, + "max_steps": 279, + "num_input_tokens_seen": 0, + "num_train_epochs": 1, + "save_steps": 500, + "stateful_callbacks": { + "TrainerControl": { + "args": { + "should_epoch_stop": false, + "should_evaluate": false, + "should_log": false, + "should_save": true, + "should_training_stop": true + }, + "attributes": {} + } + }, + "total_flos": 1.3482902468228547e+18, + "train_batch_size": 4, + "trial_name": null, + "trial_params": null +} diff --git a/training_args.bin b/training_args.bin new file mode 100644 index 0000000..0e8f4c7 --- /dev/null +++ b/training_args.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4554311b13ffd44fe3155e5942637cc6743804271e77066eed04f8ef8b404a43 +size 6840 diff --git a/training_loss.png b/training_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..d61dbe1f90702ec7e549ba3900b748f7c38347c3 GIT binary patch literal 30793 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