ILoveBuns commited on
Commit
44fcb92
·
verified ·
1 Parent(s): 24ea8eb

Add 11 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: meta-llama/Llama-3.3-70B-Instruct-Reference
3
+ library_name: peft
4
+ license: other
5
+ tags:
6
+ - lora
7
+ - peft
8
+ - adapter
9
+ - adaption
10
+ ---
11
+
12
+ # adaption_python_mental_execution_trac
13
+
14
+ ## Model Training
15
+
16
+ A LORA adapter for `meta-llama/Llama-3.3-70B-Instruct-Reference`. This model was trained with SFT using [Adaption](https://adaptionlabs.ai)'s AutoScientist on the python_mental_execution_traces dataset.
17
+
18
+
19
+ ![Training metrics](training-metrics.png)
20
+
21
+ ### AutoScientist Config
22
+
23
+ ```json
24
+ {
25
+ "job_id": "01c91058-ec84-419f-be88-8d2990809855",
26
+ "training_experiment_id": "96dd4322-7402-4045-b038-4c5c69d433f5",
27
+ "original_model_name": "meta-llama/Llama-3.3-70B-Instruct-Reference",
28
+ "trained_model_name": "adaption_python_mental_execution_trac",
29
+ "training_method": "sft",
30
+ "training_type": "lora",
31
+ "data_format": "chat",
32
+ "hyperparams": {
33
+ "lora": "true",
34
+ "lora_r": 8,
35
+ "n_evals": 5,
36
+ "n_epochs": 1,
37
+ "batch_size": "max",
38
+ "lora_alpha": 8,
39
+ "lora_dropout": 0,
40
+ "min_lr_ratio": 0.1,
41
+ "warmup_ratio": 0.1,
42
+ "weight_decay": 0,
43
+ "learning_rate": 0.0001,
44
+ "max_grad_norm": 2,
45
+ "base_model_size": "70B",
46
+ "train_on_inputs": "false",
47
+ "training_method": "sft",
48
+ "lr_scheduler_type": "cosine",
49
+ "scheduler_num_cycles": 0.5,
50
+ "lora_trainable_modules": "q_proj,v_proj"
51
+ }
52
+ }
53
+ ```
54
+
55
+ ## Training Data
56
+
57
+ The model was trained on 11,631 rows of adapted data with the following domain distribution: code (100%).
58
+
59
+ ## Model Evaluation
60
+
61
+ The model was evaluated on an in-distribution held-out test set as well as a broader domain-specific test set to measure generalization.
62
+
63
+
64
+ ![Win rates](win-rates.png)
65
+
66
+
67
+ ## How to use
68
+
69
+ ```bash
70
+ pip install torch transformers peft
71
+ ```
72
+
73
+ ```python
74
+ import torch
75
+ from transformers import AutoModelForCausalLM, AutoTokenizer
76
+ from peft import PeftModel
77
+
78
+ BASE = "meta-llama/Llama-3.3-70B-Instruct-Reference"
79
+ ADAPTER = "<this-repo-id>"
80
+
81
+ device = "cuda" if torch.cuda.is_available() else "cpu"
82
+ dtype = torch.float32 if device == "cpu" else torch.bfloat16
83
+
84
+ base = AutoModelForCausalLM.from_pretrained(BASE, dtype=dtype).to(device)
85
+ model = PeftModel.from_pretrained(base, ADAPTER)
86
+ # Optional: merge the LoRA weights into the base for faster inference
87
+ model = model.merge_and_unload()
88
+ model.eval()
89
+
90
+ tokenizer = AutoTokenizer.from_pretrained(BASE)
91
+ messages = [{"role": "user", "content": "Hello!"}]
92
+ text = tokenizer.apply_chat_template(
93
+ messages, tokenize=False, add_generation_prompt=True)
94
+ inputs = tokenizer(text, return_tensors="pt").to(device)
95
+
96
+ with torch.inference_mode():
97
+ out = model.generate(**inputs, max_new_tokens=512)
98
+ print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
99
+ ```
adapter_config.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alpha_pattern": {},
3
+ "auto_mapping": null,
4
+ "base_model_name_or_path": "togethercomputer/Meta-Llama-3.3-70B-Instruct-Reference",
5
+ "bias": "none",
6
+ "corda_config": null,
7
+ "eva_config": null,
8
+ "exclude_modules": [],
9
+ "fan_in_fan_out": false,
10
+ "inference_mode": true,
11
+ "init_lora_weights": true,
12
+ "layer_replication": null,
13
+ "layers_pattern": null,
14
+ "layers_to_transform": null,
15
+ "loftq_config": {},
16
+ "lora_alpha": 8,
17
+ "lora_bias": false,
18
+ "lora_dropout": 0.0,
19
+ "megatron_config": null,
20
+ "megatron_core": "megatron.core",
21
+ "modules_to_save": null,
22
+ "peft_type": "LORA",
23
+ "r": 8,
24
+ "rank_pattern": {},
25
+ "revision": null,
26
+ "target_modules": [
27
+ "q_proj",
28
+ "v_proj"
29
+ ],
30
+ "task_type": "CAUSAL_LM",
31
+ "trainable_token_indices": null,
32
+ "use_dora": false,
33
+ "use_rslora": false
34
+ }
adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8fdfc82d3d2e82d8f3bbeb26236a4a770eb869606e483716031fc9660c7e606
3
+ size 65578776
chat_template.jinja ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{- bos_token }}
2
+ {%- if custom_tools is defined %}
3
+ {%- set tools = custom_tools %}
4
+ {%- endif %}
5
+ {%- if not tools_in_user_message is defined %}
6
+ {%- set tools_in_user_message = true %}
7
+ {%- endif %}
8
+ {%- if not date_string is defined %}
9
+ {%- set date_string = "26 Jul 2024" %}
10
+ {%- endif %}
11
+ {%- if not tools is defined %}
12
+ {%- set tools = none %}
13
+ {%- endif %}
14
+
15
+ {#- This block extracts the system message, so we can slot it into the right place. #}
16
+ {%- if messages[0]['role'] == 'system' %}
17
+ {%- set system_message = messages[0]['content']|trim %}
18
+ {%- set messages = messages[1:] %}
19
+ {%- else %}
20
+ {%- set system_message = "" %}
21
+ {%- endif %}
22
+
23
+ {#- System message + builtin tools #}
24
+ {{- "<|start_header_id|>system<|end_header_id|>\n\n" }}
25
+ {%- if builtin_tools is defined or tools is not none %}
26
+ {{- "Environment: ipython\n" }}
27
+ {%- endif %}
28
+ {%- if builtin_tools is defined %}
29
+ {{- "Tools: " + builtin_tools | reject('equalto', 'code_interpreter') | join(", ") + "\n\n"}}
30
+ {%- endif %}
31
+ {{- "Cutting Knowledge Date: December 2023\n" }}
32
+ {{- "Today Date: " + date_string + "\n\n" }}
33
+ {%- if tools is not none and not tools_in_user_message %}
34
+ {{- "You have access to the following functions. To call a function, please respond with JSON for a function call." }}
35
+ {{- 'Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}.' }}
36
+ {{- "Do not use variables.\n\n" }}
37
+ {%- for t in tools %}
38
+ {{- t | tojson(indent=4) }}
39
+ {{- "\n\n" }}
40
+ {%- endfor %}
41
+ {%- endif %}
42
+ {{- system_message }}
43
+ {{- "<|eot_id|>" }}
44
+
45
+ {#- Custom tools are passed in a user message with some extra guidance #}
46
+ {%- if tools_in_user_message and not tools is none %}
47
+ {#- Extract the first user message so we can plug it in here #}
48
+ {%- if messages | length != 0 %}
49
+ {%- set first_user_message = messages[0]['content']|trim %}
50
+ {%- set messages = messages[1:] %}
51
+ {%- else %}
52
+ {{- raise_exception("Cannot put tools in the first user message when there's no first user message!") }}
53
+ {%- endif %}
54
+ {{- '<|start_header_id|>user<|end_header_id|>\n\n' -}}
55
+ {{- "Given the following functions, please respond with a JSON for a function call " }}
56
+ {{- "with its proper arguments that best answers the given prompt.\n\n" }}
57
+ {{- 'Respond in the format {"name": function name, "parameters": dictionary of argument name and its value}.' }}
58
+ {{- "Do not use variables.\n\n" }}
59
+ {%- for t in tools %}
60
+ {{- t | tojson(indent=4) }}
61
+ {{- "\n\n" }}
62
+ {%- endfor %}
63
+ {{- first_user_message + "<|eot_id|>"}}
64
+ {%- endif %}
65
+
66
+ {%- for message in messages %}
67
+ {%- if not (message.role == 'ipython' or message.role == 'tool' or 'tool_calls' in message) %}
68
+ {{- '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' }}
69
+ {%- elif 'tool_calls' in message %}
70
+ {%- if not message.tool_calls|length == 1 %}
71
+ {{- raise_exception("This model only supports single tool-calls at once!") }}
72
+ {%- endif %}
73
+ {%- set tool_call = message.tool_calls[0].function %}
74
+ {%- if builtin_tools is defined and tool_call.name in builtin_tools %}
75
+ {{- '<|start_header_id|>assistant<|end_header_id|>\n\n' -}}
76
+ {{- "<|python_tag|>" + tool_call.name + ".call(" }}
77
+ {%- for arg_name, arg_val in tool_call.arguments | items %}
78
+ {{- arg_name + '="' + arg_val + '"' }}
79
+ {%- if not loop.last %}
80
+ {{- ", " }}
81
+ {%- endif %}
82
+ {%- endfor %}
83
+ {{- ")" }}
84
+ {%- else %}
85
+ {{- '<|start_header_id|>assistant<|end_header_id|>\n\n' -}}
86
+ {{- '{"name": "' + tool_call.name + '", ' }}
87
+ {{- '"parameters": ' }}
88
+ {{- tool_call.arguments | tojson }}
89
+ {{- "}" }}
90
+ {%- endif %}
91
+ {%- if builtin_tools is defined %}
92
+ {#- This means we're in ipython mode #}
93
+ {{- "<|eom_id|>" }}
94
+ {%- else %}
95
+ {{- "<|eot_id|>" }}
96
+ {%- endif %}
97
+ {%- elif message.role == "tool" or message.role == "ipython" %}
98
+ {{- "<|start_header_id|>ipython<|end_header_id|>\n\n" }}
99
+ {%- if message.content is mapping or message.content is iterable %}
100
+ {{- message.content | tojson }}
101
+ {%- else %}
102
+ {{- message.content }}
103
+ {%- endif %}
104
+ {{- "<|eot_id|>" }}
105
+ {%- endif %}
106
+ {%- endfor %}
107
+ {%- if add_generation_prompt %}
108
+ {{- '<|start_header_id|>assistant<|end_header_id|>\n\n' }}
109
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 128000,
8
+ "dtype": "bfloat16",
9
+ "eos_token_id": 128009,
10
+ "head_dim": 128,
11
+ "hidden_act": "silu",
12
+ "hidden_size": 8192,
13
+ "initializer_range": 0.02,
14
+ "intermediate_size": 28672,
15
+ "max_position_embeddings": 131072,
16
+ "mlp_bias": false,
17
+ "model_type": "llama",
18
+ "num_attention_heads": 64,
19
+ "num_hidden_layers": 80,
20
+ "num_key_value_heads": 8,
21
+ "pad_token_id": 128009,
22
+ "pretraining_tp": 1,
23
+ "rms_norm_eps": 1e-05,
24
+ "rope_parameters": {
25
+ "factor": 8.0,
26
+ "high_freq_factor": 4.0,
27
+ "low_freq_factor": 1.0,
28
+ "original_max_position_embeddings": 8192,
29
+ "rope_theta": 500000.0,
30
+ "rope_type": "llama3"
31
+ },
32
+ "tie_word_embeddings": false,
33
+ "transformers_version": "5.13.0",
34
+ "use_cache": false,
35
+ "vocab_size": 128256,
36
+ "torch_dtype": "bfloat16"
37
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<|begin_of_text|>",
3
+ "eos_token": "<|eot_id|>",
4
+ "pad_token": "<|eot_id|>"
5
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b9e4e7fb171f92fd137b777cc2714bf87d11576700a1dcd7a399e7bbe39537b
3
+ size 17209920
tokenizer_config.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|begin_of_text|>",
4
+ "clean_up_tokenization_spaces": true,
5
+ "eos_token": "<|eot_id|>",
6
+ "is_local": false,
7
+ "local_files_only": true,
8
+ "model_input_names": [
9
+ "input_ids",
10
+ "attention_mask"
11
+ ],
12
+ "model_max_length": 131072,
13
+ "pad_token": "<|eot_id|>",
14
+ "padding_side": "right",
15
+ "tokenizer_class": "TokenizersBackend"
16
+ }
trainer_state.json ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 1.0,
6
+ "eval_steps": 4,
7
+ "global_step": 21,
8
+ "is_hyper_param_search": false,
9
+ "is_local_process_zero": true,
10
+ "is_world_process_zero": true,
11
+ "log_history": [
12
+ {
13
+ "epoch": 0.047619047619047616,
14
+ "grad_norm": 0.9568968415260315,
15
+ "learning_rate": 0.0,
16
+ "loss": 2.302734375,
17
+ "step": 1
18
+ },
19
+ {
20
+ "epoch": 0.09523809523809523,
21
+ "grad_norm": 0.6604674458503723,
22
+ "learning_rate": 3.3333333333333335e-05,
23
+ "loss": 1.83203125,
24
+ "step": 2
25
+ },
26
+ {
27
+ "epoch": 0.14285714285714285,
28
+ "grad_norm": 0.8862142562866211,
29
+ "learning_rate": 6.666666666666667e-05,
30
+ "loss": 2.1923828125,
31
+ "step": 3
32
+ },
33
+ {
34
+ "epoch": 0.19047619047619047,
35
+ "grad_norm": 0.9301884174346924,
36
+ "learning_rate": 0.0001,
37
+ "loss": 2.099609375,
38
+ "step": 4
39
+ },
40
+ {
41
+ "epoch": 0.23809523809523808,
42
+ "grad_norm": 0.6462522149085999,
43
+ "learning_rate": 9.931634888554937e-05,
44
+ "loss": 1.5146484375,
45
+ "step": 5
46
+ },
47
+ {
48
+ "epoch": 0.23809523809523808,
49
+ "eval_loss": 1.7890625,
50
+ "eval_runtime": 5.5258,
51
+ "eval_samples_per_second": 0.362,
52
+ "eval_steps_per_second": 0.181,
53
+ "step": 5
54
+ },
55
+ {
56
+ "epoch": 0.2857142857142857,
57
+ "grad_norm": 0.7940283417701721,
58
+ "learning_rate": 9.728616793536588e-05,
59
+ "loss": 1.609375,
60
+ "step": 6
61
+ },
62
+ {
63
+ "epoch": 0.3333333333333333,
64
+ "grad_norm": 0.9866992235183716,
65
+ "learning_rate": 9.397114317029975e-05,
66
+ "loss": 1.708984375,
67
+ "step": 7
68
+ },
69
+ {
70
+ "epoch": 0.38095238095238093,
71
+ "grad_norm": 0.9356194734573364,
72
+ "learning_rate": 8.947199994035401e-05,
73
+ "loss": 1.62109375,
74
+ "step": 8
75
+ },
76
+ {
77
+ "epoch": 0.42857142857142855,
78
+ "grad_norm": 1.2427157163619995,
79
+ "learning_rate": 8.392544243589427e-05,
80
+ "loss": 1.72607421875,
81
+ "step": 9
82
+ },
83
+ {
84
+ "epoch": 0.42857142857142855,
85
+ "eval_loss": 1.50390625,
86
+ "eval_runtime": 6.1677,
87
+ "eval_samples_per_second": 0.324,
88
+ "eval_steps_per_second": 0.162,
89
+ "step": 9
90
+ },
91
+ {
92
+ "epoch": 0.47619047619047616,
93
+ "grad_norm": 0.9093706607818604,
94
+ "learning_rate": 7.75e-05,
95
+ "loss": 1.31787109375,
96
+ "step": 10
97
+ },
98
+ {
99
+ "epoch": 0.5238095238095238,
100
+ "grad_norm": 1.172244668006897,
101
+ "learning_rate": 7.03909064496551e-05,
102
+ "loss": 1.61328125,
103
+ "step": 11
104
+ },
105
+ {
106
+ "epoch": 0.5714285714285714,
107
+ "grad_norm": 1.040825605392456,
108
+ "learning_rate": 6.281416799501188e-05,
109
+ "loss": 1.18115234375,
110
+ "step": 12
111
+ },
112
+ {
113
+ "epoch": 0.6190476190476191,
114
+ "grad_norm": 1.2616082429885864,
115
+ "learning_rate": 5.500000000000001e-05,
116
+ "loss": 1.44921875,
117
+ "step": 13
118
+ },
119
+ {
120
+ "epoch": 0.6190476190476191,
121
+ "eval_loss": 1.244140625,
122
+ "eval_runtime": 5.5436,
123
+ "eval_samples_per_second": 0.361,
124
+ "eval_steps_per_second": 0.18,
125
+ "step": 13
126
+ },
127
+ {
128
+ "epoch": 0.6666666666666666,
129
+ "grad_norm": 1.064231514930725,
130
+ "learning_rate": 4.718583200498814e-05,
131
+ "loss": 1.27685546875,
132
+ "step": 14
133
+ },
134
+ {
135
+ "epoch": 0.7142857142857143,
136
+ "grad_norm": 1.1865931749343872,
137
+ "learning_rate": 3.960909355034491e-05,
138
+ "loss": 1.431640625,
139
+ "step": 15
140
+ },
141
+ {
142
+ "epoch": 0.7619047619047619,
143
+ "grad_norm": 1.041445016860962,
144
+ "learning_rate": 3.250000000000001e-05,
145
+ "loss": 1.1904296875,
146
+ "step": 16
147
+ },
148
+ {
149
+ "epoch": 0.8095238095238095,
150
+ "grad_norm": 1.1407253742218018,
151
+ "learning_rate": 2.6074557564105727e-05,
152
+ "loss": 1.21337890625,
153
+ "step": 17
154
+ },
155
+ {
156
+ "epoch": 0.8095238095238095,
157
+ "eval_loss": 1.103515625,
158
+ "eval_runtime": 5.5514,
159
+ "eval_samples_per_second": 0.36,
160
+ "eval_steps_per_second": 0.18,
161
+ "step": 17
162
+ },
163
+ {
164
+ "epoch": 0.8571428571428571,
165
+ "grad_norm": 1.076326608657837,
166
+ "learning_rate": 2.0528000059645997e-05,
167
+ "loss": 1.212890625,
168
+ "step": 18
169
+ },
170
+ {
171
+ "epoch": 0.9047619047619048,
172
+ "grad_norm": 1.2264506816864014,
173
+ "learning_rate": 1.602885682970026e-05,
174
+ "loss": 1.15478515625,
175
+ "step": 19
176
+ },
177
+ {
178
+ "epoch": 0.9523809523809523,
179
+ "grad_norm": 0.922339916229248,
180
+ "learning_rate": 1.2713832064634126e-05,
181
+ "loss": 1.0078125,
182
+ "step": 20
183
+ },
184
+ {
185
+ "epoch": 1.0,
186
+ "grad_norm": 1.0451383590698242,
187
+ "learning_rate": 1.0683651114450641e-05,
188
+ "loss": 1.181640625,
189
+ "step": 21
190
+ },
191
+ {
192
+ "epoch": 1.0,
193
+ "eval_loss": 1.048828125,
194
+ "eval_runtime": 5.5585,
195
+ "eval_samples_per_second": 0.36,
196
+ "eval_steps_per_second": 0.18,
197
+ "step": 21
198
+ }
199
+ ],
200
+ "logging_steps": 1.0,
201
+ "max_steps": 21,
202
+ "num_input_tokens_seen": 0,
203
+ "num_train_epochs": 1,
204
+ "save_steps": 0,
205
+ "stateful_callbacks": {
206
+ "TrainerControl": {
207
+ "args": {
208
+ "should_epoch_stop": false,
209
+ "should_evaluate": false,
210
+ "should_log": false,
211
+ "should_save": true,
212
+ "should_training_stop": true
213
+ },
214
+ "attributes": {}
215
+ }
216
+ },
217
+ "total_flos": 1.0171502697560146e+18,
218
+ "train_batch_size": 1,
219
+ "trial_name": null,
220
+ "trial_params": null
221
+ }
training-metrics.png ADDED
win-rates.png ADDED