Safetensors
qwen2
Lxd99 commited on
Commit
08bb842
·
verified ·
1 Parent(s): 668c5ef

Upload local model

Browse files
Files changed (44) hide show
  1. .gitattributes +1 -0
  2. added_tokens.json +24 -0
  3. chat_template.jinja +54 -0
  4. config.json +59 -0
  5. generation_config.json +9 -0
  6. global_step2000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt +3 -0
  7. global_step2000/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt +3 -0
  8. global_step2000/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt +3 -0
  9. global_step2000/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt +3 -0
  10. global_step2000/bf16_zero_pp_rank_4_mp_rank_00_optim_states.pt +3 -0
  11. global_step2000/bf16_zero_pp_rank_5_mp_rank_00_optim_states.pt +3 -0
  12. global_step2000/bf16_zero_pp_rank_6_mp_rank_00_optim_states.pt +3 -0
  13. global_step2000/bf16_zero_pp_rank_7_mp_rank_00_optim_states.pt +3 -0
  14. global_step2000/zero_pp_rank_0_mp_rank_00_model_states.pt +3 -0
  15. global_step2000/zero_pp_rank_1_mp_rank_00_model_states.pt +3 -0
  16. global_step2000/zero_pp_rank_2_mp_rank_00_model_states.pt +3 -0
  17. global_step2000/zero_pp_rank_3_mp_rank_00_model_states.pt +3 -0
  18. global_step2000/zero_pp_rank_4_mp_rank_00_model_states.pt +3 -0
  19. global_step2000/zero_pp_rank_5_mp_rank_00_model_states.pt +3 -0
  20. global_step2000/zero_pp_rank_6_mp_rank_00_model_states.pt +3 -0
  21. global_step2000/zero_pp_rank_7_mp_rank_00_model_states.pt +3 -0
  22. latest +1 -0
  23. merges.txt +0 -0
  24. model-00001-of-00004.safetensors +3 -0
  25. model-00002-of-00004.safetensors +3 -0
  26. model-00003-of-00004.safetensors +3 -0
  27. model-00004-of-00004.safetensors +3 -0
  28. model.safetensors.index.json +347 -0
  29. rng_state_0.pth +3 -0
  30. rng_state_1.pth +3 -0
  31. rng_state_2.pth +3 -0
  32. rng_state_3.pth +3 -0
  33. rng_state_4.pth +3 -0
  34. rng_state_5.pth +3 -0
  35. rng_state_6.pth +3 -0
  36. rng_state_7.pth +3 -0
  37. scheduler.pt +3 -0
  38. special_tokens_map.json +25 -0
  39. tokenizer.json +3 -0
  40. tokenizer_config.json +207 -0
  41. trainer_state.json +1634 -0
  42. training_args.bin +3 -0
  43. vocab.json +0 -0
  44. zero_to_fp32.py +604 -0
