Training in progress, step 1000
Browse files- README.md +1 -1
- adapter_config.json +4 -11
- adapter_model.safetensors +2 -2
- chat_template.jinja +14 -18
- modelopt_state_train.pth +2 -2
- training_args.bin +1 -1
README.md
CHANGED
|
@@ -27,7 +27,7 @@ print(output["generated_text"])
|
|
| 27 |
|
| 28 |
## Training procedure
|
| 29 |
|
| 30 |
-
[<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="150" height="24"/>](https://wandb.ai/g-puca1-deloitte/llmv3/runs/
|
| 31 |
|
| 32 |
|
| 33 |
This model was trained with SFT.
|
|
|
|
| 27 |
|
| 28 |
## Training procedure
|
| 29 |
|
| 30 |
+
[<img src="https://raw.githubusercontent.com/wandb/assets/main/wandb-github-badge-28.svg" alt="Visualize in Weights & Biases" width="150" height="24"/>](https://wandb.ai/g-puca1-deloitte/llmv3/runs/16peb9vx)
|
| 31 |
|
| 32 |
|
| 33 |
This model was trained with SFT.
|
adapter_config.json
CHANGED
|
@@ -21,23 +21,16 @@
|
|
| 21 |
"modules_to_save": null,
|
| 22 |
"peft_type": "LORA",
|
| 23 |
"qalora_group_size": 16,
|
| 24 |
-
"r":
|
| 25 |
"rank_pattern": {},
|
| 26 |
"revision": null,
|
| 27 |
"target_modules": [
|
| 28 |
"q_proj",
|
| 29 |
-
"
|
| 30 |
"o_proj",
|
| 31 |
-
"
|
| 32 |
-
],
|
| 33 |
-
"target_parameters": [
|
| 34 |
-
"0.mlp.experts.gate_up_proj",
|
| 35 |
-
"1.mlp.experts.gate_up_proj",
|
| 36 |
-
"2.mlp.experts.gate_up_proj",
|
| 37 |
-
"0.mlp.experts.down_proj",
|
| 38 |
-
"1.mlp.experts.down_proj",
|
| 39 |
-
"2.mlp.experts.down_proj"
|
| 40 |
],
|
|
|
|
| 41 |
"task_type": "CAUSAL_LM",
|
| 42 |
"trainable_token_indices": null,
|
| 43 |
"use_dora": false,
|
|
|
|
| 21 |
"modules_to_save": null,
|
| 22 |
"peft_type": "LORA",
|
| 23 |
"qalora_group_size": 16,
|
| 24 |
+
"r": 16,
|
| 25 |
"rank_pattern": {},
|
| 26 |
"revision": null,
|
| 27 |
"target_modules": [
|
| 28 |
"q_proj",
|
| 29 |
+
"v_proj",
|
| 30 |
"o_proj",
|
| 31 |
+
"k_proj"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
],
|
| 33 |
+
"target_parameters": null,
|
| 34 |
"task_type": "CAUSAL_LM",
|
| 35 |
"trainable_token_indices": null,
|
| 36 |
"use_dora": false,
|
adapter_model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1239e51a13cafbcbab37833817367f0a56d17ebdad8ef4d9d66a95452b0fa2ed
|
| 3 |
+
size 47814376
|
chat_template.jinja
CHANGED
|
@@ -3,9 +3,8 @@
|
|
| 3 |
following kwargs:
|
| 4 |
- "builtin_tools": A list, can contain "browser" and/or "python".
|
| 5 |
- "model_identity": A string that optionally describes the model identity.
|
| 6 |
-
- "reasoning_effort": A string that describes the reasoning effort, defaults to "
|
| 7 |
#}
|
| 8 |
-
|
| 9 |
{#- Tool Definition Rendering ============================================== #}
|
| 10 |
{%- macro render_typescript_type(param_spec, required_params, is_nullable=false) -%}
|
| 11 |
{%- if param_spec.type == "array" -%}
|
|
@@ -81,7 +80,6 @@
|
|
| 81 |
{{- "number" }}
|
| 82 |
{%- elif param_spec.type == "boolean" -%}
|
| 83 |
{{- "boolean" }}
|
| 84 |
-
|
| 85 |
{%- elif param_spec.type == "object" -%}
|
| 86 |
{%- if param_spec.properties -%}
|
| 87 |
{{- "{\n" }}
|
|
@@ -104,7 +102,6 @@
|
|
| 104 |
{{- "any" }}
|
| 105 |
{%- endif -%}
|
| 106 |
{%- endmacro -%}
|
| 107 |
-
|
| 108 |
{%- macro render_tool_namespace(namespace_name, tools) -%}
|
| 109 |
{{- "## " + namespace_name + "\n\n" }}
|
| 110 |
{{- "namespace " + namespace_name + " {\n\n" }}
|
|
@@ -146,7 +143,6 @@
|
|
| 146 |
{%- endfor %}
|
| 147 |
{{- "} // namespace " + namespace_name }}
|
| 148 |
{%- endmacro -%}
|
| 149 |
-
|
| 150 |
{%- macro render_builtin_tools(browser_tool, python_tool) -%}
|
| 151 |
{%- if browser_tool %}
|
| 152 |
{{- "## browser\n\n" }}
|
|
@@ -184,14 +180,12 @@
|
|
| 184 |
{{- "}) => any;\n\n" }}
|
| 185 |
{{- "} // namespace browser\n\n" }}
|
| 186 |
{%- endif -%}
|
| 187 |
-
|
| 188 |
{%- if python_tool %}
|
| 189 |
{{- "## python\n\n" }}
|
| 190 |
{{- "Use this tool to execute Python code in your chain of thought. The code will not be shown to the user. This tool should be used for internal reasoning, but not for code that is intended to be visible to the user (e.g. when creating plots, tables, or files).\n\n" }}
|
| 191 |
{{- "When you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 120.0 seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is UNKNOWN. Depends on the cluster.\n\n" }}
|
| 192 |
{%- endif -%}
|
| 193 |
{%- endmacro -%}
|
| 194 |
-
|
| 195 |
{#- System Message Construction ============================================ #}
|
| 196 |
{%- macro build_system_message() -%}
|
| 197 |
{%- if model_identity is not defined %}
|
|
@@ -201,7 +195,7 @@
|
|
| 201 |
{{- "Knowledge cutoff: 2024-06\n" }}
|
| 202 |
{{- "Current date: " + strftime_now("%Y-%m-%d") + "\n\n" }}
|
| 203 |
{%- if reasoning_effort is not defined %}
|
| 204 |
-
{%- set reasoning_effort = "
|
| 205 |
{%- endif %}
|
| 206 |
{{- "Reasoning: " + reasoning_effort + "\n\n" }}
|
| 207 |
{%- if builtin_tools %}
|
|
@@ -221,15 +215,12 @@
|
|
| 221 |
{{- "\nCalls to these tools must go to the commentary channel: 'functions'." }}
|
| 222 |
{%- endif -%}
|
| 223 |
{%- endmacro -%}
|
| 224 |
-
|
| 225 |
{#- Main Template Logic ================================================= #}
|
| 226 |
{#- Set defaults #}
|
| 227 |
-
|
| 228 |
{#- Render system message #}
|
| 229 |
{{- "<|start|>system<|message|>" }}
|
| 230 |
{{- build_system_message() }}
|
| 231 |
{{- "<|end|>" }}
|
| 232 |
-
|
| 233 |
{#- Extract developer message #}
|
| 234 |
{%- if messages[0].role == "developer" or messages[0].role == "system" %}
|
| 235 |
{%- set developer_message = messages[0].content %}
|
|
@@ -238,7 +229,6 @@
|
|
| 238 |
{%- set developer_message = "" %}
|
| 239 |
{%- set loop_messages = messages %}
|
| 240 |
{%- endif %}
|
| 241 |
-
|
| 242 |
{#- Render developer message #}
|
| 243 |
{%- if developer_message or tools %}
|
| 244 |
{{- "<|start|>developer<|message|>" }}
|
|
@@ -253,7 +243,6 @@
|
|
| 253 |
{%- endif -%}
|
| 254 |
{{- "<|end|>" }}
|
| 255 |
{%- endif %}
|
| 256 |
-
|
| 257 |
{#- Render messages #}
|
| 258 |
{%- set last_tool_call = namespace(name=none) %}
|
| 259 |
{%- for message in loop_messages -%}
|
|
@@ -286,12 +275,14 @@
|
|
| 286 |
{%- if tool_call.function %}
|
| 287 |
{%- set tool_call = tool_call.function %}
|
| 288 |
{%- endif %}
|
| 289 |
-
{%- if message.content and
|
| 290 |
-
{
|
| 291 |
-
{%- elif message.content and not future_final_message.found %}
|
| 292 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.content + "<|end|>" }}
|
|
|
|
| 293 |
{%- elif message.thinking and not future_final_message.found %}
|
|
|
|
| 294 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.thinking + "<|end|>" }}
|
|
|
|
| 295 |
{%- endif %}
|
| 296 |
{{- "<|start|>assistant to=" }}
|
| 297 |
{{- "functions." + tool_call.name + "<|channel|>commentary " }}
|
|
@@ -303,15 +294,21 @@
|
|
| 303 |
{#- Only render the CoT if the final turn is an assistant turn and add_generation_prompt is false #}
|
| 304 |
{#- This is a situation that should only occur in training, never in inference. #}
|
| 305 |
{%- if "thinking" in message %}
|
|
|
|
| 306 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.thinking + "<|end|>" }}
|
|
|
|
| 307 |
{%- endif %}
|
| 308 |
{#- <|return|> indicates the end of generation, but <|end|> does not #}
|
| 309 |
{#- <|return|> should never be an input to the model, but we include it as the final token #}
|
| 310 |
{#- when training, so the model learns to emit it. #}
|
|
|
|
| 311 |
{{- "<|start|>assistant<|channel|>final<|message|>" + message.content + "<|return|>" }}
|
|
|
|
| 312 |
{%- else %}
|
| 313 |
{#- CoT is dropped during all previous turns, so we never render it for inference #}
|
|
|
|
| 314 |
{{- "<|start|>assistant<|channel|>final<|message|>" + message.content + "<|end|>" }}
|
|
|
|
| 315 |
{%- set last_tool_call.name = none %}
|
| 316 |
{%- endif %}
|
| 317 |
{%- elif message.role == 'tool' -%}
|
|
@@ -324,8 +321,7 @@
|
|
| 324 |
{{- "<|start|>user<|message|>" + message.content + "<|end|>" }}
|
| 325 |
{%- endif -%}
|
| 326 |
{%- endfor -%}
|
| 327 |
-
|
| 328 |
{#- Generation prompt #}
|
| 329 |
{%- if add_generation_prompt -%}
|
| 330 |
<|start|>assistant
|
| 331 |
-
{%- endif -%}
|
|
|
|
| 3 |
following kwargs:
|
| 4 |
- "builtin_tools": A list, can contain "browser" and/or "python".
|
| 5 |
- "model_identity": A string that optionally describes the model identity.
|
| 6 |
+
- "reasoning_effort": A string that describes the reasoning effort, defaults to "none".
|
| 7 |
#}
|
|
|
|
| 8 |
{#- Tool Definition Rendering ============================================== #}
|
| 9 |
{%- macro render_typescript_type(param_spec, required_params, is_nullable=false) -%}
|
| 10 |
{%- if param_spec.type == "array" -%}
|
|
|
|
| 80 |
{{- "number" }}
|
| 81 |
{%- elif param_spec.type == "boolean" -%}
|
| 82 |
{{- "boolean" }}
|
|
|
|
| 83 |
{%- elif param_spec.type == "object" -%}
|
| 84 |
{%- if param_spec.properties -%}
|
| 85 |
{{- "{\n" }}
|
|
|
|
| 102 |
{{- "any" }}
|
| 103 |
{%- endif -%}
|
| 104 |
{%- endmacro -%}
|
|
|
|
| 105 |
{%- macro render_tool_namespace(namespace_name, tools) -%}
|
| 106 |
{{- "## " + namespace_name + "\n\n" }}
|
| 107 |
{{- "namespace " + namespace_name + " {\n\n" }}
|
|
|
|
| 143 |
{%- endfor %}
|
| 144 |
{{- "} // namespace " + namespace_name }}
|
| 145 |
{%- endmacro -%}
|
|
|
|
| 146 |
{%- macro render_builtin_tools(browser_tool, python_tool) -%}
|
| 147 |
{%- if browser_tool %}
|
| 148 |
{{- "## browser\n\n" }}
|
|
|
|
| 180 |
{{- "}) => any;\n\n" }}
|
| 181 |
{{- "} // namespace browser\n\n" }}
|
| 182 |
{%- endif -%}
|
|
|
|
| 183 |
{%- if python_tool %}
|
| 184 |
{{- "## python\n\n" }}
|
| 185 |
{{- "Use this tool to execute Python code in your chain of thought. The code will not be shown to the user. This tool should be used for internal reasoning, but not for code that is intended to be visible to the user (e.g. when creating plots, tables, or files).\n\n" }}
|
| 186 |
{{- "When you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 120.0 seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is UNKNOWN. Depends on the cluster.\n\n" }}
|
| 187 |
{%- endif -%}
|
| 188 |
{%- endmacro -%}
|
|
|
|
| 189 |
{#- System Message Construction ============================================ #}
|
| 190 |
{%- macro build_system_message() -%}
|
| 191 |
{%- if model_identity is not defined %}
|
|
|
|
| 195 |
{{- "Knowledge cutoff: 2024-06\n" }}
|
| 196 |
{{- "Current date: " + strftime_now("%Y-%m-%d") + "\n\n" }}
|
| 197 |
{%- if reasoning_effort is not defined %}
|
| 198 |
+
{%- set reasoning_effort = "none" %}
|
| 199 |
{%- endif %}
|
| 200 |
{{- "Reasoning: " + reasoning_effort + "\n\n" }}
|
| 201 |
{%- if builtin_tools %}
|
|
|
|
| 215 |
{{- "\nCalls to these tools must go to the commentary channel: 'functions'." }}
|
| 216 |
{%- endif -%}
|
| 217 |
{%- endmacro -%}
|
|
|
|
| 218 |
{#- Main Template Logic ================================================= #}
|
| 219 |
{#- Set defaults #}
|
|
|
|
| 220 |
{#- Render system message #}
|
| 221 |
{{- "<|start|>system<|message|>" }}
|
| 222 |
{{- build_system_message() }}
|
| 223 |
{{- "<|end|>" }}
|
|
|
|
| 224 |
{#- Extract developer message #}
|
| 225 |
{%- if messages[0].role == "developer" or messages[0].role == "system" %}
|
| 226 |
{%- set developer_message = messages[0].content %}
|
|
|
|
| 229 |
{%- set developer_message = "" %}
|
| 230 |
{%- set loop_messages = messages %}
|
| 231 |
{%- endif %}
|
|
|
|
| 232 |
{#- Render developer message #}
|
| 233 |
{%- if developer_message or tools %}
|
| 234 |
{{- "<|start|>developer<|message|>" }}
|
|
|
|
| 243 |
{%- endif -%}
|
| 244 |
{{- "<|end|>" }}
|
| 245 |
{%- endif %}
|
|
|
|
| 246 |
{#- Render messages #}
|
| 247 |
{%- set last_tool_call = namespace(name=none) %}
|
| 248 |
{%- for message in loop_messages -%}
|
|
|
|
| 275 |
{%- if tool_call.function %}
|
| 276 |
{%- set tool_call = tool_call.function %}
|
| 277 |
{%- endif %}
|
| 278 |
+
{%- if message.content and not future_final_message.found %}
|
| 279 |
+
{% generation %}
|
|
|
|
| 280 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.content + "<|end|>" }}
|
| 281 |
+
{% endgeneration %}
|
| 282 |
{%- elif message.thinking and not future_final_message.found %}
|
| 283 |
+
{% generation %}
|
| 284 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.thinking + "<|end|>" }}
|
| 285 |
+
{% endgeneration %}
|
| 286 |
{%- endif %}
|
| 287 |
{{- "<|start|>assistant to=" }}
|
| 288 |
{{- "functions." + tool_call.name + "<|channel|>commentary " }}
|
|
|
|
| 294 |
{#- Only render the CoT if the final turn is an assistant turn and add_generation_prompt is false #}
|
| 295 |
{#- This is a situation that should only occur in training, never in inference. #}
|
| 296 |
{%- if "thinking" in message %}
|
| 297 |
+
{% generation %}
|
| 298 |
{{- "<|start|>assistant<|channel|>analysis<|message|>" + message.thinking + "<|end|>" }}
|
| 299 |
+
{% endgeneration %}
|
| 300 |
{%- endif %}
|
| 301 |
{#- <|return|> indicates the end of generation, but <|end|> does not #}
|
| 302 |
{#- <|return|> should never be an input to the model, but we include it as the final token #}
|
| 303 |
{#- when training, so the model learns to emit it. #}
|
| 304 |
+
{% generation %}
|
| 305 |
{{- "<|start|>assistant<|channel|>final<|message|>" + message.content + "<|return|>" }}
|
| 306 |
+
{% endgeneration %}
|
| 307 |
{%- else %}
|
| 308 |
{#- CoT is dropped during all previous turns, so we never render it for inference #}
|
| 309 |
+
{% generation %}
|
| 310 |
{{- "<|start|>assistant<|channel|>final<|message|>" + message.content + "<|end|>" }}
|
| 311 |
+
{% endgeneration %}
|
| 312 |
{%- set last_tool_call.name = none %}
|
| 313 |
{%- endif %}
|
| 314 |
{%- elif message.role == 'tool' -%}
|
|
|
|
| 321 |
{{- "<|start|>user<|message|>" + message.content + "<|end|>" }}
|
| 322 |
{%- endif -%}
|
| 323 |
{%- endfor -%}
|
|
|
|
| 324 |
{#- Generation prompt #}
|
| 325 |
{%- if add_generation_prompt -%}
|
| 326 |
<|start|>assistant
|
| 327 |
+
{%- endif -%}
|
modelopt_state_train.pth
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:543a2762eb7388bc5b2aad89dbe66a41728b3efab046c4145d3788188ed452e1
|
| 3 |
+
size 975611
|
training_args.bin
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 6353
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:96e67e32bc5b130bd9dc87c8487c8030dd801ddfefd04c3cf3dfdc3195b19e55
|
| 3 |
size 6353
|