.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
added_tokens.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</tool_call>": 151658,
3
+ "<tool_call>": 151657,
4
+ "<|box_end|>": 151649,
5
+ "<|box_start|>": 151648,
6
+ "<|endoftext|>": 151643,
7
+ "<|file_sep|>": 151664,
8
+ "<|fim_middle|>": 151660,
9
+ "<|fim_pad|>": 151662,
10
+ "<|fim_prefix|>": 151659,
11
+ "<|fim_suffix|>": 151661,
12
+ "<|im_end|>": 151645,
13
+ "<|im_start|>": 151644,
14
+ "<|image_pad|>": 151655,
15
+ "<|object_ref_end|>": 151647,
16
+ "<|object_ref_start|>": 151646,
17
+ "<|quad_end|>": 151651,
18
+ "<|quad_start|>": 151650,
19
+ "<|repo_name|>": 151663,
20
+ "<|video_pad|>": 151656,
21
+ "<|vision_end|>": 151653,
22
+ "<|vision_pad|>": 151654,
23
+ "<|vision_start|>": 151652
24
+ }
chat_template.jinja ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0]['role'] == 'system' %}
4
+ {{- messages[0]['content'] }}
5
+ {%- else %}
6
+ {{- 'You are a helpful assistant.' }}
7
+ {%- endif %}
8
+ {{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
9
+ {%- for tool in tools %}
10
+ {{- "\n" }}
11
+ {{- tool | tojson }}
12
+ {%- endfor %}
13
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
14
+ {%- else %}
15
+ {%- if messages[0]['role'] == 'system' %}
16
+ {{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}
17
+ {%- else %}
18
+ {{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}
19
+ {%- endif %}
20
+ {%- endif %}
21
+ {%- for message in messages %}
22
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %}
23
+ {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
24
+ {%- elif message.role == "assistant" %}
25
+ {{- '<|im_start|>' + message.role }}
26
+ {%- if message.content %}
27
+ {{- '\n' + message.content }}
28
+ {%- endif %}
29
+ {%- for tool_call in message.tool_calls %}
30
+ {%- if tool_call.function is defined %}
31
+ {%- set tool_call = tool_call.function %}
32
+ {%- endif %}
33
+ {{- '\n<tool_call>\n{"name": "' }}
34
+ {{- tool_call.name }}
35
+ {{- '", "arguments": ' }}
36
+ {{- tool_call.arguments | tojson }}
37
+ {{- '}\n</tool_call>' }}
38
+ {%- endfor %}
39
+ {{- '<|im_end|>\n' }}
40
+ {%- elif message.role == "tool" %}
41
+ {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %}
42
+ {{- '<|im_start|>user' }}
43
+ {%- endif %}
44
+ {{- '\n<tool_response>\n' }}
45
+ {{- message.content }}
46
+ {{- '\n</tool_response>' }}
47
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
48
+ {{- '<|im_end|>\n' }}
49
+ {%- endif %}
50
+ {%- endif %}
51
+ {%- endfor %}
52
+ {%- if add_generation_prompt %}
53
+ {{- '<|im_start|>assistant\n' }}
54
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen2ForCausalLM"
4
+ ],
5
+ "attention_dropout": 0.0,
6
+ "dtype": "bfloat16",
7
+ "eos_token_id": 151645,
8
+ "hidden_act": "silu",
9
+ "hidden_size": 3584,
10
+ "initializer_range": 0.02,
11
+ "intermediate_size": 18944,
12
+ "layer_types": [
13
+ "full_attention",
14
+ "full_attention",
15
+ "full_attention",
16
+ "full_attention",
17
+ "full_attention",
18
+ "full_attention",
19
+ "full_attention",
20
+ "full_attention",
21
+ "full_attention",
22
+ "full_attention",
23
+ "full_attention",
24
+ "full_attention",
25
+ "full_attention",
26
+ "full_attention",
27
+ "full_attention",
28
+ "full_attention",
29
+ "full_attention",
30
+ "full_attention",
31
+ "full_attention",
32
+ "full_attention",
33
+ "full_attention",
34
+ "full_attention",
35
+ "full_attention",
36
+ "full_attention",
37
+ "full_attention",
38
+ "full_attention",
39
+ "full_attention",
40
+ "full_attention"
41
+ ],
42
+ "max_position_embeddings": 131072,
43
+ "max_window_layers": 28,
44
+ "model_type": "qwen2",
45
+ "num_attention_heads": 28,
46
+ "num_hidden_layers": 28,
47
+ "num_key_value_heads": 4,
48
+ "pad_token_id": 151643,
49
+ "rms_norm_eps": 1e-06,
50
+ "rope_scaling": null,
51
+ "rope_theta": 1000000.0,
52
+ "sliding_window": null,
53
+ "tie_word_embeddings": false,
54
+ "transformers_version": "4.56.0",
55
+ "use_cache": true,
56
+ "use_mrope": false,
57
+ "use_sliding_window": false,
58
+ "vocab_size": 152064
59
+ }
generation_config.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "eos_token_id": [
3
+ 151643,
4
+ 151645
5
+ ],
6
+ "max_new_tokens": 2048,
7
+ "pad_token_id": 151643,
8
+ "transformers_version": "4.56.0"
9
+ }
global_step2000/bf16_zero_pp_rank_0_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8dec47ce5c36f5861278d8fa3550255f7c1ed1704a7eab622a01a36d209c537
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_1_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ebdf827cce49de1e2a3ec05036ef91a9f5a56c0848e9b29995cbf4f57b9e104e
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_2_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6e03f0f28ac5e946cff861ba30f8777e653b4d5d0de2c7c321e20e520c4426f
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_3_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ae103fa2cfee763e8007e6b50bc5dbcc21f6c291b8cbc9db57c93d84b6466498
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_4_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fba3a38d4779affff9c66d86fec0d9f6845725936dbd699f713080ff7871d84a
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_5_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d467d08c484f4d5b055efaa002bcf0077db15f71431a261170e45bca8366253
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_6_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e13b98a67f10cb4fca83f00790cd408d4603f53b137a163987b5174b6b504095
3
+ size 11423430241
global_step2000/bf16_zero_pp_rank_7_mp_rank_00_optim_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8060479e37d774e4b14902346f13cf84ffde2fc7a04233d29d9d56fd01db12c
3
+ size 11423430241
global_step2000/zero_pp_rank_0_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa07e61ef77d6c1b883ab3dbd00a92945b9b92a6433694e43b3fa85050373712
3
+ size 166752
global_step2000/zero_pp_rank_1_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e7bc581a25c738a0465d87a57902c556711d6cbcee4221b1b65dd9957e10eae
3
+ size 166752
global_step2000/zero_pp_rank_2_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:877024cb6c31cb889dce0a3d6d7d6732e1440ef20d43d59ca6aff1ef7818c308
3
+ size 166752
global_step2000/zero_pp_rank_3_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ed40849c7931a4ec6ad2f317ce7b0d6c01846470503aca95af7733bb6e8ba0bd
3
+ size 166752
global_step2000/zero_pp_rank_4_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d6a07b25e6c32f38f948ed53820b24f7ca64b3d13daeb59d21f95914d67c39cd
3
+ size 166752
global_step2000/zero_pp_rank_5_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e395099f2d78bd8e8c8a6230de23e058ba303ce351b6f5ab3b31e92f3b035a09
3
+ size 166752
global_step2000/zero_pp_rank_6_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:49dcb786c4de28fe9bab7a3fbb4cc825a0953c407ee312b6db63de487343cca6
3
+ size 166752
global_step2000/zero_pp_rank_7_mp_rank_00_model_states.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c9791b6dcda1d2edf3491c5c9900975dd97751706d5e69e2bb733ea4bbcda9c
3
+ size 166752
latest ADDED
@@ -0,0 +1 @@
 
 
1
+ global_step2000
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model-00001-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:32d70a4e0ae59658e283e853cb3ea75f8c3ffe2fe4b6d9ec8a43158f5868c4be
3
+ size 4877660776
model-00002-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bf68d9f42aff78f09370b3ac81620e7fc190d0323c1b7c18673469b57ccd3a97
3
+ size 4932751008
model-00003-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26b544123735c1bdfe447054f7c65a1f52d34d105c5b65ff46af78c0f0dc053e
3
+ size 4330865200
model-00004-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b6382df46852c0cb621bb6b240fba83f26fe9dfad4590f5bbc8e72ffad5dc770
3
+ size 1089994880
model.safetensors.index.json ADDED
@@ -0,0 +1,347 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_parameters": 333312,
4
+ "total_size": 15231233024
5
+ },
6
+ "weight_map": {
7
+ "lm_head.weight": "model-00004-of-00004.safetensors",
8
+ "model.embed_tokens.weight": "model-00001-of-00004.safetensors",
9
+ "model.layers.0.input_layernorm.weight": "model-00001-of-00004.safetensors",
10
+ "model.layers.0.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
11
+ "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
12
+ "model.layers.0.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
13
+ "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
14
+ "model.layers.0.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
15
+ "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
16
+ "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
17
+ "model.layers.0.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
18
+ "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
19
+ "model.layers.0.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
20
+ "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
21
+ "model.layers.1.input_layernorm.weight": "model-00001-of-00004.safetensors",
22
+ "model.layers.1.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
23
+ "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
24
+ "model.layers.1.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
25
+ "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
26
+ "model.layers.1.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
27
+ "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
28
+ "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
29
+ "model.layers.1.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
30
+ "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
31
+ "model.layers.1.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
32
+ "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
33
+ "model.layers.10.input_layernorm.weight": "model-00002-of-00004.safetensors",
34
+ "model.layers.10.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
35
+ "model.layers.10.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
36
+ "model.layers.10.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
37
+ "model.layers.10.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
38
+ "model.layers.10.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
39
+ "model.layers.10.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
40
+ "model.layers.10.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
41
+ "model.layers.10.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
42
+ "model.layers.10.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
43
+ "model.layers.10.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
44
+ "model.layers.10.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
45
+ "model.layers.11.input_layernorm.weight": "model-00002-of-00004.safetensors",
46
+ "model.layers.11.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
47
+ "model.layers.11.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
48
+ "model.layers.11.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
49
+ "model.layers.11.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
50
+ "model.layers.11.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
51
+ "model.layers.11.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
52
+ "model.layers.11.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
53
+ "model.layers.11.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
54
+ "model.layers.11.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
55
+ "model.layers.11.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
56
+ "model.layers.11.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
57
+ "model.layers.12.input_layernorm.weight": "model-00002-of-00004.safetensors",
58
+ "model.layers.12.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
59
+ "model.layers.12.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
60
+ "model.layers.12.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
61
+ "model.layers.12.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
62
+ "model.layers.12.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
63
+ "model.layers.12.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
64
+ "model.layers.12.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
65
+ "model.layers.12.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
66
+ "model.layers.12.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
67
+ "model.layers.12.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
68
+ "model.layers.12.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
69
+ "model.layers.13.input_layernorm.weight": "model-00002-of-00004.safetensors",
70
+ "model.layers.13.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
71
+ "model.layers.13.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
72
+ "model.layers.13.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
73
+ "model.layers.13.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
74
+ "model.layers.13.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
75
+ "model.layers.13.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
76
+ "model.layers.13.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
77
+ "model.layers.13.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
78
+ "model.layers.13.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
79
+ "model.layers.13.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
80
+ "model.layers.13.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
81
+ "model.layers.14.input_layernorm.weight": "model-00002-of-00004.safetensors",
82
+ "model.layers.14.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
83
+ "model.layers.14.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
84
+ "model.layers.14.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
85
+ "model.layers.14.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
86
+ "model.layers.14.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
87
+ "model.layers.14.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
88
+ "model.layers.14.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
89
+ "model.layers.14.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
90
+ "model.layers.14.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
91
+ "model.layers.14.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
92
+ "model.layers.14.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
93
+ "model.layers.15.input_layernorm.weight": "model-00002-of-00004.safetensors",
94
+ "model.layers.15.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
95
+ "model.layers.15.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
96
+ "model.layers.15.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
97
+ "model.layers.15.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
98
+ "model.layers.15.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
99
+ "model.layers.15.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
100
+ "model.layers.15.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
101
+ "model.layers.15.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
102
+ "model.layers.15.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
103
+ "model.layers.15.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
104
+ "model.layers.15.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
105
+ "model.layers.16.input_layernorm.weight": "model-00002-of-00004.safetensors",
106
+ "model.layers.16.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
107
+ "model.layers.16.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
108
+ "model.layers.16.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
109
+ "model.layers.16.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
110
+ "model.layers.16.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
111
+ "model.layers.16.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
112
+ "model.layers.16.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
113
+ "model.layers.16.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
114
+ "model.layers.16.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
115
+ "model.layers.16.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
116
+ "model.layers.16.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
117
+ "model.layers.17.input_layernorm.weight": "model-00002-of-00004.safetensors",
118
+ "model.layers.17.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
119
+ "model.layers.17.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
120
+ "model.layers.17.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
121
+ "model.layers.17.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
122
+ "model.layers.17.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
123
+ "model.layers.17.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
124
+ "model.layers.17.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
125
+ "model.layers.17.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
126
+ "model.layers.17.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
127
+ "model.layers.17.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
128
+ "model.layers.17.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
129
+ "model.layers.18.input_layernorm.weight": "model-00003-of-00004.safetensors",
130
+ "model.layers.18.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
131
+ "model.layers.18.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
132
+ "model.layers.18.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
133
+ "model.layers.18.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
134
+ "model.layers.18.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
135
+ "model.layers.18.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
136
+ "model.layers.18.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
137
+ "model.layers.18.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
138
+ "model.layers.18.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
139
+ "model.layers.18.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
140
+ "model.layers.18.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
141
+ "model.layers.19.input_layernorm.weight": "model-00003-of-00004.safetensors",
142
+ "model.layers.19.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
143
+ "model.layers.19.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
144
+ "model.layers.19.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
145
+ "model.layers.19.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
146
+ "model.layers.19.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
147
+ "model.layers.19.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
148
+ "model.layers.19.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
149
+ "model.layers.19.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
150
+ "model.layers.19.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
151
+ "model.layers.19.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
152
+ "model.layers.19.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
153
+ "model.layers.2.input_layernorm.weight": "model-00001-of-00004.safetensors",
154
+ "model.layers.2.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
155
+ "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
156
+ "model.layers.2.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
157
+ "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
158
+ "model.layers.2.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
159
+ "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
160
+ "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
161
+ "model.layers.2.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
162
+ "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
163
+ "model.layers.2.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
164
+ "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
165
+ "model.layers.20.input_layernorm.weight": "model-00003-of-00004.safetensors",
166
+ "model.layers.20.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
167
+ "model.layers.20.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
168
+ "model.layers.20.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
169
+ "model.layers.20.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
170
+ "model.layers.20.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
171
+ "model.layers.20.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
172
+ "model.layers.20.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
173
+ "model.layers.20.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
174
+ "model.layers.20.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
175
+ "model.layers.20.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
176
+ "model.layers.20.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
177
+ "model.layers.21.input_layernorm.weight": "model-00003-of-00004.safetensors",
178
+ "model.layers.21.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
179
+ "model.layers.21.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
180
+ "model.layers.21.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
181
+ "model.layers.21.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
182
+ "model.layers.21.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
183
+ "model.layers.21.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
184
+ "model.layers.21.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
185
+ "model.layers.21.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
186
+ "model.layers.21.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
187
+ "model.layers.21.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
188
+ "model.layers.21.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
189
+ "model.layers.22.input_layernorm.weight": "model-00003-of-00004.safetensors",
190
+ "model.layers.22.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
191
+ "model.layers.22.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
192
+ "model.layers.22.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
193
+ "model.layers.22.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
194
+ "model.layers.22.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
195
+ "model.layers.22.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
196
+ "model.layers.22.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
197
+ "model.layers.22.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
198
+ "model.layers.22.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
199
+ "model.layers.22.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
200
+ "model.layers.22.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
201
+ "model.layers.23.input_layernorm.weight": "model-00003-of-00004.safetensors",
202
+ "model.layers.23.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
203
+ "model.layers.23.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
204
+ "model.layers.23.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
205
+ "model.layers.23.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
206
+ "model.layers.23.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
207
+ "model.layers.23.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
208
+ "model.layers.23.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
209
+ "model.layers.23.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
210
+ "model.layers.23.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
211
+ "model.layers.23.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
212
+ "model.layers.23.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
213
+ "model.layers.24.input_layernorm.weight": "model-00003-of-00004.safetensors",
214
+ "model.layers.24.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
215
+ "model.layers.24.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
216
+ "model.layers.24.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
217
+ "model.layers.24.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
218
+ "model.layers.24.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
219
+ "model.layers.24.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
220
+ "model.layers.24.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
221
+ "model.layers.24.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
222
+ "model.layers.24.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
223
+ "model.layers.24.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
224
+ "model.layers.24.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
225
+ "model.layers.25.input_layernorm.weight": "model-00003-of-00004.safetensors",
226
+ "model.layers.25.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
227
+ "model.layers.25.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
228
+ "model.layers.25.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
229
+ "model.layers.25.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
230
+ "model.layers.25.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
231
+ "model.layers.25.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
232
+ "model.layers.25.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
233
+ "model.layers.25.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
234
+ "model.layers.25.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
235
+ "model.layers.25.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
236
+ "model.layers.25.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
237
+ "model.layers.26.input_layernorm.weight": "model-00003-of-00004.safetensors",
238
+ "model.layers.26.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
239
+ "model.layers.26.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
240
+ "model.layers.26.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
241
+ "model.layers.26.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
242
+ "model.layers.26.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
243
+ "model.layers.26.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
244
+ "model.layers.26.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
245
+ "model.layers.26.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
246
+ "model.layers.26.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
247
+ "model.layers.26.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
248
+ "model.layers.26.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
249
+ "model.layers.27.input_layernorm.weight": "model-00003-of-00004.safetensors",
250
+ "model.layers.27.mlp.down_proj.weight": "model-00003-of-00004.safetensors",
251
+ "model.layers.27.mlp.gate_proj.weight": "model-00003-of-00004.safetensors",
252
+ "model.layers.27.mlp.up_proj.weight": "model-00003-of-00004.safetensors",
253
+ "model.layers.27.post_attention_layernorm.weight": "model-00003-of-00004.safetensors",
254
+ "model.layers.27.self_attn.k_proj.bias": "model-00003-of-00004.safetensors",
255
+ "model.layers.27.self_attn.k_proj.weight": "model-00003-of-00004.safetensors",
256
+ "model.layers.27.self_attn.o_proj.weight": "model-00003-of-00004.safetensors",
257
+ "model.layers.27.self_attn.q_proj.bias": "model-00003-of-00004.safetensors",
258
+ "model.layers.27.self_attn.q_proj.weight": "model-00003-of-00004.safetensors",
259
+ "model.layers.27.self_attn.v_proj.bias": "model-00003-of-00004.safetensors",
260
+ "model.layers.27.self_attn.v_proj.weight": "model-00003-of-00004.safetensors",
261
+ "model.layers.3.input_layernorm.weight": "model-00001-of-00004.safetensors",
262
+ "model.layers.3.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
263
+ "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
264
+ "model.layers.3.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
265
+ "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
266
+ "model.layers.3.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
267
+ "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
268
+ "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
269
+ "model.layers.3.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
270
+ "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
271
+ "model.layers.3.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
272
+ "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
273
+ "model.layers.4.input_layernorm.weight": "model-00001-of-00004.safetensors",
274
+ "model.layers.4.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
275
+ "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
276
+ "model.layers.4.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
277
+ "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
278
+ "model.layers.4.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
279
+ "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
280
+ "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
281
+ "model.layers.4.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
282
+ "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
283
+ "model.layers.4.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
284
+ "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
285
+ "model.layers.5.input_layernorm.weight": "model-00001-of-00004.safetensors",
286
+ "model.layers.5.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
287
+ "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
288
+ "model.layers.5.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
289
+ "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
290
+ "model.layers.5.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
291
+ "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
292
+ "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
293
+ "model.layers.5.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
294
+ "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
295
+ "model.layers.5.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
296
+ "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
297
+ "model.layers.6.input_layernorm.weight": "model-00001-of-00004.safetensors",
298
+ "model.layers.6.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
299
+ "model.layers.6.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
300
+ "model.layers.6.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
301
+ "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
302
+ "model.layers.6.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
303
+ "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
304
+ "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
305
+ "model.layers.6.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
306
+ "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
307
+ "model.layers.6.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
308
+ "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
309
+ "model.layers.7.input_layernorm.weight": "model-00001-of-00004.safetensors",
310
+ "model.layers.7.mlp.down_proj.weight": "model-00001-of-00004.safetensors",
311
+ "model.layers.7.mlp.gate_proj.weight": "model-00001-of-00004.safetensors",
312
+ "model.layers.7.mlp.up_proj.weight": "model-00001-of-00004.safetensors",
313
+ "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00004.safetensors",
314
+ "model.layers.7.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
315
+ "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
316
+ "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
317
+ "model.layers.7.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
318
+ "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
319
+ "model.layers.7.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
320
+ "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
321
+ "model.layers.8.input_layernorm.weight": "model-00002-of-00004.safetensors",
322
+ "model.layers.8.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
323
+ "model.layers.8.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
324
+ "model.layers.8.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
325
+ "model.layers.8.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
326
+ "model.layers.8.self_attn.k_proj.bias": "model-00001-of-00004.safetensors",
327
+ "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00004.safetensors",
328
+ "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00004.safetensors",
329
+ "model.layers.8.self_attn.q_proj.bias": "model-00001-of-00004.safetensors",
330
+ "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00004.safetensors",
331
+ "model.layers.8.self_attn.v_proj.bias": "model-00001-of-00004.safetensors",
332
+ "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00004.safetensors",
333
+ "model.layers.9.input_layernorm.weight": "model-00002-of-00004.safetensors",
334
+ "model.layers.9.mlp.down_proj.weight": "model-00002-of-00004.safetensors",
335
+ "model.layers.9.mlp.gate_proj.weight": "model-00002-of-00004.safetensors",
336
+ "model.layers.9.mlp.up_proj.weight": "model-00002-of-00004.safetensors",
337
+ "model.layers.9.post_attention_layernorm.weight": "model-00002-of-00004.safetensors",
338
+ "model.layers.9.self_attn.k_proj.bias": "model-00002-of-00004.safetensors",
339
+ "model.layers.9.self_attn.k_proj.weight": "model-00002-of-00004.safetensors",
340
+ "model.layers.9.self_attn.o_proj.weight": "model-00002-of-00004.safetensors",
341
+ "model.layers.9.self_attn.q_proj.bias": "model-00002-of-00004.safetensors",
342
+ "model.layers.9.self_attn.q_proj.weight": "model-00002-of-00004.safetensors",
343
+ "model.layers.9.self_attn.v_proj.bias": "model-00002-of-00004.safetensors",
344
+ "model.layers.9.self_attn.v_proj.weight": "model-00002-of-00004.safetensors",
345
+ "model.norm.weight": "model-00003-of-00004.safetensors"
346
+ }
347
+ }
rng_state_0.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:84750af6bd4c34478c638e5299fa86cb8f0f3128e5a353af7e4aa00b600124b4
3
+ size 16325
rng_state_1.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9cdd6b07b9796a600d1534d8719a801f1c120c193fb1c3890b20b6a96e01cc20
3
+ size 16325
rng_state_2.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f6c53d380012c858e876248dadf803453a9406d4f96257f341becb2e4f6d219d
3
+ size 16325
rng_state_3.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:670a4d80b20868ee65bf71ea7bb701ab312d8a25628994e76c577be2c1517e05
3
+ size 16325
rng_state_4.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0766173b35f69d24cd65464a91fcc6bace35fc846062f1b181518d3158c67e4c
3
+ size 16325
rng_state_5.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87ceee0c36070f6d4ca84acb7bf39ca74ed45e32e5a3adc32a594388cb2a72e1
3
+ size 16325
rng_state_6.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1a9bd1d56de9f175f7980bbefcc1a996526855bdba4b646649dc6c453d2a40ee
3
+ size 16325
rng_state_7.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea930010081807404b2efc0b7ec27590a59fca05aca0ed1cbcfc03a693429f3f
3
+ size 16325
scheduler.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab8090b0e048918471f5675a9599d07bf4b60aded9dda2eeaab9a0865546a6f8
3
+ size 1465
special_tokens_map.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_start|>",
4
+ "<|im_end|>",
5
+ "<|object_ref_start|>",
6
+ "<|object_ref_end|>",
7
+ "<|box_start|>",
8
+ "<|box_end|>",
9
+ "<|quad_start|>",
10
+ "<|quad_end|>",
11
+ "<|vision_start|>",
12
+ "<|vision_end|>",
13
+ "<|vision_pad|>",
14
+ "<|image_pad|>",
15
+ "<|video_pad|>"
16
+ ],
17
+ "eos_token": "<|im_end|>",
18
+ "pad_token": {
19
+ "content": "<|endoftext|>",
20
+ "lstrip": false,
21
+ "normalized": false,
22
+ "rstrip": false,
23
+ "single_word": false
24
+ }
25
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa
3
+ size 11421896
tokenizer_config.json ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ }
181
+ },
182
+ "additional_special_tokens": [
183
+ "<|im_start|>",
184
+ "<|im_end|>",
185
+ "<|object_ref_start|>",
186
+ "<|object_ref_end|>",
187
+ "<|box_start|>",
188
+ "<|box_end|>",
189
+ "<|quad_start|>",
190
+ "<|quad_end|>",
191
+ "<|vision_start|>",
192
+ "<|vision_end|>",
193
+ "<|vision_pad|>",
194
+ "<|image_pad|>",
195
+ "<|video_pad|>"
196
+ ],
197
+ "bos_token": null,
198
+ "clean_up_tokenization_spaces": false,
199
+ "eos_token": "<|im_end|>",
200
+ "errors": "replace",
201
+ "extra_special_tokens": {},
202
+ "model_max_length": 131072,
203
+ "pad_token": "<|endoftext|>",
204
+ "split_special_tokens": false,
205
+ "tokenizer_class": "Qwen2Tokenizer",
206
+ "unk_token": null
207
+ }
trainer_state.json ADDED
@@ -0,0 +1,1634 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "best_global_step": null,
3
+ "best_metric": null,
4
+ "best_model_checkpoint": null,
5
+ "epoch": 0.06095330976472022,
6
+ "eval_steps": 500,
7
+ "global_step": 2000,
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.00030476654882360114,
14
+ "grad_norm": 0.7457249747340627,
15
+ "learning_rate": 9.137055837563454e-08,
16
+ "loss": 0.6142,
17
+ "num_tokens": 2980145.0,
18
+ "step": 10
19
+ },
20
+ {
21
+ "epoch": 0.0006095330976472023,
22
+ "grad_norm": 0.5230562451977644,
23
+ "learning_rate": 1.9289340101522847e-07,
24
+ "loss": 0.6164,
25
+ "num_tokens": 5996839.0,
26
+ "step": 20
27
+ },
28
+ {
29
+ "epoch": 0.0009142996464708034,
30
+ "grad_norm": 0.49714383563689274,
31
+ "learning_rate": 2.9441624365482237e-07,
32
+ "loss": 0.6091,
33
+ "num_tokens": 8885936.0,
34
+ "step": 30
35
+ },
36
+ {
37
+ "epoch": 0.0012190661952944045,
38
+ "grad_norm": 0.49096988376057554,
39
+ "learning_rate": 3.959390862944162e-07,
40
+ "loss": 0.6178,
41
+ "num_tokens": 11902174.0,
42
+ "step": 40
43
+ },
44
+ {
45
+ "epoch": 0.0015238327441180056,
46
+ "grad_norm": 0.4330398526762992,
47
+ "learning_rate": 4.974619289340102e-07,
48
+ "loss": 0.6199,
49
+ "num_tokens": 14925906.0,
50
+ "step": 50
51
+ },
52
+ {
53
+ "epoch": 0.0018285992929416067,
54
+ "grad_norm": 0.41516586177368875,
55
+ "learning_rate": 5.989847715736042e-07,
56
+ "loss": 0.616,
57
+ "num_tokens": 17930059.0,
58
+ "step": 60
59
+ },
60
+ {
61
+ "epoch": 0.002133365841765208,
62
+ "grad_norm": 0.43028637001925885,
63
+ "learning_rate": 7.005076142131981e-07,
64
+ "loss": 0.6131,
65
+ "num_tokens": 20906359.0,
66
+ "step": 70
67
+ },
68
+ {
69
+ "epoch": 0.002438132390588809,
70
+ "grad_norm": 0.4332500284703439,
71
+ "learning_rate": 8.020304568527919e-07,
72
+ "loss": 0.6044,
73
+ "num_tokens": 23929250.0,
74
+ "step": 80
75
+ },
76
+ {
77
+ "epoch": 0.00274289893941241,
78
+ "grad_norm": 0.3908329550293861,
79
+ "learning_rate": 9.035532994923858e-07,
80
+ "loss": 0.611,
81
+ "num_tokens": 26927837.0,
82
+ "step": 90
83
+ },
84
+ {
85
+ "epoch": 0.0030476654882360113,
86
+ "grad_norm": 0.41749282992761355,
87
+ "learning_rate": 1.0050761421319798e-06,
88
+ "loss": 0.6032,
89
+ "num_tokens": 29987544.0,
90
+ "step": 100
91
+ },
92
+ {
93
+ "epoch": 0.003352432037059612,
94
+ "grad_norm": 0.4169278523962904,
95
+ "learning_rate": 1.1065989847715738e-06,
96
+ "loss": 0.5916,
97
+ "num_tokens": 33038706.0,
98
+ "step": 110
99
+ },
100
+ {
101
+ "epoch": 0.0036571985858832134,
102
+ "grad_norm": 0.4028416591982731,
103
+ "learning_rate": 1.2081218274111676e-06,
104
+ "loss": 0.6008,
105
+ "num_tokens": 36086832.0,
106
+ "step": 120
107
+ },
108
+ {
109
+ "epoch": 0.003961965134706815,
110
+ "grad_norm": 0.474979518300003,
111
+ "learning_rate": 1.3096446700507614e-06,
112
+ "loss": 0.6145,
113
+ "num_tokens": 39092440.0,
114
+ "step": 130
115
+ },
116
+ {
117
+ "epoch": 0.004266731683530416,
118
+ "grad_norm": 0.47119945262680424,
119
+ "learning_rate": 1.4111675126903554e-06,
120
+ "loss": 0.6128,
121
+ "num_tokens": 42041721.0,
122
+ "step": 140
123
+ },
124
+ {
125
+ "epoch": 0.0045714982323540165,
126
+ "grad_norm": 0.4067936922360184,
127
+ "learning_rate": 1.5126903553299494e-06,
128
+ "loss": 0.6095,
129
+ "num_tokens": 45028968.0,
130
+ "step": 150
131
+ },
132
+ {
133
+ "epoch": 0.004876264781177618,
134
+ "grad_norm": 0.4858340781478565,
135
+ "learning_rate": 1.6142131979695432e-06,
136
+ "loss": 0.6175,
137
+ "num_tokens": 47973669.0,
138
+ "step": 160
139
+ },
140
+ {
141
+ "epoch": 0.005181031330001219,
142
+ "grad_norm": 0.4401239901711096,
143
+ "learning_rate": 1.7157360406091372e-06,
144
+ "loss": 0.5893,
145
+ "num_tokens": 50987779.0,
146
+ "step": 170
147
+ },
148
+ {
149
+ "epoch": 0.00548579787882482,
150
+ "grad_norm": 0.4460687010247,
151
+ "learning_rate": 1.8172588832487312e-06,
152
+ "loss": 0.6026,
153
+ "num_tokens": 54041218.0,
154
+ "step": 180
155
+ },
156
+ {
157
+ "epoch": 0.005790564427648422,
158
+ "grad_norm": 0.4501185094476908,
159
+ "learning_rate": 1.9187817258883252e-06,
160
+ "loss": 0.6008,
161
+ "num_tokens": 56982269.0,
162
+ "step": 190
163
+ },
164
+ {
165
+ "epoch": 0.0060953309764720225,
166
+ "grad_norm": 0.4909095450175495,
167
+ "learning_rate": 2.0203045685279192e-06,
168
+ "loss": 0.6089,
169
+ "num_tokens": 59938083.0,
170
+ "step": 200
171
+ },
172
+ {
173
+ "epoch": 0.006400097525295623,
174
+ "grad_norm": 0.407422663157645,
175
+ "learning_rate": 2.121827411167513e-06,
176
+ "loss": 0.6116,
177
+ "num_tokens": 62969469.0,
178
+ "step": 210
179
+ },
180
+ {
181
+ "epoch": 0.006704864074119224,
182
+ "grad_norm": 0.4483755982384412,
183
+ "learning_rate": 2.223350253807107e-06,
184
+ "loss": 0.5879,
185
+ "num_tokens": 65900724.0,
186
+ "step": 220
187
+ },
188
+ {
189
+ "epoch": 0.007009630622942826,
190
+ "grad_norm": 0.4611576231522366,
191
+ "learning_rate": 2.324873096446701e-06,
192
+ "loss": 0.6119,
193
+ "num_tokens": 68899345.0,
194
+ "step": 230
195
+ },
196
+ {
197
+ "epoch": 0.007314397171766427,
198
+ "grad_norm": 0.4493444382084047,
199
+ "learning_rate": 2.4263959390862944e-06,
200
+ "loss": 0.6006,
201
+ "num_tokens": 71888265.0,
202
+ "step": 240
203
+ },
204
+ {
205
+ "epoch": 0.007619163720590028,
206
+ "grad_norm": 0.48989463829316715,
207
+ "learning_rate": 2.527918781725889e-06,
208
+ "loss": 0.5935,
209
+ "num_tokens": 74852357.0,
210
+ "step": 250
211
+ },
212
+ {
213
+ "epoch": 0.00792393026941363,
214
+ "grad_norm": 0.44739062063292384,
215
+ "learning_rate": 2.6294416243654824e-06,
216
+ "loss": 0.6055,
217
+ "num_tokens": 77887469.0,
218
+ "step": 260
219
+ },
220
+ {
221
+ "epoch": 0.00822869681823723,
222
+ "grad_norm": 0.48068140497642214,
223
+ "learning_rate": 2.730964467005076e-06,
224
+ "loss": 0.5901,
225
+ "num_tokens": 80914803.0,
226
+ "step": 270
227
+ },
228
+ {
229
+ "epoch": 0.008533463367060831,
230
+ "grad_norm": 0.5233143764709678,
231
+ "learning_rate": 2.8324873096446704e-06,
232
+ "loss": 0.6069,
233
+ "num_tokens": 83909605.0,
234
+ "step": 280
235
+ },
236
+ {
237
+ "epoch": 0.008838229915884432,
238
+ "grad_norm": 0.4774701979403596,
239
+ "learning_rate": 2.934010152284264e-06,
240
+ "loss": 0.5846,
241
+ "num_tokens": 86917981.0,
242
+ "step": 290
243
+ },
244
+ {
245
+ "epoch": 0.009142996464708033,
246
+ "grad_norm": 0.5130960008034174,
247
+ "learning_rate": 3.035532994923858e-06,
248
+ "loss": 0.6034,
249
+ "num_tokens": 89890382.0,
250
+ "step": 300
251
+ },
252
+ {
253
+ "epoch": 0.009447763013531636,
254
+ "grad_norm": 0.5410605184236367,
255
+ "learning_rate": 3.137055837563452e-06,
256
+ "loss": 0.6011,
257
+ "num_tokens": 92882407.0,
258
+ "step": 310
259
+ },
260
+ {
261
+ "epoch": 0.009752529562355236,
262
+ "grad_norm": 0.4744253443258629,
263
+ "learning_rate": 3.238578680203046e-06,
264
+ "loss": 0.596,
265
+ "num_tokens": 95952332.0,
266
+ "step": 320
267
+ },
268
+ {
269
+ "epoch": 0.010057296111178837,
270
+ "grad_norm": 0.4771199402059675,
271
+ "learning_rate": 3.3401015228426396e-06,
272
+ "loss": 0.5961,
273
+ "num_tokens": 98980436.0,
274
+ "step": 330
275
+ },
276
+ {
277
+ "epoch": 0.010362062660002438,
278
+ "grad_norm": 0.4637328128768241,
279
+ "learning_rate": 3.441624365482234e-06,
280
+ "loss": 0.5941,
281
+ "num_tokens": 102004099.0,
282
+ "step": 340
283
+ },
284
+ {
285
+ "epoch": 0.010666829208826039,
286
+ "grad_norm": 0.5192952235899345,
287
+ "learning_rate": 3.5431472081218276e-06,
288
+ "loss": 0.5816,
289
+ "num_tokens": 105032718.0,
290
+ "step": 350
291
+ },
292
+ {
293
+ "epoch": 0.01097159575764964,
294
+ "grad_norm": 0.5301506204288337,
295
+ "learning_rate": 3.644670050761422e-06,
296
+ "loss": 0.6062,
297
+ "num_tokens": 108023271.0,
298
+ "step": 360
299
+ },
300
+ {
301
+ "epoch": 0.01127636230647324,
302
+ "grad_norm": 0.5199604764649894,
303
+ "learning_rate": 3.7461928934010156e-06,
304
+ "loss": 0.6046,
305
+ "num_tokens": 111041751.0,
306
+ "step": 370
307
+ },
308
+ {
309
+ "epoch": 0.011581128855296843,
310
+ "grad_norm": 0.5159668884756926,
311
+ "learning_rate": 3.847715736040609e-06,
312
+ "loss": 0.595,
313
+ "num_tokens": 113998068.0,
314
+ "step": 380
315
+ },
316
+ {
317
+ "epoch": 0.011885895404120444,
318
+ "grad_norm": 0.541343488588413,
319
+ "learning_rate": 3.949238578680203e-06,
320
+ "loss": 0.5909,
321
+ "num_tokens": 117011555.0,
322
+ "step": 390
323
+ },
324
+ {
325
+ "epoch": 0.012190661952944045,
326
+ "grad_norm": 0.5507329622876062,
327
+ "learning_rate": 4.050761421319797e-06,
328
+ "loss": 0.6116,
329
+ "num_tokens": 119971082.0,
330
+ "step": 400
331
+ },
332
+ {
333
+ "epoch": 0.012495428501767646,
334
+ "grad_norm": 0.5387900338289145,
335
+ "learning_rate": 4.152284263959391e-06,
336
+ "loss": 0.5972,
337
+ "num_tokens": 122935836.0,
338
+ "step": 410
339
+ },
340
+ {
341
+ "epoch": 0.012800195050591247,
342
+ "grad_norm": 0.5211259283987176,
343
+ "learning_rate": 4.253807106598985e-06,
344
+ "loss": 0.5972,
345
+ "num_tokens": 125930244.0,
346
+ "step": 420
347
+ },
348
+ {
349
+ "epoch": 0.013104961599414848,
350
+ "grad_norm": 0.5193796245645712,
351
+ "learning_rate": 4.355329949238579e-06,
352
+ "loss": 0.62,
353
+ "num_tokens": 128941908.0,
354
+ "step": 430
355
+ },
356
+ {
357
+ "epoch": 0.013409728148238449,
358
+ "grad_norm": 0.5529483243359413,
359
+ "learning_rate": 4.456852791878173e-06,
360
+ "loss": 0.6036,
361
+ "num_tokens": 131937447.0,
362
+ "step": 440
363
+ },
364
+ {
365
+ "epoch": 0.013714494697062051,
366
+ "grad_norm": 0.6030580723464019,
367
+ "learning_rate": 4.558375634517767e-06,
368
+ "loss": 0.597,
369
+ "num_tokens": 134893931.0,
370
+ "step": 450
371
+ },
372
+ {
373
+ "epoch": 0.014019261245885652,
374
+ "grad_norm": 0.5638437321715631,
375
+ "learning_rate": 4.6598984771573604e-06,
376
+ "loss": 0.6115,
377
+ "num_tokens": 137827084.0,
378
+ "step": 460
379
+ },
380
+ {
381
+ "epoch": 0.014324027794709253,
382
+ "grad_norm": 0.5089162615052084,
383
+ "learning_rate": 4.7614213197969544e-06,
384
+ "loss": 0.6033,
385
+ "num_tokens": 140842870.0,
386
+ "step": 470
387
+ },
388
+ {
389
+ "epoch": 0.014628794343532854,
390
+ "grad_norm": 0.5368683405687481,
391
+ "learning_rate": 4.8629441624365485e-06,
392
+ "loss": 0.6017,
393
+ "num_tokens": 143843882.0,
394
+ "step": 480
395
+ },
396
+ {
397
+ "epoch": 0.014933560892356455,
398
+ "grad_norm": 0.560866440724884,
399
+ "learning_rate": 4.9644670050761425e-06,
400
+ "loss": 0.6025,
401
+ "num_tokens": 146811617.0,
402
+ "step": 490
403
+ },
404
+ {
405
+ "epoch": 0.015238327441180055,
406
+ "grad_norm": 0.5651422936330702,
407
+ "learning_rate": 5.0659898477157365e-06,
408
+ "loss": 0.5936,
409
+ "num_tokens": 149829605.0,
410
+ "step": 500
411
+ },
412
+ {
413
+ "epoch": 0.015543093990003658,
414
+ "grad_norm": 0.47211095143464976,
415
+ "learning_rate": 5.1675126903553305e-06,
416
+ "loss": 0.6002,
417
+ "num_tokens": 152879090.0,
418
+ "step": 510
419
+ },
420
+ {
421
+ "epoch": 0.01584786053882726,
422
+ "grad_norm": 0.5419676421463695,
423
+ "learning_rate": 5.269035532994924e-06,
424
+ "loss": 0.6068,
425
+ "num_tokens": 155844929.0,
426
+ "step": 520
427
+ },
428
+ {
429
+ "epoch": 0.016152627087650858,
430
+ "grad_norm": 0.6246209039471872,
431
+ "learning_rate": 5.3705583756345185e-06,
432
+ "loss": 0.5964,
433
+ "num_tokens": 158860844.0,
434
+ "step": 530
435
+ },
436
+ {
437
+ "epoch": 0.01645739363647446,
438
+ "grad_norm": 0.549771097832386,
439
+ "learning_rate": 5.4720812182741125e-06,
440
+ "loss": 0.5955,
441
+ "num_tokens": 161834390.0,
442
+ "step": 540
443
+ },
444
+ {
445
+ "epoch": 0.016762160185298063,
446
+ "grad_norm": 0.5238364197670614,
447
+ "learning_rate": 5.5736040609137065e-06,
448
+ "loss": 0.6105,
449
+ "num_tokens": 164903408.0,
450
+ "step": 550
451
+ },
452
+ {
453
+ "epoch": 0.017066926734121662,
454
+ "grad_norm": 0.5431655224279603,
455
+ "learning_rate": 5.6751269035533e-06,
456
+ "loss": 0.5808,
457
+ "num_tokens": 167945658.0,
458
+ "step": 560
459
+ },
460
+ {
461
+ "epoch": 0.017371693282945265,
462
+ "grad_norm": 0.5257430900462962,
463
+ "learning_rate": 5.776649746192894e-06,
464
+ "loss": 0.5987,
465
+ "num_tokens": 170984358.0,
466
+ "step": 570
467
+ },
468
+ {
469
+ "epoch": 0.017676459831768864,
470
+ "grad_norm": 0.6003046913840301,
471
+ "learning_rate": 5.878172588832488e-06,
472
+ "loss": 0.6033,
473
+ "num_tokens": 173989761.0,
474
+ "step": 580
475
+ },
476
+ {
477
+ "epoch": 0.017981226380592467,
478
+ "grad_norm": 0.5672973145643517,
479
+ "learning_rate": 5.979695431472081e-06,
480
+ "loss": 0.6102,
481
+ "num_tokens": 176968810.0,
482
+ "step": 590
483
+ },
484
+ {
485
+ "epoch": 0.018285992929416066,
486
+ "grad_norm": 0.5503549692186483,
487
+ "learning_rate": 6.081218274111676e-06,
488
+ "loss": 0.6077,
489
+ "num_tokens": 179971815.0,
490
+ "step": 600
491
+ },
492
+ {
493
+ "epoch": 0.01859075947823967,
494
+ "grad_norm": 0.529283833183057,
495
+ "learning_rate": 6.18274111675127e-06,
496
+ "loss": 0.5999,
497
+ "num_tokens": 183003541.0,
498
+ "step": 610
499
+ },
500
+ {
501
+ "epoch": 0.01889552602706327,
502
+ "grad_norm": 0.6080338349548227,
503
+ "learning_rate": 6.284263959390864e-06,
504
+ "loss": 0.6049,
505
+ "num_tokens": 185970071.0,
506
+ "step": 620
507
+ },
508
+ {
509
+ "epoch": 0.01920029257588687,
510
+ "grad_norm": 0.5457834941063321,
511
+ "learning_rate": 6.385786802030457e-06,
512
+ "loss": 0.6061,
513
+ "num_tokens": 188977852.0,
514
+ "step": 630
515
+ },
516
+ {
517
+ "epoch": 0.019505059124710473,
518
+ "grad_norm": 0.5811218073065819,
519
+ "learning_rate": 6.487309644670051e-06,
520
+ "loss": 0.5996,
521
+ "num_tokens": 191894102.0,
522
+ "step": 640
523
+ },
524
+ {
525
+ "epoch": 0.019809825673534072,
526
+ "grad_norm": 0.5874876696821952,
527
+ "learning_rate": 6.588832487309646e-06,
528
+ "loss": 0.5917,
529
+ "num_tokens": 194930427.0,
530
+ "step": 650
531
+ },
532
+ {
533
+ "epoch": 0.020114592222357675,
534
+ "grad_norm": 0.643812726542813,
535
+ "learning_rate": 6.69035532994924e-06,
536
+ "loss": 0.5991,
537
+ "num_tokens": 197878331.0,
538
+ "step": 660
539
+ },
540
+ {
541
+ "epoch": 0.020419358771181274,
542
+ "grad_norm": 0.5164219399748118,
543
+ "learning_rate": 6.791878172588833e-06,
544
+ "loss": 0.6038,
545
+ "num_tokens": 200865810.0,
546
+ "step": 670
547
+ },
548
+ {
549
+ "epoch": 0.020724125320004876,
550
+ "grad_norm": 0.520689078647113,
551
+ "learning_rate": 6.893401015228427e-06,
552
+ "loss": 0.5979,
553
+ "num_tokens": 203817250.0,
554
+ "step": 680
555
+ },
556
+ {
557
+ "epoch": 0.02102889186882848,
558
+ "grad_norm": 0.5039371962942628,
559
+ "learning_rate": 6.994923857868021e-06,
560
+ "loss": 0.5975,
561
+ "num_tokens": 206811537.0,
562
+ "step": 690
563
+ },
564
+ {
565
+ "epoch": 0.021333658417652078,
566
+ "grad_norm": 0.5544674068606494,
567
+ "learning_rate": 7.096446700507614e-06,
568
+ "loss": 0.6025,
569
+ "num_tokens": 209795067.0,
570
+ "step": 700
571
+ },
572
+ {
573
+ "epoch": 0.02163842496647568,
574
+ "grad_norm": 0.5784724273304568,
575
+ "learning_rate": 7.197969543147209e-06,
576
+ "loss": 0.6007,
577
+ "num_tokens": 212800409.0,
578
+ "step": 710
579
+ },
580
+ {
581
+ "epoch": 0.02194319151529928,
582
+ "grad_norm": 0.5019397033545099,
583
+ "learning_rate": 7.299492385786803e-06,
584
+ "loss": 0.5891,
585
+ "num_tokens": 215812500.0,
586
+ "step": 720
587
+ },
588
+ {
589
+ "epoch": 0.022247958064122882,
590
+ "grad_norm": 0.5145496859403778,
591
+ "learning_rate": 7.401015228426397e-06,
592
+ "loss": 0.5978,
593
+ "num_tokens": 218829927.0,
594
+ "step": 730
595
+ },
596
+ {
597
+ "epoch": 0.02255272461294648,
598
+ "grad_norm": 0.5948272370253752,
599
+ "learning_rate": 7.50253807106599e-06,
600
+ "loss": 0.5981,
601
+ "num_tokens": 221910127.0,
602
+ "step": 740
603
+ },
604
+ {
605
+ "epoch": 0.022857491161770084,
606
+ "grad_norm": 0.6324523630669571,
607
+ "learning_rate": 7.604060913705584e-06,
608
+ "loss": 0.5977,
609
+ "num_tokens": 224950377.0,
610
+ "step": 750
611
+ },
612
+ {
613
+ "epoch": 0.023162257710593687,
614
+ "grad_norm": 0.5522771359702385,
615
+ "learning_rate": 7.705583756345178e-06,
616
+ "loss": 0.5968,
617
+ "num_tokens": 227912016.0,
618
+ "step": 760
619
+ },
620
+ {
621
+ "epoch": 0.023467024259417286,
622
+ "grad_norm": 0.5678284942531937,
623
+ "learning_rate": 7.807106598984773e-06,
624
+ "loss": 0.6069,
625
+ "num_tokens": 230845440.0,
626
+ "step": 770
627
+ },
628
+ {
629
+ "epoch": 0.02377179080824089,
630
+ "grad_norm": 0.5086079282374418,
631
+ "learning_rate": 7.908629441624366e-06,
632
+ "loss": 0.5958,
633
+ "num_tokens": 233888653.0,
634
+ "step": 780
635
+ },
636
+ {
637
+ "epoch": 0.024076557357064488,
638
+ "grad_norm": 0.6113040771193711,
639
+ "learning_rate": 8.01015228426396e-06,
640
+ "loss": 0.592,
641
+ "num_tokens": 236913104.0,
642
+ "step": 790
643
+ },
644
+ {
645
+ "epoch": 0.02438132390588809,
646
+ "grad_norm": 0.5112624603004914,
647
+ "learning_rate": 8.111675126903554e-06,
648
+ "loss": 0.5965,
649
+ "num_tokens": 239863099.0,
650
+ "step": 800
651
+ },
652
+ {
653
+ "epoch": 0.02468609045471169,
654
+ "grad_norm": 0.5386776285755579,
655
+ "learning_rate": 8.213197969543147e-06,
656
+ "loss": 0.6047,
657
+ "num_tokens": 242936678.0,
658
+ "step": 810
659
+ },
660
+ {
661
+ "epoch": 0.024990857003535292,
662
+ "grad_norm": 0.6449184905774187,
663
+ "learning_rate": 8.314720812182742e-06,
664
+ "loss": 0.6078,
665
+ "num_tokens": 245924372.0,
666
+ "step": 820
667
+ },
668
+ {
669
+ "epoch": 0.025295623552358894,
670
+ "grad_norm": 0.5877934183571296,
671
+ "learning_rate": 8.416243654822335e-06,
672
+ "loss": 0.6138,
673
+ "num_tokens": 248814799.0,
674
+ "step": 830
675
+ },
676
+ {
677
+ "epoch": 0.025600390101182494,
678
+ "grad_norm": 0.5726975217126076,
679
+ "learning_rate": 8.51776649746193e-06,
680
+ "loss": 0.6003,
681
+ "num_tokens": 251864383.0,
682
+ "step": 840
683
+ },
684
+ {
685
+ "epoch": 0.025905156650006096,
686
+ "grad_norm": 0.5884163738699382,
687
+ "learning_rate": 8.619289340101523e-06,
688
+ "loss": 0.5989,
689
+ "num_tokens": 254912320.0,
690
+ "step": 850
691
+ },
692
+ {
693
+ "epoch": 0.026209923198829695,
694
+ "grad_norm": 0.5868691029072695,
695
+ "learning_rate": 8.720812182741118e-06,
696
+ "loss": 0.6153,
697
+ "num_tokens": 257948800.0,
698
+ "step": 860
699
+ },
700
+ {
701
+ "epoch": 0.026514689747653298,
702
+ "grad_norm": 0.7286662139359907,
703
+ "learning_rate": 8.822335025380711e-06,
704
+ "loss": 0.5946,
705
+ "num_tokens": 260981575.0,
706
+ "step": 870
707
+ },
708
+ {
709
+ "epoch": 0.026819456296476897,
710
+ "grad_norm": 0.5782176364766526,
711
+ "learning_rate": 8.923857868020306e-06,
712
+ "loss": 0.605,
713
+ "num_tokens": 263946166.0,
714
+ "step": 880
715
+ },
716
+ {
717
+ "epoch": 0.0271242228453005,
718
+ "grad_norm": 0.6566796557977583,
719
+ "learning_rate": 9.0253807106599e-06,
720
+ "loss": 0.5947,
721
+ "num_tokens": 266932084.0,
722
+ "step": 890
723
+ },
724
+ {
725
+ "epoch": 0.027428989394124102,
726
+ "grad_norm": 0.5964252911962427,
727
+ "learning_rate": 9.126903553299493e-06,
728
+ "loss": 0.597,
729
+ "num_tokens": 269940123.0,
730
+ "step": 900
731
+ },
732
+ {
733
+ "epoch": 0.0277337559429477,
734
+ "grad_norm": 0.6610602117570733,
735
+ "learning_rate": 9.228426395939087e-06,
736
+ "loss": 0.5997,
737
+ "num_tokens": 272996550.0,
738
+ "step": 910
739
+ },
740
+ {
741
+ "epoch": 0.028038522491771304,
742
+ "grad_norm": 0.5481291317994652,
743
+ "learning_rate": 9.32994923857868e-06,
744
+ "loss": 0.6079,
745
+ "num_tokens": 276005284.0,
746
+ "step": 920
747
+ },
748
+ {
749
+ "epoch": 0.028343289040594903,
750
+ "grad_norm": 0.5935276827938708,
751
+ "learning_rate": 9.431472081218275e-06,
752
+ "loss": 0.594,
753
+ "num_tokens": 278961666.0,
754
+ "step": 930
755
+ },
756
+ {
757
+ "epoch": 0.028648055589418506,
758
+ "grad_norm": 0.5973378747127883,
759
+ "learning_rate": 9.532994923857869e-06,
760
+ "loss": 0.6044,
761
+ "num_tokens": 281935833.0,
762
+ "step": 940
763
+ },
764
+ {
765
+ "epoch": 0.028952822138242105,
766
+ "grad_norm": 0.5912756041045825,
767
+ "learning_rate": 9.634517766497463e-06,
768
+ "loss": 0.5926,
769
+ "num_tokens": 284883466.0,
770
+ "step": 950
771
+ },
772
+ {
773
+ "epoch": 0.029257588687065707,
774
+ "grad_norm": 0.5810487871964766,
775
+ "learning_rate": 9.736040609137057e-06,
776
+ "loss": 0.6037,
777
+ "num_tokens": 287922376.0,
778
+ "step": 960
779
+ },
780
+ {
781
+ "epoch": 0.02956235523588931,
782
+ "grad_norm": 0.7608788298202219,
783
+ "learning_rate": 9.83756345177665e-06,
784
+ "loss": 0.617,
785
+ "num_tokens": 290949742.0,
786
+ "step": 970
787
+ },
788
+ {
789
+ "epoch": 0.02986712178471291,
790
+ "grad_norm": 0.6348669161902478,
791
+ "learning_rate": 9.939086294416245e-06,
792
+ "loss": 0.6015,
793
+ "num_tokens": 293974513.0,
794
+ "step": 980
795
+ },
796
+ {
797
+ "epoch": 0.030171888333536512,
798
+ "grad_norm": 0.5580420361871727,
799
+ "learning_rate": 9.999999649239378e-06,
800
+ "loss": 0.5986,
801
+ "num_tokens": 297055223.0,
802
+ "step": 990
803
+ },
804
+ {
805
+ "epoch": 0.03047665488236011,
806
+ "grad_norm": 0.5886314947114983,
807
+ "learning_rate": 9.999995703183002e-06,
808
+ "loss": 0.6089,
809
+ "num_tokens": 300092531.0,
810
+ "step": 1000
811
+ },
812
+ {
813
+ "epoch": 0.030781421431183714,
814
+ "grad_norm": 0.5718023626398742,
815
+ "learning_rate": 9.99998737262333e-06,
816
+ "loss": 0.5981,
817
+ "num_tokens": 303195919.0,
818
+ "step": 1010
819
+ },
820
+ {
821
+ "epoch": 0.031086187980007316,
822
+ "grad_norm": 0.6206116128972652,
823
+ "learning_rate": 9.999974657568477e-06,
824
+ "loss": 0.5928,
825
+ "num_tokens": 306247864.0,
826
+ "step": 1020
827
+ },
828
+ {
829
+ "epoch": 0.031390954528830915,
830
+ "grad_norm": 0.5172240579813588,
831
+ "learning_rate": 9.999957558030833e-06,
832
+ "loss": 0.6059,
833
+ "num_tokens": 309235571.0,
834
+ "step": 1030
835
+ },
836
+ {
837
+ "epoch": 0.03169572107765452,
838
+ "grad_norm": 0.5098188832148954,
839
+ "learning_rate": 9.999936074027058e-06,
840
+ "loss": 0.6184,
841
+ "num_tokens": 312233701.0,
842
+ "step": 1040
843
+ },
844
+ {
845
+ "epoch": 0.03200048762647812,
846
+ "grad_norm": 0.6712184280872747,
847
+ "learning_rate": 9.999910205578088e-06,
848
+ "loss": 0.6182,
849
+ "num_tokens": 315180794.0,
850
+ "step": 1050
851
+ },
852
+ {
853
+ "epoch": 0.032305254175301716,
854
+ "grad_norm": 0.5381662063088128,
855
+ "learning_rate": 9.99987995270912e-06,
856
+ "loss": 0.6157,
857
+ "num_tokens": 318145236.0,
858
+ "step": 1060
859
+ },
860
+ {
861
+ "epoch": 0.03261002072412532,
862
+ "grad_norm": 0.6327671055732239,
863
+ "learning_rate": 9.999845315449637e-06,
864
+ "loss": 0.5918,
865
+ "num_tokens": 321201600.0,
866
+ "step": 1070
867
+ },
868
+ {
869
+ "epoch": 0.03291478727294892,
870
+ "grad_norm": 0.6518354594585019,
871
+ "learning_rate": 9.999806293833387e-06,
872
+ "loss": 0.6081,
873
+ "num_tokens": 324242875.0,
874
+ "step": 1080
875
+ },
876
+ {
877
+ "epoch": 0.033219553821772524,
878
+ "grad_norm": 0.5539270879326635,
879
+ "learning_rate": 9.999762887898387e-06,
880
+ "loss": 0.6004,
881
+ "num_tokens": 327299868.0,
882
+ "step": 1090
883
+ },
884
+ {
885
+ "epoch": 0.033524320370596127,
886
+ "grad_norm": 0.5411600759723616,
887
+ "learning_rate": 9.999715097686932e-06,
888
+ "loss": 0.612,
889
+ "num_tokens": 330350525.0,
890
+ "step": 1100
891
+ },
892
+ {
893
+ "epoch": 0.03382908691941972,
894
+ "grad_norm": 0.5585636408454607,
895
+ "learning_rate": 9.999662923245582e-06,
896
+ "loss": 0.5932,
897
+ "num_tokens": 333397170.0,
898
+ "step": 1110
899
+ },
900
+ {
901
+ "epoch": 0.034133853468243325,
902
+ "grad_norm": 0.60791649981183,
903
+ "learning_rate": 9.999606364625174e-06,
904
+ "loss": 0.6001,
905
+ "num_tokens": 336273179.0,
906
+ "step": 1120
907
+ },
908
+ {
909
+ "epoch": 0.03443862001706693,
910
+ "grad_norm": 0.6351784309943206,
911
+ "learning_rate": 9.999545421880819e-06,
912
+ "loss": 0.6043,
913
+ "num_tokens": 339257454.0,
914
+ "step": 1130
915
+ },
916
+ {
917
+ "epoch": 0.03474338656589053,
918
+ "grad_norm": 0.5653344825112488,
919
+ "learning_rate": 9.999480095071888e-06,
920
+ "loss": 0.5955,
921
+ "num_tokens": 342345138.0,
922
+ "step": 1140
923
+ },
924
+ {
925
+ "epoch": 0.035048153114714126,
926
+ "grad_norm": 0.6610539460568494,
927
+ "learning_rate": 9.999410384262038e-06,
928
+ "loss": 0.6003,
929
+ "num_tokens": 345336558.0,
930
+ "step": 1150
931
+ },
932
+ {
933
+ "epoch": 0.03535291966353773,
934
+ "grad_norm": 0.6040031590644234,
935
+ "learning_rate": 9.999336289519188e-06,
936
+ "loss": 0.6077,
937
+ "num_tokens": 348348169.0,
938
+ "step": 1160
939
+ },
940
+ {
941
+ "epoch": 0.03565768621236133,
942
+ "grad_norm": 0.5684955670142974,
943
+ "learning_rate": 9.99925781091553e-06,
944
+ "loss": 0.6057,
945
+ "num_tokens": 351414195.0,
946
+ "step": 1170
947
+ },
948
+ {
949
+ "epoch": 0.03596245276118493,
950
+ "grad_norm": 0.6156749822501932,
951
+ "learning_rate": 9.99917494852753e-06,
952
+ "loss": 0.5824,
953
+ "num_tokens": 354539074.0,
954
+ "step": 1180
955
+ },
956
+ {
957
+ "epoch": 0.036267219310008536,
958
+ "grad_norm": 0.6099142423052227,
959
+ "learning_rate": 9.999087702435924e-06,
960
+ "loss": 0.6063,
961
+ "num_tokens": 357558942.0,
962
+ "step": 1190
963
+ },
964
+ {
965
+ "epoch": 0.03657198585883213,
966
+ "grad_norm": 0.665879466142715,
967
+ "learning_rate": 9.998996072725716e-06,
968
+ "loss": 0.6012,
969
+ "num_tokens": 360650474.0,
970
+ "step": 1200
971
+ },
972
+ {
973
+ "epoch": 0.036876752407655734,
974
+ "grad_norm": 0.60485897990858,
975
+ "learning_rate": 9.998900059486189e-06,
976
+ "loss": 0.6032,
977
+ "num_tokens": 363700986.0,
978
+ "step": 1210
979
+ },
980
+ {
981
+ "epoch": 0.03718151895647934,
982
+ "grad_norm": 0.7598824750362458,
983
+ "learning_rate": 9.998799662810888e-06,
984
+ "loss": 0.61,
985
+ "num_tokens": 366705230.0,
986
+ "step": 1220
987
+ },
988
+ {
989
+ "epoch": 0.03748628550530294,
990
+ "grad_norm": 0.5876567393111121,
991
+ "learning_rate": 9.998694882797634e-06,
992
+ "loss": 0.6124,
993
+ "num_tokens": 369694176.0,
994
+ "step": 1230
995
+ },
996
+ {
997
+ "epoch": 0.03779105205412654,
998
+ "grad_norm": 0.7072433052411577,
999
+ "learning_rate": 9.998585719548519e-06,
1000
+ "loss": 0.6037,
1001
+ "num_tokens": 372694789.0,
1002
+ "step": 1240
1003
+ },
1004
+ {
1005
+ "epoch": 0.03809581860295014,
1006
+ "grad_norm": 0.6166270390022508,
1007
+ "learning_rate": 9.998472173169904e-06,
1008
+ "loss": 0.5974,
1009
+ "num_tokens": 375709531.0,
1010
+ "step": 1250
1011
+ },
1012
+ {
1013
+ "epoch": 0.03840058515177374,
1014
+ "grad_norm": 0.6299556744164037,
1015
+ "learning_rate": 9.99835424377242e-06,
1016
+ "loss": 0.6084,
1017
+ "num_tokens": 378721461.0,
1018
+ "step": 1260
1019
+ },
1020
+ {
1021
+ "epoch": 0.03870535170059734,
1022
+ "grad_norm": 0.6019823193375798,
1023
+ "learning_rate": 9.998231931470972e-06,
1024
+ "loss": 0.6064,
1025
+ "num_tokens": 381814974.0,
1026
+ "step": 1270
1027
+ },
1028
+ {
1029
+ "epoch": 0.039010118249420946,
1030
+ "grad_norm": 0.5740532096312945,
1031
+ "learning_rate": 9.998105236384729e-06,
1032
+ "loss": 0.6041,
1033
+ "num_tokens": 384900077.0,
1034
+ "step": 1280
1035
+ },
1036
+ {
1037
+ "epoch": 0.03931488479824454,
1038
+ "grad_norm": 0.6790343891386362,
1039
+ "learning_rate": 9.99797415863714e-06,
1040
+ "loss": 0.6013,
1041
+ "num_tokens": 387879610.0,
1042
+ "step": 1290
1043
+ },
1044
+ {
1045
+ "epoch": 0.039619651347068144,
1046
+ "grad_norm": 0.7077423025471166,
1047
+ "learning_rate": 9.997838698355914e-06,
1048
+ "loss": 0.6076,
1049
+ "num_tokens": 390864425.0,
1050
+ "step": 1300
1051
+ },
1052
+ {
1053
+ "epoch": 0.039924417895891746,
1054
+ "grad_norm": 0.6024679257495524,
1055
+ "learning_rate": 9.997698855673038e-06,
1056
+ "loss": 0.6014,
1057
+ "num_tokens": 393808852.0,
1058
+ "step": 1310
1059
+ },
1060
+ {
1061
+ "epoch": 0.04022918444471535,
1062
+ "grad_norm": 0.6810529775806461,
1063
+ "learning_rate": 9.997554630724764e-06,
1064
+ "loss": 0.6154,
1065
+ "num_tokens": 396845763.0,
1066
+ "step": 1320
1067
+ },
1068
+ {
1069
+ "epoch": 0.04053395099353895,
1070
+ "grad_norm": 0.5431520105621443,
1071
+ "learning_rate": 9.997406023651616e-06,
1072
+ "loss": 0.603,
1073
+ "num_tokens": 399849414.0,
1074
+ "step": 1330
1075
+ },
1076
+ {
1077
+ "epoch": 0.04083871754236255,
1078
+ "grad_norm": 0.6739822771280697,
1079
+ "learning_rate": 9.997253034598387e-06,
1080
+ "loss": 0.5996,
1081
+ "num_tokens": 402855291.0,
1082
+ "step": 1340
1083
+ },
1084
+ {
1085
+ "epoch": 0.04114348409118615,
1086
+ "grad_norm": 0.5806695994649888,
1087
+ "learning_rate": 9.997095663714137e-06,
1088
+ "loss": 0.6001,
1089
+ "num_tokens": 405820396.0,
1090
+ "step": 1350
1091
+ },
1092
+ {
1093
+ "epoch": 0.04144825064000975,
1094
+ "grad_norm": 0.6946026869742606,
1095
+ "learning_rate": 9.996933911152202e-06,
1096
+ "loss": 0.6109,
1097
+ "num_tokens": 408837615.0,
1098
+ "step": 1360
1099
+ },
1100
+ {
1101
+ "epoch": 0.041753017188833355,
1102
+ "grad_norm": 0.659471975792841,
1103
+ "learning_rate": 9.996767777070181e-06,
1104
+ "loss": 0.6059,
1105
+ "num_tokens": 411854462.0,
1106
+ "step": 1370
1107
+ },
1108
+ {
1109
+ "epoch": 0.04205778373765696,
1110
+ "grad_norm": 0.6261217460987484,
1111
+ "learning_rate": 9.996597261629946e-06,
1112
+ "loss": 0.5943,
1113
+ "num_tokens": 414836975.0,
1114
+ "step": 1380
1115
+ },
1116
+ {
1117
+ "epoch": 0.04236255028648055,
1118
+ "grad_norm": 0.581519216568936,
1119
+ "learning_rate": 9.996422364997634e-06,
1120
+ "loss": 0.617,
1121
+ "num_tokens": 417838818.0,
1122
+ "step": 1390
1123
+ },
1124
+ {
1125
+ "epoch": 0.042667316835304156,
1126
+ "grad_norm": 0.5929977486471997,
1127
+ "learning_rate": 9.996243087343653e-06,
1128
+ "loss": 0.5893,
1129
+ "num_tokens": 420796359.0,
1130
+ "step": 1400
1131
+ },
1132
+ {
1133
+ "epoch": 0.04297208338412776,
1134
+ "grad_norm": 0.6012824149251887,
1135
+ "learning_rate": 9.996059428842681e-06,
1136
+ "loss": 0.6016,
1137
+ "num_tokens": 423785552.0,
1138
+ "step": 1410
1139
+ },
1140
+ {
1141
+ "epoch": 0.04327684993295136,
1142
+ "grad_norm": 0.5813336121248558,
1143
+ "learning_rate": 9.995871389673661e-06,
1144
+ "loss": 0.6002,
1145
+ "num_tokens": 426814600.0,
1146
+ "step": 1420
1147
+ },
1148
+ {
1149
+ "epoch": 0.043581616481774964,
1150
+ "grad_norm": 0.5465897814086882,
1151
+ "learning_rate": 9.99567897001981e-06,
1152
+ "loss": 0.6125,
1153
+ "num_tokens": 429802508.0,
1154
+ "step": 1430
1155
+ },
1156
+ {
1157
+ "epoch": 0.04388638303059856,
1158
+ "grad_norm": 0.5984329688655077,
1159
+ "learning_rate": 9.995482170068605e-06,
1160
+ "loss": 0.6079,
1161
+ "num_tokens": 432764345.0,
1162
+ "step": 1440
1163
+ },
1164
+ {
1165
+ "epoch": 0.04419114957942216,
1166
+ "grad_norm": 0.610168092795878,
1167
+ "learning_rate": 9.995280990011796e-06,
1168
+ "loss": 0.6062,
1169
+ "num_tokens": 435741101.0,
1170
+ "step": 1450
1171
+ },
1172
+ {
1173
+ "epoch": 0.044495916128245765,
1174
+ "grad_norm": 0.5709650873056764,
1175
+ "learning_rate": 9.995075430045402e-06,
1176
+ "loss": 0.6013,
1177
+ "num_tokens": 438789688.0,
1178
+ "step": 1460
1179
+ },
1180
+ {
1181
+ "epoch": 0.04480068267706937,
1182
+ "grad_norm": 0.5172547307532018,
1183
+ "learning_rate": 9.994865490369703e-06,
1184
+ "loss": 0.5993,
1185
+ "num_tokens": 441759109.0,
1186
+ "step": 1470
1187
+ },
1188
+ {
1189
+ "epoch": 0.04510544922589296,
1190
+ "grad_norm": 0.5222110494511161,
1191
+ "learning_rate": 9.994651171189255e-06,
1192
+ "loss": 0.6013,
1193
+ "num_tokens": 444767322.0,
1194
+ "step": 1480
1195
+ },
1196
+ {
1197
+ "epoch": 0.045410215774716566,
1198
+ "grad_norm": 0.6120571227841243,
1199
+ "learning_rate": 9.994432472712875e-06,
1200
+ "loss": 0.608,
1201
+ "num_tokens": 447776227.0,
1202
+ "step": 1490
1203
+ },
1204
+ {
1205
+ "epoch": 0.04571498232354017,
1206
+ "grad_norm": 0.6956715541420607,
1207
+ "learning_rate": 9.994209395153648e-06,
1208
+ "loss": 0.5909,
1209
+ "num_tokens": 450799563.0,
1210
+ "step": 1500
1211
+ },
1212
+ {
1213
+ "epoch": 0.04601974887236377,
1214
+ "grad_norm": 0.5613221067988521,
1215
+ "learning_rate": 9.993981938728927e-06,
1216
+ "loss": 0.6131,
1217
+ "num_tokens": 453829588.0,
1218
+ "step": 1510
1219
+ },
1220
+ {
1221
+ "epoch": 0.04632451542118737,
1222
+ "grad_norm": 0.5858287013485725,
1223
+ "learning_rate": 9.99375010366033e-06,
1224
+ "loss": 0.6003,
1225
+ "num_tokens": 456869534.0,
1226
+ "step": 1520
1227
+ },
1228
+ {
1229
+ "epoch": 0.04662928197001097,
1230
+ "grad_norm": 0.6229656396539505,
1231
+ "learning_rate": 9.993513890173744e-06,
1232
+ "loss": 0.6026,
1233
+ "num_tokens": 459859723.0,
1234
+ "step": 1530
1235
+ },
1236
+ {
1237
+ "epoch": 0.04693404851883457,
1238
+ "grad_norm": 0.5841220954567161,
1239
+ "learning_rate": 9.993273298499316e-06,
1240
+ "loss": 0.6023,
1241
+ "num_tokens": 462867699.0,
1242
+ "step": 1540
1243
+ },
1244
+ {
1245
+ "epoch": 0.047238815067658174,
1246
+ "grad_norm": 0.6425202001571686,
1247
+ "learning_rate": 9.993028328871467e-06,
1248
+ "loss": 0.6044,
1249
+ "num_tokens": 465823281.0,
1250
+ "step": 1550
1251
+ },
1252
+ {
1253
+ "epoch": 0.04754358161648178,
1254
+ "grad_norm": 0.6228764781021571,
1255
+ "learning_rate": 9.992778981528877e-06,
1256
+ "loss": 0.6196,
1257
+ "num_tokens": 468743583.0,
1258
+ "step": 1560
1259
+ },
1260
+ {
1261
+ "epoch": 0.04784834816530538,
1262
+ "grad_norm": 0.6205726565240487,
1263
+ "learning_rate": 9.992525256714497e-06,
1264
+ "loss": 0.6074,
1265
+ "num_tokens": 471737961.0,
1266
+ "step": 1570
1267
+ },
1268
+ {
1269
+ "epoch": 0.048153114714128975,
1270
+ "grad_norm": 0.5869602201717057,
1271
+ "learning_rate": 9.992267154675535e-06,
1272
+ "loss": 0.6099,
1273
+ "num_tokens": 474795805.0,
1274
+ "step": 1580
1275
+ },
1276
+ {
1277
+ "epoch": 0.04845788126295258,
1278
+ "grad_norm": 0.6445995250488186,
1279
+ "learning_rate": 9.992004675663475e-06,
1280
+ "loss": 0.6112,
1281
+ "num_tokens": 477809117.0,
1282
+ "step": 1590
1283
+ },
1284
+ {
1285
+ "epoch": 0.04876264781177618,
1286
+ "grad_norm": 0.6103612168796501,
1287
+ "learning_rate": 9.991737819934055e-06,
1288
+ "loss": 0.5964,
1289
+ "num_tokens": 480802930.0,
1290
+ "step": 1600
1291
+ },
1292
+ {
1293
+ "epoch": 0.04906741436059978,
1294
+ "grad_norm": 0.6333844320175454,
1295
+ "learning_rate": 9.991466587747281e-06,
1296
+ "loss": 0.5979,
1297
+ "num_tokens": 483854212.0,
1298
+ "step": 1610
1299
+ },
1300
+ {
1301
+ "epoch": 0.04937218090942338,
1302
+ "grad_norm": 0.6720644558500382,
1303
+ "learning_rate": 9.991190979367427e-06,
1304
+ "loss": 0.6028,
1305
+ "num_tokens": 486911723.0,
1306
+ "step": 1620
1307
+ },
1308
+ {
1309
+ "epoch": 0.04967694745824698,
1310
+ "grad_norm": 0.6257467769927044,
1311
+ "learning_rate": 9.990910995063027e-06,
1312
+ "loss": 0.6001,
1313
+ "num_tokens": 489973388.0,
1314
+ "step": 1630
1315
+ },
1316
+ {
1317
+ "epoch": 0.049981714007070584,
1318
+ "grad_norm": 0.6076395236262263,
1319
+ "learning_rate": 9.99062663510688e-06,
1320
+ "loss": 0.6127,
1321
+ "num_tokens": 492950960.0,
1322
+ "step": 1640
1323
+ },
1324
+ {
1325
+ "epoch": 0.050286480555894186,
1326
+ "grad_norm": 0.5886754916747438,
1327
+ "learning_rate": 9.990337899776045e-06,
1328
+ "loss": 0.6092,
1329
+ "num_tokens": 496022992.0,
1330
+ "step": 1650
1331
+ },
1332
+ {
1333
+ "epoch": 0.05059124710471779,
1334
+ "grad_norm": 0.5960181526222773,
1335
+ "learning_rate": 9.99004478935185e-06,
1336
+ "loss": 0.6128,
1337
+ "num_tokens": 499023533.0,
1338
+ "step": 1660
1339
+ },
1340
+ {
1341
+ "epoch": 0.050896013653541385,
1342
+ "grad_norm": 0.5953397756091234,
1343
+ "learning_rate": 9.989747304119884e-06,
1344
+ "loss": 0.5999,
1345
+ "num_tokens": 501998703.0,
1346
+ "step": 1670
1347
+ },
1348
+ {
1349
+ "epoch": 0.05120078020236499,
1350
+ "grad_norm": 0.584895120211458,
1351
+ "learning_rate": 9.989445444369994e-06,
1352
+ "loss": 0.6055,
1353
+ "num_tokens": 504912306.0,
1354
+ "step": 1680
1355
+ },
1356
+ {
1357
+ "epoch": 0.05150554675118859,
1358
+ "grad_norm": 0.6377962999203446,
1359
+ "learning_rate": 9.989139210396293e-06,
1360
+ "loss": 0.6058,
1361
+ "num_tokens": 507940287.0,
1362
+ "step": 1690
1363
+ },
1364
+ {
1365
+ "epoch": 0.05181031330001219,
1366
+ "grad_norm": 0.5216876947745497,
1367
+ "learning_rate": 9.988828602497158e-06,
1368
+ "loss": 0.6187,
1369
+ "num_tokens": 510967111.0,
1370
+ "step": 1700
1371
+ },
1372
+ {
1373
+ "epoch": 0.052115079848835795,
1374
+ "grad_norm": 0.5976651645934364,
1375
+ "learning_rate": 9.98851362097522e-06,
1376
+ "loss": 0.5964,
1377
+ "num_tokens": 513983124.0,
1378
+ "step": 1710
1379
+ },
1380
+ {
1381
+ "epoch": 0.05241984639765939,
1382
+ "grad_norm": 0.6763718773959415,
1383
+ "learning_rate": 9.988194266137383e-06,
1384
+ "loss": 0.6018,
1385
+ "num_tokens": 516951871.0,
1386
+ "step": 1720
1387
+ },
1388
+ {
1389
+ "epoch": 0.05272461294648299,
1390
+ "grad_norm": 0.5908803974280435,
1391
+ "learning_rate": 9.987870538294802e-06,
1392
+ "loss": 0.5964,
1393
+ "num_tokens": 519990414.0,
1394
+ "step": 1730
1395
+ },
1396
+ {
1397
+ "epoch": 0.053029379495306596,
1398
+ "grad_norm": 0.6265785359754944,
1399
+ "learning_rate": 9.987542437762896e-06,
1400
+ "loss": 0.6059,
1401
+ "num_tokens": 522974513.0,
1402
+ "step": 1740
1403
+ },
1404
+ {
1405
+ "epoch": 0.0533341460441302,
1406
+ "grad_norm": 0.606965411131078,
1407
+ "learning_rate": 9.987209964861345e-06,
1408
+ "loss": 0.6001,
1409
+ "num_tokens": 526039695.0,
1410
+ "step": 1750
1411
+ },
1412
+ {
1413
+ "epoch": 0.053638912592953794,
1414
+ "grad_norm": 0.658199574501422,
1415
+ "learning_rate": 9.98687311991409e-06,
1416
+ "loss": 0.6128,
1417
+ "num_tokens": 528979930.0,
1418
+ "step": 1760
1419
+ },
1420
+ {
1421
+ "epoch": 0.0539436791417774,
1422
+ "grad_norm": 0.6042645727517373,
1423
+ "learning_rate": 9.986531903249331e-06,
1424
+ "loss": 0.608,
1425
+ "num_tokens": 532010385.0,
1426
+ "step": 1770
1427
+ },
1428
+ {
1429
+ "epoch": 0.054248445690601,
1430
+ "grad_norm": 0.5483189537275404,
1431
+ "learning_rate": 9.986186315199528e-06,
1432
+ "loss": 0.5959,
1433
+ "num_tokens": 535016806.0,
1434
+ "step": 1780
1435
+ },
1436
+ {
1437
+ "epoch": 0.0545532122394246,
1438
+ "grad_norm": 0.6248724261843619,
1439
+ "learning_rate": 9.985836356101398e-06,
1440
+ "loss": 0.5961,
1441
+ "num_tokens": 537949771.0,
1442
+ "step": 1790
1443
+ },
1444
+ {
1445
+ "epoch": 0.054857978788248205,
1446
+ "grad_norm": 0.6267355747936748,
1447
+ "learning_rate": 9.985482026295916e-06,
1448
+ "loss": 0.593,
1449
+ "num_tokens": 541001861.0,
1450
+ "step": 1800
1451
+ },
1452
+ {
1453
+ "epoch": 0.0551627453370718,
1454
+ "grad_norm": 0.658428373202468,
1455
+ "learning_rate": 9.985123326128322e-06,
1456
+ "loss": 0.6037,
1457
+ "num_tokens": 543989524.0,
1458
+ "step": 1810
1459
+ },
1460
+ {
1461
+ "epoch": 0.0554675118858954,
1462
+ "grad_norm": 0.5832078235901029,
1463
+ "learning_rate": 9.984760255948109e-06,
1464
+ "loss": 0.6021,
1465
+ "num_tokens": 546968879.0,
1466
+ "step": 1820
1467
+ },
1468
+ {
1469
+ "epoch": 0.055772278434719005,
1470
+ "grad_norm": 0.6389770992791528,
1471
+ "learning_rate": 9.98439281610903e-06,
1472
+ "loss": 0.6109,
1473
+ "num_tokens": 549917192.0,
1474
+ "step": 1830
1475
+ },
1476
+ {
1477
+ "epoch": 0.05607704498354261,
1478
+ "grad_norm": 0.5907814850641283,
1479
+ "learning_rate": 9.984021006969093e-06,
1480
+ "loss": 0.6009,
1481
+ "num_tokens": 552985209.0,
1482
+ "step": 1840
1483
+ },
1484
+ {
1485
+ "epoch": 0.05638181153236621,
1486
+ "grad_norm": 0.6302612593484054,
1487
+ "learning_rate": 9.983644828890563e-06,
1488
+ "loss": 0.5989,
1489
+ "num_tokens": 555998654.0,
1490
+ "step": 1850
1491
+ },
1492
+ {
1493
+ "epoch": 0.056686578081189806,
1494
+ "grad_norm": 0.5404399265212917,
1495
+ "learning_rate": 9.983264282239967e-06,
1496
+ "loss": 0.6118,
1497
+ "num_tokens": 558972706.0,
1498
+ "step": 1860
1499
+ },
1500
+ {
1501
+ "epoch": 0.05699134463001341,
1502
+ "grad_norm": 0.6668943312807988,
1503
+ "learning_rate": 9.982879367388083e-06,
1504
+ "loss": 0.61,
1505
+ "num_tokens": 561941114.0,
1506
+ "step": 1870
1507
+ },
1508
+ {
1509
+ "epoch": 0.05729611117883701,
1510
+ "grad_norm": 0.6465293149801645,
1511
+ "learning_rate": 9.982490084709946e-06,
1512
+ "loss": 0.5947,
1513
+ "num_tokens": 564917589.0,
1514
+ "step": 1880
1515
+ },
1516
+ {
1517
+ "epoch": 0.057600877727660614,
1518
+ "grad_norm": 0.6746757663556419,
1519
+ "learning_rate": 9.982096434584851e-06,
1520
+ "loss": 0.6181,
1521
+ "num_tokens": 567836529.0,
1522
+ "step": 1890
1523
+ },
1524
+ {
1525
+ "epoch": 0.05790564427648421,
1526
+ "grad_norm": 0.5706015932809062,
1527
+ "learning_rate": 9.981698417396341e-06,
1528
+ "loss": 0.5953,
1529
+ "num_tokens": 570916570.0,
1530
+ "step": 1900
1531
+ },
1532
+ {
1533
+ "epoch": 0.05821041082530781,
1534
+ "grad_norm": 0.6048135316190368,
1535
+ "learning_rate": 9.981296033532221e-06,
1536
+ "loss": 0.6054,
1537
+ "num_tokens": 573986324.0,
1538
+ "step": 1910
1539
+ },
1540
+ {
1541
+ "epoch": 0.058515177374131415,
1542
+ "grad_norm": 0.5692749712433784,
1543
+ "learning_rate": 9.980889283384547e-06,
1544
+ "loss": 0.6058,
1545
+ "num_tokens": 576974706.0,
1546
+ "step": 1920
1547
+ },
1548
+ {
1549
+ "epoch": 0.05881994392295502,
1550
+ "grad_norm": 0.604338117924098,
1551
+ "learning_rate": 9.980478167349631e-06,
1552
+ "loss": 0.6199,
1553
+ "num_tokens": 580018172.0,
1554
+ "step": 1930
1555
+ },
1556
+ {
1557
+ "epoch": 0.05912471047177862,
1558
+ "grad_norm": 0.6830120859009248,
1559
+ "learning_rate": 9.980062685828036e-06,
1560
+ "loss": 0.6057,
1561
+ "num_tokens": 583000914.0,
1562
+ "step": 1940
1563
+ },
1564
+ {
1565
+ "epoch": 0.059429477020602216,
1566
+ "grad_norm": 0.6600306750958782,
1567
+ "learning_rate": 9.979642839224579e-06,
1568
+ "loss": 0.6062,
1569
+ "num_tokens": 585955930.0,
1570
+ "step": 1950
1571
+ },
1572
+ {
1573
+ "epoch": 0.05973424356942582,
1574
+ "grad_norm": 0.7728378701939743,
1575
+ "learning_rate": 9.979218627948333e-06,
1576
+ "loss": 0.6125,
1577
+ "num_tokens": 588924595.0,
1578
+ "step": 1960
1579
+ },
1580
+ {
1581
+ "epoch": 0.06003901011824942,
1582
+ "grad_norm": 0.6981817636130082,
1583
+ "learning_rate": 9.978790052412624e-06,
1584
+ "loss": 0.6021,
1585
+ "num_tokens": 591944037.0,
1586
+ "step": 1970
1587
+ },
1588
+ {
1589
+ "epoch": 0.060343776667073024,
1590
+ "grad_norm": 0.6602287311975624,
1591
+ "learning_rate": 9.978357113035025e-06,
1592
+ "loss": 0.6212,
1593
+ "num_tokens": 594948638.0,
1594
+ "step": 1980
1595
+ },
1596
+ {
1597
+ "epoch": 0.060648543215896626,
1598
+ "grad_norm": 0.5880700660748177,
1599
+ "learning_rate": 9.977919810237367e-06,
1600
+ "loss": 0.5991,
1601
+ "num_tokens": 597995285.0,
1602
+ "step": 1990
1603
+ },
1604
+ {
1605
+ "epoch": 0.06095330976472022,
1606
+ "grad_norm": 0.4944145943397841,
1607
+ "learning_rate": 9.977478144445725e-06,
1608
+ "loss": 0.5982,
1609
+ "num_tokens": 601009341.0,
1610
+ "step": 2000
1611
+ }
1612
+ ],
1613
+ "logging_steps": 10,
1614
+ "max_steps": 32812,
1615
+ "num_input_tokens_seen": 0,
1616
+ "num_train_epochs": 9223372036854775807,
1617
+ "save_steps": 500,
1618
+ "stateful_callbacks": {
1619
+ "TrainerControl": {
1620
+ "args": {
1621
+ "should_epoch_stop": false,
1622
+ "should_evaluate": false,
1623
+ "should_log": false,
1624
+ "should_save": true,
1625
+ "should_training_stop": false
1626
+ },
1627
+ "attributes": {}
1628
+ }
1629
+ },
1630
+ "total_flos": 2.2174801484358615e+18,
1631
+ "train_batch_size": 2,
1632
+ "trial_name": null,
1633
+ "trial_params": null
1634
+ }
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:99a3c59545a23db9c385146f1715d0778ee8a1d40421439adb1b2cc46a3150d5
3
+ size 7505
vocab.json ADDED
The diff for this file is too large to render. See raw diff
 
zero_to_fp32.py ADDED
@@ -0,0 +1,604 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+
3
+ # Copyright (c) Microsoft Corporation.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ # DeepSpeed Team
7
+
8
+ # This script extracts fp32 consolidated weights from a zero 1, 2 and 3 DeepSpeed checkpoints. It gets
9
+ # copied into the top level checkpoint dir, so the user can easily do the conversion at any point in
10
+ # the future. Once extracted, the weights don't require DeepSpeed and can be used in any
11
+ # application.
12
+ #
13
+ # example: python zero_to_fp32.py . pytorch_model.bin
14
+
15
+ import argparse
16
+ import torch
17
+ import glob
18
+ import math
19
+ import os
20
+ import re
21
+ from collections import OrderedDict
22
+ from dataclasses import dataclass
23
+
24
+ # while this script doesn't use deepspeed to recover data, since the checkpoints are pickled with
25
+ # DeepSpeed data structures it has to be available in the current python environment.
26
+ from deepspeed.utils import logger
27
+ from deepspeed.checkpoint.constants import (DS_VERSION, OPTIMIZER_STATE_DICT, SINGLE_PARTITION_OF_FP32_GROUPS,
28
+ FP32_FLAT_GROUPS, ZERO_STAGE, PARTITION_COUNT, PARAM_SHAPES, BUFFER_NAMES,
29
+ FROZEN_PARAM_SHAPES, FROZEN_PARAM_FRAGMENTS)
30
+
31
+
32
+ @dataclass
33
+ class zero_model_state:
34
+ buffers: dict()
35
+ param_shapes: dict()
36
+ shared_params: list
37
+ ds_version: int
38
+ frozen_param_shapes: dict()
39
+ frozen_param_fragments: dict()
40
+
41
+
42
+ debug = 0
43
+
44
+ # load to cpu
45
+ device = torch.device('cpu')
46
+
47
+
48
+ def atoi(text):
49
+ return int(text) if text.isdigit() else text
50
+
51
+
52
+ def natural_keys(text):
53
+ '''
54
+ alist.sort(key=natural_keys) sorts in human order
55
+ http://nedbatchelder.com/blog/200712/human_sorting.html
56
+ (See Toothy's implementation in the comments)
57
+ '''
58
+ return [atoi(c) for c in re.split(r'(\d+)', text)]
59
+
60
+
61
+ def get_model_state_file(checkpoint_dir, zero_stage):
62
+ if not os.path.isdir(checkpoint_dir):
63
+ raise FileNotFoundError(f"Directory '{checkpoint_dir}' doesn't exist")
64
+
65
+ # there should be only one file
66
+ if zero_stage <= 2:
67
+ file = os.path.join(checkpoint_dir, "mp_rank_00_model_states.pt")
68
+ elif zero_stage == 3:
69
+ file = os.path.join(checkpoint_dir, "zero_pp_rank_0_mp_rank_00_model_states.pt")
70
+
71
+ if not os.path.exists(file):
72
+ raise FileNotFoundError(f"can't find model states file at '{file}'")
73
+
74
+ return file
75
+
76
+
77
+ def get_checkpoint_files(checkpoint_dir, glob_pattern):
78
+ # XXX: need to test that this simple glob rule works for multi-node setup too
79
+ ckpt_files = sorted(glob.glob(os.path.join(checkpoint_dir, glob_pattern)), key=natural_keys)
80
+
81
+ if len(ckpt_files) == 0:
82
+ raise FileNotFoundError(f"can't find {glob_pattern} files in directory '{checkpoint_dir}'")
83
+
84
+ return ckpt_files
85
+
86
+
87
+ def get_optim_files(checkpoint_dir):
88
+ return get_checkpoint_files(checkpoint_dir, "*_optim_states.pt")
89
+
90
+
91
+ def get_model_state_files(checkpoint_dir):
92
+ return get_checkpoint_files(checkpoint_dir, "*_model_states.pt")
93
+
94
+
95
+ def parse_model_states(files):
96
+ zero_model_states = []
97
+ for file in files:
98
+ state_dict = torch.load(file, map_location=device)
99
+
100
+ if BUFFER_NAMES not in state_dict:
101
+ raise ValueError(f"{file} is not a model state checkpoint")
102
+ buffer_names = state_dict[BUFFER_NAMES]
103
+ if debug:
104
+ print("Found buffers:", buffer_names)
105
+
106
+ # recover just the buffers while restoring them to fp32 if they were saved in fp16
107
+ buffers = {k: v.float() for k, v in state_dict["module"].items() if k in buffer_names}
108
+ param_shapes = state_dict[PARAM_SHAPES]
109
+
110
+ # collect parameters that are included in param_shapes
111
+ param_names = []
112
+ for s in param_shapes:
113
+ for name in s.keys():
114
+ param_names.append(name)
115
+
116
+ # update with frozen parameters
117
+ frozen_param_shapes = state_dict.get(FROZEN_PARAM_SHAPES, None)
118
+ if frozen_param_shapes is not None:
119
+ if debug:
120
+ print(f"Found frozen_param_shapes: {frozen_param_shapes}")
121
+ param_names += list(frozen_param_shapes.keys())
122
+
123
+ # handle shared params
124
+ shared_params = [[k, v] for k, v in state_dict["shared_params"].items()]
125
+
126
+ ds_version = state_dict.get(DS_VERSION, None)
127
+
128
+ frozen_param_fragments = state_dict.get(FROZEN_PARAM_FRAGMENTS, None)
129
+
130
+ z_model_state = zero_model_state(buffers=buffers,
131
+ param_shapes=param_shapes,
132
+ shared_params=shared_params,
133
+ ds_version=ds_version,
134
+ frozen_param_shapes=frozen_param_shapes,
135
+ frozen_param_fragments=frozen_param_fragments)
136
+ zero_model_states.append(z_model_state)
137
+
138
+ return zero_model_states
139
+
140
+
141
+ def parse_optim_states(files, ds_checkpoint_dir):
142
+
143
+ total_files = len(files)
144
+ state_dicts = []
145
+ for f in files:
146
+ state_dict = torch.load(f, map_location=device)
147
+ # immediately discard the potentially huge 2 optimizer states as we only care for fp32 master weights
148
+ # and also handle the case where it was already removed by another helper script
149
+ state_dict["optimizer_state_dict"].pop("optimizer_state_dict", None)
150
+ state_dicts.append(state_dict)
151
+
152
+ if not ZERO_STAGE in state_dicts[0][OPTIMIZER_STATE_DICT]:
153
+ raise ValueError(f"{files[0]} is not a zero checkpoint")
154
+ zero_stage = state_dicts[0][OPTIMIZER_STATE_DICT][ZERO_STAGE]
155
+ world_size = state_dicts[0][OPTIMIZER_STATE_DICT][PARTITION_COUNT]
156
+
157
+ # For ZeRO-2 each param group can have different partition_count as data parallelism for expert
158
+ # parameters can be different from data parallelism for non-expert parameters. So we can just
159
+ # use the max of the partition_count to get the dp world_size.
160
+
161
+ if type(world_size) is list:
162
+ world_size = max(world_size)
163
+
164
+ if world_size != total_files:
165
+ raise ValueError(
166
+ f"Expected {world_size} of '*_optim_states.pt' under '{ds_checkpoint_dir}' but found {total_files} files. "
167
+ "Possibly due to an overwrite of an old checkpoint, or a checkpoint didn't get saved by one or more processes."
168
+ )
169
+
170
+ # the groups are named differently in each stage
171
+ if zero_stage <= 2:
172
+ fp32_groups_key = SINGLE_PARTITION_OF_FP32_GROUPS
173
+ elif zero_stage == 3:
174
+ fp32_groups_key = FP32_FLAT_GROUPS
175
+ else:
176
+ raise ValueError(f"unknown zero stage {zero_stage}")
177
+
178
+ if zero_stage <= 2:
179
+ fp32_flat_groups = [state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key] for i in range(len(state_dicts))]
180
+ elif zero_stage == 3:
181
+ # if there is more than one param group, there will be multiple flattened tensors - one
182
+ # flattened tensor per group - for simplicity merge them into a single tensor
183
+ #
184
+ # XXX: could make the script more memory efficient for when there are multiple groups - it
185
+ # will require matching the sub-lists of param_shapes for each param group flattened tensor
186
+
187
+ fp32_flat_groups = [
188
+ torch.cat(state_dicts[i][OPTIMIZER_STATE_DICT][fp32_groups_key], 0) for i in range(len(state_dicts))
189
+ ]
190
+
191
+ return zero_stage, world_size, fp32_flat_groups
192
+
193
+
194
+ def _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters):
195
+ """
196
+ Returns fp32 state_dict reconstructed from ds checkpoint
197
+
198
+ Args:
199
+ - ``ds_checkpoint_dir``: path to the deepspeed checkpoint folder (where the optimizer files are)
200
+
201
+ """
202
+ print(f"Processing zero checkpoint '{ds_checkpoint_dir}'")
203
+
204
+ optim_files = get_optim_files(ds_checkpoint_dir)
205
+ zero_stage, world_size, fp32_flat_groups = parse_optim_states(optim_files, ds_checkpoint_dir)
206
+ print(f"Detected checkpoint of type zero stage {zero_stage}, world_size: {world_size}")
207
+
208
+ model_files = get_model_state_files(ds_checkpoint_dir)
209
+
210
+ zero_model_states = parse_model_states(model_files)
211
+ print(f'Parsing checkpoint created by deepspeed=={zero_model_states[0].ds_version}')
212
+
213
+ if zero_stage <= 2:
214
+ return _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
215
+ exclude_frozen_parameters)
216
+ elif zero_stage == 3:
217
+ return _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
218
+ exclude_frozen_parameters)
219
+
220
+
221
+ def _zero2_merge_frozen_params(state_dict, zero_model_states):
222
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
223
+ return
224
+
225
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
226
+ frozen_param_fragments = zero_model_states[0].frozen_param_fragments
227
+
228
+ if debug:
229
+ num_elem = sum(s.numel() for s in frozen_param_shapes.values())
230
+ print(f'rank 0: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
231
+
232
+ wanted_params = len(frozen_param_shapes)
233
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
234
+ avail_numel = sum([p.numel() for p in frozen_param_fragments.values()])
235
+ print(f'Frozen params: Have {avail_numel} numels to process.')
236
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
237
+
238
+ total_params = 0
239
+ total_numel = 0
240
+ for name, shape in frozen_param_shapes.items():
241
+ total_params += 1
242
+ unpartitioned_numel = shape.numel()
243
+ total_numel += unpartitioned_numel
244
+
245
+ state_dict[name] = frozen_param_fragments[name]
246
+
247
+ if debug:
248
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
249
+
250
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
251
+
252
+
253
+ def _has_callable(obj, fn):
254
+ attr = getattr(obj, fn, None)
255
+ return callable(attr)
256
+
257
+
258
+ def _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
259
+ param_shapes = zero_model_states[0].param_shapes
260
+
261
+ # Reconstruction protocol:
262
+ #
263
+ # XXX: document this
264
+
265
+ if debug:
266
+ for i in range(world_size):
267
+ for j in range(len(fp32_flat_groups[0])):
268
+ print(f"{FP32_FLAT_GROUPS}[{i}][{j}].shape={fp32_flat_groups[i][j].shape}")
269
+
270
+ # XXX: memory usage doubles here (zero2)
271
+ num_param_groups = len(fp32_flat_groups[0])
272
+ merged_single_partition_of_fp32_groups = []
273
+ for i in range(num_param_groups):
274
+ merged_partitions = [sd[i] for sd in fp32_flat_groups]
275
+ full_single_fp32_vector = torch.cat(merged_partitions, 0)
276
+ merged_single_partition_of_fp32_groups.append(full_single_fp32_vector)
277
+ avail_numel = sum(
278
+ [full_single_fp32_vector.numel() for full_single_fp32_vector in merged_single_partition_of_fp32_groups])
279
+
280
+ if debug:
281
+ wanted_params = sum([len(shapes) for shapes in param_shapes])
282
+ wanted_numel = sum([sum(shape.numel() for shape in shapes.values()) for shapes in param_shapes])
283
+ # not asserting if there is a mismatch due to possible padding
284
+ print(f"Have {avail_numel} numels to process.")
285
+ print(f"Need {wanted_numel} numels in {wanted_params} params.")
286
+
287
+ # params
288
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
289
+ # out-of-core computing solution
290
+ total_numel = 0
291
+ total_params = 0
292
+ for shapes, full_single_fp32_vector in zip(param_shapes, merged_single_partition_of_fp32_groups):
293
+ offset = 0
294
+ avail_numel = full_single_fp32_vector.numel()
295
+ for name, shape in shapes.items():
296
+
297
+ unpartitioned_numel = shape.numel() if _has_callable(shape, 'numel') else math.prod(shape)
298
+ total_numel += unpartitioned_numel
299
+ total_params += 1
300
+
301
+ if debug:
302
+ print(f"{name} full shape: {shape} unpartitioned numel {unpartitioned_numel} ")
303
+ state_dict[name] = full_single_fp32_vector.narrow(0, offset, unpartitioned_numel).view(shape)
304
+ offset += unpartitioned_numel
305
+
306
+ # Z2 started to align to 2*world_size to improve nccl performance. Therefore both offset and
307
+ # avail_numel can differ by anywhere between 0..2*world_size. Due to two unrelated complex
308
+ # paddings performed in the code it's almost impossible to predict the exact numbers w/o the
309
+ # live optimizer object, so we are checking that the numbers are within the right range
310
+ align_to = 2 * world_size
311
+
312
+ def zero2_align(x):
313
+ return align_to * math.ceil(x / align_to)
314
+
315
+ if debug:
316
+ print(f"original offset={offset}, avail_numel={avail_numel}")
317
+
318
+ offset = zero2_align(offset)
319
+ avail_numel = zero2_align(avail_numel)
320
+
321
+ if debug:
322
+ print(f"aligned offset={offset}, avail_numel={avail_numel}")
323
+
324
+ # Sanity check
325
+ if offset != avail_numel:
326
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
327
+
328
+ print(f"Reconstructed fp32 state dict with {total_params} params {total_numel} elements")
329
+
330
+
331
+ def _get_fp32_state_dict_from_zero2_checkpoint(world_size, fp32_flat_groups, zero_model_states,
332
+ exclude_frozen_parameters):
333
+ state_dict = OrderedDict()
334
+
335
+ # buffers
336
+ buffers = zero_model_states[0].buffers
337
+ state_dict.update(buffers)
338
+ if debug:
339
+ print(f"added {len(buffers)} buffers")
340
+
341
+ if not exclude_frozen_parameters:
342
+ _zero2_merge_frozen_params(state_dict, zero_model_states)
343
+
344
+ _zero2_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
345
+
346
+ # recover shared parameters
347
+ for pair in zero_model_states[0].shared_params:
348
+ if pair[1] in state_dict:
349
+ state_dict[pair[0]] = state_dict[pair[1]]
350
+
351
+ return state_dict
352
+
353
+
354
+ def zero3_partitioned_param_info(unpartitioned_numel, world_size):
355
+ remainder = unpartitioned_numel % world_size
356
+ padding_numel = (world_size - remainder) if remainder else 0
357
+ partitioned_numel = math.ceil(unpartitioned_numel / world_size)
358
+ return partitioned_numel, padding_numel
359
+
360
+
361
+ def _zero3_merge_frozen_params(state_dict, world_size, zero_model_states):
362
+ if zero_model_states[0].frozen_param_shapes is None or len(zero_model_states[0].frozen_param_shapes) == 0:
363
+ return
364
+
365
+ if debug:
366
+ for i in range(world_size):
367
+ num_elem = sum(s.numel() for s in zero_model_states[i].frozen_param_fragments.values())
368
+ print(f'rank {i}: {FROZEN_PARAM_SHAPES}.numel = {num_elem}')
369
+
370
+ frozen_param_shapes = zero_model_states[0].frozen_param_shapes
371
+ wanted_params = len(frozen_param_shapes)
372
+ wanted_numel = sum(s.numel() for s in frozen_param_shapes.values())
373
+ avail_numel = sum([p.numel() for p in zero_model_states[0].frozen_param_fragments.values()]) * world_size
374
+ print(f'Frozen params: Have {avail_numel} numels to process.')
375
+ print(f'Frozen params: Need {wanted_numel} numels in {wanted_params} params')
376
+
377
+ total_params = 0
378
+ total_numel = 0
379
+ for name, shape in zero_model_states[0].frozen_param_shapes.items():
380
+ total_params += 1
381
+ unpartitioned_numel = shape.numel()
382
+ total_numel += unpartitioned_numel
383
+
384
+ param_frags = tuple(model_state.frozen_param_fragments[name] for model_state in zero_model_states)
385
+ state_dict[name] = torch.cat(param_frags, 0).narrow(0, 0, unpartitioned_numel).view(shape)
386
+
387
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
388
+
389
+ if debug:
390
+ print(
391
+ f"Frozen params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
392
+ )
393
+
394
+ print(f"Reconstructed Frozen fp32 state dict with {total_params} params {total_numel} elements")
395
+
396
+
397
+ def _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states):
398
+ param_shapes = zero_model_states[0].param_shapes
399
+ avail_numel = fp32_flat_groups[0].numel() * world_size
400
+ # Reconstruction protocol: For zero3 we need to zip the partitions together at boundary of each
401
+ # param, re-consolidating each param, while dealing with padding if any
402
+
403
+ # merge list of dicts, preserving order
404
+ param_shapes = {k: v for d in param_shapes for k, v in d.items()}
405
+
406
+ if debug:
407
+ for i in range(world_size):
408
+ print(f"{FP32_FLAT_GROUPS}[{i}].shape={fp32_flat_groups[i].shape}")
409
+
410
+ wanted_params = len(param_shapes)
411
+ wanted_numel = sum(shape.numel() for shape in param_shapes.values())
412
+ # not asserting if there is a mismatch due to possible padding
413
+ avail_numel = fp32_flat_groups[0].numel() * world_size
414
+ print(f"Trainable params: Have {avail_numel} numels to process.")
415
+ print(f"Trainable params: Need {wanted_numel} numels in {wanted_params} params.")
416
+
417
+ # params
418
+ # XXX: for huge models that can't fit into the host's RAM we will have to recode this to support
419
+ # out-of-core computing solution
420
+ offset = 0
421
+ total_numel = 0
422
+ total_params = 0
423
+ for name, shape in param_shapes.items():
424
+
425
+ unpartitioned_numel = shape.numel()
426
+ total_numel += unpartitioned_numel
427
+ total_params += 1
428
+
429
+ partitioned_numel, partitioned_padding_numel = zero3_partitioned_param_info(unpartitioned_numel, world_size)
430
+
431
+ if debug:
432
+ print(
433
+ f"Trainable params: {total_params} {name} full shape: {shape} partition0 numel={partitioned_numel} partitioned_padding_numel={partitioned_padding_numel}"
434
+ )
435
+
436
+ # XXX: memory usage doubles here
437
+ state_dict[name] = torch.cat(
438
+ tuple(fp32_flat_groups[i].narrow(0, offset, partitioned_numel) for i in range(world_size)),
439
+ 0).narrow(0, 0, unpartitioned_numel).view(shape)
440
+ offset += partitioned_numel
441
+
442
+ offset *= world_size
443
+
444
+ # Sanity check
445
+ if offset != avail_numel:
446
+ raise ValueError(f"consumed {offset} numels out of {avail_numel} - something is wrong")
447
+
448
+ print(f"Reconstructed Trainable fp32 state dict with {total_params} params {total_numel} elements")
449
+
450
+
451
+ def _get_fp32_state_dict_from_zero3_checkpoint(world_size, fp32_flat_groups, zero_model_states,
452
+ exclude_frozen_parameters):
453
+ state_dict = OrderedDict()
454
+
455
+ # buffers
456
+ buffers = zero_model_states[0].buffers
457
+ state_dict.update(buffers)
458
+ if debug:
459
+ print(f"added {len(buffers)} buffers")
460
+
461
+ if not exclude_frozen_parameters:
462
+ _zero3_merge_frozen_params(state_dict, world_size, zero_model_states)
463
+
464
+ _zero3_merge_trainable_params(state_dict, world_size, fp32_flat_groups, zero_model_states)
465
+
466
+ # recover shared parameters
467
+ for pair in zero_model_states[0].shared_params:
468
+ if pair[1] in state_dict:
469
+ state_dict[pair[0]] = state_dict[pair[1]]
470
+
471
+ return state_dict
472
+
473
+
474
+ def get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag=None, exclude_frozen_parameters=False):
475
+ """
476
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated state_dict that can be loaded with
477
+ ``load_state_dict()`` and used for training without DeepSpeed or shared with others, for example
478
+ via a model hub.
479
+
480
+ Args:
481
+ - ``checkpoint_dir``: path to the desired checkpoint folder
482
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in 'latest' file. e.g., ``global_step14``
483
+ - ``exclude_frozen_parameters``: exclude frozen parameters
484
+
485
+ Returns:
486
+ - pytorch ``state_dict``
487
+
488
+ Note: this approach may not work if your application doesn't have sufficient free CPU memory and
489
+ you may need to use the offline approach using the ``zero_to_fp32.py`` script that is saved with
490
+ the checkpoint.
491
+
492
+ A typical usage might be ::
493
+
494
+ from deepspeed.utils.zero_to_fp32 import get_fp32_state_dict_from_zero_checkpoint
495
+ # do the training and checkpoint saving
496
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir) # already on cpu
497
+ model = model.cpu() # move to cpu
498
+ model.load_state_dict(state_dict)
499
+ # submit to model hub or save the model to share with others
500
+
501
+ In this example the ``model`` will no longer be usable in the deepspeed context of the same
502
+ application. i.e. you will need to re-initialize the deepspeed engine, since
503
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
504
+
505
+ If you want it all done for you, use ``load_state_dict_from_zero_checkpoint`` instead.
506
+
507
+ """
508
+ if tag is None:
509
+ latest_path = os.path.join(checkpoint_dir, 'latest')
510
+ if os.path.isfile(latest_path):
511
+ with open(latest_path, 'r') as fd:
512
+ tag = fd.read().strip()
513
+ else:
514
+ raise ValueError(f"Unable to find 'latest' file at {latest_path}")
515
+
516
+ ds_checkpoint_dir = os.path.join(checkpoint_dir, tag)
517
+
518
+ if not os.path.isdir(ds_checkpoint_dir):
519
+ raise FileNotFoundError(f"Directory '{ds_checkpoint_dir}' doesn't exist")
520
+
521
+ return _get_fp32_state_dict_from_zero_checkpoint(ds_checkpoint_dir, exclude_frozen_parameters)
522
+
523
+
524
+ def convert_zero_checkpoint_to_fp32_state_dict(checkpoint_dir, output_file, tag=None, exclude_frozen_parameters=False):
525
+ """
526
+ Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict`` file that can be
527
+ loaded with ``torch.load(file)`` + ``load_state_dict()`` and used for training without DeepSpeed.
528
+
529
+ Args:
530
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
531
+ - ``output_file``: path to the pytorch fp32 state_dict output file (e.g. path/pytorch_model.bin)
532
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
533
+ - ``exclude_frozen_parameters``: exclude frozen parameters
534
+ """
535
+
536
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag, exclude_frozen_parameters)
537
+ print(f"Saving fp32 state dict to {output_file}")
538
+ torch.save(state_dict, output_file)
539
+
540
+
541
+ def load_state_dict_from_zero_checkpoint(model, checkpoint_dir, tag=None):
542
+ """
543
+ 1. Put the provided model to cpu
544
+ 2. Convert ZeRO 2 or 3 checkpoint into a single fp32 consolidated ``state_dict``
545
+ 3. Load it into the provided model
546
+
547
+ Args:
548
+ - ``model``: the model object to update
549
+ - ``checkpoint_dir``: path to the desired checkpoint folder. (one that contains the tag-folder, like ``global_step14``)
550
+ - ``tag``: checkpoint tag used as a unique identifier for checkpoint. If not provided will attempt to load tag in the file named ``latest`` in the checkpoint folder, e.g., ``global_step14``
551
+
552
+ Returns:
553
+ - ``model`: modified model
554
+
555
+ Make sure you have plenty of CPU memory available before you call this function. If you don't
556
+ have enough use the ``zero_to_fp32.py`` utility to do the conversion. You will find it
557
+ conveniently placed for you in the checkpoint folder.
558
+
559
+ A typical usage might be ::
560
+
561
+ from deepspeed.utils.zero_to_fp32 import load_state_dict_from_zero_checkpoint
562
+ model = load_state_dict_from_zero_checkpoint(trainer.model, checkpoint_dir)
563
+ # submit to model hub or save the model to share with others
564
+
565
+ Note, that once this was run, the ``model`` will no longer be usable in the deepspeed context
566
+ of the same application. i.e. you will need to re-initialize the deepspeed engine, since
567
+ ``model.load_state_dict(state_dict)`` will remove all the deepspeed magic from it.
568
+
569
+ """
570
+ logger.info(f"Extracting fp32 weights")
571
+ state_dict = get_fp32_state_dict_from_zero_checkpoint(checkpoint_dir, tag)
572
+
573
+ logger.info(f"Overwriting model with fp32 weights")
574
+ model = model.cpu()
575
+ model.load_state_dict(state_dict, strict=False)
576
+
577
+ return model
578
+
579
+
580
+ if __name__ == "__main__":
581
+
582
+ parser = argparse.ArgumentParser()
583
+ parser.add_argument("checkpoint_dir",
584
+ type=str,
585
+ help="path to the desired checkpoint folder, e.g., path/checkpoint-12")
586
+ parser.add_argument(
587
+ "output_file",
588
+ type=str,
589
+ help="path to the pytorch fp32 state_dict output file (e.g. path/checkpoint-12/pytorch_model.bin)")
590
+ parser.add_argument("-t",
591
+ "--tag",
592
+ type=str,
593
+ default=None,
594
+ help="checkpoint tag used as a unique identifier for checkpoint. e.g., global_step1")
595
+ parser.add_argument("--exclude_frozen_parameters", action='store_true', help="exclude frozen parameters")
596
+ parser.add_argument("-d", "--debug", action='store_true', help="enable debug")
597
+ args = parser.parse_args()
598
+
599
+ debug = args.debug
600
+
601
+ convert_zero_checkpoint_to_fp32_state_dict(args.checkpoint_dir,
602
+ args.output_file,
603
+ tag=args.tag,
604
+ exclude_frozen_parameters=args.exclude_frozen_parameters)