sanchit-gandhi HF staff commited on
Commit
1710729
1 Parent(s): a0c3e1b

Upload folder using huggingface_hub

Browse files
Files changed (50) hide show
  1. .gitattributes +4 -0
  2. accelerate_config.yaml +17 -0
  3. checkpoint-50000-epoch-0/model.safetensors +3 -0
  4. checkpoint-50000-epoch-0/model_1.safetensors +3 -0
  5. checkpoint-50000-epoch-0/optimizer.bin +3 -0
  6. checkpoint-50000-epoch-0/random_states_0.pkl +3 -0
  7. checkpoint-50000-epoch-0/random_states_1.pkl +3 -0
  8. checkpoint-50000-epoch-0/random_states_2.pkl +3 -0
  9. checkpoint-50000-epoch-0/random_states_3.pkl +3 -0
  10. checkpoint-50000-epoch-0/random_states_4.pkl +3 -0
  11. checkpoint-50000-epoch-0/random_states_5.pkl +3 -0
  12. checkpoint-50000-epoch-0/random_states_6.pkl +3 -0
  13. checkpoint-50000-epoch-0/random_states_7.pkl +3 -0
  14. checkpoint-50000-epoch-0/scheduler.bin +3 -0
  15. config.json +27 -0
  16. config_dummy.yaml +30 -0
  17. config_mistral.yaml +42 -0
  18. config_mistral_100k.yaml +31 -0
  19. dummy_config.yaml +17 -0
  20. generation_config.json +7 -0
  21. model-00001-of-00002.safetensors +3 -0
  22. model-00002-of-00002.safetensors +3 -0
  23. model.safetensors.index.json +64 -0
  24. run_distillation.py +1476 -0
  25. slurm_job.slurm +74 -0
  26. special_tokens_map.json +24 -0
  27. tokenizer.json +0 -0
  28. tokenizer.model +3 -0
  29. tokenizer_config.json +42 -0
  30. wandb/debug-cli.sanchit.log +0 -0
  31. wandb/debug-internal.log +3 -0
  32. wandb/debug.log +34 -0
  33. wandb/run-20240416_172306-uygw9yfk/files/conda-environment.yaml +300 -0
  34. wandb/run-20240416_172306-uygw9yfk/files/config.yaml +39 -0
  35. wandb/run-20240416_172306-uygw9yfk/files/output.log +2124 -0
  36. wandb/run-20240416_172306-uygw9yfk/files/requirements.txt +223 -0
  37. wandb/run-20240416_172306-uygw9yfk/files/wandb-metadata.json +552 -0
  38. wandb/run-20240416_172306-uygw9yfk/files/wandb-summary.json +1 -0
  39. wandb/run-20240416_172306-uygw9yfk/logs/debug-internal.log +0 -0
  40. wandb/run-20240416_172306-uygw9yfk/logs/debug.log +28 -0
  41. wandb/run-20240416_172306-uygw9yfk/run-uygw9yfk.wandb +3 -0
  42. wandb/run-20240416_205309-xdytsc71/files/conda-environment.yaml +300 -0
  43. wandb/run-20240416_205309-xdytsc71/files/config.yaml +40 -0
  44. wandb/run-20240416_205309-xdytsc71/files/output.log +0 -0
  45. wandb/run-20240416_205309-xdytsc71/files/requirements.txt +223 -0
  46. wandb/run-20240416_205309-xdytsc71/files/wandb-metadata.json +552 -0
  47. wandb/run-20240416_205309-xdytsc71/files/wandb-summary.json +1 -0
  48. wandb/run-20240416_205309-xdytsc71/logs/debug-internal.log +3 -0
  49. wandb/run-20240416_205309-xdytsc71/logs/debug.log +34 -0
  50. wandb/run-20240416_205309-xdytsc71/run-xdytsc71.wandb +3 -0
.gitattributes CHANGED
@@ -33,3 +33,7 @@ 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
+ wandb/debug-internal.log filter=lfs diff=lfs merge=lfs -text
37
+ wandb/run-20240416_172306-uygw9yfk/run-uygw9yfk.wandb filter=lfs diff=lfs merge=lfs -text
38
+ wandb/run-20240416_205309-xdytsc71/logs/debug-internal.log filter=lfs diff=lfs merge=lfs -text
39
+ wandb/run-20240416_205309-xdytsc71/run-xdytsc71.wandb filter=lfs diff=lfs merge=lfs -text
accelerate_config.yaml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ compute_environment: LOCAL_MACHINE
2
+ debug: false
3
+ distributed_type: MULTI_GPU
4
+ downcast_bf16: 'no'
5
+ enable_cpu_affinity: false
6
+ gpu_ids: all
7
+ machine_rank: 0
8
+ main_training_function: main
9
+ mixed_precision: bf16
10
+ num_machines: 1
11
+ num_processes: 8
12
+ rdzv_backend: static
13
+ same_network: true
14
+ tpu_env: []
15
+ tpu_use_cluster: false
16
+ tpu_use_sudo: false
17
+ use_cpu: false
checkpoint-50000-epoch-0/model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6501c2c0a4b20fadfdb42633a77b04e780b08a701b1043be50ef4fa8029eb4c5
3
+ size 6283286904
checkpoint-50000-epoch-0/model_1.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa681ff78f80f5898262cfc263e375064613fc40aa8b147cc1a5423ee5661da1
3
+ size 4450837792
checkpoint-50000-epoch-0/optimizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b4b0fa6a4b48ec9e9817f31f7956f46662000678470e2b911c0aaf0c97da8a0
3
+ size 12566610474
checkpoint-50000-epoch-0/random_states_0.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9aca503cc09e63ca033e29a437a20cc580a9c1db27fef2174e533f58ba275879
3
+ size 16100
checkpoint-50000-epoch-0/random_states_1.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:31831c2134536b1e81ba1e763e72b2ff98a14a83774fcfb30d153a66dca7879c
3
+ size 16100
checkpoint-50000-epoch-0/random_states_2.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a628258539b4090ce50e9faf5fda4d613f523ca957f3e837c02d316e4b20122
3
+ size 16100
checkpoint-50000-epoch-0/random_states_3.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d594aa54f68e8eb41c3deb9753bf43474028f44edb92db1930ebdf967f708a7c
3
+ size 16100
checkpoint-50000-epoch-0/random_states_4.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:28ca4240374ff4b93ad0537aca2f28bfc293153a29ee8069cf09d088ca30fee7
3
+ size 16100
checkpoint-50000-epoch-0/random_states_5.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d6f3577977e8c32eac49b1c5136c6718fcd9c66051b703ba6e305cca03a8fb0
3
+ size 16100
checkpoint-50000-epoch-0/random_states_6.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c0ef1d86e60e6cedda41454cd08e0b3652ab6a6eb017b4eed0d6b84866ed7d46
3
+ size 16100
checkpoint-50000-epoch-0/random_states_7.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08d860c07ef8d57c8162394106fcd87c34e7924d859b28b4b292e9e792a96af2
3
+ size 16100
checkpoint-50000-epoch-0/scheduler.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:61d45b6fd8dfc8830f2ac6212faa2f2fe74d12e2ca5a21e1d98c8dea13c837b7
3
+ size 1064
config.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_name_or_path": "sanchit-gandhi/Mistral-7B-v0.1-6-layer",
3
+ "architectures": [
4
+ "MistralForCausalLM"
5
+ ],
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "eos_token_id": 2,
9
+ "hidden_act": "silu",
10
+ "hidden_size": 4096,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 14336,
13
+ "max_position_embeddings": 32768,
14
+ "model_type": "mistral",
15
+ "num_attention_heads": 32,
16
+ "num_hidden_layers": 6,
17
+ "num_key_value_heads": 8,
18
+ "output_router_logits": true,
19
+ "rms_norm_eps": 1e-05,
20
+ "rope_theta": 10000.0,
21
+ "sliding_window": 4096,
22
+ "tie_word_embeddings": false,
23
+ "torch_dtype": "float32",
24
+ "transformers_version": "4.40.0.dev0",
25
+ "use_cache": true,
26
+ "vocab_size": 32000
27
+ }
config_dummy.yaml ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Model arguments
2
+ model_name_or_path: sanchit-gandhi/tiny-random-MistralForCausalLM-1-layer
3
+ teacher_model_name_or_path: sanchit-gandhi/tiny-random-MistralForCausalLM-1-layer
4
+ dtype: bfloat16
5
+ load_teacher_in_4bit: true
6
+
7
+ # Data arguments
8
+ train_dataset_name: HuggingFaceTB/cosmopedia-100k
9
+ train_dataset_config_name: default
10
+ train_split_name: train[:100]
11
+ eval_split_name: train[-10:]
12
+ num_train_epochs: 2
13
+
14
+ # Training arguments
15
+ do_train: true
16
+ do_eval: true
17
+ per_device_eval_batch_size: 4
18
+ per_device_train_batch_size: 4
19
+ learning_rate: 0.0003
20
+ warmup_steps: 10
21
+ gradient_checkpointing: true
22
+ dataloader_num_workers: 2
23
+ preprocessing_num_workers: 2
24
+ save_strategy: epoch
25
+ evaluation_strategy: epoch
26
+ logging_steps: 25
27
+ overwrite_output_dir: true
28
+ output_router_logits: true
29
+ report_to: wandb
30
+ output_dir: ./
config_mistral.yaml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Model arguments
2
+ model_name_or_path: sanchit-gandhi/Mistral-7B-v0.1-6-layer
3
+ teacher_model_name_or_path: mistralai/Mistral-7B-v0.1
4
+ dtype: bfloat16
5
+ load_teacher_in_4bit: true
6
+
7
+ # Data arguments
8
+ train_dataset_name: HuggingFaceTB/cosmopedia
9
+ train_dataset_config_name:
10
+ - auto_math_text
11
+ - khanacademy
12
+ - openstax
13
+ - stanford
14
+ - stories
15
+ - web_samples_v1
16
+ - web_samples_v2
17
+ - wikihow
18
+ train_split_name: train[1000:]
19
+ eval_split_name: train[:1000]
20
+ max_steps: 50000
21
+
22
+ # Training arguments
23
+ do_train: true
24
+ do_eval: true
25
+ per_device_eval_batch_size: 8
26
+ per_device_train_batch_size: 8
27
+ learning_rate: 0.0003
28
+ warmup_steps: 500
29
+ gradient_checkpointing: true
30
+ dataloader_num_workers: 4
31
+ preprocessing_num_workers: 32
32
+ ddp_timeout: 7200
33
+ save_strategy: steps
34
+ save_steps: 5000
35
+ evaluation_strategy: steps
36
+ eval_steps: 5000
37
+ logging_steps: 25
38
+ output_router_logits: true
39
+ report_to: wandb
40
+ output_dir: ./
41
+ overwrite_output_dir: true
42
+ save_total_limit: 1
config_mistral_100k.yaml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Model arguments
2
+ model_name_or_path: sanchit-gandhi/Mistral-7B-v0.1-6-layer
3
+ teacher_model_name_or_path: mistralai/Mistral-7B-v0.1
4
+ dtype: bfloat16
5
+ load_teacher_in_4bit: true
6
+
7
+ # Data arguments
8
+ train_dataset_name: HuggingFaceTB/cosmopedia-100k
9
+ train_dataset_config_name: default
10
+ train_split_name: train[:-1000]
11
+ eval_split_name: train[-1000:]
12
+ num_train_epochs: 10
13
+
14
+ # Training arguments
15
+ do_train: true
16
+ do_eval: true
17
+ per_device_eval_batch_size: 8
18
+ per_device_train_batch_size: 8
19
+ learning_rate: 0.0003
20
+ warmup_steps: 500
21
+ gradient_checkpointing: true
22
+ dataloader_num_workers: 4
23
+ preprocessing_num_workers: 32
24
+ ddp_timeout: 7200
25
+ save_strategy: epoch
26
+ evaluation_strategy: epoch
27
+ logging_steps: 25
28
+ overwrite_output_dir: true
29
+ output_router_logits: true
30
+ report_to: wandb
31
+ output_dir: ./
dummy_config.yaml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ compute_environment: LOCAL_MACHINE
2
+ debug: false
3
+ distributed_type: MULTI_GPU
4
+ downcast_bf16: 'no'
5
+ enable_cpu_affinity: false
6
+ gpu_ids: all
7
+ machine_rank: 0
8
+ main_training_function: main
9
+ mixed_precision: bf16
10
+ num_machines: 1
11
+ num_processes: 1
12
+ rdzv_backend: static
13
+ same_network: true
14
+ tpu_env: []
15
+ tpu_use_cluster: false
16
+ tpu_use_sudo: false
17
+ use_cpu: false
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "max_length": 2048,
6
+ "transformers_version": "4.40.0.dev0"
7
+ }
model-00001-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2680ce25539a3c26efbd0f16858e75f000cd77a2b5e5b9a779fa1c9372f99fd1
3
+ size 4987196936
model-00002-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c460170c8538156b83ccbd6a9b037e989f6bf7740c29d9d1633746982c71c84
3
+ size 1296089984
model.safetensors.index.json ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_size": 6283280384
4
+ },
5
+ "weight_map": {
6
+ "lm_head.weight": "model-00002-of-00002.safetensors",
7
+ "model.embed_tokens.weight": "model-00001-of-00002.safetensors",
8
+ "model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors",
9
+ "model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
10
+ "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
11
+ "model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
12
+ "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
13
+ "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
14
+ "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
15
+ "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
16
+ "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
17
+ "model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors",
18
+ "model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
19
+ "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
20
+ "model.layers.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
21
+ "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
22
+ "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
23
+ "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
24
+ "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
25
+ "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
26
+ "model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors",
27
+ "model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
28
+ "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
29
+ "model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
30
+ "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
31
+ "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
32
+ "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
33
+ "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
34
+ "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
35
+ "model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors",
36
+ "model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
37
+ "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
38
+ "model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
39
+ "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
40
+ "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
41
+ "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
42
+ "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
43
+ "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
44
+ "model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors",
45
+ "model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
46
+ "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
47
+ "model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
48
+ "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
49
+ "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
50
+ "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
51
+ "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
52
+ "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
53
+ "model.layers.5.input_layernorm.weight": "model-00002-of-00002.safetensors",
54
+ "model.layers.5.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
55
+ "model.layers.5.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
56
+ "model.layers.5.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
57
+ "model.layers.5.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
58
+ "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
59
+ "model.layers.5.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
60
+ "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
61
+ "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
62
+ "model.norm.weight": "model-00002-of-00002.safetensors"
63
+ }
64
+ }
run_distillation.py ADDED
@@ -0,0 +1,1476 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding=utf-8
3
+ # Copyright 2023 The HuggingFace Inc. team. All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ """
17
+ Training langauge models Whisper model for conditional language modelling tasks via teacher-student distillation.
18
+ """
19
+ # You can also adapt this script for your own distillation tasks. Pointers for this are left as comments.
20
+
21
+ import logging
22
+ import math
23
+ import os
24
+ import re
25
+ import shutil
26
+ import sys
27
+ import time
28
+ from dataclasses import dataclass, field
29
+ from functools import partial
30
+ from pathlib import Path
31
+ from typing import Dict, List, Optional, Union
32
+
33
+ import datasets
34
+ import numpy as np
35
+ import torch
36
+ import torch.nn as nn
37
+ import transformers
38
+ from accelerate import Accelerator
39
+ from accelerate.logging import get_logger
40
+ from datasets import (
41
+ Dataset,
42
+ DatasetDict,
43
+ IterableDataset,
44
+ IterableDatasetDict,
45
+ concatenate_datasets,
46
+ interleave_datasets,
47
+ load_dataset,
48
+ )
49
+ from huggingface_hub import create_repo, get_full_repo_name, upload_folder
50
+ from peft import LoraConfig, get_peft_model
51
+ from torch.utils.data import DataLoader
52
+ from tqdm import tqdm
53
+ from transformers import (
54
+ AutoConfig,
55
+ AutoModelForCausalLM,
56
+ AutoTokenizer,
57
+ BatchEncoding,
58
+ BitsAndBytesConfig,
59
+ HfArgumentParser,
60
+ PreTrainedTokenizerBase,
61
+ Seq2SeqTrainingArguments,
62
+ get_scheduler,
63
+ set_seed,
64
+ )
65
+ from transformers.utils import check_min_version
66
+ from transformers.utils.versions import require_version
67
+
68
+
69
+ # Will error if the minimal version of Transformers is not installed. Remove at your own risks.
70
+ check_min_version("4.34.0.dev0")
71
+
72
+ require_version("datasets>=2.14.6", "To fix: `pip install --upgrade datasets`")
73
+
74
+ logger = get_logger(__name__)
75
+
76
+
77
+ @dataclass
78
+ class ModelArguments:
79
+ """
80
+ Arguments pertaining to which model/config/tokenizer we are going to distill from.
81
+ """
82
+
83
+ model_name_or_path: str = field(
84
+ metadata={"help": "Path to pretrained Whisper model or model identifier from huggingface.co/models"}
85
+ )
86
+ teacher_model_name_or_path: str = field(
87
+ metadata={"help": "Path to pretrained teacher model or model identifier from huggingface.co/models"}
88
+ )
89
+ config_name: Optional[str] = field(
90
+ default=None,
91
+ metadata={"help": "Pretrained config name or path if not the same as model_name"},
92
+ )
93
+ tokenizer_name: Optional[str] = field(
94
+ default=None,
95
+ metadata={"help": "Pretrained tokenizer name or path if not the same as model_name"},
96
+ )
97
+ cache_dir: Optional[str] = field(
98
+ default=None,
99
+ metadata={"help": "Where to store the pretrained models downloaded from huggingface.co"},
100
+ )
101
+ use_fast_tokenizer: bool = field(
102
+ default=True,
103
+ metadata={"help": "Whether to use one of the fast tokenizer (backed by the tokenizers library) or not."},
104
+ )
105
+ model_revision: str = field(
106
+ default="main",
107
+ metadata={"help": "The specific model version to use (can be a branch name, tag name or commit id)."},
108
+ )
109
+ subfolder: str = field(
110
+ default="",
111
+ metadata={
112
+ "help": "In case the relevant files are located inside a subfolder of the model repo on huggingface.co, you can"
113
+ "specify the folder name here."
114
+ },
115
+ )
116
+ token: str = field(
117
+ default=None,
118
+ metadata={
119
+ "help": (
120
+ "The token to use as HTTP bearer authorization for remote files. If not specified, will use the token "
121
+ "generated when running `huggingface-cli login` (stored in `~/.huggingface`)."
122
+ )
123
+ },
124
+ )
125
+ attn_implementation: Optional[str] = field(
126
+ default=None,
127
+ metadata={
128
+ "help": (
129
+ "Which attention implementation to use in the encoder and decoder attention layers. Can be one of:\n"
130
+ "1. `eager` or `None`: default Transformers attention implementation.\n"
131
+ "2. `sdpa`: Flash Attention through PyTorch SDPA. Requires `torch>=2.1`. Recommended for hardware where Flash Attention 2 is not supported, e.g. Turing GPUs, (T4, RTX 2080).\n"
132
+ "3. `flash_attn_2`: Flash Attention 2 through the Flash Attention package https://github.com/Dao-AILab/flash-attention. **Always** recommended on supported hardware (Ampere, Ada, or Hopper GPUs, e.g., A100, RTX 3090, RTX 4090, H100)."
133
+ )
134
+ },
135
+ )
136
+ load_teacher_in_8bit: bool = field(default=False, metadata={"help": "Use 8 bit precision for the teacher model."})
137
+ load_teacher_in_4bit: bool = field(default=False, metadata={"help": "Use 4 bit precision for the teacher model."})
138
+ load_student_in_8bit: bool = field(default=False, metadata={"help": "Use 8 bit precision for the student model."})
139
+ load_student_in_4bit: bool = field(default=False, metadata={"help": "Use 4 bit precision for the student model."})
140
+ bnb_4bit_quant_type: Optional[str] = field(
141
+ default="nf4", metadata={"help": "Quantization type if the teacher is quantized (fp4 or nf4)"}
142
+ )
143
+ use_bnb_nested_quant: bool = field(default=False, metadata={"help": "Whether or not to use nested quantization."})
144
+ lora_r: Optional[int] = field(
145
+ default=16,
146
+ metadata={"help": "LoRA R value."},
147
+ )
148
+ lora_alpha: Optional[int] = field(
149
+ default=32,
150
+ metadata={"help": "LoRA alpha."},
151
+ )
152
+ lora_dropout: Optional[float] = field(
153
+ default=0.05,
154
+ metadata={"help": "LoRA dropout."},
155
+ )
156
+ lora_target_modules: Optional[List[str]] = field(
157
+ default=None,
158
+ metadata={"help": "LoRA target modules."},
159
+ )
160
+ lora_modules_to_save: Optional[List[str]] = field(
161
+ default=None,
162
+ metadata={"help": "Model layers to unfreeze & train"},
163
+ )
164
+
165
+
166
+ @dataclass
167
+ class DataTrainingArguments:
168
+ """
169
+ Arguments pertaining to what data we are going to input our model for training and eval.
170
+ """
171
+
172
+ train_dataset_name: List[str] = field(
173
+ default=None,
174
+ metadata={
175
+ "help": "The name of the training dataset to use (via the datasets library). Load and combine "
176
+ "multiple datasets by separating dataset ids by a '+' symbol. For example, to load LibriSpeech "
177
+ "and Common Voice, set `train_dataset_name='librispeech_asr+common_voice'`."
178
+ },
179
+ )
180
+ train_dataset_config_name: Optional[List[str]] = field(
181
+ default=None,
182
+ metadata={
183
+ "help": "The configuration name of the training dataset to use (via the datasets library). Load and combine "
184
+ "multiple datasets by separating dataset configs by a '+' symbol. Note that the order of the configs should "
185
+ "match the order of the datasets."
186
+ },
187
+ )
188
+ train_dataset_samples: Optional[List[str]] = field(
189
+ default=None,
190
+ metadata={
191
+ "help": "Number of samples in each dataset when loading multiple datasets with streaming mode. "
192
+ "Not required when using one dataset or non-streaming mode. The sample values provide the sampling "
193
+ "probability for each dataset. Setting them equal to the number of sample values ensures that every "
194
+ "sample from every dataset is used once per epoch."
195
+ },
196
+ )
197
+ eval_dataset_name: Optional[List[str]] = field(
198
+ default=None,
199
+ metadata={
200
+ "help": "The name of the evaluation dataset to use (via the datasets library). Defaults to the training "
201
+ "dataset name if unspecified. Load multiple evaluation datasets by separating dataset "
202
+ "ids by a '+' symbol."
203
+ },
204
+ )
205
+ eval_dataset_config_name: Optional[List[str]] = field(
206
+ default=None,
207
+ metadata={
208
+ "help": "The configuration name of the evaluation dataset to use (via the datasets library). Defaults to the "
209
+ "training dataset config name if unspecified."
210
+ },
211
+ )
212
+ dataset_cache_dir: Optional[str] = field(
213
+ default=None,
214
+ metadata={"help": "Path to cache directory for saving and loading datasets"},
215
+ )
216
+ overwrite_cache: bool = field(
217
+ default=False,
218
+ metadata={"help": "Overwrite the cached training and evaluation sets"},
219
+ )
220
+ preprocessing_num_workers: Optional[int] = field(
221
+ default=None,
222
+ metadata={"help": "The number of processes to use for the preprocessing if using non-streaming mode."},
223
+ )
224
+ max_train_samples: Optional[int] = field(
225
+ default=None,
226
+ metadata={
227
+ "help": (
228
+ "For debugging purposes or quicker training, truncate the number of training examples to this value if set."
229
+ )
230
+ },
231
+ )
232
+ max_eval_samples: Optional[int] = field(
233
+ default=None,
234
+ metadata={
235
+ "help": (
236
+ "For debugging purposes or quicker training, truncate the number of evaluation examples to this value if set."
237
+ )
238
+ },
239
+ )
240
+ text_column_name: str = field(
241
+ default=None,
242
+ metadata={"help": "The name of the dataset column containing the generated text data in the training set."},
243
+ )
244
+ prompt_column_name: str = field(
245
+ default=None,
246
+ metadata={"help": "The name of the dataset column containing the prompt data. Defaults to 'prompt'"},
247
+ )
248
+ eval_text_column_name: str = field(
249
+ default=None,
250
+ metadata={"help": "The name of the dataset column containing the generated text data in the evaluation set."},
251
+ )
252
+ eval_prompt_column_name: str = field(
253
+ default=None,
254
+ metadata={"help": "The name of the dataset column containing the prompt data in the evaluation set."},
255
+ )
256
+ max_label_length: int = field(
257
+ default=2048,
258
+ metadata={"help": "Truncate target labels that are longer `max_label_length` tokens."},
259
+ )
260
+ pad_target_to_multiple_of: Optional[int] = field(
261
+ default=None,
262
+ metadata={
263
+ "help": (
264
+ "If set will pad the target sequence to a multiple of the provided value. This is important to "
265
+ "avoid triggering recompilations when using torch compile. If unspecified, will default to padding "
266
+ "the targets to max length."
267
+ )
268
+ },
269
+ )
270
+ preprocessing_only: bool = field(
271
+ default=False,
272
+ metadata={
273
+ "help": (
274
+ "Whether to only do data preprocessing and skip training. This is especially useful when data "
275
+ "preprocessing errors out in distributed training due to timeout. In this case, one should run the "
276
+ "preprocessing in a non-distributed setup with `preprocessing_only=True` so that the cached datasets "
277
+ "can consequently be loaded in distributed training"
278
+ )
279
+ },
280
+ )
281
+ train_split_name: Optional[List[str]] = field(
282
+ default=lambda: ["train"],
283
+ metadata={
284
+ "help": "The name of the training data set split to use (via the datasets library). Defaults to 'train'"
285
+ },
286
+ )
287
+ eval_split_name: Optional[List[str]] = field(
288
+ default=lambda: ["validation"],
289
+ metadata={
290
+ "help": (
291
+ "The name of the evaluation data set split to use (via the datasets library). Defaults to 'validation'"
292
+ )
293
+ },
294
+ )
295
+ streaming: bool = field(
296
+ default=False,
297
+ metadata={"help": "Whether to use Datasets' streaming mode to load and pre-process the data."},
298
+ )
299
+ wandb_project: str = field(
300
+ default="distil-mixtral",
301
+ metadata={"help": "The name of the wandb project."},
302
+ )
303
+
304
+
305
+ @dataclass
306
+ class DistillationTrainingArguments(Seq2SeqTrainingArguments):
307
+ freeze_lm_head: Optional[bool] = field(
308
+ default=False, metadata={"help": "Whether to freeze the LM head of the student model."}
309
+ )
310
+ temperature: Optional[float] = field(
311
+ default=2.0, metadata={"help": "Temperature to anneal the logits when computing the softmax."}
312
+ )
313
+ kl_weight: Optional[float] = field(
314
+ default=1.0,
315
+ metadata={
316
+ "help": (
317
+ "Weighting assigned to the MSE loss in the KD formulation. MSE loss is "
318
+ "computed between the teacher-student hidden states and attentions."
319
+ )
320
+ },
321
+ )
322
+ output_router_logits: bool = field(
323
+ default=False,
324
+ metadata={
325
+ "help": "Whether or not to return the router logits in the forward pass. Enabling this will "
326
+ "also configure the model to compute the auxiliary loss."
327
+ },
328
+ )
329
+ dtype: Optional[str] = field(
330
+ default="float32",
331
+ metadata={
332
+ "help": (
333
+ "The data type (dtype) in which to run training. One of `float32` (full-precision), "
334
+ "`float16` or `bfloat16` (both half-precision)."
335
+ )
336
+ },
337
+ )
338
+
339
+
340
+ @dataclass
341
+ class DataCollatorCausalLMWithPadding:
342
+ """
343
+ Data collator that will dynamically pad the inputs received.
344
+ Args:
345
+ tokenizer ([`PreTrainedTokenizer`])
346
+ The tokenizer used for tokenizing the data.
347
+ target_padding (:obj:`bool`, :obj:`str` or :class:`~transformers.tokenization_utils_base.PaddingStrategy`, `optional`, defaults to :obj:`True`):
348
+ Select a strategy to pad the returned target sequences (according to the model's padding side and padding index).
349
+ See above for details.
350
+ max_target_length (:obj:`int`, `optional`):
351
+ Maximum length of the ``labels`` of the returned list and optionally padding length (see above).
352
+ """
353
+
354
+ tokenizer: PreTrainedTokenizerBase
355
+ target_padding: Union[bool, str] = "max_length"
356
+ max_target_length: Optional[int] = None
357
+
358
+ def __call__(self, features: List[Dict[str, Union[List[int], np.ndarray]]]) -> BatchEncoding:
359
+ # dataloader returns a list of features which we convert to a dict
360
+ label_features = {"input_ids": [feature["labels"] for feature in features]}
361
+ prompt_lengths = [feature["prompt_length"] for feature in features]
362
+
363
+ batch = self.tokenizer.pad(
364
+ label_features,
365
+ max_length=self.max_target_length,
366
+ padding=self.target_padding,
367
+ return_tensors="pt",
368
+ )
369
+
370
+ labels_mask = batch["attention_mask"]
371
+
372
+ # don't include prompts in loss calculation
373
+ for idx in range(len(prompt_lengths)):
374
+ labels_mask[idx, : prompt_lengths[idx]] = 0
375
+
376
+ # replace padding with -100 to ignore loss correctly
377
+ labels = batch["input_ids"].masked_fill(labels_mask.ne(1), -100)
378
+
379
+ batch["labels"] = labels
380
+
381
+ return batch
382
+
383
+
384
+ def log_metric(
385
+ accelerator,
386
+ metrics: Dict,
387
+ train_time: float,
388
+ step: int,
389
+ epoch: int,
390
+ learning_rate: float = None,
391
+ prefix: str = "train",
392
+ ):
393
+ """Helper function to log all training/evaluation metrics with the correct prefixes and styling."""
394
+ log_metrics = {}
395
+ for k, v in metrics.items():
396
+ log_metrics[f"{prefix}/{k}"] = v
397
+ log_metrics[f"{prefix}/time"] = train_time
398
+ log_metrics[f"{prefix}/epoch"] = epoch
399
+ if learning_rate is not None:
400
+ log_metrics[f"{prefix}/learning_rate"] = learning_rate
401
+ accelerator.log(log_metrics, step=step)
402
+
403
+
404
+ def log_pred(
405
+ accelerator,
406
+ pred_str: List[str],
407
+ label_str: List[str],
408
+ step: int,
409
+ epoch: int,
410
+ evaluation_strategy: str,
411
+ prefix: str = "eval",
412
+ num_lines: int = 200000,
413
+ ):
414
+ """Helper function to log target/predicted transcriptions to weights and biases (wandb)."""
415
+ if accelerator.is_main_process:
416
+ wandb_tracker = accelerator.get_tracker("wandb")
417
+ # pretty name for current step: step 50000 -> step 50k
418
+ cur_step_pretty = f"{int(step // 1000)}k" if step > 1000 else step
419
+ prefix_pretty = prefix.replace("/", "-")
420
+
421
+ if evaluation_strategy == "epoch":
422
+ table_name = f"predictions/{prefix_pretty}-epoch-{epoch}"
423
+ else:
424
+ table_name = f"predictions/{prefix_pretty}-step-{cur_step_pretty}"
425
+
426
+ # convert str data to a wandb compatible format
427
+ str_data = [[label_str[i], pred_str[i]] for i in range(len(pred_str))]
428
+ # log as a table with the appropriate headers
429
+ wandb_tracker.log_table(
430
+ table_name=table_name,
431
+ columns=["Target", "Pred"],
432
+ data=str_data[:num_lines],
433
+ step=step,
434
+ )
435
+
436
+
437
+ def convert_dataset_str_to_list(
438
+ dataset_names,
439
+ dataset_config_names,
440
+ splits=None,
441
+ text_column_names=None,
442
+ prompt_column_names=None,
443
+ dataset_samples=None,
444
+ default_split="train",
445
+ ) -> List[Dict]:
446
+ """
447
+ Given three lists of dataset names, configs and splits, this function groups the corresponding
448
+ names/configs/splits. Each dataset is assigned a unique dictionary with these metadata values, and the
449
+ function returns a list of dictionaries, one for each dataset.
450
+ """
451
+ if isinstance(dataset_names, str):
452
+ dataset_names = [dataset_names]
453
+ splits = [splits] if splits else None
454
+ text_column_names = [text_column_names] if text_column_names else None
455
+ prompt_column_names = [prompt_column_names] if prompt_column_names else None
456
+ if isinstance(dataset_config_names, str):
457
+ dataset_config_names = [dataset_config_names]
458
+
459
+ if len(dataset_names) == 1 and len(dataset_config_names) > 1:
460
+ dataset_names = len(dataset_config_names) * dataset_names
461
+
462
+ if isinstance(splits, list) and len(splits) == 1 and len(dataset_config_names) > 1:
463
+ splits = len(dataset_config_names) * splits
464
+
465
+ # basic checks to ensure we've got the right number of datasets/configs/splits/columns/probs
466
+ if dataset_config_names is not None and len(dataset_names) != len(dataset_config_names):
467
+ raise ValueError(
468
+ f"Ensure one config is passed for each dataset, got {len(dataset_names)} datasets and"
469
+ f" {len(dataset_config_names)} configs."
470
+ )
471
+
472
+ if splits is not None and len(splits) != len(dataset_names):
473
+ raise ValueError(
474
+ f"Ensure one split is passed for each dataset, got {len(dataset_names)} datasets and {len(splits)} splits."
475
+ )
476
+
477
+ if text_column_names is not None and len(text_column_names) != len(dataset_names):
478
+ raise ValueError(
479
+ f"Ensure one text column name is passed for each dataset, got {len(dataset_names)} datasets and"
480
+ f" {len(text_column_names)} text column names."
481
+ )
482
+
483
+ if prompt_column_names is not None and len(prompt_column_names) != len(dataset_names):
484
+ raise ValueError(
485
+ f"Ensure one prompt column name is passed for each dataset, got {len(dataset_names)} datasets and"
486
+ f" {len(prompt_column_names)} prompt column names."
487
+ )
488
+
489
+ if dataset_samples is not None:
490
+ if len(dataset_samples) != len(dataset_names):
491
+ raise ValueError(
492
+ f"Ensure one sample is passed for each dataset, got {len(dataset_names)} datasets and "
493
+ f"{len(dataset_samples)} samples."
494
+ )
495
+ dataset_samples = [float(ds_sample) for ds_sample in dataset_samples]
496
+ else:
497
+ dataset_samples = [None] * len(dataset_names)
498
+
499
+ dataset_config_names = (
500
+ dataset_config_names if dataset_config_names is not None else ["default" for _ in range(len(dataset_names))]
501
+ )
502
+ text_column_names = (
503
+ text_column_names if text_column_names is not None else ["text" for _ in range(len(dataset_names))]
504
+ )
505
+ prompt_column_names = (
506
+ prompt_column_names if prompt_column_names is not None else ["prompt" for _ in range(len(dataset_names))]
507
+ )
508
+ splits = splits if splits is not None else [default_split for _ in range(len(dataset_names))]
509
+
510
+ dataset_names_dict = []
511
+ for i, ds_name in enumerate(dataset_names):
512
+ dataset_names_dict.append(
513
+ {
514
+ "name": ds_name,
515
+ "config": dataset_config_names[i],
516
+ "split": splits[i],
517
+ "text_column_name": text_column_names[i],
518
+ "prompt_column_name": prompt_column_names[i],
519
+ "samples": dataset_samples[i],
520
+ }
521
+ )
522
+ return dataset_names_dict
523
+
524
+
525
+ def load_multiple_datasets(
526
+ dataset_names: Union[List, str],
527
+ dataset_config_names: Union[List, str],
528
+ splits: Optional[Union[List, str]] = None,
529
+ text_column_names: Optional[List] = None,
530
+ prompt_column_names: Optional[List] = None,
531
+ stopping_strategy: Optional[str] = "first_exhausted",
532
+ dataset_samples: Optional[Union[List, np.array]] = None,
533
+ streaming: Optional[bool] = False,
534
+ seed: Optional[int] = None,
535
+ accelerator: Optional[Accelerator] = None,
536
+ **kwargs,
537
+ ) -> Union[Dataset, IterableDataset]:
538
+ dataset_names_dict = convert_dataset_str_to_list(
539
+ dataset_names, dataset_config_names, splits, text_column_names, prompt_column_names, dataset_samples
540
+ )
541
+
542
+ if dataset_samples is not None:
543
+ dataset_samples = [ds_dict["samples"] for ds_dict in dataset_names_dict]
544
+ probabilities = np.array(dataset_samples) / np.sum(dataset_samples)
545
+ else:
546
+ probabilities = None
547
+
548
+ all_datasets = []
549
+ # iterate over the datasets we want to interleave
550
+ for dataset_dict in tqdm(
551
+ dataset_names_dict,
552
+ desc="Combining datasets...",
553
+ disable=not accelerator.is_main_process,
554
+ ):
555
+ dataset = load_dataset(
556
+ dataset_dict["name"],
557
+ dataset_dict["config"],
558
+ split=dataset_dict["split"],
559
+ streaming=streaming,
560
+ **kwargs,
561
+ )
562
+
563
+ columns_to_keep = {"text"}
564
+ dataset_features = dataset.features.keys()
565
+
566
+ if dataset_dict["text_column_name"] not in dataset_features:
567
+ raise ValueError(
568
+ f"Text column name {dataset_dict['text_column_name']} not found in dataset"
569
+ f" '{dataset_dict['name']}'. Make sure to set `--text_column_name` to the"
570
+ f" correct text column - one of {', '.join(dataset_features)}."
571
+ )
572
+
573
+ # blanket renaming of all transcription columns to text
574
+ if dataset_dict["text_column_name"] != "text":
575
+ dataset = dataset.rename_column(dataset_dict["text_column_name"], "text")
576
+
577
+ # blanket renaming of all prompt columns to prompt
578
+ if dataset_dict["prompt_column_name"] is not None:
579
+ if dataset_dict["prompt_column_name"] not in dataset_features:
580
+ raise ValueError(
581
+ f"Prompt column name {dataset_dict['prompt_column_name']} not found in dataset"
582
+ f" '{dataset_dict['name']}'. Make sure to set `--prompt_column_name` to the"
583
+ f" correct prompt column - one of {', '.join(dataset_features)}."
584
+ )
585
+ elif dataset_dict["prompt_column_name"] != "prompt":
586
+ dataset = dataset.rename_column(dataset_dict["prompt_column_name"], "prompt")
587
+ columns_to_keep.add("prompt")
588
+
589
+ dataset = dataset.remove_columns(set(dataset_features - columns_to_keep))
590
+ all_datasets.append(dataset)
591
+
592
+ if len(all_datasets) == 1:
593
+ # we have a single dataset so just return it as is
594
+ return all_datasets[0]
595
+
596
+ if streaming:
597
+ interleaved_dataset = interleave_datasets(
598
+ all_datasets,
599
+ stopping_strategy=stopping_strategy,
600
+ probabilities=probabilities,
601
+ seed=seed,
602
+ )
603
+ else:
604
+ interleaved_dataset = concatenate_datasets(all_datasets)
605
+
606
+ return interleaved_dataset
607
+
608
+
609
+ def sorted_checkpoints(output_dir=None, checkpoint_prefix="checkpoint") -> List[str]:
610
+ """Helper function to sort saved checkpoints from oldest to newest."""
611
+ ordering_and_checkpoint_path = []
612
+
613
+ glob_checkpoints = [str(x) for x in Path(output_dir).glob(f"{checkpoint_prefix}-*") if os.path.isdir(x)]
614
+
615
+ for path in glob_checkpoints:
616
+ regex_match = re.match(f".*{checkpoint_prefix}-([0-9]+)", path)
617
+ if regex_match is not None and regex_match.groups() is not None:
618
+ ordering_and_checkpoint_path.append((int(regex_match.groups()[0]), path))
619
+
620
+ checkpoints_sorted = sorted(ordering_and_checkpoint_path)
621
+ checkpoints_sorted = [checkpoint[1] for checkpoint in checkpoints_sorted]
622
+ return checkpoints_sorted
623
+
624
+
625
+ def rotate_checkpoints(save_total_limit=None, output_dir=None, checkpoint_prefix="checkpoint") -> None:
626
+ """Helper function to delete old checkpoints."""
627
+ if save_total_limit is None or save_total_limit <= 0:
628
+ return
629
+ # Check if we should delete older checkpoint(s)
630
+ checkpoints_sorted = sorted_checkpoints(output_dir=output_dir, checkpoint_prefix=checkpoint_prefix)
631
+ if len(checkpoints_sorted) <= save_total_limit:
632
+ return
633
+
634
+ number_of_checkpoints_to_delete = max(0, len(checkpoints_sorted) - save_total_limit)
635
+ checkpoints_to_be_deleted = checkpoints_sorted[:number_of_checkpoints_to_delete]
636
+ for checkpoint in checkpoints_to_be_deleted:
637
+ logger.info(f"Deleting older checkpoint [{checkpoint}] due to args.save_total_limit")
638
+ shutil.rmtree(checkpoint, ignore_errors=True)
639
+
640
+
641
+ _RE_CHECKPOINT = re.compile(r"^checkpoint-(\d+)-epoch-(\d+)$")
642
+
643
+
644
+ def get_last_checkpoint(folder):
645
+ content = os.listdir(folder)
646
+ checkpoints = [
647
+ path
648
+ for path in content
649
+ if _RE_CHECKPOINT.search(path) is not None and os.path.isdir(os.path.join(folder, path))
650
+ ]
651
+ if len(checkpoints) == 0:
652
+ return
653
+ return os.path.join(folder, max(checkpoints, key=lambda x: int(_RE_CHECKPOINT.search(x).groups()[0])))
654
+
655
+
656
+ def get_parameter_names(model, forbidden_layer_types, forbidden_module=None):
657
+ """
658
+ Returns the names of the model parameters that are not inside a forbidden layer or forbidden module.
659
+ Can be used to get a subset of parameter names for decay masks, or to exclude parameters from an optimiser
660
+ (e.g. if the module is frozen).
661
+ """
662
+ result = []
663
+ for name, child in model.named_children():
664
+ result += [
665
+ f"{name}.{n}"
666
+ for n in get_parameter_names(child, forbidden_layer_types, forbidden_module)
667
+ if not (
668
+ isinstance(child, tuple(forbidden_layer_types))
669
+ or (child in tuple(forbidden_module) if forbidden_module is not None else False)
670
+ )
671
+ ]
672
+ # Add model specific parameters (defined with nn.Parameter) since they are not in any child.
673
+ result += list(model._parameters.keys())
674
+ return result
675
+
676
+
677
+ def get_quantization_config(
678
+ model_args: ModelArguments, torch_dtype: torch.dtype
679
+ ) -> tuple[BitsAndBytesConfig | None, BitsAndBytesConfig | None]:
680
+ if model_args.load_teacher_in_4bit:
681
+ quantization_config_teacher = BitsAndBytesConfig(
682
+ load_in_4bit=True,
683
+ bnb_4bit_compute_dtype=torch_dtype,
684
+ bnb_4bit_quant_type=model_args.bnb_4bit_quant_type,
685
+ bnb_4bit_use_double_quant=model_args.use_bnb_nested_quant,
686
+ )
687
+ elif model_args.load_teacher_in_8bit:
688
+ quantization_config_teacher = BitsAndBytesConfig(load_in_8bit=True)
689
+ else:
690
+ quantization_config_teacher = None
691
+
692
+ if model_args.load_student_in_4bit:
693
+ quantization_config_student = BitsAndBytesConfig(
694
+ load_in_4bit=True,
695
+ bnb_4bit_compute_dtype=torch_dtype,
696
+ bnb_4bit_quant_type=model_args.bnb_4bit_quant_type,
697
+ bnb_4bit_use_double_quant=model_args.use_bnb_nested_quant,
698
+ )
699
+ elif model_args.load_student_in_8bit:
700
+ quantization_config_student = BitsAndBytesConfig(load_in_8bit=True)
701
+ else:
702
+ quantization_config_student = None
703
+
704
+ return quantization_config_teacher, quantization_config_student
705
+
706
+
707
+ def main():
708
+ # 1. Parse input arguments
709
+ # We keep distinct sets of args, for cleaner separation of model/data/training related args
710
+ parser = HfArgumentParser((ModelArguments, DataTrainingArguments, DistillationTrainingArguments))
711
+
712
+ if len(sys.argv) == 2 and sys.argv[1].endswith(".json"):
713
+ # If we pass only one argument to the script and it's the path to a json file,
714
+ # let's parse it to get our arguments.
715
+ model_args, data_args, training_args = parser.parse_json_file(json_file=os.path.abspath(sys.argv[1]))
716
+ elif len(sys.argv) == 2 and sys.argv[1].endswith(".yaml"):
717
+ # If we pass only one argument to the script and it's the path to a yaml file,
718
+ # let's parse it to get our arguments.
719
+ model_args, data_args, training_args = parser.parse_yaml_file(yaml_file=os.path.abspath(sys.argv[1]))
720
+ else:
721
+ model_args, data_args, training_args = parser.parse_args_into_dataclasses()
722
+
723
+ # 2. Initialize the accelerator
724
+ # We will let the accelerator handle device placement for us in this example
725
+ # We simply have to specify the training precision and any trackers being used
726
+ # We'll use the same dtype arguments as our JAX/Flax training script and convert
727
+ # it to accelerate format
728
+ if training_args.dtype == "float16":
729
+ mixed_precision = "fp16"
730
+ teacher_dtype = torch.float16
731
+ elif training_args.dtype == "bfloat16":
732
+ mixed_precision = "bf16"
733
+ teacher_dtype = torch.bfloat16
734
+ else:
735
+ mixed_precision = "no"
736
+ teacher_dtype = torch.float32
737
+
738
+ accelerator = Accelerator(
739
+ gradient_accumulation_steps=training_args.gradient_accumulation_steps,
740
+ mixed_precision=mixed_precision,
741
+ log_with=training_args.report_to,
742
+ project_dir=training_args.output_dir,
743
+ )
744
+
745
+ accelerator.init_trackers(project_name=data_args.wandb_project)
746
+
747
+ # 3. Set-up basic logging
748
+ # Create one log on every process with the configuration for debugging
749
+ logging.basicConfig(
750
+ format="%(asctime)s - %(levelname)s - %(name)s - %(message)s",
751
+ datefmt="%m/%d/%Y %H:%M:%S",
752
+ level=logging.INFO,
753
+ )
754
+ # Log a small summary on each proces
755
+ logger.warning(
756
+ f"Process rank: {training_args.local_rank}, device: {training_args.device}, n_gpu: {training_args.n_gpu}, "
757
+ f"distributed training: {training_args.parallel_mode.value == 'distributed'}, 16-bits training: {training_args.fp16}"
758
+ )
759
+
760
+ # Set the verbosity to info of the Transformers logger (on main process only)
761
+ if accelerator.is_local_main_process:
762
+ datasets.utils.logging.set_verbosity_warning()
763
+ transformers.utils.logging.set_verbosity_info()
764
+ else:
765
+ datasets.utils.logging.set_verbosity_error()
766
+ transformers.utils.logging.set_verbosity_error()
767
+ logger.info("Training/evaluation parameters %s", training_args)
768
+
769
+ # 4. Detecting last checkpoint and eventually continue from last checkpoint
770
+ last_checkpoint = None
771
+ if os.path.isdir(training_args.output_dir) and training_args.do_train and not training_args.overwrite_output_dir:
772
+ last_checkpoint = get_last_checkpoint(training_args.output_dir)
773
+ if last_checkpoint is None and len(os.listdir(training_args.output_dir)) > 0:
774
+ raise ValueError(
775
+ f"Output directory ({training_args.output_dir}) already exists and is not empty. "
776
+ "Use --overwrite_output_dir to overcome."
777
+ )
778
+ elif last_checkpoint is not None and training_args.resume_from_checkpoint is None:
779
+ logger.info(
780
+ f"Checkpoint detected, resuming training at {last_checkpoint}. To avoid this behavior, change "
781
+ "the `--output_dir` or add `--overwrite_output_dir` to train from scratch."
782
+ )
783
+
784
+ # 5. Handle the repository creation
785
+ if accelerator.is_main_process:
786
+ if training_args.push_to_hub:
787
+ if training_args.hub_model_id is None:
788
+ repo_name = get_full_repo_name(
789
+ Path(training_args.output_dir).absolute().name,
790
+ token=training_args.hub_token,
791
+ )
792
+ else:
793
+ repo_name = training_args.hub_model_id
794
+ create_repo(repo_name, exist_ok=True, token=training_args.hub_token)
795
+
796
+ with open(os.path.join(training_args.output_dir, ".gitignore"), "w+") as gitignore:
797
+ if "wandb" not in gitignore:
798
+ gitignore.write("wandb\n")
799
+ elif training_args.output_dir is not None:
800
+ os.makedirs(training_args.output_dir, exist_ok=True)
801
+ accelerator.wait_for_everyone()
802
+
803
+ # 6. Load dataset - either streaming or non-streaming (offline)
804
+ raw_datasets = IterableDatasetDict() if data_args.streaming else DatasetDict()
805
+
806
+ # set seed for determinism
807
+ set_seed(training_args.seed)
808
+
809
+ if training_args.do_train:
810
+ raw_datasets["train"] = load_multiple_datasets(
811
+ data_args.train_dataset_name,
812
+ data_args.train_dataset_config_name,
813
+ splits=data_args.train_split_name,
814
+ text_column_names=data_args.text_column_name,
815
+ prompt_column_names=data_args.prompt_column_name,
816
+ streaming=data_args.streaming,
817
+ dataset_samples=data_args.train_dataset_samples,
818
+ seed=training_args.seed,
819
+ accelerator=accelerator,
820
+ cache_dir=data_args.dataset_cache_dir,
821
+ token=model_args.token,
822
+ )
823
+ raw_datasets_train_features = set(raw_datasets["train"].features.keys())
824
+
825
+ if training_args.do_eval:
826
+ dataset_names_dict = convert_dataset_str_to_list(
827
+ data_args.eval_dataset_name if data_args.eval_dataset_name else data_args.train_dataset_name,
828
+ (
829
+ data_args.eval_dataset_config_name
830
+ if data_args.eval_dataset_config_name
831
+ else data_args.train_dataset_config_name
832
+ ),
833
+ splits=data_args.eval_split_name,
834
+ text_column_names=data_args.eval_text_column_name,
835
+ prompt_column_names=data_args.eval_prompt_column_name,
836
+ )
837
+ all_eval_splits = []
838
+ if len(dataset_names_dict) == 1:
839
+ # load a single eval set
840
+ dataset_dict = dataset_names_dict[0]
841
+ all_eval_splits.append("eval")
842
+ raw_datasets["eval"] = load_dataset(
843
+ dataset_dict["name"],
844
+ dataset_dict["config"],
845
+ split=dataset_dict["split"],
846
+ cache_dir=data_args.dataset_cache_dir,
847
+ token=model_args.token,
848
+ streaming=data_args.streaming,
849
+ )
850
+ if dataset_dict["text_column_name"] != "text":
851
+ raw_datasets["eval"] = raw_datasets["eval"].rename_column(data_args.eval_text_column_name, "text")
852
+ if dataset_dict["prompt_column_name"] != "prompt":
853
+ raw_datasets["eval"] = raw_datasets["eval"].rename_column(data_args.eval_prompt_column_name, "prompt")
854
+ else:
855
+ # load multiple eval sets
856
+ for dataset_dict in dataset_names_dict:
857
+ pretty_name = f"{dataset_dict['name'].split('/')[-1]}/{dataset_dict['config'].replace('.', '-')}"
858
+ all_eval_splits.append(pretty_name)
859
+ raw_datasets[pretty_name] = load_dataset(
860
+ dataset_dict["name"],
861
+ dataset_dict["config"],
862
+ split=dataset_dict["split"],
863
+ cache_dir=data_args.dataset_cache_dir,
864
+ token=model_args.token,
865
+ streaming=data_args.streaming,
866
+ )
867
+ # make column names consistent (text, audio)
868
+ if dataset_dict["text_column_name"] != "text":
869
+ raw_datasets[pretty_name] = raw_datasets[pretty_name].rename_column(
870
+ dataset_dict["text_column_name"], "text"
871
+ )
872
+ if dataset_dict["prompt_column_name"] != "prompt":
873
+ raw_datasets[pretty_name] = raw_datasets[pretty_name].rename_column(
874
+ dataset_dict["prompt_column_name"], "prompt"
875
+ )
876
+ raw_datasets[pretty_name] = raw_datasets[pretty_name].remove_columns(
877
+ set(raw_datasets[pretty_name].features.keys()) - {"text", "prompt"}
878
+ )
879
+
880
+ if not training_args.do_train and not training_args.do_eval:
881
+ raise ValueError(
882
+ "Cannot not train and not do evaluation. At least one of training or evaluation has to be performed."
883
+ )
884
+
885
+ # 7. Load pretrained model, tokenizer, and feature extractor
886
+ config = AutoConfig.from_pretrained(
887
+ (model_args.config_name if model_args.config_name else model_args.model_name_or_path),
888
+ cache_dir=model_args.cache_dir,
889
+ revision=model_args.model_revision,
890
+ token=model_args.token,
891
+ )
892
+ if training_args.output_router_logits:
893
+ config.output_router_logits = True
894
+
895
+ tokenizer = AutoTokenizer.from_pretrained(
896
+ (model_args.tokenizer_name if model_args.tokenizer_name else model_args.model_name_or_path),
897
+ cache_dir=model_args.cache_dir,
898
+ use_fast=model_args.use_fast_tokenizer,
899
+ revision=model_args.model_revision,
900
+ token=model_args.token,
901
+ )
902
+ if tokenizer.pad_token_id is None:
903
+ tokenizer.pad_token = tokenizer.eos_token
904
+
905
+ quantization_config_teacher, quantization_config_student = get_quantization_config(
906
+ model_args, torch_dtype=teacher_dtype
907
+ )
908
+
909
+ # The teacher model can safely be cast to the dtype of training since we don't
910
+ # update the params
911
+ teacher_model = AutoModelForCausalLM.from_pretrained(
912
+ model_args.teacher_model_name_or_path,
913
+ cache_dir=model_args.cache_dir,
914
+ token=model_args.token,
915
+ low_cpu_mem_usage=True,
916
+ torch_dtype=teacher_dtype,
917
+ attn_implementation=model_args.attn_implementation,
918
+ quantization_config=quantization_config_teacher,
919
+ )
920
+
921
+ student_model = AutoModelForCausalLM.from_pretrained(
922
+ model_args.model_name_or_path,
923
+ config=config,
924
+ cache_dir=model_args.cache_dir,
925
+ revision=model_args.model_revision,
926
+ subfolder=model_args.subfolder,
927
+ token=model_args.token,
928
+ torch_dtype=teacher_dtype,
929
+ low_cpu_mem_usage=True,
930
+ attn_implementation=model_args.attn_implementation,
931
+ quantization_config=quantization_config_student,
932
+ )
933
+
934
+ if quantization_config_student is not None:
935
+ lora_config = LoraConfig(
936
+ r=model_args.lora_r,
937
+ lora_alpha=model_args.lora_alpha,
938
+ target_modules=model_args.lora_target_modules,
939
+ lora_dropout=model_args.lora_dropout,
940
+ bias="none",
941
+ task_type="CAUSAL_LM",
942
+ )
943
+ student_model = get_peft_model(student_model, lora_config)
944
+
945
+ if student_model.generation_config.bos_token_id is None or teacher_model.generation_config.bos_token_id is None:
946
+ raise ValueError(
947
+ f"Make sure that `generation_config.bos_token_id` is correctly defined for both the "
948
+ f"student and teacher model. Got {student_model.generation_config.bos_token_id} for the "
949
+ f"student and {teacher_model.generation_config.bos_token_id} for the teacher."
950
+ )
951
+
952
+ # enable gradient checkpointing if necessary
953
+ if training_args.gradient_checkpointing:
954
+ student_model.gradient_checkpointing_enable()
955
+
956
+ def set_trainable_parameters(module, requires_grad=False):
957
+ for param in module.parameters():
958
+ param.requires_grad = requires_grad
959
+ module._requires_grad = requires_grad
960
+
961
+ # freeze student lm head if necessary
962
+ if training_args.freeze_lm_head:
963
+ set_trainable_parameters(student_model.lm_head, requires_grad=False)
964
+ # TODO(SG): possibly upgrade this to an error
965
+ if training_args.gradient_checkpointing:
966
+ logger.warning(
967
+ "Freezing the LM head is not compatible with gradient checkpointing. Set `--gradient_checkpointing=False`, "
968
+ "or un-freeze the LM head with `--freeze_lm_head=False`. Overriding gradient checkpointing to False."
969
+ )
970
+
971
+ student_model.generation_config.max_length = data_args.max_label_length
972
+
973
+ # 8. Save all pre-processed tokenizers/config/generation configs
974
+ if accelerator.is_main_process:
975
+ tokenizer.save_pretrained(training_args.output_dir)
976
+ # save the config and generation config as well
977
+ config.save_pretrained(training_args.output_dir)
978
+ student_model.generation_config.save_pretrained(training_args.output_dir)
979
+
980
+ accelerator.wait_for_everyone()
981
+
982
+
983
+ # 10. Preprocessing the datasets: we need to combine the prompt and generations and tokenize the targets.
984
+ # 10.1: Define the pre-processing constants
985
+ max_label_length = (
986
+ data_args.max_label_length if data_args.max_label_length is not None else config.max_length
987
+ )
988
+ num_workers = data_args.preprocessing_num_workers
989
+ dataloader_num_workers = training_args.dataloader_num_workers
990
+ prefetch_factor = training_args.dataloader_prefetch_factor
991
+ eos_token_id = tokenizer.eos_token_id
992
+
993
+ # 10.2: filter based on maximum number of training/evaluation samples
994
+ if training_args.do_train and data_args.max_train_samples is not None:
995
+ raw_datasets["train"] = (
996
+ raw_datasets["train"].take(data_args.max_train_samples)
997
+ if data_args.streaming
998
+ else raw_datasets["train"].select(range(data_args.max_train_samples))
999
+ )
1000
+
1001
+ if training_args.do_eval and data_args.max_eval_samples is not None:
1002
+ for eval_split in all_eval_splits:
1003
+ raw_datasets[eval_split] = (
1004
+ raw_datasets[eval_split].take(data_args.max_eval_samples)
1005
+ if data_args.streaming
1006
+ else raw_datasets[eval_split].select(range(data_args.max_eval_samples))
1007
+ )
1008
+
1009
+ # 10.3: pre-process training/evaluation datasets
1010
+ def prepare_datasets(example):
1011
+ prompt_ids = tokenizer(example["prompt"]).input_ids
1012
+ gen_ids = tokenizer(example["text"], add_special_tokens=False).input_ids + [eos_token_id]
1013
+ if prompt_ids[-1] == eos_token_id:
1014
+ prompt_ids = prompt_ids[:-1]
1015
+ example["labels"] = prompt_ids + gen_ids
1016
+ example["prompt_length"] = len(prompt_ids)
1017
+ return example
1018
+
1019
+ vectorized_datasets = IterableDatasetDict() if data_args.streaming else DatasetDict()
1020
+ if training_args.do_train:
1021
+ # with streaming mode we can only have 1 worker, whereas with non-streaming
1022
+ # we can use `num_workers` (which is much faster)
1023
+ # We gate the pre-processing function accordingly
1024
+ map_fn_train = partial(
1025
+ raw_datasets["train"].map,
1026
+ function=prepare_datasets,
1027
+ remove_columns=raw_datasets_train_features,
1028
+ )
1029
+ with accelerator.main_process_first():
1030
+ vectorized_datasets["train"] = (
1031
+ map_fn_train(num_proc=num_workers, desc="preprocess train dataset")
1032
+ if not data_args.streaming
1033
+ else map_fn_train()
1034
+ )
1035
+ if training_args.do_eval:
1036
+ for eval_split in all_eval_splits:
1037
+ raw_datasets_eval_features = list(raw_datasets[eval_split].features.keys())
1038
+ map_fn_eval = partial(
1039
+ raw_datasets[eval_split].map, function=prepare_datasets, remove_columns=raw_datasets_eval_features
1040
+ )
1041
+ with accelerator.main_process_first():
1042
+ vectorized_datasets[eval_split] = (
1043
+ map_fn_eval(num_proc=num_workers, desc="preprocess eval dataset")
1044
+ if not data_args.streaming
1045
+ else map_fn_eval()
1046
+ )
1047
+
1048
+ # 10.4: Filter training data with labels longer than `max_label_length`
1049
+ def is_labels_in_length_range(labels):
1050
+ return 0 < len(labels) <= max_label_length
1051
+
1052
+ filter_by_labels_fn = partial(
1053
+ vectorized_datasets.filter, function=is_labels_in_length_range, input_columns=["labels"]
1054
+ )
1055
+ with accelerator.main_process_first():
1056
+ vectorized_datasets = (
1057
+ filter_by_labels_fn(num_proc=num_workers, desc="filtering train dataset")
1058
+ if not data_args.streaming
1059
+ else filter_by_labels_fn()
1060
+ )
1061
+
1062
+ # Pre-processing complete!
1063
+ # For large datasets it is advised to run the preprocessing on a
1064
+ # single machine first with `--preprocessing_only` since there will mostly likely
1065
+ # be a timeout when running the script in distributed mode.
1066
+ # In a second step, `--preprocessing_only` can then be set to `False` to load the
1067
+ # cached dataset
1068
+ if data_args.preprocessing_only:
1069
+ if data_args.streaming:
1070
+ raise ValueError(
1071
+ "When using streaming mode, dataset pre-processing is performed on the fly, hence there is no notion"
1072
+ "of a cached pre-processed dataset. Remove the argument `--preprocessing_only` to run pre-processing "
1073
+ "on the fly with streaming mode."
1074
+ )
1075
+ cache = {k: v.cache_files for k, v in vectorized_datasets.items()}
1076
+ logger.info(f"Data preprocessing finished. Files cached at {cache}.")
1077
+ return
1078
+
1079
+ # 11. Define Evaluation Metrics
1080
+ def compute_metrics(preds, labels):
1081
+ # TODO(SG): better metrics for performance?
1082
+ # replace padded labels by the padding token
1083
+ for idx in range(len(labels)):
1084
+ labels[idx][labels[idx] == -100] = tokenizer.pad_token_id
1085
+ pred_str = tokenizer.batch_decode(preds, skip_special_tokens=True)
1086
+ label_str = tokenizer.batch_decode(labels, skip_special_tokens=True)
1087
+ return pred_str, label_str
1088
+
1089
+ # 12. Define Training Schedule
1090
+ # 12.1: Store some constants
1091
+ per_device_train_batch_size = int(training_args.per_device_train_batch_size)
1092
+ train_batch_size = per_device_train_batch_size * accelerator.num_processes
1093
+ gradient_accumulation_steps = int(training_args.gradient_accumulation_steps)
1094
+ per_device_eval_batch_size = int(training_args.per_device_eval_batch_size)
1095
+
1096
+ # 12.2: Set max training steps
1097
+ if not data_args.streaming and training_args.max_steps < 0:
1098
+ num_epochs = int(training_args.num_train_epochs)
1099
+ steps_per_epoch = len(vectorized_datasets["train"]) // (train_batch_size * gradient_accumulation_steps)
1100
+ total_train_steps = steps_per_epoch * num_epochs
1101
+ elif training_args.max_steps > 0:
1102
+ logger.info("max_steps is given, it will override any value given in num_train_epochs")
1103
+ total_train_steps = int(training_args.max_steps)
1104
+ if not data_args.streaming:
1105
+ steps_per_epoch = len(vectorized_datasets["train"]) // (train_batch_size * gradient_accumulation_steps)
1106
+ num_epochs = int(np.ceil(total_train_steps / steps_per_epoch))
1107
+ else:
1108
+ # Setting a very large number of epochs so we go as many times as necessary over the iterator.
1109
+ num_epochs = sys.maxsize
1110
+ steps_per_epoch = total_train_steps
1111
+ else:
1112
+ raise ValueError("max_steps must be specified when training with a streaming (iterable) dataset")
1113
+
1114
+ # 12.3: Set evaluation steps
1115
+ if training_args.evaluation_strategy == "epoch":
1116
+ eval_steps = steps_per_epoch
1117
+ elif training_args.eval_steps is None:
1118
+ logger.info(
1119
+ f"eval_steps is not set, evaluating at the end of {'each epoch' if not data_args.streaming else 'training'}"
1120
+ )
1121
+ eval_steps = steps_per_epoch
1122
+ else:
1123
+ eval_steps = training_args.eval_steps
1124
+
1125
+ # 12.4: Set save steps
1126
+ if training_args.save_strategy == "epoch":
1127
+ save_steps = steps_per_epoch
1128
+ elif training_args.save_strategy == "steps":
1129
+ save_steps = training_args.save_steps
1130
+ else:
1131
+ save_steps = sys.maxsize
1132
+
1133
+ # 13. Define optimizer, LR scheduler, collator
1134
+ decay_parameters = get_parameter_names(
1135
+ student_model,
1136
+ [nn.LayerNorm],
1137
+ )
1138
+ decay_parameters = [name for name in decay_parameters if "bias" not in name]
1139
+ optimizer_grouped_parameters = [
1140
+ {
1141
+ "params": [param for name, param in student_model.named_parameters() if name in decay_parameters],
1142
+ "weight_decay": training_args.weight_decay,
1143
+ },
1144
+ {
1145
+ "params": [param for name, param in student_model.named_parameters() if name not in decay_parameters],
1146
+ "weight_decay": 0.0,
1147
+ },
1148
+ ]
1149
+ optimizer = torch.optim.AdamW(
1150
+ params=optimizer_grouped_parameters,
1151
+ lr=training_args.learning_rate,
1152
+ betas=(training_args.adam_beta1, training_args.adam_beta2),
1153
+ eps=training_args.adam_epsilon,
1154
+ )
1155
+
1156
+ # LR scheduler gets stepped by `num_processes` each time -> account for this in warmup / total steps
1157
+ lr_scheduler = get_scheduler(
1158
+ name=training_args.lr_scheduler_type,
1159
+ optimizer=optimizer,
1160
+ num_warmup_steps=training_args.warmup_steps * accelerator.num_processes,
1161
+ num_training_steps=total_train_steps * accelerator.num_processes,
1162
+ )
1163
+
1164
+ data_collator = DataCollatorCausalLMWithPadding(
1165
+ tokenizer=tokenizer,
1166
+ target_padding="max_length",
1167
+ max_target_length=max_label_length,
1168
+ )
1169
+
1170
+ # 14. Define generation arguments - we need to do this before we wrap the models in DDP
1171
+ # so that we can still access the configs
1172
+ num_beams = (
1173
+ training_args.generation_num_beams
1174
+ if training_args.generation_num_beams is not None
1175
+ else getattr(student_model.generation_config, "num_beams", 1)
1176
+ )
1177
+
1178
+ # 15. Prepare everything with accelerate
1179
+ student_model, teacher_model, optimizer, lr_scheduler = accelerator.prepare(
1180
+ student_model, teacher_model, optimizer, lr_scheduler
1181
+ )
1182
+
1183
+ def kl_divergence(target_distribution, log_predicted_distribution, labels):
1184
+ kl_loss = nn.KLDivLoss(reduction="none")
1185
+ divergence = kl_loss(log_predicted_distribution, target_distribution)
1186
+ # ignore padded tokens from divergence, i.e. where labels are not set to -100
1187
+ padding_mask = labels >= 0
1188
+ padding_mask = padding_mask.unsqueeze(-1)
1189
+ divergence = divergence * padding_mask
1190
+ # take the average over the mini-batch
1191
+ divergence = divergence.sum() / padding_mask.sum()
1192
+ return divergence
1193
+
1194
+ # Define gradient update step fn
1195
+ def train_step(
1196
+ batch,
1197
+ temperature=2.0,
1198
+ ):
1199
+ student_model.train()
1200
+ teacher_model.eval()
1201
+
1202
+ student_outputs = student_model(**batch)
1203
+ with torch.no_grad():
1204
+ teacher_outputs = teacher_model(**batch)
1205
+
1206
+ # CE (data) loss
1207
+ ce_loss = student_outputs.loss
1208
+ # rescale distribution by temperature to ensure gradients scale correctly
1209
+ teacher_distribution = nn.functional.softmax(teacher_outputs.logits / temperature, dim=-1)
1210
+ # log softmax of student predictions for numerical stability
1211
+ student_distribution = nn.functional.log_softmax(student_outputs.logits / temperature, dim=-1)
1212
+ # KL-divergence loss (scaled by temperature)
1213
+ kl_loss = kl_divergence(teacher_distribution, student_distribution, batch["labels"]) * temperature**2
1214
+
1215
+ # use Distil-Whisper formulation (fix weight of CE loss and tune KL weight)
1216
+ loss = 0.8 * ce_loss + training_args.kl_weight * kl_loss
1217
+ metrics = {"loss": loss, "ce_loss": ce_loss, "kl_loss": kl_loss}
1218
+ return loss, metrics
1219
+
1220
+ # Define eval fn
1221
+ def eval_step(batch):
1222
+ student_model.eval()
1223
+ teacher_model.eval()
1224
+
1225
+ with torch.no_grad():
1226
+ student_outputs = student_model(**batch)
1227
+ teacher_outputs = teacher_model(**batch)
1228
+
1229
+ # CE (data) loss
1230
+ ce_loss = student_outputs.loss
1231
+
1232
+ # log softmax / softmax for numerical stability
1233
+ student_distribution = nn.functional.log_softmax(student_outputs.logits, dim=-1)
1234
+ teacher_distribution = nn.functional.softmax(teacher_outputs.logits, dim=-1)
1235
+ # temperature is always 1 for eval
1236
+ kl_loss = kl_divergence(teacher_distribution, student_distribution, batch["labels"])
1237
+
1238
+ # use Distil-Whisper formulation (fix weight of CE loss and tune KL weight)
1239
+ loss = 0.8 * ce_loss + training_args.kl_weight * kl_loss
1240
+ metrics = {"loss": loss, "ce_loss": ce_loss, "kl_loss": kl_loss}
1241
+ return metrics
1242
+
1243
+ def generate_step(batch):
1244
+ student_model.eval()
1245
+ output_ids = accelerator.unwrap_model(student_model).generate(
1246
+ **batch, max_length=max_label_length, num_beams=num_beams
1247
+ )
1248
+ output_ids = accelerator.pad_across_processes(output_ids, dim=1, pad_index=tokenizer.pad_token_id)
1249
+ return output_ids
1250
+
1251
+ logger.info("***** Running training *****")
1252
+ logger.info(f" Num examples = {total_train_steps * train_batch_size * gradient_accumulation_steps}")
1253
+ if not data_args.streaming:
1254
+ logger.info(f" Num epochs = {num_epochs}")
1255
+ logger.info(" Instantaneous batch size per device =" f" {training_args.per_device_train_batch_size}")
1256
+ logger.info(" Gradient accumulation steps =" f" {gradient_accumulation_steps}")
1257
+ logger.info(
1258
+ f" Total train batch size (w. parallel & distributed) = {train_batch_size * gradient_accumulation_steps}"
1259
+ )
1260
+ logger.info(f" Total optimization steps = {total_train_steps}")
1261
+
1262
+ # ======================== Training ================================
1263
+ train_time = 0
1264
+ train_start = time.time()
1265
+ steps_trained_progress_bar = tqdm(
1266
+ range(total_train_steps), desc="Train steps ... ", position=0, disable=not accelerator.is_local_main_process
1267
+ )
1268
+ continue_training = True
1269
+ epochs_trained = 0
1270
+ cur_step = 0
1271
+
1272
+ checkpoint = None
1273
+ if training_args.resume_from_checkpoint is not None:
1274
+ checkpoint = training_args.resume_from_checkpoint
1275
+ elif last_checkpoint is not None:
1276
+ checkpoint = last_checkpoint
1277
+
1278
+ if checkpoint is not None:
1279
+ accelerator.load_state(checkpoint)
1280
+ # Find num steps and epoch from saved state string pattern
1281
+ pattern = r"checkpoint-(\d+)-epoch-(\d+)"
1282
+ match = re.search(pattern, checkpoint)
1283
+ cur_step = int(match.group(1))
1284
+ epochs_trained = int(match.group(2))
1285
+
1286
+ logger.info(" Continuing training from checkpoint, will skip to saved global_step")
1287
+ logger.info(f" Continuing training from epoch {epochs_trained}")
1288
+ logger.info(f" Continuing training from global step {cur_step}")
1289
+
1290
+ steps_trained_progress_bar.update(cur_step)
1291
+
1292
+ for epoch in range(0, epochs_trained):
1293
+ vectorized_datasets["train"] = vectorized_datasets["train"].shuffle(training_args.seed)
1294
+
1295
+ if not data_args.streaming and training_args.max_steps < 0:
1296
+ # we know exactly the number of steps per epoch, so can skip through the required number of batches
1297
+ resume_step = (cur_step - epochs_trained * steps_per_epoch) * gradient_accumulation_steps
1298
+ else:
1299
+ # Currently we don't know how many steps we've taken in the current epoch
1300
+ # So we just shuffle the dataset one extra time and start from a fresh epoch
1301
+ # This is "good enough" for our purposes but not fully correct
1302
+ resume_step = None
1303
+ vectorized_datasets["train"] = vectorized_datasets["train"].shuffle(training_args.seed)
1304
+ else:
1305
+ resume_step = None
1306
+
1307
+ for epoch in range(epochs_trained, num_epochs):
1308
+ vectorized_datasets["train"] = vectorized_datasets["train"].shuffle(training_args.seed)
1309
+ train_dataloader = DataLoader(
1310
+ vectorized_datasets["train"],
1311
+ collate_fn=data_collator,
1312
+ batch_size=per_device_train_batch_size,
1313
+ num_workers=dataloader_num_workers,
1314
+ prefetch_factor=prefetch_factor,
1315
+ pin_memory=training_args.dataloader_pin_memory,
1316
+ )
1317
+ train_dataloader = accelerator.prepare(train_dataloader)
1318
+ if hasattr(train_dataloader, "dataset") and isinstance(train_dataloader.dataset, IterableDataset):
1319
+ train_dataloader.dataset.set_epoch(epoch)
1320
+
1321
+ if resume_step is not None:
1322
+ # Skip the first N batches in the dataloader when resuming from a checkpoint
1323
+ train_dataloader = accelerator.skip_first_batches(train_dataloader, resume_step)
1324
+ resume_step = None
1325
+
1326
+ for batch in train_dataloader:
1327
+ with accelerator.accumulate(student_model):
1328
+ loss, train_metric = train_step(batch, temperature=training_args.temperature)
1329
+ accelerator.backward(loss)
1330
+ if accelerator.sync_gradients:
1331
+ accelerator.clip_grad_norm_(student_model.parameters(), training_args.max_grad_norm)
1332
+ optimizer.step()
1333
+ lr_scheduler.step()
1334
+ optimizer.zero_grad()
1335
+
1336
+ # Check if the accelerator has performed an optimization step behind the scenes
1337
+ if accelerator.sync_gradients:
1338
+ steps_trained_progress_bar.update(1)
1339
+ cur_step += 1
1340
+
1341
+ if cur_step % training_args.logging_steps == 0:
1342
+ steps_trained_progress_bar.write(
1343
+ f"Step... ({cur_step} / {total_train_steps} | Loss:"
1344
+ f" {train_metric['loss']}, Learning Rate:"
1345
+ f" {lr_scheduler.get_last_lr()[0]})"
1346
+ )
1347
+ log_metric(
1348
+ accelerator,
1349
+ metrics=train_metric,
1350
+ learning_rate=lr_scheduler.get_last_lr()[0],
1351
+ train_time=train_time + time.time() - train_start,
1352
+ step=cur_step,
1353
+ epoch=epoch,
1354
+ prefix="train",
1355
+ )
1356
+
1357
+ # save checkpoint and weights after each save_steps and at the end of training
1358
+ if (cur_step % save_steps == 0) or cur_step == total_train_steps:
1359
+ intermediate_dir = os.path.join(training_args.output_dir, f"checkpoint-{cur_step}-epoch-{epoch}")
1360
+ accelerator.save_state(output_dir=intermediate_dir)
1361
+ accelerator.wait_for_everyone()
1362
+ if accelerator.is_main_process:
1363
+ rotate_checkpoints(training_args.save_total_limit, output_dir=training_args.output_dir)
1364
+ if training_args.push_to_hub:
1365
+ upload_folder(
1366
+ folder_path=training_args.output_dir,
1367
+ repo_id=repo_name,
1368
+ repo_type="model",
1369
+ commit_message=f"Saving train state of step {cur_step}",
1370
+ )
1371
+
1372
+ if training_args.do_eval and (cur_step % eval_steps == 0 or cur_step == total_train_steps):
1373
+ train_time += time.time() - train_start
1374
+ student_model.eval()
1375
+ # ======================== Evaluating ==============================
1376
+ for eval_split in all_eval_splits:
1377
+ eval_metrics = []
1378
+ eval_preds = []
1379
+ eval_labels = []
1380
+ eval_start = time.time()
1381
+
1382
+ validation_dataloader = DataLoader(
1383
+ vectorized_datasets[eval_split],
1384
+ collate_fn=data_collator,
1385
+ batch_size=per_device_eval_batch_size,
1386
+ drop_last=False,
1387
+ num_workers=dataloader_num_workers,
1388
+ prefetch_factor=prefetch_factor,
1389
+ pin_memory=training_args.dataloader_pin_memory,
1390
+ )
1391
+ validation_dataloader = accelerator.prepare(validation_dataloader)
1392
+
1393
+ for batch in tqdm(
1394
+ validation_dataloader,
1395
+ desc=f"Evaluating {eval_split}...",
1396
+ position=2,
1397
+ disable=not accelerator.is_local_main_process,
1398
+ ):
1399
+ # Model forward
1400
+ eval_metric = eval_step(batch)
1401
+ eval_metric = accelerator.gather_for_metrics(eval_metric)
1402
+ eval_metrics.append(eval_metric)
1403
+
1404
+ # generation
1405
+ if training_args.predict_with_generate:
1406
+ generated_ids = generate_step(batch)
1407
+ # Gather all predictions and targets
1408
+ generated_ids, labels = accelerator.gather_for_metrics(
1409
+ (generated_ids, batch["labels"])
1410
+ )
1411
+ eval_preds.extend(generated_ids)
1412
+ eval_labels.extend(labels)
1413
+
1414
+ eval_time = time.time() - eval_start
1415
+ # normalize eval metrics
1416
+ eval_metrics = {
1417
+ key: torch.mean(torch.stack([d[key] for d in eval_metrics])) for key in eval_metrics[0]
1418
+ }
1419
+ try:
1420
+ eval_metrics["perplexity"] = math.exp(eval_metrics["ce_loss"])
1421
+ except OverflowError:
1422
+ eval_metrics["perplexity"] = float("inf")
1423
+
1424
+ if training_args.predict_with_generate:
1425
+ pred_str, label_str = compute_metrics(eval_preds, eval_labels)
1426
+ log_pred(
1427
+ accelerator,
1428
+ pred_str,
1429
+ label_str,
1430
+ step=cur_step,
1431
+ epoch=epochs_trained,
1432
+ evaluation_strategy=training_args.evaluation_strategy,
1433
+ prefix=eval_split,
1434
+ )
1435
+
1436
+ # Print metrics and update progress bar
1437
+ logger_desc = " ".join([f"Eval {key}: {value} |" for key, value in eval_metrics.items()])
1438
+ steps_trained_progress_bar.write(
1439
+ f"Eval results for step ({cur_step} / {total_train_steps} | {logger_desc}"
1440
+ )
1441
+
1442
+ log_metric(
1443
+ accelerator,
1444
+ metrics=eval_metrics,
1445
+ train_time=eval_time,
1446
+ step=cur_step,
1447
+ epoch=epoch,
1448
+ prefix=eval_split,
1449
+ )
1450
+
1451
+ # flush the train metrics
1452
+ train_start = time.time()
1453
+
1454
+ # break condition
1455
+ if cur_step == total_train_steps:
1456
+ # un-wrap student model for save
1457
+ student_model = accelerator.unwrap_model(student_model)
1458
+ student_model.save_pretrained(training_args.output_dir)
1459
+ if training_args.push_to_hub:
1460
+ upload_folder(
1461
+ folder_path=training_args.output_dir,
1462
+ repo_id=repo_name,
1463
+ repo_type="model",
1464
+ commit_message=f"Saving final weights of step {cur_step}",
1465
+ )
1466
+ continue_training = False
1467
+ break
1468
+
1469
+ if not continue_training:
1470
+ break
1471
+
1472
+ accelerator.end_training()
1473
+
1474
+
1475
+ if __name__ == "__main__":
1476
+ main()
slurm_job.slurm ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ #SBATCH --job-name=distil-mixtral
3
+ #SBATCH --nodes=1
4
+ # set 24h for job wall time limit
5
+ #SBATCH --time=4-0:00:00
6
+ #SBATCH --ntasks-per-node=1 # crucial - only 1 task per dist per node!
7
+ #SBATCH --cpus-per-task=32
8
+ #SBATCH --gres=gpu:8
9
+ #SBATCH --exclusive
10
+ #SBATCH --partition=hopper-prod
11
+ #SBATCH --output=/fsx/sanchit/logs/%x-%j.out
12
+
13
+ set -x -e
14
+
15
+ source ~/.bashrc
16
+ conda activate venv
17
+
18
+ echo "START TIME: $(date)"
19
+
20
+
21
+ LOG_PATH="/fsx/sanchit/logs/main_log.txt"
22
+ SAVE_DIR="/fsx/sanchit"
23
+
24
+ GPUS_PER_NODE=8
25
+ NNODES=$SLURM_NNODES
26
+
27
+ # so processes know who to talk to
28
+ MASTER_ADDR=`scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1`
29
+
30
+ # From https://i.hsfzxjy.site/2021-03-10-obtain-a-random-unused-tcp-port-with-bash/
31
+ function unused_port() {
32
+ N=${1:-1}
33
+ comm -23 \
34
+ <(seq "1025" "65535" | sort) \
35
+ <(ss -Htan |
36
+ awk '{print $4}' |
37
+ cut -d':' -f2 |
38
+ sort -u) |
39
+ shuf |
40
+ head -n "$N"
41
+ }
42
+ MASTER_PORT=$(unused_port)
43
+
44
+ # export TORCH_CPP_LOG_LEVEL=INFO
45
+ # export TORCH_DISTRIBUTED_DEBUG=DETAIL
46
+
47
+ export LAUNCHER="python -u -m accelerate.commands.launch --config_file ./accelerate_config.yaml"
48
+
49
+ export PROGRAM="./run_distillation.py config_mistral.yaml"
50
+ export CMD="$LAUNCHER $PROGRAM"
51
+ echo $CMD
52
+
53
+ SRUN_ARGS=" \
54
+ --wait=60 \
55
+ --kill-on-bad-exit=1 \
56
+ "
57
+
58
+ # py-spy top -s -i -n -- $LAUNCHER --node_rank $SLURM_PROCID --role $SLURMD_NODENAME: $CMD
59
+ clear; srun $SRUN_ARGS --jobid $SLURM_JOB_ID bash -c "$CMD" 2>&1 | tee -a $SAVE_DIR/logs/main_log.txt
60
+
61
+
62
+ # srun error handling:
63
+ # --wait=60: wait 60 sec after the first task terminates before terminating all remaining tasks
64
+ # --kill-on-bad-exit=1: terminate a step if any task exits with a non-zero exit code
65
+
66
+ # SRUN_ARGS=" \
67
+ # --wait=60 \
68
+ # --kill-on-bad-exit=1 \
69
+ # "
70
+ #
71
+ # # py-spy top -s -i -n -- $LAUNCHER --node_rank $SLURM_PROCID --role $SLURMD_NODENAME: $CMD
72
+ # clear; srun $SRUN_ARGS --jobid $SLURM_JOBID bash -c "$CMD" 2>&1 | tee -a $SAVE_DIR/logs/main_log.txt
73
+
74
+ echo "END TIME: $(date)"
special_tokens_map.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": "</s>",
17
+ "unk_token": {
18
+ "content": "<unk>",
19
+ "lstrip": false,
20
+ "normalized": false,
21
+ "rstrip": false,
22
+ "single_word": false
23
+ }
24
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
3
+ size 493443
tokenizer_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "added_tokens_decoder": {
5
+ "0": {
6
+ "content": "<unk>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "1": {
14
+ "content": "<s>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "2": {
22
+ "content": "</s>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ }
29
+ },
30
+ "additional_special_tokens": [],
31
+ "bos_token": "<s>",
32
+ "clean_up_tokenization_spaces": false,
33
+ "eos_token": "</s>",
34
+ "legacy": true,
35
+ "model_max_length": 1000000000000000019884624838656,
36
+ "pad_token": "</s>",
37
+ "sp_model_kwargs": {},
38
+ "spaces_between_special_tokens": false,
39
+ "tokenizer_class": "LlamaTokenizer",
40
+ "unk_token": "<unk>",
41
+ "use_default_system_prompt": false
42
+ }
wandb/debug-cli.sanchit.log ADDED
File without changes
wandb/debug-internal.log ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9d5f155229d3837aab3fecb49a8e8b0dd1b1363e98b714e4bcb36ca9245b0e5
3
+ size 11245310
wandb/debug.log ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-04-16 20:53:09,244 INFO MainThread:965482 [wandb_setup.py:_flush():76] Current SDK version is 0.16.1
2
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Configure stats pid to 965482
3
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from /admin/home/sanchit/.config/wandb/settings
4
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from /fsx/sanchit/mistral-debug-4bit/wandb/settings
5
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Inferring run settings from compute environment: {'program_relpath': 'run_distillation.py', 'program_abspath': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py', 'program': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py'}
8
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:_log_setup():524] Logging user logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_205309-xdytsc71/logs/debug.log
9
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:_log_setup():525] Logging internal logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_205309-xdytsc71/logs/debug-internal.log
10
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():564] calling init triggers
11
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():571] wandb.init called with sweep_config: {}
12
+ config: {}
13
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():614] starting backend
14
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():618] setting up manager
15
+ 2024-04-16 20:53:09,248 INFO MainThread:965482 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
16
+ 2024-04-16 20:53:09,254 INFO MainThread:965482 [wandb_init.py:init():624] backend started and connected
17
+ 2024-04-16 20:53:09,257 INFO MainThread:965482 [wandb_init.py:init():716] updated telemetry
18
+ 2024-04-16 20:53:09,257 INFO MainThread:965482 [wandb_init.py:init():749] communicating run to backend with 90.0 second timeout
19
+ 2024-04-16 20:53:09,461 INFO MainThread:965482 [wandb_run.py:_on_init():2254] communicating current version
20
+ 2024-04-16 20:53:09,520 INFO MainThread:965482 [wandb_run.py:_on_init():2263] got version response upgrade_message: "wandb version 0.16.6 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
21
+
22
+ 2024-04-16 20:53:09,520 INFO MainThread:965482 [wandb_init.py:init():800] starting run threads in backend
23
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_console_start():2233] atexit reg
24
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2088] redirect: wrap_raw
25
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2153] Wrapping output streams.
26
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2178] Redirects installed.
27
+ 2024-04-16 20:53:15,733 INFO MainThread:965482 [wandb_init.py:init():841] run started, returning control to user process
28
+ 2024-04-17 15:43:17,904 INFO MainThread:965482 [wandb_run.py:_finish():1962] finishing run sanchit-gandhi/distil-mixtral/xdytsc71
29
+ 2024-04-17 15:43:17,906 INFO MainThread:965482 [wandb_run.py:_atexit_cleanup():2202] got exitcode: 0
30
+ 2024-04-17 15:43:17,906 INFO MainThread:965482 [wandb_run.py:_restore():2185] restore
31
+ 2024-04-17 15:43:17,907 INFO MainThread:965482 [wandb_run.py:_restore():2191] restore done
32
+ 2024-04-17 15:43:24,105 INFO MainThread:965482 [wandb_run.py:_footer_history_summary_info():3837] rendering history
33
+ 2024-04-17 15:43:24,106 INFO MainThread:965482 [wandb_run.py:_footer_history_summary_info():3869] rendering summary
34
+ 2024-04-17 15:43:24,118 INFO MainThread:965482 [wandb_run.py:_footer_sync_info():3796] logging synced files
wandb/run-20240416_172306-uygw9yfk/files/conda-environment.yaml ADDED
@@ -0,0 +1,300 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: venv
2
+ channels:
3
+ - pytorch
4
+ - nvidia
5
+ - defaults
6
+ dependencies:
7
+ - _libgcc_mutex=0.1=main
8
+ - _openmp_mutex=5.1=1_gnu
9
+ - blas=1.0=mkl
10
+ - brotli-python=1.0.9=py311h6a678d5_7
11
+ - bzip2=1.0.8=h7b6447c_0
12
+ - ca-certificates=2023.12.12=h06a4308_0
13
+ - certifi=2023.11.17=py311h06a4308_0
14
+ - cffi=1.16.0=py311h5eee18b_0
15
+ - cryptography=41.0.7=py311hdda0065_0
16
+ - cuda-cudart=12.1.105=0
17
+ - cuda-cupti=12.1.105=0
18
+ - cuda-libraries=12.1.0=0
19
+ - cuda-nvrtc=12.1.105=0
20
+ - cuda-nvtx=12.1.105=0
21
+ - cuda-opencl=12.3.101=0
22
+ - cuda-runtime=12.1.0=0
23
+ - ffmpeg=4.3=hf484d3e_0
24
+ - filelock=3.13.1=py311h06a4308_0
25
+ - freetype=2.12.1=h4a9f257_0
26
+ - giflib=5.2.1=h5eee18b_3
27
+ - gmp=6.2.1=h295c915_3
28
+ - gmpy2=2.1.2=py311hc9b5ff0_0
29
+ - gnutls=3.6.15=he1e5248_0
30
+ - intel-openmp=2023.1.0=hdb19cb5_46306
31
+ - jinja2=3.1.2=py311h06a4308_0
32
+ - jpeg=9e=h5eee18b_1
33
+ - lame=3.100=h7b6447c_0
34
+ - lcms2=2.12=h3be6417_0
35
+ - ld_impl_linux-64=2.38=h1181459_1
36
+ - lerc=3.0=h295c915_0
37
+ - libcublas=12.1.0.26=0
38
+ - libcufft=11.0.2.4=0
39
+ - libcufile=1.8.1.2=0
40
+ - libcurand=10.3.4.101=0
41
+ - libcusolver=11.4.4.55=0
42
+ - libcusparse=12.0.2.55=0
43
+ - libdeflate=1.17=h5eee18b_1
44
+ - libffi=3.4.4=h6a678d5_0
45
+ - libgcc-ng=11.2.0=h1234567_1
46
+ - libgomp=11.2.0=h1234567_1
47
+ - libiconv=1.16=h7f8727e_2
48
+ - libidn2=2.3.4=h5eee18b_0
49
+ - libjpeg-turbo=2.0.0=h9bf148f_0
50
+ - libnpp=12.0.2.50=0
51
+ - libnvjitlink=12.1.105=0
52
+ - libnvjpeg=12.1.1.14=0
53
+ - libpng=1.6.39=h5eee18b_0
54
+ - libstdcxx-ng=11.2.0=h1234567_1
55
+ - libtasn1=4.19.0=h5eee18b_0
56
+ - libtiff=4.5.1=h6a678d5_0
57
+ - libunistring=0.9.10=h27cfd23_0
58
+ - libuuid=1.41.5=h5eee18b_0
59
+ - libwebp=1.3.2=h11a3e52_0
60
+ - libwebp-base=1.3.2=h5eee18b_0
61
+ - llvm-openmp=14.0.6=h9e868ea_0
62
+ - lz4-c=1.9.4=h6a678d5_0
63
+ - markupsafe=2.1.1=py311h5eee18b_0
64
+ - mkl=2023.1.0=h213fc3f_46344
65
+ - mkl-service=2.4.0=py311h5eee18b_1
66
+ - mkl_fft=1.3.8=py311h5eee18b_0
67
+ - mkl_random=1.2.4=py311hdb19cb5_0
68
+ - mpc=1.1.0=h10f8cd9_1
69
+ - mpfr=4.0.2=hb69a4c5_1
70
+ - mpmath=1.3.0=py311h06a4308_0
71
+ - ncurses=6.4=h6a678d5_0
72
+ - nettle=3.7.3=hbbd107a_1
73
+ - networkx=3.1=py311h06a4308_0
74
+ - numpy=1.26.2=py311h08b1b3b_0
75
+ - numpy-base=1.26.2=py311hf175353_0
76
+ - openh264=2.1.1=h4ff587b_0
77
+ - openjpeg=2.4.0=h3ad879b_0
78
+ - openssl=3.0.12=h7f8727e_0
79
+ - pycparser=2.21=pyhd3eb1b0_0
80
+ - pyopenssl=23.2.0=py311h06a4308_0
81
+ - pysocks=1.7.1=py311h06a4308_0
82
+ - python=3.11.5=h955ad1f_0
83
+ - pytorch-cuda=12.1=ha16c6d3_5
84
+ - pytorch-mutex=1.0=cuda
85
+ - pyyaml=6.0.1=py311h5eee18b_0
86
+ - readline=8.2=h5eee18b_0
87
+ - requests=2.31.0=py311h06a4308_0
88
+ - setuptools=68.2.2=py311h06a4308_0
89
+ - sqlite=3.41.2=h5eee18b_0
90
+ - sympy=1.12=py311h06a4308_0
91
+ - tbb=2021.8.0=hdb19cb5_0
92
+ - tk=8.6.12=h1ccaba5_0
93
+ - wheel=0.41.2=py311h06a4308_0
94
+ - xz=5.4.5=h5eee18b_0
95
+ - yaml=0.2.5=h7b6447c_0
96
+ - zlib=1.2.13=h5eee18b_0
97
+ - zstd=1.5.5=hc292b87_0
98
+ - pip:
99
+ - absl-py==2.0.0
100
+ - accelerate==0.29.2
101
+ - aiohttp==3.9.1
102
+ - aiosignal==1.3.1
103
+ - annotated-types==0.6.0
104
+ - anyio==4.2.0
105
+ - appdirs==1.4.4
106
+ - argon2-cffi==23.1.0
107
+ - argon2-cffi-bindings==21.2.0
108
+ - arrow==1.3.0
109
+ - asttokens==2.4.1
110
+ - astunparse==1.6.3
111
+ - async-lru==2.0.4
112
+ - attrs==23.1.0
113
+ - audioread==3.0.1
114
+ - babel==2.14.0
115
+ - beautifulsoup4==4.12.3
116
+ - bitsandbytes==0.43.1
117
+ - bleach==6.1.0
118
+ - cachetools==5.3.2
119
+ - chardet==5.2.0
120
+ - charset-normalizer==3.3.2
121
+ - click==8.1.7
122
+ - comm==0.2.1
123
+ - datasets==2.18.1.dev0
124
+ - debugpy==1.8.1
125
+ - decorator==5.1.1
126
+ - deepspeed==0.12.2
127
+ - defusedxml==0.7.1
128
+ - dill==0.3.7
129
+ - docker-pycreds==0.4.0
130
+ - docstring-parser==0.15
131
+ - einops==0.7.0
132
+ - evaluate==0.4.0
133
+ - executing==2.0.1
134
+ - fastjsonschema==2.19.1
135
+ - flatbuffers==23.5.26
136
+ - fqdn==1.5.1
137
+ - frozenlist==1.4.1
138
+ - fsspec==2023.10.0
139
+ - gast==0.5.4
140
+ - gitdb==4.0.11
141
+ - gitpython==3.1.40
142
+ - google-auth==2.26.1
143
+ - google-auth-oauthlib==1.2.0
144
+ - google-pasta==0.2.0
145
+ - grpcio==1.60.0
146
+ - h11==0.14.0
147
+ - h5py==3.10.0
148
+ - hf-transfer==0.1.5
149
+ - hjson==3.1.0
150
+ - httpcore==1.0.2
151
+ - httpx==0.26.0
152
+ - huggingface-hub==0.22.2
153
+ - idna==3.6
154
+ - ipdb==0.13.13
155
+ - ipykernel==6.29.2
156
+ - ipython==8.21.0
157
+ - isoduration==20.11.0
158
+ - jedi==0.19.1
159
+ - jiwer==3.0.3
160
+ - joblib==1.3.2
161
+ - json5==0.9.14
162
+ - jsonpointer==2.4
163
+ - jsonschema==4.21.1
164
+ - jsonschema-specifications==2023.12.1
165
+ - jupyter-client==8.6.0
166
+ - jupyter-core==5.7.1
167
+ - jupyter-events==0.9.0
168
+ - jupyter-lsp==2.2.2
169
+ - jupyter-server==2.12.5
170
+ - jupyter-server-terminals==0.5.2
171
+ - jupyterlab==4.1.1
172
+ - jupyterlab-pygments==0.3.0
173
+ - jupyterlab-server==2.25.2
174
+ - keras==2.15.0
175
+ - lazy-loader==0.3
176
+ - libclang==16.0.6
177
+ - librosa==0.10.1
178
+ - llvmlite==0.41.1
179
+ - markdown==3.5.1
180
+ - markdown-it-py==3.0.0
181
+ - matplotlib-inline==0.1.6
182
+ - mdurl==0.1.2
183
+ - mistune==3.0.2
184
+ - ml-dtypes==0.2.0
185
+ - msgpack==1.0.7
186
+ - multidict==6.0.4
187
+ - multiprocess==0.70.15
188
+ - nbclient==0.9.0
189
+ - nbconvert==7.16.0
190
+ - nbformat==5.9.2
191
+ - nest-asyncio==1.6.0
192
+ - ninja==1.11.1.1
193
+ - nltk==3.8.1
194
+ - notebook-shim==0.2.3
195
+ - numba==0.58.1
196
+ - nvidia-cublas-cu12==12.1.3.1
197
+ - nvidia-cuda-cupti-cu12==12.1.105
198
+ - nvidia-cuda-nvrtc-cu12==12.1.105
199
+ - nvidia-cuda-runtime-cu12==12.1.105
200
+ - nvidia-cudnn-cu12==8.9.2.26
201
+ - nvidia-cufft-cu12==11.0.2.54
202
+ - nvidia-curand-cu12==10.3.2.106
203
+ - nvidia-cusolver-cu12==11.4.5.107
204
+ - nvidia-cusparse-cu12==12.1.0.106
205
+ - nvidia-nccl-cu12==2.20.5
206
+ - nvidia-nvjitlink-cu12==12.3.101
207
+ - nvidia-nvtx-cu12==12.1.105
208
+ - oauthlib==3.2.2
209
+ - opt-einsum==3.3.0
210
+ - overrides==7.7.0
211
+ - packaging==23.2
212
+ - pandas==2.1.4
213
+ - pandocfilters==1.5.1
214
+ - parso==0.8.3
215
+ - peft==0.7.1
216
+ - pexpect==4.9.0
217
+ - pillow==10.2.0
218
+ - pip==24.0
219
+ - platformdirs==4.1.0
220
+ - pooch==1.8.0
221
+ - prometheus-client==0.19.0
222
+ - prompt-toolkit==3.0.43
223
+ - protobuf==3.20.2
224
+ - psutil==5.9.7
225
+ - ptyprocess==0.7.0
226
+ - pure-eval==0.2.2
227
+ - py-cpuinfo==9.0.0
228
+ - pyarrow==14.0.2
229
+ - pyarrow-hotfix==0.6
230
+ - pyasn1==0.5.1
231
+ - pyasn1-modules==0.3.0
232
+ - pydantic==2.6.0
233
+ - pydantic-core==2.16.1
234
+ - pygments==2.17.2
235
+ - pynvml==11.5.0
236
+ - python-dateutil==2.8.2
237
+ - python-json-logger==2.0.7
238
+ - pytorch-triton==3.0.0+989adb9a29
239
+ - pytz==2023.3.post1
240
+ - pyzmq==25.1.2
241
+ - rapidfuzz==3.6.1
242
+ - referencing==0.33.0
243
+ - regex==2023.12.25
244
+ - requests-oauthlib==1.3.1
245
+ - responses==0.18.0
246
+ - rfc3339-validator==0.1.4
247
+ - rfc3986-validator==0.1.1
248
+ - rich==13.7.0
249
+ - rpds-py==0.17.1
250
+ - rsa==4.9
251
+ - safetensors==0.4.1
252
+ - scikit-learn==1.3.2
253
+ - scipy==1.11.4
254
+ - send2trash==1.8.2
255
+ - sentencepiece==0.1.99
256
+ - sentry-sdk==1.39.1
257
+ - setproctitle==1.3.3
258
+ - shtab==1.6.5
259
+ - six==1.16.0
260
+ - smmap==5.0.1
261
+ - sniffio==1.3.0
262
+ - soundfile==0.12.1
263
+ - soupsieve==2.5
264
+ - soxr==0.3.7
265
+ - stack-data==0.6.3
266
+ - tensorboard==2.15.1
267
+ - tensorboard-data-server==0.7.2
268
+ - tensorflow-cpu==2.15.0.post1
269
+ - tensorflow-estimator==2.15.0
270
+ - tensorflow-io-gcs-filesystem==0.35.0
271
+ - termcolor==2.4.0
272
+ - terminado==0.18.0
273
+ - threadpoolctl==3.2.0
274
+ - tinycss2==1.2.1
275
+ - tokenizers==0.15.0
276
+ - torch==2.4.0.dev20240323+cu121
277
+ - torchaudio==2.2.0.dev20240323+cu121
278
+ - torchvision==0.19.0.dev20240323+cu121
279
+ - tornado==6.4
280
+ - tqdm==4.66.1
281
+ - traitlets==5.14.1
282
+ - transformers==4.39.0.dev0
283
+ - triton==2.2.0
284
+ - trl==0.7.7
285
+ - types-python-dateutil==2.8.19.20240106
286
+ - typing-extensions==4.9.0
287
+ - tyro==0.7.0
288
+ - tzdata==2023.3
289
+ - uri-template==1.3.0
290
+ - urllib3==2.1.0
291
+ - wandb==0.16.1
292
+ - wcwidth==0.2.13
293
+ - webcolors==1.13
294
+ - webencodings==0.5.1
295
+ - websocket-client==1.7.0
296
+ - werkzeug==3.0.1
297
+ - wrapt==1.14.1
298
+ - xxhash==3.4.1
299
+ - yarl==1.9.4
300
+ prefix: /fsx/sanchit/miniconda3/envs/venv
wandb/run-20240416_172306-uygw9yfk/files/config.yaml ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ _wandb:
4
+ desc: null
5
+ value:
6
+ python_version: 3.11.5
7
+ cli_version: 0.16.1
8
+ framework: huggingface
9
+ huggingface_version: 4.40.0.dev0
10
+ is_jupyter_run: false
11
+ is_kaggle_kernel: false
12
+ start_time: 1713288186.348831
13
+ t:
14
+ 1:
15
+ - 1
16
+ - 11
17
+ - 49
18
+ - 51
19
+ - 55
20
+ - 71
21
+ - 98
22
+ 2:
23
+ - 1
24
+ - 2
25
+ - 3
26
+ - 11
27
+ - 49
28
+ - 51
29
+ - 55
30
+ - 71
31
+ - 98
32
+ 3:
33
+ - 23
34
+ 4: 3.11.5
35
+ 5: 0.16.1
36
+ 6: 4.40.0.dev0
37
+ 8:
38
+ - 5
39
+ 13: linux-x86_64
wandb/run-20240416_172306-uygw9yfk/files/output.log ADDED
@@ -0,0 +1,2124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 04/16/2024 17:23:10 - WARNING - __main__ - Process rank: 0, device: cuda:0, n_gpu: 1, distributed training: True, 16-bits training: False
2
+ 04/16/2024 17:23:10 - INFO - __main__ - Training/evaluation parameters DistillationTrainingArguments(
3
+ _n_gpu=1,
4
+ accelerator_config={'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'gradient_accumulation_kwargs': None},
5
+ adafactor=False,
6
+ adam_beta1=0.9,
7
+ adam_beta2=0.999,
8
+ adam_epsilon=1e-08,
9
+ auto_find_batch_size=False,
10
+ bf16=False,
11
+ bf16_full_eval=False,
12
+ data_seed=None,
13
+ dataloader_drop_last=False,
14
+ dataloader_num_workers=4,
15
+ dataloader_persistent_workers=False,
16
+ dataloader_pin_memory=True,
17
+ dataloader_prefetch_factor=None,
18
+ ddp_backend=None,
19
+ ddp_broadcast_buffers=None,
20
+ ddp_bucket_cap_mb=None,
21
+ ddp_find_unused_parameters=None,
22
+ ddp_timeout=7200,
23
+ debug=[],
24
+ deepspeed=None,
25
+ disable_tqdm=False,
26
+ dispatch_batches=None,
27
+ do_eval=True,
28
+ do_predict=False,
29
+ do_train=True,
30
+ dtype=bfloat16,
31
+ eval_accumulation_steps=None,
32
+ eval_delay=0,
33
+ eval_steps=None,
34
+ evaluation_strategy=IntervalStrategy.EPOCH,
35
+ fp16=False,
36
+ fp16_backend=auto,
37
+ fp16_full_eval=False,
38
+ fp16_opt_level=O1,
39
+ freeze_lm_head=False,
40
+ fsdp=[],
41
+ fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False},
42
+ fsdp_min_num_params=0,
43
+ fsdp_transformer_layer_cls_to_wrap=None,
44
+ full_determinism=False,
45
+ generation_config=None,
46
+ generation_max_length=None,
47
+ generation_num_beams=None,
48
+ gradient_accumulation_steps=1,
49
+ gradient_checkpointing=False,
50
+ gradient_checkpointing_kwargs=None,
51
+ greater_is_better=None,
52
+ group_by_length=False,
53
+ half_precision_backend=auto,
54
+ hub_always_push=False,
55
+ hub_model_id=None,
56
+ hub_private_repo=False,
57
+ hub_strategy=HubStrategy.EVERY_SAVE,
58
+ hub_token=<HUB_TOKEN>,
59
+ ignore_data_skip=False,
60
+ include_inputs_for_metrics=False,
61
+ include_num_input_tokens_seen=False,
62
+ include_tokens_per_second=False,
63
+ jit_mode_eval=False,
64
+ kl_weight=1.0,
65
+ label_names=None,
66
+ label_smoothing_factor=0.0,
67
+ learning_rate=0.0003,
68
+ length_column_name=length,
69
+ load_best_model_at_end=False,
70
+ local_rank=0,
71
+ log_level=passive,
72
+ log_level_replica=warning,
73
+ log_on_each_node=True,
74
+ logging_dir=./runs/Apr16_17-23-01_ip-26-0-164-187,
75
+ logging_first_step=False,
76
+ logging_nan_inf_filter=True,
77
+ logging_steps=25,
78
+ logging_strategy=IntervalStrategy.STEPS,
79
+ lr_scheduler_kwargs={},
80
+ lr_scheduler_type=SchedulerType.LINEAR,
81
+ max_grad_norm=1.0,
82
+ max_steps=50000,
83
+ metric_for_best_model=None,
84
+ mp_parameters=,
85
+ neftune_noise_alpha=None,
86
+ no_cuda=False,
87
+ num_train_epochs=3.0,
88
+ optim=OptimizerNames.ADAMW_TORCH,
89
+ optim_args=None,
90
+ optim_target_modules=None,
91
+ output_dir=./,
92
+ output_router_logits=True,
93
+ overwrite_output_dir=True,
94
+ past_index=-1,
95
+ per_device_eval_batch_size=8,
96
+ per_device_train_batch_size=8,
97
+ predict_with_generate=False,
98
+ prediction_loss_only=False,
99
+ push_to_hub=False,
100
+ push_to_hub_model_id=None,
101
+ push_to_hub_organization=None,
102
+ push_to_hub_token=<PUSH_TO_HUB_TOKEN>,
103
+ ray_scope=last,
104
+ remove_unused_columns=True,
105
+ report_to=['wandb'],
106
+ resume_from_checkpoint=None,
107
+ run_name=./,
108
+ save_on_each_node=False,
109
+ save_only_model=False,
110
+ save_safetensors=True,
111
+ save_steps=500,
112
+ save_strategy=IntervalStrategy.EPOCH,
113
+ save_total_limit=1,
114
+ seed=42,
115
+ skip_memory_metrics=True,
116
+ sortish_sampler=False,
117
+ split_batches=None,
118
+ temperature=2.0,
119
+ tf32=None,
120
+ torch_compile=False,
121
+ torch_compile_backend=None,
122
+ torch_compile_mode=None,
123
+ torchdynamo=None,
124
+ tpu_metrics_debug=False,
125
+ tpu_num_cores=None,
126
+ use_cpu=False,
127
+ use_ipex=False,
128
+ use_legacy_prediction_loop=False,
129
+ use_mps_device=False,
130
+ warmup_ratio=0.0,
131
+ warmup_steps=500,
132
+ weight_decay=0.0,
133
+ )
134
+ Combining datasets...: 0%| | 0/8 [00:00<?, ?it/s]
135
+ Resolving data files: 100%|█████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 101885.93it/s]
136
+ Loading dataset shards: 100%|█████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 2253.19it/s]
137
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 94019.27it/s]
138
+
139
+ Resolving data files: 100%|████████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 138.64it/s]
140
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 97668.14it/s]
141
+ Resolving data files: 100%|████████████████████████████████████���█████████████████████| 18/18 [00:00<00:00, 96175.12it/s]
142
+ Resolving data files: 100%|████████████████████████████████████████████████████████████| 43/43 [00:00<00:00, 414.13it/s]
143
+ Loading dataset shards: 100%|█████████████████████████████████████████████████████████| 43/43 [00:00<00:00, 2036.64it/s]
144
+ Resolving data files: 100%|████████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 152.49it/s]
145
+ Resolving data files: 100%|███████████████████████████████████████████████████████| 139/139 [00:00<00:00, 322460.32it/s]
146
+ Loading dataset shards: 100%|███████████████████████████████████████████████████████| 138/138 [00:00<00:00, 2441.33it/s]
147
+ Resolving data files: 100%|████████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 158.30it/s]
148
+ Resolving data files: 89%|█████████████████████████████████████████████████████▎ | 16/18 [00:00<00:00, 141.58it/s]
149
+ Loading dataset shards: 100%|███████████████████████████████████████████████████████| 117/117 [00:00<00:00, 2419.04it/s]
150
+ Combining datasets...: 88%|██████████████████████████████████████████████████████▎ | 7/8 [00:24<00:03, 3.60s/it]
151
+
152
+ Combining datasets...: 100%|██████████████████████████████████████████████████████████████| 8/8 [00:30<00:00, 3.82s/it]
153
+ Resolving data files: 100%|█████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 104134.44it/s]
154
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 98176.17it/s]
155
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 93553.25it/s]
156
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 90851.35it/s]
157
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 98560.67it/s]
158
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 99996.65it/s]
159
+ Resolving data files: 100%|█████████████████████████████████████████████████████████| 43/43 [00:00<00:00, 183287.67it/s]
160
+ Resolving data files: 100%|██████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 95325.09it/s]
161
+ Resolving data files: 100%|███████████████████████████████████████████████████████| 139/139 [00:00<00:00, 366902.62it/s]
162
+ Resolving data files: 100%|█████████████████████████████████████████████████████████| 18/18 [00:00<00:00, 103705.32it/s]
163
+ Resolving data files: 100%|███████████████████████████████████████████████████████| 118/118 [00:00<00:00, 308174.27it/s]
164
+ Resolving data files: 100%|███████��██████████████████████████████████████████████████| 18/18 [00:00<00:00, 85211.59it/s]
165
+ loading configuration file config.json from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/config.json
166
+ Model config MistralConfig {
167
+ "_name_or_path": "sanchit-gandhi/Mistral-7B-v0.1-6-layer",
168
+ "architectures": [
169
+ "MistralForCausalLM"
170
+ ],
171
+ "attention_dropout": 0.0,
172
+ "bos_token_id": 1,
173
+ "eos_token_id": 2,
174
+ "hidden_act": "silu",
175
+ "hidden_size": 4096,
176
+ "initializer_range": 0.02,
177
+ "intermediate_size": 14336,
178
+ "max_position_embeddings": 32768,
179
+ "model_type": "mistral",
180
+ "num_attention_heads": 32,
181
+ "num_hidden_layers": 6,
182
+ "num_key_value_heads": 8,
183
+ "rms_norm_eps": 1e-05,
184
+ "rope_theta": 10000.0,
185
+ "sliding_window": 4096,
186
+ "tie_word_embeddings": false,
187
+ "torch_dtype": "float32",
188
+ "transformers_version": "4.40.0.dev0",
189
+ "use_cache": true,
190
+ "vocab_size": 32000
191
+ }
192
+ loading file tokenizer.model from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/tokenizer.model
193
+ loading file tokenizer.json from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/tokenizer.json
194
+ loading file added_tokens.json from cache at None
195
+ loading file special_tokens_map.json from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/special_tokens_map.json
196
+ loading file tokenizer_config.json from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/tokenizer_config.json
197
+ loading configuration file config.json from cache at /fsx/sanchit/cache/models--mistralai--Mistral-7B-v0.1/snapshots/26bca36bde8333b5d7f72e9ed20ccda6a618af24/config.json
198
+ Model config MistralConfig {
199
+ "_name_or_path": "mistralai/Mistral-7B-v0.1",
200
+ "architectures": [
201
+ "MistralForCausalLM"
202
+ ],
203
+ "attention_dropout": 0.0,
204
+ "bos_token_id": 1,
205
+ "eos_token_id": 2,
206
+ "hidden_act": "silu",
207
+ "hidden_size": 4096,
208
+ "initializer_range": 0.02,
209
+ "intermediate_size": 14336,
210
+ "max_position_embeddings": 32768,
211
+ "model_type": "mistral",
212
+ "num_attention_heads": 32,
213
+ "num_hidden_layers": 32,
214
+ "num_key_value_heads": 8,
215
+ "rms_norm_eps": 1e-05,
216
+ "rope_theta": 10000.0,
217
+ "sliding_window": 4096,
218
+ "tie_word_embeddings": false,
219
+ "torch_dtype": "bfloat16",
220
+ "transformers_version": "4.40.0.dev0",
221
+ "use_cache": true,
222
+ "vocab_size": 32000
223
+ }
224
+ The device_map was not initialized. Setting device_map to {'':torch.cuda.current_device()}. If you want to use the model for inference, please set device_map ='auto'
225
+ loading weights file model.safetensors from cache at /fsx/sanchit/cache/models--mistralai--Mistral-7B-v0.1/snapshots/26bca36bde8333b5d7f72e9ed20ccda6a618af24/model.safetensors.index.json
226
+ Downloading shards: 100%|███████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 1479.73it/s]
227
+ Instantiating MistralForCausalLM model under default dtype torch.bfloat16.
228
+ Generate config GenerationConfig {
229
+ "bos_token_id": 1,
230
+ "eos_token_id": 2
231
+ }
232
+
233
+ Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████| 2/2 [00:05<00:00, 2.99s/it]
234
+ All model checkpoint weights were used when initializing MistralForCausalLM.
235
+ All the weights of MistralForCausalLM were initialized from the model checkpoint at mistralai/Mistral-7B-v0.1.
236
+ If your task is similar to the task the model of the checkpoint was trained on, you can already use MistralForCausalLM for predictions without further training.
237
+ loading configuration file generation_config.json from cache at /fsx/sanchit/cache/models--mistralai--Mistral-7B-v0.1/snapshots/26bca36bde8333b5d7f72e9ed20ccda6a618af24/generation_config.json
238
+ Generate config GenerationConfig {
239
+ "bos_token_id": 1,
240
+ "eos_token_id": 2
241
+ }
242
+ loading weights file model.safetensors from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/model.safetensors.index.json
243
+ Downloading shards: 100%|███████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 1308.47it/s]
244
+ Generate config GenerationConfig {
245
+ "bos_token_id": 1,
246
+ "eos_token_id": 2
247
+ }
248
+ Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 4.66it/s]
249
+ All model checkpoint weights were used when initializing MistralForCausalLM.
250
+ All the weights of MistralForCausalLM were initialized from the model checkpoint at sanchit-gandhi/Mistral-7B-v0.1-6-layer.
251
+ If your task is similar to the task the model of the checkpoint was trained on, you can already use MistralForCausalLM for predictions without further training.
252
+ loading configuration file generation_config.json from cache at /fsx/sanchit/cache/models--sanchit-gandhi--Mistral-7B-v0.1-6-layer/snapshots/d4e2300e8038196385e9106614a4d7b6c5b70211/generation_config.json
253
+ Generate config GenerationConfig {
254
+ "bos_token_id": 1,
255
+ "eos_token_id": 2
256
+ }
257
+ tokenizer config file saved in ./tokenizer_config.json
258
+ Special tokens file saved in ./special_tokens_map.json
259
+ Configuration saved in ./config.json
260
+ Configuration saved in ./generation_config.json
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+
652
+
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+
965
+
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+ preprocess train dataset (num_proc=32): 100%|██████████████████████| 31056744/31056744 [54:46<00:00, 9450.26 examples/s]
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+ filtering train dataset (num_proc=32): 100%|██████████████████████| 31056744/31056744 [05:21<00:00, 96735.06 examples/s]
2066
+ 04/16/2024 18:24:47 - INFO - __main__ - max_steps is given, it will override any value given in num_train_epochs
2067
+ 04/16/2024 18:25:15 - INFO - __main__ - ***** Running training *****
2068
+ 04/16/2024 18:25:15 - INFO - __main__ - Num examples = 3200000
2069
+ 04/16/2024 18:25:15 - INFO - __main__ - Num epochs = 1
2070
+ 04/16/2024 18:25:15 - INFO - __main__ - Instantaneous batch size per device = 8
2071
+ 04/16/2024 18:25:15 - INFO - __main__ - Gradient accumulation steps = 1
2072
+ 04/16/2024 18:25:15 - INFO - __main__ - Total train batch size (w. parallel & distributed) = 64
2073
+ 04/16/2024 18:25:15 - INFO - __main__ - Total optimization steps = 50000
2074
+
2075
+ Train steps ... : 0%| | 1/50000 [00:10<140:57:09, 10.15s/it]Traceback (most recent call last):
2076
+ File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1474, in <module>
2077
+ main()
2078
+ File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1326, in main
2079
+ loss, train_metric = train_step(batch, temperature=training_args.temperature)
2080
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2081
+ File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1211, in train_step
2082
+ kl_loss = kl_divergence(teacher_distribution, student_distribution, batch["labels"]) * temperature**2
2083
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2084
+ File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1183, in kl_divergence
2085
+ divergence = kl_loss(log_predicted_distribution, target_distribution)
2086
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2087
+ File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _wrapped_call_impl
2088
+ return self._call_impl(*args, **kwargs)
2089
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2090
+ File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1536, in _call_impl
2091
+ return forward_call(*args, **kwargs)
2092
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2093
+ File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/loss.py", line 470, in forward
2094
+ return F.kl_div(input, target, reduction=self.reduction, log_target=self.log_target)
2095
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2096
+ File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/functional.py", line 2990, in kl_div
2097
+ reduced = torch.kl_div(input, target, reduction_enum, log_target=log_target)
2098
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2099
+ torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.95 GiB. GPU
2100
+ [rank0]: Traceback (most recent call last):
2101
+ [rank0]: File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1474, in <module>
2102
+ [rank0]: main()
2103
+ [rank0]: File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1326, in main
2104
+ [rank0]: loss, train_metric = train_step(batch, temperature=training_args.temperature)
2105
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2106
+ [rank0]: File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1211, in train_step
2107
+ [rank0]: kl_loss = kl_divergence(teacher_distribution, student_distribution, batch["labels"]) * temperature**2
2108
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2109
+ [rank0]: File "/fsx/sanchit/mistral-debug-4bit/run_distillation.py", line 1183, in kl_divergence
2110
+ [rank0]: divergence = kl_loss(log_predicted_distribution, target_distribution)
2111
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2112
+ [rank0]: File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1527, in _wrapped_call_impl
2113
+ [rank0]: return self._call_impl(*args, **kwargs)
2114
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2115
+ [rank0]: File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1536, in _call_impl
2116
+ [rank0]: return forward_call(*args, **kwargs)
2117
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2118
+ [rank0]: File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/modules/loss.py", line 470, in forward
2119
+ [rank0]: return F.kl_div(input, target, reduction=self.reduction, log_target=self.log_target)
2120
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2121
+ [rank0]: File "/fsx/sanchit/miniconda3/envs/venv/lib/python3.11/site-packages/torch/nn/functional.py", line 2990, in kl_div
2122
+ [rank0]: reduced = torch.kl_div(input, target, reduction_enum, log_target=log_target)
2123
+ [rank0]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2124
+ [rank0]: torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 1.95 GiB. GPU
wandb/run-20240416_172306-uygw9yfk/files/requirements.txt ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.0.0
2
+ accelerate==0.29.2
3
+ aiohttp==3.9.1
4
+ aiosignal==1.3.1
5
+ annotated-types==0.6.0
6
+ anyio==4.2.0
7
+ appdirs==1.4.4
8
+ argon2-cffi-bindings==21.2.0
9
+ argon2-cffi==23.1.0
10
+ arrow==1.3.0
11
+ asttokens==2.4.1
12
+ astunparse==1.6.3
13
+ async-lru==2.0.4
14
+ attrs==23.1.0
15
+ audioread==3.0.1
16
+ babel==2.14.0
17
+ beautifulsoup4==4.12.3
18
+ bitsandbytes==0.43.1
19
+ bleach==6.1.0
20
+ brotli==1.0.9
21
+ cachetools==5.3.2
22
+ certifi==2023.11.17
23
+ cffi==1.16.0
24
+ chardet==5.2.0
25
+ charset-normalizer==2.0.4
26
+ click==8.1.7
27
+ comm==0.2.1
28
+ cryptography==41.0.7
29
+ datasets==2.18.1.dev0
30
+ debugpy==1.8.1
31
+ decorator==5.1.1
32
+ deepspeed==0.12.2
33
+ defusedxml==0.7.1
34
+ dill==0.3.7
35
+ docker-pycreds==0.4.0
36
+ docstring-parser==0.15
37
+ einops==0.7.0
38
+ evaluate==0.4.0
39
+ executing==2.0.1
40
+ fastjsonschema==2.19.1
41
+ filelock==3.13.1
42
+ flatbuffers==23.5.26
43
+ fqdn==1.5.1
44
+ frozenlist==1.4.1
45
+ fsspec==2023.10.0
46
+ gast==0.5.4
47
+ gitdb==4.0.11
48
+ gitpython==3.1.40
49
+ gmpy2==2.1.2
50
+ google-auth-oauthlib==1.2.0
51
+ google-auth==2.26.1
52
+ google-pasta==0.2.0
53
+ grpcio==1.60.0
54
+ h11==0.14.0
55
+ h5py==3.10.0
56
+ hf-transfer==0.1.5
57
+ hjson==3.1.0
58
+ httpcore==1.0.2
59
+ httpx==0.26.0
60
+ huggingface-hub==0.22.2
61
+ idna==3.4
62
+ ipdb==0.13.13
63
+ ipykernel==6.29.2
64
+ ipython==8.21.0
65
+ isoduration==20.11.0
66
+ jedi==0.19.1
67
+ jinja2==3.1.2
68
+ jiwer==3.0.3
69
+ joblib==1.3.2
70
+ json5==0.9.14
71
+ jsonpointer==2.4
72
+ jsonschema-specifications==2023.12.1
73
+ jsonschema==4.21.1
74
+ jupyter-client==8.6.0
75
+ jupyter-core==5.7.1
76
+ jupyter-events==0.9.0
77
+ jupyter-lsp==2.2.2
78
+ jupyter-server-terminals==0.5.2
79
+ jupyter-server==2.12.5
80
+ jupyterlab-pygments==0.3.0
81
+ jupyterlab-server==2.25.2
82
+ jupyterlab==4.1.1
83
+ keras==2.15.0
84
+ lazy-loader==0.3
85
+ libclang==16.0.6
86
+ librosa==0.10.1
87
+ llvmlite==0.41.1
88
+ markdown-it-py==3.0.0
89
+ markdown==3.5.1
90
+ markupsafe==2.1.1
91
+ matplotlib-inline==0.1.6
92
+ mdurl==0.1.2
93
+ mistune==3.0.2
94
+ mkl-fft==1.3.8
95
+ mkl-random==1.2.4
96
+ mkl-service==2.4.0
97
+ ml-dtypes==0.2.0
98
+ mpmath==1.3.0
99
+ msgpack==1.0.7
100
+ multidict==6.0.4
101
+ multiprocess==0.70.15
102
+ nbclient==0.9.0
103
+ nbconvert==7.16.0
104
+ nbformat==5.9.2
105
+ nest-asyncio==1.6.0
106
+ networkx==3.1
107
+ ninja==1.11.1.1
108
+ nltk==3.8.1
109
+ notebook-shim==0.2.3
110
+ numba==0.58.1
111
+ numpy==1.26.2
112
+ nvidia-cublas-cu12==12.1.3.1
113
+ nvidia-cuda-cupti-cu12==12.1.105
114
+ nvidia-cuda-nvrtc-cu12==12.1.105
115
+ nvidia-cuda-runtime-cu12==12.1.105
116
+ nvidia-cudnn-cu12==8.9.2.26
117
+ nvidia-cufft-cu12==11.0.2.54
118
+ nvidia-curand-cu12==10.3.2.106
119
+ nvidia-cusolver-cu12==11.4.5.107
120
+ nvidia-cusparse-cu12==12.1.0.106
121
+ nvidia-nccl-cu12==2.20.5
122
+ nvidia-nvjitlink-cu12==12.3.101
123
+ nvidia-nvtx-cu12==12.1.105
124
+ oauthlib==3.2.2
125
+ opt-einsum==3.3.0
126
+ overrides==7.7.0
127
+ packaging==23.2
128
+ pandas==2.1.4
129
+ pandocfilters==1.5.1
130
+ parso==0.8.3
131
+ peft==0.7.1
132
+ pexpect==4.9.0
133
+ pillow==10.2.0
134
+ pip==24.0
135
+ platformdirs==4.1.0
136
+ pooch==1.8.0
137
+ prometheus-client==0.19.0
138
+ prompt-toolkit==3.0.43
139
+ protobuf==3.20.2
140
+ psutil==5.9.7
141
+ ptyprocess==0.7.0
142
+ pure-eval==0.2.2
143
+ py-cpuinfo==9.0.0
144
+ pyarrow-hotfix==0.6
145
+ pyarrow==14.0.2
146
+ pyasn1-modules==0.3.0
147
+ pyasn1==0.5.1
148
+ pycparser==2.21
149
+ pydantic-core==2.16.1
150
+ pydantic==2.6.0
151
+ pygments==2.17.2
152
+ pynvml==11.5.0
153
+ pyopenssl==23.2.0
154
+ pysocks==1.7.1
155
+ python-dateutil==2.8.2
156
+ python-json-logger==2.0.7
157
+ pytorch-triton==3.0.0+989adb9a29
158
+ pytz==2023.3.post1
159
+ pyyaml==6.0.1
160
+ pyzmq==25.1.2
161
+ rapidfuzz==3.6.1
162
+ referencing==0.33.0
163
+ regex==2023.12.25
164
+ requests-oauthlib==1.3.1
165
+ requests==2.31.0
166
+ responses==0.18.0
167
+ rfc3339-validator==0.1.4
168
+ rfc3986-validator==0.1.1
169
+ rich==13.7.0
170
+ rpds-py==0.17.1
171
+ rsa==4.9
172
+ safetensors==0.4.1
173
+ scikit-learn==1.3.2
174
+ scipy==1.11.4
175
+ send2trash==1.8.2
176
+ sentencepiece==0.1.99
177
+ sentry-sdk==1.39.1
178
+ setproctitle==1.3.3
179
+ setuptools==68.2.2
180
+ shtab==1.6.5
181
+ six==1.16.0
182
+ smmap==5.0.1
183
+ sniffio==1.3.0
184
+ soundfile==0.12.1
185
+ soupsieve==2.5
186
+ soxr==0.3.7
187
+ stack-data==0.6.3
188
+ sympy==1.12
189
+ tensorboard-data-server==0.7.2
190
+ tensorboard==2.15.1
191
+ tensorflow-cpu==2.15.0.post1
192
+ tensorflow-estimator==2.15.0
193
+ tensorflow-io-gcs-filesystem==0.35.0
194
+ termcolor==2.4.0
195
+ terminado==0.18.0
196
+ threadpoolctl==3.2.0
197
+ tinycss2==1.2.1
198
+ tokenizers==0.15.0
199
+ torch==2.4.0.dev20240323+cu121
200
+ torchaudio==2.2.0.dev20240323+cu121
201
+ torchvision==0.19.0.dev20240323+cu121
202
+ tornado==6.4
203
+ tqdm==4.66.1
204
+ traitlets==5.14.1
205
+ transformers==4.39.0.dev0
206
+ triton==2.2.0
207
+ trl==0.7.7
208
+ types-python-dateutil==2.8.19.20240106
209
+ typing-extensions==4.10.0
210
+ tyro==0.7.0
211
+ tzdata==2023.3
212
+ uri-template==1.3.0
213
+ urllib3==1.26.18
214
+ wandb==0.16.1
215
+ wcwidth==0.2.13
216
+ webcolors==1.13
217
+ webencodings==0.5.1
218
+ websocket-client==1.7.0
219
+ werkzeug==3.0.1
220
+ wheel==0.41.2
221
+ wrapt==1.14.1
222
+ xxhash==3.4.1
223
+ yarl==1.9.4
wandb/run-20240416_172306-uygw9yfk/files/wandb-metadata.json ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-1048-aws-x86_64-with-glibc2.31",
3
+ "python": "3.11.5",
4
+ "heartbeatAt": "2024-04-16T17:23:06.717620",
5
+ "startedAt": "2024-04-16T17:23:06.329363",
6
+ "docker": null,
7
+ "cuda": null,
8
+ "args": [
9
+ "config_mistral.yaml"
10
+ ],
11
+ "state": "running",
12
+ "program": "/fsx/sanchit/mistral-debug-4bit/run_distillation.py",
13
+ "codePathLocal": "run_distillation.py",
14
+ "codePath": "run_distillation.py",
15
+ "host": "ip-26-0-164-187",
16
+ "username": "sanchit",
17
+ "executable": "/fsx/sanchit/miniconda3/envs/venv/bin/python",
18
+ "cpu_count": 96,
19
+ "cpu_count_logical": 96,
20
+ "cpu_freq": {
21
+ "current": 2659.601562499998,
22
+ "min": 0.0,
23
+ "max": 0.0
24
+ },
25
+ "cpu_freq_per_core": [
26
+ {
27
+ "current": 2649.998,
28
+ "min": 0.0,
29
+ "max": 0.0
30
+ },
31
+ {
32
+ "current": 2649.998,
33
+ "min": 0.0,
34
+ "max": 0.0
35
+ },
36
+ {
37
+ "current": 2649.998,
38
+ "min": 0.0,
39
+ "max": 0.0
40
+ },
41
+ {
42
+ "current": 2649.998,
43
+ "min": 0.0,
44
+ "max": 0.0
45
+ },
46
+ {
47
+ "current": 2649.998,
48
+ "min": 0.0,
49
+ "max": 0.0
50
+ },
51
+ {
52
+ "current": 2649.998,
53
+ "min": 0.0,
54
+ "max": 0.0
55
+ },
56
+ {
57
+ "current": 2649.998,
58
+ "min": 0.0,
59
+ "max": 0.0
60
+ },
61
+ {
62
+ "current": 2649.998,
63
+ "min": 0.0,
64
+ "max": 0.0
65
+ },
66
+ {
67
+ "current": 2649.998,
68
+ "min": 0.0,
69
+ "max": 0.0
70
+ },
71
+ {
72
+ "current": 2649.998,
73
+ "min": 0.0,
74
+ "max": 0.0
75
+ },
76
+ {
77
+ "current": 2649.998,
78
+ "min": 0.0,
79
+ "max": 0.0
80
+ },
81
+ {
82
+ "current": 2649.998,
83
+ "min": 0.0,
84
+ "max": 0.0
85
+ },
86
+ {
87
+ "current": 2649.998,
88
+ "min": 0.0,
89
+ "max": 0.0
90
+ },
91
+ {
92
+ "current": 2649.998,
93
+ "min": 0.0,
94
+ "max": 0.0
95
+ },
96
+ {
97
+ "current": 3571.94,
98
+ "min": 0.0,
99
+ "max": 0.0
100
+ },
101
+ {
102
+ "current": 2649.998,
103
+ "min": 0.0,
104
+ "max": 0.0
105
+ },
106
+ {
107
+ "current": 2649.998,
108
+ "min": 0.0,
109
+ "max": 0.0
110
+ },
111
+ {
112
+ "current": 2649.998,
113
+ "min": 0.0,
114
+ "max": 0.0
115
+ },
116
+ {
117
+ "current": 2649.998,
118
+ "min": 0.0,
119
+ "max": 0.0
120
+ },
121
+ {
122
+ "current": 2649.998,
123
+ "min": 0.0,
124
+ "max": 0.0
125
+ },
126
+ {
127
+ "current": 2649.998,
128
+ "min": 0.0,
129
+ "max": 0.0
130
+ },
131
+ {
132
+ "current": 2649.998,
133
+ "min": 0.0,
134
+ "max": 0.0
135
+ },
136
+ {
137
+ "current": 2649.998,
138
+ "min": 0.0,
139
+ "max": 0.0
140
+ },
141
+ {
142
+ "current": 2649.998,
143
+ "min": 0.0,
144
+ "max": 0.0
145
+ },
146
+ {
147
+ "current": 2649.998,
148
+ "min": 0.0,
149
+ "max": 0.0
150
+ },
151
+ {
152
+ "current": 2649.998,
153
+ "min": 0.0,
154
+ "max": 0.0
155
+ },
156
+ {
157
+ "current": 2649.998,
158
+ "min": 0.0,
159
+ "max": 0.0
160
+ },
161
+ {
162
+ "current": 2649.998,
163
+ "min": 0.0,
164
+ "max": 0.0
165
+ },
166
+ {
167
+ "current": 2649.998,
168
+ "min": 0.0,
169
+ "max": 0.0
170
+ },
171
+ {
172
+ "current": 2649.998,
173
+ "min": 0.0,
174
+ "max": 0.0
175
+ },
176
+ {
177
+ "current": 2649.998,
178
+ "min": 0.0,
179
+ "max": 0.0
180
+ },
181
+ {
182
+ "current": 2649.998,
183
+ "min": 0.0,
184
+ "max": 0.0
185
+ },
186
+ {
187
+ "current": 2649.998,
188
+ "min": 0.0,
189
+ "max": 0.0
190
+ },
191
+ {
192
+ "current": 2649.998,
193
+ "min": 0.0,
194
+ "max": 0.0
195
+ },
196
+ {
197
+ "current": 2649.998,
198
+ "min": 0.0,
199
+ "max": 0.0
200
+ },
201
+ {
202
+ "current": 2649.998,
203
+ "min": 0.0,
204
+ "max": 0.0
205
+ },
206
+ {
207
+ "current": 2649.998,
208
+ "min": 0.0,
209
+ "max": 0.0
210
+ },
211
+ {
212
+ "current": 2649.998,
213
+ "min": 0.0,
214
+ "max": 0.0
215
+ },
216
+ {
217
+ "current": 2649.998,
218
+ "min": 0.0,
219
+ "max": 0.0
220
+ },
221
+ {
222
+ "current": 2649.998,
223
+ "min": 0.0,
224
+ "max": 0.0
225
+ },
226
+ {
227
+ "current": 2649.998,
228
+ "min": 0.0,
229
+ "max": 0.0
230
+ },
231
+ {
232
+ "current": 2649.998,
233
+ "min": 0.0,
234
+ "max": 0.0
235
+ },
236
+ {
237
+ "current": 2649.998,
238
+ "min": 0.0,
239
+ "max": 0.0
240
+ },
241
+ {
242
+ "current": 2649.998,
243
+ "min": 0.0,
244
+ "max": 0.0
245
+ },
246
+ {
247
+ "current": 2649.998,
248
+ "min": 0.0,
249
+ "max": 0.0
250
+ },
251
+ {
252
+ "current": 2649.998,
253
+ "min": 0.0,
254
+ "max": 0.0
255
+ },
256
+ {
257
+ "current": 2649.998,
258
+ "min": 0.0,
259
+ "max": 0.0
260
+ },
261
+ {
262
+ "current": 2649.998,
263
+ "min": 0.0,
264
+ "max": 0.0
265
+ },
266
+ {
267
+ "current": 2649.998,
268
+ "min": 0.0,
269
+ "max": 0.0
270
+ },
271
+ {
272
+ "current": 2649.998,
273
+ "min": 0.0,
274
+ "max": 0.0
275
+ },
276
+ {
277
+ "current": 2649.998,
278
+ "min": 0.0,
279
+ "max": 0.0
280
+ },
281
+ {
282
+ "current": 2649.998,
283
+ "min": 0.0,
284
+ "max": 0.0
285
+ },
286
+ {
287
+ "current": 2649.998,
288
+ "min": 0.0,
289
+ "max": 0.0
290
+ },
291
+ {
292
+ "current": 2649.998,
293
+ "min": 0.0,
294
+ "max": 0.0
295
+ },
296
+ {
297
+ "current": 2649.998,
298
+ "min": 0.0,
299
+ "max": 0.0
300
+ },
301
+ {
302
+ "current": 2649.998,
303
+ "min": 0.0,
304
+ "max": 0.0
305
+ },
306
+ {
307
+ "current": 2649.998,
308
+ "min": 0.0,
309
+ "max": 0.0
310
+ },
311
+ {
312
+ "current": 2649.998,
313
+ "min": 0.0,
314
+ "max": 0.0
315
+ },
316
+ {
317
+ "current": 2649.998,
318
+ "min": 0.0,
319
+ "max": 0.0
320
+ },
321
+ {
322
+ "current": 2649.998,
323
+ "min": 0.0,
324
+ "max": 0.0
325
+ },
326
+ {
327
+ "current": 2649.998,
328
+ "min": 0.0,
329
+ "max": 0.0
330
+ },
331
+ {
332
+ "current": 2649.998,
333
+ "min": 0.0,
334
+ "max": 0.0
335
+ },
336
+ {
337
+ "current": 2649.998,
338
+ "min": 0.0,
339
+ "max": 0.0
340
+ },
341
+ {
342
+ "current": 2649.998,
343
+ "min": 0.0,
344
+ "max": 0.0
345
+ },
346
+ {
347
+ "current": 2649.998,
348
+ "min": 0.0,
349
+ "max": 0.0
350
+ },
351
+ {
352
+ "current": 2649.998,
353
+ "min": 0.0,
354
+ "max": 0.0
355
+ },
356
+ {
357
+ "current": 2649.998,
358
+ "min": 0.0,
359
+ "max": 0.0
360
+ },
361
+ {
362
+ "current": 2649.998,
363
+ "min": 0.0,
364
+ "max": 0.0
365
+ },
366
+ {
367
+ "current": 2649.998,
368
+ "min": 0.0,
369
+ "max": 0.0
370
+ },
371
+ {
372
+ "current": 2649.998,
373
+ "min": 0.0,
374
+ "max": 0.0
375
+ },
376
+ {
377
+ "current": 2649.998,
378
+ "min": 0.0,
379
+ "max": 0.0
380
+ },
381
+ {
382
+ "current": 2649.998,
383
+ "min": 0.0,
384
+ "max": 0.0
385
+ },
386
+ {
387
+ "current": 2649.998,
388
+ "min": 0.0,
389
+ "max": 0.0
390
+ },
391
+ {
392
+ "current": 2649.998,
393
+ "min": 0.0,
394
+ "max": 0.0
395
+ },
396
+ {
397
+ "current": 2649.998,
398
+ "min": 0.0,
399
+ "max": 0.0
400
+ },
401
+ {
402
+ "current": 2649.998,
403
+ "min": 0.0,
404
+ "max": 0.0
405
+ },
406
+ {
407
+ "current": 2649.998,
408
+ "min": 0.0,
409
+ "max": 0.0
410
+ },
411
+ {
412
+ "current": 2649.998,
413
+ "min": 0.0,
414
+ "max": 0.0
415
+ },
416
+ {
417
+ "current": 2649.998,
418
+ "min": 0.0,
419
+ "max": 0.0
420
+ },
421
+ {
422
+ "current": 2649.998,
423
+ "min": 0.0,
424
+ "max": 0.0
425
+ },
426
+ {
427
+ "current": 2649.998,
428
+ "min": 0.0,
429
+ "max": 0.0
430
+ },
431
+ {
432
+ "current": 2649.998,
433
+ "min": 0.0,
434
+ "max": 0.0
435
+ },
436
+ {
437
+ "current": 2649.998,
438
+ "min": 0.0,
439
+ "max": 0.0
440
+ },
441
+ {
442
+ "current": 2649.998,
443
+ "min": 0.0,
444
+ "max": 0.0
445
+ },
446
+ {
447
+ "current": 2649.998,
448
+ "min": 0.0,
449
+ "max": 0.0
450
+ },
451
+ {
452
+ "current": 2649.998,
453
+ "min": 0.0,
454
+ "max": 0.0
455
+ },
456
+ {
457
+ "current": 2649.998,
458
+ "min": 0.0,
459
+ "max": 0.0
460
+ },
461
+ {
462
+ "current": 2649.998,
463
+ "min": 0.0,
464
+ "max": 0.0
465
+ },
466
+ {
467
+ "current": 2649.998,
468
+ "min": 0.0,
469
+ "max": 0.0
470
+ },
471
+ {
472
+ "current": 2649.998,
473
+ "min": 0.0,
474
+ "max": 0.0
475
+ },
476
+ {
477
+ "current": 2649.998,
478
+ "min": 0.0,
479
+ "max": 0.0
480
+ },
481
+ {
482
+ "current": 2649.998,
483
+ "min": 0.0,
484
+ "max": 0.0
485
+ },
486
+ {
487
+ "current": 2649.998,
488
+ "min": 0.0,
489
+ "max": 0.0
490
+ },
491
+ {
492
+ "current": 2649.998,
493
+ "min": 0.0,
494
+ "max": 0.0
495
+ },
496
+ {
497
+ "current": 2649.998,
498
+ "min": 0.0,
499
+ "max": 0.0
500
+ },
501
+ {
502
+ "current": 2649.998,
503
+ "min": 0.0,
504
+ "max": 0.0
505
+ }
506
+ ],
507
+ "disk": {
508
+ "/": {
509
+ "total": 290.7472343444824,
510
+ "used": 58.41170883178711
511
+ }
512
+ },
513
+ "gpu": "NVIDIA H100 80GB HBM3",
514
+ "gpu_count": 8,
515
+ "gpu_devices": [
516
+ {
517
+ "name": "NVIDIA H100 80GB HBM3",
518
+ "memory_total": 85520809984
519
+ },
520
+ {
521
+ "name": "NVIDIA H100 80GB HBM3",
522
+ "memory_total": 85520809984
523
+ },
524
+ {
525
+ "name": "NVIDIA H100 80GB HBM3",
526
+ "memory_total": 85520809984
527
+ },
528
+ {
529
+ "name": "NVIDIA H100 80GB HBM3",
530
+ "memory_total": 85520809984
531
+ },
532
+ {
533
+ "name": "NVIDIA H100 80GB HBM3",
534
+ "memory_total": 85520809984
535
+ },
536
+ {
537
+ "name": "NVIDIA H100 80GB HBM3",
538
+ "memory_total": 85520809984
539
+ },
540
+ {
541
+ "name": "NVIDIA H100 80GB HBM3",
542
+ "memory_total": 85520809984
543
+ },
544
+ {
545
+ "name": "NVIDIA H100 80GB HBM3",
546
+ "memory_total": 85520809984
547
+ }
548
+ ],
549
+ "memory": {
550
+ "total": 1999.9855461120605
551
+ }
552
+ }
wandb/run-20240416_172306-uygw9yfk/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"_wandb": {"runtime": 3740}}
wandb/run-20240416_172306-uygw9yfk/logs/debug-internal.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20240416_172306-uygw9yfk/logs/debug.log ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-04-16 17:23:06,340 INFO MainThread:940676 [wandb_setup.py:_flush():76] Current SDK version is 0.16.1
2
+ 2024-04-16 17:23:06,340 INFO MainThread:940676 [wandb_setup.py:_flush():76] Configure stats pid to 940676
3
+ 2024-04-16 17:23:06,340 INFO MainThread:940676 [wandb_setup.py:_flush():76] Loading settings from /admin/home/sanchit/.config/wandb/settings
4
+ 2024-04-16 17:23:06,340 INFO MainThread:940676 [wandb_setup.py:_flush():76] Loading settings from /fsx/sanchit/mistral-debug-4bit/wandb/settings
5
+ 2024-04-16 17:23:06,340 INFO MainThread:940676 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_setup.py:_flush():76] Inferring run settings from compute environment: {'program_relpath': 'run_distillation.py', 'program_abspath': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py', 'program': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py'}
8
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:_log_setup():524] Logging user logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_172306-uygw9yfk/logs/debug.log
9
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:_log_setup():525] Logging internal logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_172306-uygw9yfk/logs/debug-internal.log
10
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:init():564] calling init triggers
11
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:init():571] wandb.init called with sweep_config: {}
12
+ config: {}
13
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:init():614] starting backend
14
+ 2024-04-16 17:23:06,341 INFO MainThread:940676 [wandb_init.py:init():618] setting up manager
15
+ 2024-04-16 17:23:06,346 INFO MainThread:940676 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
16
+ 2024-04-16 17:23:06,348 INFO MainThread:940676 [wandb_init.py:init():624] backend started and connected
17
+ 2024-04-16 17:23:06,353 INFO MainThread:940676 [wandb_init.py:init():716] updated telemetry
18
+ 2024-04-16 17:23:06,355 INFO MainThread:940676 [wandb_init.py:init():749] communicating run to backend with 90.0 second timeout
19
+ 2024-04-16 17:23:06,543 INFO MainThread:940676 [wandb_run.py:_on_init():2254] communicating current version
20
+ 2024-04-16 17:23:06,597 INFO MainThread:940676 [wandb_run.py:_on_init():2263] got version response upgrade_message: "wandb version 0.16.6 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
21
+
22
+ 2024-04-16 17:23:06,597 INFO MainThread:940676 [wandb_init.py:init():800] starting run threads in backend
23
+ 2024-04-16 17:23:10,890 INFO MainThread:940676 [wandb_run.py:_console_start():2233] atexit reg
24
+ 2024-04-16 17:23:10,890 INFO MainThread:940676 [wandb_run.py:_redirect():2088] redirect: wrap_raw
25
+ 2024-04-16 17:23:10,890 INFO MainThread:940676 [wandb_run.py:_redirect():2153] Wrapping output streams.
26
+ 2024-04-16 17:23:10,890 INFO MainThread:940676 [wandb_run.py:_redirect():2178] Redirects installed.
27
+ 2024-04-16 17:23:10,891 INFO MainThread:940676 [wandb_init.py:init():841] run started, returning control to user process
28
+ 2024-04-16 18:25:33,477 WARNING MsgRouterThr:940676 [router.py:message_loop():77] message_loop has been closed
wandb/run-20240416_172306-uygw9yfk/run-uygw9yfk.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7b7f3db093dc72789da88e861e5e5ab2a754f2d106b86f4a51a210d3e939e0b
3
+ size 8362887
wandb/run-20240416_205309-xdytsc71/files/conda-environment.yaml ADDED
@@ -0,0 +1,300 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: venv
2
+ channels:
3
+ - pytorch
4
+ - nvidia
5
+ - defaults
6
+ dependencies:
7
+ - _libgcc_mutex=0.1=main
8
+ - _openmp_mutex=5.1=1_gnu
9
+ - blas=1.0=mkl
10
+ - brotli-python=1.0.9=py311h6a678d5_7
11
+ - bzip2=1.0.8=h7b6447c_0
12
+ - ca-certificates=2023.12.12=h06a4308_0
13
+ - certifi=2023.11.17=py311h06a4308_0
14
+ - cffi=1.16.0=py311h5eee18b_0
15
+ - cryptography=41.0.7=py311hdda0065_0
16
+ - cuda-cudart=12.1.105=0
17
+ - cuda-cupti=12.1.105=0
18
+ - cuda-libraries=12.1.0=0
19
+ - cuda-nvrtc=12.1.105=0
20
+ - cuda-nvtx=12.1.105=0
21
+ - cuda-opencl=12.3.101=0
22
+ - cuda-runtime=12.1.0=0
23
+ - ffmpeg=4.3=hf484d3e_0
24
+ - filelock=3.13.1=py311h06a4308_0
25
+ - freetype=2.12.1=h4a9f257_0
26
+ - giflib=5.2.1=h5eee18b_3
27
+ - gmp=6.2.1=h295c915_3
28
+ - gmpy2=2.1.2=py311hc9b5ff0_0
29
+ - gnutls=3.6.15=he1e5248_0
30
+ - intel-openmp=2023.1.0=hdb19cb5_46306
31
+ - jinja2=3.1.2=py311h06a4308_0
32
+ - jpeg=9e=h5eee18b_1
33
+ - lame=3.100=h7b6447c_0
34
+ - lcms2=2.12=h3be6417_0
35
+ - ld_impl_linux-64=2.38=h1181459_1
36
+ - lerc=3.0=h295c915_0
37
+ - libcublas=12.1.0.26=0
38
+ - libcufft=11.0.2.4=0
39
+ - libcufile=1.8.1.2=0
40
+ - libcurand=10.3.4.101=0
41
+ - libcusolver=11.4.4.55=0
42
+ - libcusparse=12.0.2.55=0
43
+ - libdeflate=1.17=h5eee18b_1
44
+ - libffi=3.4.4=h6a678d5_0
45
+ - libgcc-ng=11.2.0=h1234567_1
46
+ - libgomp=11.2.0=h1234567_1
47
+ - libiconv=1.16=h7f8727e_2
48
+ - libidn2=2.3.4=h5eee18b_0
49
+ - libjpeg-turbo=2.0.0=h9bf148f_0
50
+ - libnpp=12.0.2.50=0
51
+ - libnvjitlink=12.1.105=0
52
+ - libnvjpeg=12.1.1.14=0
53
+ - libpng=1.6.39=h5eee18b_0
54
+ - libstdcxx-ng=11.2.0=h1234567_1
55
+ - libtasn1=4.19.0=h5eee18b_0
56
+ - libtiff=4.5.1=h6a678d5_0
57
+ - libunistring=0.9.10=h27cfd23_0
58
+ - libuuid=1.41.5=h5eee18b_0
59
+ - libwebp=1.3.2=h11a3e52_0
60
+ - libwebp-base=1.3.2=h5eee18b_0
61
+ - llvm-openmp=14.0.6=h9e868ea_0
62
+ - lz4-c=1.9.4=h6a678d5_0
63
+ - markupsafe=2.1.1=py311h5eee18b_0
64
+ - mkl=2023.1.0=h213fc3f_46344
65
+ - mkl-service=2.4.0=py311h5eee18b_1
66
+ - mkl_fft=1.3.8=py311h5eee18b_0
67
+ - mkl_random=1.2.4=py311hdb19cb5_0
68
+ - mpc=1.1.0=h10f8cd9_1
69
+ - mpfr=4.0.2=hb69a4c5_1
70
+ - mpmath=1.3.0=py311h06a4308_0
71
+ - ncurses=6.4=h6a678d5_0
72
+ - nettle=3.7.3=hbbd107a_1
73
+ - networkx=3.1=py311h06a4308_0
74
+ - numpy=1.26.2=py311h08b1b3b_0
75
+ - numpy-base=1.26.2=py311hf175353_0
76
+ - openh264=2.1.1=h4ff587b_0
77
+ - openjpeg=2.4.0=h3ad879b_0
78
+ - openssl=3.0.12=h7f8727e_0
79
+ - pycparser=2.21=pyhd3eb1b0_0
80
+ - pyopenssl=23.2.0=py311h06a4308_0
81
+ - pysocks=1.7.1=py311h06a4308_0
82
+ - python=3.11.5=h955ad1f_0
83
+ - pytorch-cuda=12.1=ha16c6d3_5
84
+ - pytorch-mutex=1.0=cuda
85
+ - pyyaml=6.0.1=py311h5eee18b_0
86
+ - readline=8.2=h5eee18b_0
87
+ - requests=2.31.0=py311h06a4308_0
88
+ - setuptools=68.2.2=py311h06a4308_0
89
+ - sqlite=3.41.2=h5eee18b_0
90
+ - sympy=1.12=py311h06a4308_0
91
+ - tbb=2021.8.0=hdb19cb5_0
92
+ - tk=8.6.12=h1ccaba5_0
93
+ - wheel=0.41.2=py311h06a4308_0
94
+ - xz=5.4.5=h5eee18b_0
95
+ - yaml=0.2.5=h7b6447c_0
96
+ - zlib=1.2.13=h5eee18b_0
97
+ - zstd=1.5.5=hc292b87_0
98
+ - pip:
99
+ - absl-py==2.0.0
100
+ - accelerate==0.29.2
101
+ - aiohttp==3.9.1
102
+ - aiosignal==1.3.1
103
+ - annotated-types==0.6.0
104
+ - anyio==4.2.0
105
+ - appdirs==1.4.4
106
+ - argon2-cffi==23.1.0
107
+ - argon2-cffi-bindings==21.2.0
108
+ - arrow==1.3.0
109
+ - asttokens==2.4.1
110
+ - astunparse==1.6.3
111
+ - async-lru==2.0.4
112
+ - attrs==23.1.0
113
+ - audioread==3.0.1
114
+ - babel==2.14.0
115
+ - beautifulsoup4==4.12.3
116
+ - bitsandbytes==0.43.1
117
+ - bleach==6.1.0
118
+ - cachetools==5.3.2
119
+ - chardet==5.2.0
120
+ - charset-normalizer==3.3.2
121
+ - click==8.1.7
122
+ - comm==0.2.1
123
+ - datasets==2.18.1.dev0
124
+ - debugpy==1.8.1
125
+ - decorator==5.1.1
126
+ - deepspeed==0.12.2
127
+ - defusedxml==0.7.1
128
+ - dill==0.3.7
129
+ - docker-pycreds==0.4.0
130
+ - docstring-parser==0.15
131
+ - einops==0.7.0
132
+ - evaluate==0.4.0
133
+ - executing==2.0.1
134
+ - fastjsonschema==2.19.1
135
+ - flatbuffers==23.5.26
136
+ - fqdn==1.5.1
137
+ - frozenlist==1.4.1
138
+ - fsspec==2023.10.0
139
+ - gast==0.5.4
140
+ - gitdb==4.0.11
141
+ - gitpython==3.1.40
142
+ - google-auth==2.26.1
143
+ - google-auth-oauthlib==1.2.0
144
+ - google-pasta==0.2.0
145
+ - grpcio==1.60.0
146
+ - h11==0.14.0
147
+ - h5py==3.10.0
148
+ - hf-transfer==0.1.5
149
+ - hjson==3.1.0
150
+ - httpcore==1.0.2
151
+ - httpx==0.26.0
152
+ - huggingface-hub==0.22.2
153
+ - idna==3.6
154
+ - ipdb==0.13.13
155
+ - ipykernel==6.29.2
156
+ - ipython==8.21.0
157
+ - isoduration==20.11.0
158
+ - jedi==0.19.1
159
+ - jiwer==3.0.3
160
+ - joblib==1.3.2
161
+ - json5==0.9.14
162
+ - jsonpointer==2.4
163
+ - jsonschema==4.21.1
164
+ - jsonschema-specifications==2023.12.1
165
+ - jupyter-client==8.6.0
166
+ - jupyter-core==5.7.1
167
+ - jupyter-events==0.9.0
168
+ - jupyter-lsp==2.2.2
169
+ - jupyter-server==2.12.5
170
+ - jupyter-server-terminals==0.5.2
171
+ - jupyterlab==4.1.1
172
+ - jupyterlab-pygments==0.3.0
173
+ - jupyterlab-server==2.25.2
174
+ - keras==2.15.0
175
+ - lazy-loader==0.3
176
+ - libclang==16.0.6
177
+ - librosa==0.10.1
178
+ - llvmlite==0.41.1
179
+ - markdown==3.5.1
180
+ - markdown-it-py==3.0.0
181
+ - matplotlib-inline==0.1.6
182
+ - mdurl==0.1.2
183
+ - mistune==3.0.2
184
+ - ml-dtypes==0.2.0
185
+ - msgpack==1.0.7
186
+ - multidict==6.0.4
187
+ - multiprocess==0.70.15
188
+ - nbclient==0.9.0
189
+ - nbconvert==7.16.0
190
+ - nbformat==5.9.2
191
+ - nest-asyncio==1.6.0
192
+ - ninja==1.11.1.1
193
+ - nltk==3.8.1
194
+ - notebook-shim==0.2.3
195
+ - numba==0.58.1
196
+ - nvidia-cublas-cu12==12.1.3.1
197
+ - nvidia-cuda-cupti-cu12==12.1.105
198
+ - nvidia-cuda-nvrtc-cu12==12.1.105
199
+ - nvidia-cuda-runtime-cu12==12.1.105
200
+ - nvidia-cudnn-cu12==8.9.2.26
201
+ - nvidia-cufft-cu12==11.0.2.54
202
+ - nvidia-curand-cu12==10.3.2.106
203
+ - nvidia-cusolver-cu12==11.4.5.107
204
+ - nvidia-cusparse-cu12==12.1.0.106
205
+ - nvidia-nccl-cu12==2.20.5
206
+ - nvidia-nvjitlink-cu12==12.3.101
207
+ - nvidia-nvtx-cu12==12.1.105
208
+ - oauthlib==3.2.2
209
+ - opt-einsum==3.3.0
210
+ - overrides==7.7.0
211
+ - packaging==23.2
212
+ - pandas==2.1.4
213
+ - pandocfilters==1.5.1
214
+ - parso==0.8.3
215
+ - peft==0.7.1
216
+ - pexpect==4.9.0
217
+ - pillow==10.2.0
218
+ - pip==24.0
219
+ - platformdirs==4.1.0
220
+ - pooch==1.8.0
221
+ - prometheus-client==0.19.0
222
+ - prompt-toolkit==3.0.43
223
+ - protobuf==3.20.2
224
+ - psutil==5.9.7
225
+ - ptyprocess==0.7.0
226
+ - pure-eval==0.2.2
227
+ - py-cpuinfo==9.0.0
228
+ - pyarrow==14.0.2
229
+ - pyarrow-hotfix==0.6
230
+ - pyasn1==0.5.1
231
+ - pyasn1-modules==0.3.0
232
+ - pydantic==2.6.0
233
+ - pydantic-core==2.16.1
234
+ - pygments==2.17.2
235
+ - pynvml==11.5.0
236
+ - python-dateutil==2.8.2
237
+ - python-json-logger==2.0.7
238
+ - pytorch-triton==3.0.0+989adb9a29
239
+ - pytz==2023.3.post1
240
+ - pyzmq==25.1.2
241
+ - rapidfuzz==3.6.1
242
+ - referencing==0.33.0
243
+ - regex==2023.12.25
244
+ - requests-oauthlib==1.3.1
245
+ - responses==0.18.0
246
+ - rfc3339-validator==0.1.4
247
+ - rfc3986-validator==0.1.1
248
+ - rich==13.7.0
249
+ - rpds-py==0.17.1
250
+ - rsa==4.9
251
+ - safetensors==0.4.1
252
+ - scikit-learn==1.3.2
253
+ - scipy==1.11.4
254
+ - send2trash==1.8.2
255
+ - sentencepiece==0.1.99
256
+ - sentry-sdk==1.39.1
257
+ - setproctitle==1.3.3
258
+ - shtab==1.6.5
259
+ - six==1.16.0
260
+ - smmap==5.0.1
261
+ - sniffio==1.3.0
262
+ - soundfile==0.12.1
263
+ - soupsieve==2.5
264
+ - soxr==0.3.7
265
+ - stack-data==0.6.3
266
+ - tensorboard==2.15.1
267
+ - tensorboard-data-server==0.7.2
268
+ - tensorflow-cpu==2.15.0.post1
269
+ - tensorflow-estimator==2.15.0
270
+ - tensorflow-io-gcs-filesystem==0.35.0
271
+ - termcolor==2.4.0
272
+ - terminado==0.18.0
273
+ - threadpoolctl==3.2.0
274
+ - tinycss2==1.2.1
275
+ - tokenizers==0.15.0
276
+ - torch==2.4.0.dev20240323+cu121
277
+ - torchaudio==2.2.0.dev20240323+cu121
278
+ - torchvision==0.19.0.dev20240323+cu121
279
+ - tornado==6.4
280
+ - tqdm==4.66.1
281
+ - traitlets==5.14.1
282
+ - transformers==4.39.0.dev0
283
+ - triton==2.2.0
284
+ - trl==0.7.7
285
+ - types-python-dateutil==2.8.19.20240106
286
+ - typing-extensions==4.10.0
287
+ - tyro==0.7.0
288
+ - tzdata==2023.3
289
+ - uri-template==1.3.0
290
+ - urllib3==2.1.0
291
+ - wandb==0.16.1
292
+ - wcwidth==0.2.13
293
+ - webcolors==1.13
294
+ - webencodings==0.5.1
295
+ - websocket-client==1.7.0
296
+ - werkzeug==3.0.1
297
+ - wrapt==1.14.1
298
+ - xxhash==3.4.1
299
+ - yarl==1.9.4
300
+ prefix: /fsx/sanchit/miniconda3/envs/venv
wandb/run-20240416_205309-xdytsc71/files/config.yaml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb_version: 1
2
+
3
+ _wandb:
4
+ desc: null
5
+ value:
6
+ python_version: 3.11.5
7
+ cli_version: 0.16.1
8
+ framework: huggingface
9
+ huggingface_version: 4.40.0.dev0
10
+ is_jupyter_run: false
11
+ is_kaggle_kernel: false
12
+ start_time: 1713300789.254433
13
+ t:
14
+ 1:
15
+ - 1
16
+ - 11
17
+ - 49
18
+ - 51
19
+ - 55
20
+ - 71
21
+ - 98
22
+ 2:
23
+ - 1
24
+ - 2
25
+ - 3
26
+ - 11
27
+ - 49
28
+ - 51
29
+ - 55
30
+ - 71
31
+ - 98
32
+ 3:
33
+ - 2
34
+ - 23
35
+ 4: 3.11.5
36
+ 5: 0.16.1
37
+ 6: 4.40.0.dev0
38
+ 8:
39
+ - 5
40
+ 13: linux-x86_64
wandb/run-20240416_205309-xdytsc71/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
wandb/run-20240416_205309-xdytsc71/files/requirements.txt ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.0.0
2
+ accelerate==0.29.2
3
+ aiohttp==3.9.1
4
+ aiosignal==1.3.1
5
+ annotated-types==0.6.0
6
+ anyio==4.2.0
7
+ appdirs==1.4.4
8
+ argon2-cffi-bindings==21.2.0
9
+ argon2-cffi==23.1.0
10
+ arrow==1.3.0
11
+ asttokens==2.4.1
12
+ astunparse==1.6.3
13
+ async-lru==2.0.4
14
+ attrs==23.1.0
15
+ audioread==3.0.1
16
+ babel==2.14.0
17
+ beautifulsoup4==4.12.3
18
+ bitsandbytes==0.43.1
19
+ bleach==6.1.0
20
+ brotli==1.0.9
21
+ cachetools==5.3.2
22
+ certifi==2023.11.17
23
+ cffi==1.16.0
24
+ chardet==5.2.0
25
+ charset-normalizer==2.0.4
26
+ click==8.1.7
27
+ comm==0.2.1
28
+ cryptography==41.0.7
29
+ datasets==2.18.1.dev0
30
+ debugpy==1.8.1
31
+ decorator==5.1.1
32
+ deepspeed==0.12.2
33
+ defusedxml==0.7.1
34
+ dill==0.3.7
35
+ docker-pycreds==0.4.0
36
+ docstring-parser==0.15
37
+ einops==0.7.0
38
+ evaluate==0.4.0
39
+ executing==2.0.1
40
+ fastjsonschema==2.19.1
41
+ filelock==3.13.1
42
+ flatbuffers==23.5.26
43
+ fqdn==1.5.1
44
+ frozenlist==1.4.1
45
+ fsspec==2023.10.0
46
+ gast==0.5.4
47
+ gitdb==4.0.11
48
+ gitpython==3.1.40
49
+ gmpy2==2.1.2
50
+ google-auth-oauthlib==1.2.0
51
+ google-auth==2.26.1
52
+ google-pasta==0.2.0
53
+ grpcio==1.60.0
54
+ h11==0.14.0
55
+ h5py==3.10.0
56
+ hf-transfer==0.1.5
57
+ hjson==3.1.0
58
+ httpcore==1.0.2
59
+ httpx==0.26.0
60
+ huggingface-hub==0.22.2
61
+ idna==3.4
62
+ ipdb==0.13.13
63
+ ipykernel==6.29.2
64
+ ipython==8.21.0
65
+ isoduration==20.11.0
66
+ jedi==0.19.1
67
+ jinja2==3.1.2
68
+ jiwer==3.0.3
69
+ joblib==1.3.2
70
+ json5==0.9.14
71
+ jsonpointer==2.4
72
+ jsonschema-specifications==2023.12.1
73
+ jsonschema==4.21.1
74
+ jupyter-client==8.6.0
75
+ jupyter-core==5.7.1
76
+ jupyter-events==0.9.0
77
+ jupyter-lsp==2.2.2
78
+ jupyter-server-terminals==0.5.2
79
+ jupyter-server==2.12.5
80
+ jupyterlab-pygments==0.3.0
81
+ jupyterlab-server==2.25.2
82
+ jupyterlab==4.1.1
83
+ keras==2.15.0
84
+ lazy-loader==0.3
85
+ libclang==16.0.6
86
+ librosa==0.10.1
87
+ llvmlite==0.41.1
88
+ markdown-it-py==3.0.0
89
+ markdown==3.5.1
90
+ markupsafe==2.1.1
91
+ matplotlib-inline==0.1.6
92
+ mdurl==0.1.2
93
+ mistune==3.0.2
94
+ mkl-fft==1.3.8
95
+ mkl-random==1.2.4
96
+ mkl-service==2.4.0
97
+ ml-dtypes==0.2.0
98
+ mpmath==1.3.0
99
+ msgpack==1.0.7
100
+ multidict==6.0.4
101
+ multiprocess==0.70.15
102
+ nbclient==0.9.0
103
+ nbconvert==7.16.0
104
+ nbformat==5.9.2
105
+ nest-asyncio==1.6.0
106
+ networkx==3.1
107
+ ninja==1.11.1.1
108
+ nltk==3.8.1
109
+ notebook-shim==0.2.3
110
+ numba==0.58.1
111
+ numpy==1.26.2
112
+ nvidia-cublas-cu12==12.1.3.1
113
+ nvidia-cuda-cupti-cu12==12.1.105
114
+ nvidia-cuda-nvrtc-cu12==12.1.105
115
+ nvidia-cuda-runtime-cu12==12.1.105
116
+ nvidia-cudnn-cu12==8.9.2.26
117
+ nvidia-cufft-cu12==11.0.2.54
118
+ nvidia-curand-cu12==10.3.2.106
119
+ nvidia-cusolver-cu12==11.4.5.107
120
+ nvidia-cusparse-cu12==12.1.0.106
121
+ nvidia-nccl-cu12==2.20.5
122
+ nvidia-nvjitlink-cu12==12.3.101
123
+ nvidia-nvtx-cu12==12.1.105
124
+ oauthlib==3.2.2
125
+ opt-einsum==3.3.0
126
+ overrides==7.7.0
127
+ packaging==23.2
128
+ pandas==2.1.4
129
+ pandocfilters==1.5.1
130
+ parso==0.8.3
131
+ peft==0.7.1
132
+ pexpect==4.9.0
133
+ pillow==10.2.0
134
+ pip==24.0
135
+ platformdirs==4.1.0
136
+ pooch==1.8.0
137
+ prometheus-client==0.19.0
138
+ prompt-toolkit==3.0.43
139
+ protobuf==3.20.2
140
+ psutil==5.9.7
141
+ ptyprocess==0.7.0
142
+ pure-eval==0.2.2
143
+ py-cpuinfo==9.0.0
144
+ pyarrow-hotfix==0.6
145
+ pyarrow==14.0.2
146
+ pyasn1-modules==0.3.0
147
+ pyasn1==0.5.1
148
+ pycparser==2.21
149
+ pydantic-core==2.16.1
150
+ pydantic==2.6.0
151
+ pygments==2.17.2
152
+ pynvml==11.5.0
153
+ pyopenssl==23.2.0
154
+ pysocks==1.7.1
155
+ python-dateutil==2.8.2
156
+ python-json-logger==2.0.7
157
+ pytorch-triton==3.0.0+989adb9a29
158
+ pytz==2023.3.post1
159
+ pyyaml==6.0.1
160
+ pyzmq==25.1.2
161
+ rapidfuzz==3.6.1
162
+ referencing==0.33.0
163
+ regex==2023.12.25
164
+ requests-oauthlib==1.3.1
165
+ requests==2.31.0
166
+ responses==0.18.0
167
+ rfc3339-validator==0.1.4
168
+ rfc3986-validator==0.1.1
169
+ rich==13.7.0
170
+ rpds-py==0.17.1
171
+ rsa==4.9
172
+ safetensors==0.4.1
173
+ scikit-learn==1.3.2
174
+ scipy==1.11.4
175
+ send2trash==1.8.2
176
+ sentencepiece==0.1.99
177
+ sentry-sdk==1.39.1
178
+ setproctitle==1.3.3
179
+ setuptools==68.2.2
180
+ shtab==1.6.5
181
+ six==1.16.0
182
+ smmap==5.0.1
183
+ sniffio==1.3.0
184
+ soundfile==0.12.1
185
+ soupsieve==2.5
186
+ soxr==0.3.7
187
+ stack-data==0.6.3
188
+ sympy==1.12
189
+ tensorboard-data-server==0.7.2
190
+ tensorboard==2.15.1
191
+ tensorflow-cpu==2.15.0.post1
192
+ tensorflow-estimator==2.15.0
193
+ tensorflow-io-gcs-filesystem==0.35.0
194
+ termcolor==2.4.0
195
+ terminado==0.18.0
196
+ threadpoolctl==3.2.0
197
+ tinycss2==1.2.1
198
+ tokenizers==0.15.0
199
+ torch==2.4.0.dev20240323+cu121
200
+ torchaudio==2.2.0.dev20240323+cu121
201
+ torchvision==0.19.0.dev20240323+cu121
202
+ tornado==6.4
203
+ tqdm==4.66.1
204
+ traitlets==5.14.1
205
+ transformers==4.39.0.dev0
206
+ triton==2.2.0
207
+ trl==0.7.7
208
+ types-python-dateutil==2.8.19.20240106
209
+ typing-extensions==4.10.0
210
+ tyro==0.7.0
211
+ tzdata==2023.3
212
+ uri-template==1.3.0
213
+ urllib3==1.26.18
214
+ wandb==0.16.1
215
+ wcwidth==0.2.13
216
+ webcolors==1.13
217
+ webencodings==0.5.1
218
+ websocket-client==1.7.0
219
+ werkzeug==3.0.1
220
+ wheel==0.41.2
221
+ wrapt==1.14.1
222
+ xxhash==3.4.1
223
+ yarl==1.9.4
wandb/run-20240416_205309-xdytsc71/files/wandb-metadata.json ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-1048-aws-x86_64-with-glibc2.31",
3
+ "python": "3.11.5",
4
+ "heartbeatAt": "2024-04-16T20:53:09.639270",
5
+ "startedAt": "2024-04-16T20:53:09.231836",
6
+ "docker": null,
7
+ "cuda": null,
8
+ "args": [
9
+ "config_mistral.yaml"
10
+ ],
11
+ "state": "running",
12
+ "program": "/fsx/sanchit/mistral-debug-4bit/run_distillation.py",
13
+ "codePathLocal": "run_distillation.py",
14
+ "codePath": "run_distillation.py",
15
+ "host": "ip-26-0-164-187",
16
+ "username": "sanchit",
17
+ "executable": "/fsx/sanchit/miniconda3/envs/venv/bin/python",
18
+ "cpu_count": 96,
19
+ "cpu_count_logical": 96,
20
+ "cpu_freq": {
21
+ "current": 2659.3121145833315,
22
+ "min": 0.0,
23
+ "max": 0.0
24
+ },
25
+ "cpu_freq_per_core": [
26
+ {
27
+ "current": 2649.998,
28
+ "min": 0.0,
29
+ "max": 0.0
30
+ },
31
+ {
32
+ "current": 2649.998,
33
+ "min": 0.0,
34
+ "max": 0.0
35
+ },
36
+ {
37
+ "current": 2649.998,
38
+ "min": 0.0,
39
+ "max": 0.0
40
+ },
41
+ {
42
+ "current": 2649.998,
43
+ "min": 0.0,
44
+ "max": 0.0
45
+ },
46
+ {
47
+ "current": 2649.998,
48
+ "min": 0.0,
49
+ "max": 0.0
50
+ },
51
+ {
52
+ "current": 2649.998,
53
+ "min": 0.0,
54
+ "max": 0.0
55
+ },
56
+ {
57
+ "current": 2649.998,
58
+ "min": 0.0,
59
+ "max": 0.0
60
+ },
61
+ {
62
+ "current": 2649.998,
63
+ "min": 0.0,
64
+ "max": 0.0
65
+ },
66
+ {
67
+ "current": 2649.998,
68
+ "min": 0.0,
69
+ "max": 0.0
70
+ },
71
+ {
72
+ "current": 2649.998,
73
+ "min": 0.0,
74
+ "max": 0.0
75
+ },
76
+ {
77
+ "current": 3544.153,
78
+ "min": 0.0,
79
+ "max": 0.0
80
+ },
81
+ {
82
+ "current": 2649.998,
83
+ "min": 0.0,
84
+ "max": 0.0
85
+ },
86
+ {
87
+ "current": 2649.998,
88
+ "min": 0.0,
89
+ "max": 0.0
90
+ },
91
+ {
92
+ "current": 2649.998,
93
+ "min": 0.0,
94
+ "max": 0.0
95
+ },
96
+ {
97
+ "current": 2649.998,
98
+ "min": 0.0,
99
+ "max": 0.0
100
+ },
101
+ {
102
+ "current": 2649.998,
103
+ "min": 0.0,
104
+ "max": 0.0
105
+ },
106
+ {
107
+ "current": 2649.998,
108
+ "min": 0.0,
109
+ "max": 0.0
110
+ },
111
+ {
112
+ "current": 2649.998,
113
+ "min": 0.0,
114
+ "max": 0.0
115
+ },
116
+ {
117
+ "current": 2649.998,
118
+ "min": 0.0,
119
+ "max": 0.0
120
+ },
121
+ {
122
+ "current": 2649.998,
123
+ "min": 0.0,
124
+ "max": 0.0
125
+ },
126
+ {
127
+ "current": 2649.998,
128
+ "min": 0.0,
129
+ "max": 0.0
130
+ },
131
+ {
132
+ "current": 2649.998,
133
+ "min": 0.0,
134
+ "max": 0.0
135
+ },
136
+ {
137
+ "current": 2649.998,
138
+ "min": 0.0,
139
+ "max": 0.0
140
+ },
141
+ {
142
+ "current": 2649.998,
143
+ "min": 0.0,
144
+ "max": 0.0
145
+ },
146
+ {
147
+ "current": 2649.998,
148
+ "min": 0.0,
149
+ "max": 0.0
150
+ },
151
+ {
152
+ "current": 2649.998,
153
+ "min": 0.0,
154
+ "max": 0.0
155
+ },
156
+ {
157
+ "current": 2649.998,
158
+ "min": 0.0,
159
+ "max": 0.0
160
+ },
161
+ {
162
+ "current": 2649.998,
163
+ "min": 0.0,
164
+ "max": 0.0
165
+ },
166
+ {
167
+ "current": 2649.998,
168
+ "min": 0.0,
169
+ "max": 0.0
170
+ },
171
+ {
172
+ "current": 2649.998,
173
+ "min": 0.0,
174
+ "max": 0.0
175
+ },
176
+ {
177
+ "current": 2649.998,
178
+ "min": 0.0,
179
+ "max": 0.0
180
+ },
181
+ {
182
+ "current": 2649.998,
183
+ "min": 0.0,
184
+ "max": 0.0
185
+ },
186
+ {
187
+ "current": 2649.998,
188
+ "min": 0.0,
189
+ "max": 0.0
190
+ },
191
+ {
192
+ "current": 2649.998,
193
+ "min": 0.0,
194
+ "max": 0.0
195
+ },
196
+ {
197
+ "current": 2649.998,
198
+ "min": 0.0,
199
+ "max": 0.0
200
+ },
201
+ {
202
+ "current": 2649.998,
203
+ "min": 0.0,
204
+ "max": 0.0
205
+ },
206
+ {
207
+ "current": 2649.998,
208
+ "min": 0.0,
209
+ "max": 0.0
210
+ },
211
+ {
212
+ "current": 2649.998,
213
+ "min": 0.0,
214
+ "max": 0.0
215
+ },
216
+ {
217
+ "current": 2649.998,
218
+ "min": 0.0,
219
+ "max": 0.0
220
+ },
221
+ {
222
+ "current": 2649.998,
223
+ "min": 0.0,
224
+ "max": 0.0
225
+ },
226
+ {
227
+ "current": 2649.998,
228
+ "min": 0.0,
229
+ "max": 0.0
230
+ },
231
+ {
232
+ "current": 2649.998,
233
+ "min": 0.0,
234
+ "max": 0.0
235
+ },
236
+ {
237
+ "current": 2649.998,
238
+ "min": 0.0,
239
+ "max": 0.0
240
+ },
241
+ {
242
+ "current": 2649.998,
243
+ "min": 0.0,
244
+ "max": 0.0
245
+ },
246
+ {
247
+ "current": 2649.998,
248
+ "min": 0.0,
249
+ "max": 0.0
250
+ },
251
+ {
252
+ "current": 2649.998,
253
+ "min": 0.0,
254
+ "max": 0.0
255
+ },
256
+ {
257
+ "current": 2649.998,
258
+ "min": 0.0,
259
+ "max": 0.0
260
+ },
261
+ {
262
+ "current": 2649.998,
263
+ "min": 0.0,
264
+ "max": 0.0
265
+ },
266
+ {
267
+ "current": 2649.998,
268
+ "min": 0.0,
269
+ "max": 0.0
270
+ },
271
+ {
272
+ "current": 2649.998,
273
+ "min": 0.0,
274
+ "max": 0.0
275
+ },
276
+ {
277
+ "current": 2649.998,
278
+ "min": 0.0,
279
+ "max": 0.0
280
+ },
281
+ {
282
+ "current": 2649.998,
283
+ "min": 0.0,
284
+ "max": 0.0
285
+ },
286
+ {
287
+ "current": 2649.998,
288
+ "min": 0.0,
289
+ "max": 0.0
290
+ },
291
+ {
292
+ "current": 2649.998,
293
+ "min": 0.0,
294
+ "max": 0.0
295
+ },
296
+ {
297
+ "current": 2649.998,
298
+ "min": 0.0,
299
+ "max": 0.0
300
+ },
301
+ {
302
+ "current": 2649.998,
303
+ "min": 0.0,
304
+ "max": 0.0
305
+ },
306
+ {
307
+ "current": 2649.998,
308
+ "min": 0.0,
309
+ "max": 0.0
310
+ },
311
+ {
312
+ "current": 2649.998,
313
+ "min": 0.0,
314
+ "max": 0.0
315
+ },
316
+ {
317
+ "current": 2649.998,
318
+ "min": 0.0,
319
+ "max": 0.0
320
+ },
321
+ {
322
+ "current": 2649.998,
323
+ "min": 0.0,
324
+ "max": 0.0
325
+ },
326
+ {
327
+ "current": 2649.998,
328
+ "min": 0.0,
329
+ "max": 0.0
330
+ },
331
+ {
332
+ "current": 2649.998,
333
+ "min": 0.0,
334
+ "max": 0.0
335
+ },
336
+ {
337
+ "current": 2649.998,
338
+ "min": 0.0,
339
+ "max": 0.0
340
+ },
341
+ {
342
+ "current": 2649.998,
343
+ "min": 0.0,
344
+ "max": 0.0
345
+ },
346
+ {
347
+ "current": 2649.998,
348
+ "min": 0.0,
349
+ "max": 0.0
350
+ },
351
+ {
352
+ "current": 2649.998,
353
+ "min": 0.0,
354
+ "max": 0.0
355
+ },
356
+ {
357
+ "current": 2649.998,
358
+ "min": 0.0,
359
+ "max": 0.0
360
+ },
361
+ {
362
+ "current": 2649.998,
363
+ "min": 0.0,
364
+ "max": 0.0
365
+ },
366
+ {
367
+ "current": 2649.998,
368
+ "min": 0.0,
369
+ "max": 0.0
370
+ },
371
+ {
372
+ "current": 2649.998,
373
+ "min": 0.0,
374
+ "max": 0.0
375
+ },
376
+ {
377
+ "current": 2649.998,
378
+ "min": 0.0,
379
+ "max": 0.0
380
+ },
381
+ {
382
+ "current": 2649.998,
383
+ "min": 0.0,
384
+ "max": 0.0
385
+ },
386
+ {
387
+ "current": 2649.998,
388
+ "min": 0.0,
389
+ "max": 0.0
390
+ },
391
+ {
392
+ "current": 2649.998,
393
+ "min": 0.0,
394
+ "max": 0.0
395
+ },
396
+ {
397
+ "current": 2649.998,
398
+ "min": 0.0,
399
+ "max": 0.0
400
+ },
401
+ {
402
+ "current": 2649.998,
403
+ "min": 0.0,
404
+ "max": 0.0
405
+ },
406
+ {
407
+ "current": 2649.998,
408
+ "min": 0.0,
409
+ "max": 0.0
410
+ },
411
+ {
412
+ "current": 2649.998,
413
+ "min": 0.0,
414
+ "max": 0.0
415
+ },
416
+ {
417
+ "current": 2649.998,
418
+ "min": 0.0,
419
+ "max": 0.0
420
+ },
421
+ {
422
+ "current": 2649.998,
423
+ "min": 0.0,
424
+ "max": 0.0
425
+ },
426
+ {
427
+ "current": 2649.998,
428
+ "min": 0.0,
429
+ "max": 0.0
430
+ },
431
+ {
432
+ "current": 2649.998,
433
+ "min": 0.0,
434
+ "max": 0.0
435
+ },
436
+ {
437
+ "current": 2649.998,
438
+ "min": 0.0,
439
+ "max": 0.0
440
+ },
441
+ {
442
+ "current": 2649.998,
443
+ "min": 0.0,
444
+ "max": 0.0
445
+ },
446
+ {
447
+ "current": 2649.998,
448
+ "min": 0.0,
449
+ "max": 0.0
450
+ },
451
+ {
452
+ "current": 2649.998,
453
+ "min": 0.0,
454
+ "max": 0.0
455
+ },
456
+ {
457
+ "current": 2649.998,
458
+ "min": 0.0,
459
+ "max": 0.0
460
+ },
461
+ {
462
+ "current": 2649.998,
463
+ "min": 0.0,
464
+ "max": 0.0
465
+ },
466
+ {
467
+ "current": 2649.998,
468
+ "min": 0.0,
469
+ "max": 0.0
470
+ },
471
+ {
472
+ "current": 2649.998,
473
+ "min": 0.0,
474
+ "max": 0.0
475
+ },
476
+ {
477
+ "current": 2649.998,
478
+ "min": 0.0,
479
+ "max": 0.0
480
+ },
481
+ {
482
+ "current": 2649.998,
483
+ "min": 0.0,
484
+ "max": 0.0
485
+ },
486
+ {
487
+ "current": 2649.998,
488
+ "min": 0.0,
489
+ "max": 0.0
490
+ },
491
+ {
492
+ "current": 2649.998,
493
+ "min": 0.0,
494
+ "max": 0.0
495
+ },
496
+ {
497
+ "current": 2649.998,
498
+ "min": 0.0,
499
+ "max": 0.0
500
+ },
501
+ {
502
+ "current": 2649.998,
503
+ "min": 0.0,
504
+ "max": 0.0
505
+ }
506
+ ],
507
+ "disk": {
508
+ "/": {
509
+ "total": 290.7472343444824,
510
+ "used": 58.411903381347656
511
+ }
512
+ },
513
+ "gpu": "NVIDIA H100 80GB HBM3",
514
+ "gpu_count": 8,
515
+ "gpu_devices": [
516
+ {
517
+ "name": "NVIDIA H100 80GB HBM3",
518
+ "memory_total": 85520809984
519
+ },
520
+ {
521
+ "name": "NVIDIA H100 80GB HBM3",
522
+ "memory_total": 85520809984
523
+ },
524
+ {
525
+ "name": "NVIDIA H100 80GB HBM3",
526
+ "memory_total": 85520809984
527
+ },
528
+ {
529
+ "name": "NVIDIA H100 80GB HBM3",
530
+ "memory_total": 85520809984
531
+ },
532
+ {
533
+ "name": "NVIDIA H100 80GB HBM3",
534
+ "memory_total": 85520809984
535
+ },
536
+ {
537
+ "name": "NVIDIA H100 80GB HBM3",
538
+ "memory_total": 85520809984
539
+ },
540
+ {
541
+ "name": "NVIDIA H100 80GB HBM3",
542
+ "memory_total": 85520809984
543
+ },
544
+ {
545
+ "name": "NVIDIA H100 80GB HBM3",
546
+ "memory_total": 85520809984
547
+ }
548
+ ],
549
+ "memory": {
550
+ "total": 1999.9855461120605
551
+ }
552
+ }
wandb/run-20240416_205309-xdytsc71/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"train/loss": 1.6176064014434814, "train/ce_loss": 1.277328610420227, "train/kl_loss": 0.5957434773445129, "train/time": 67493.65216779709, "train/epoch": 0, "train/learning_rate": 0.0, "_timestamp": 1713368583.0371525, "_runtime": 67793.78271961212, "_step": 50000, "_wandb": {"runtime": 67808}, "cosmopedia/auto_math_text/loss": 1.658003807067871, "cosmopedia/auto_math_text/ce_loss": 1.3764740228652954, "cosmopedia/auto_math_text/kl_loss": 0.5568245649337769, "cosmopedia/auto_math_text/perplexity": 3.960910895239512, "cosmopedia/auto_math_text/time": 13.17593264579773, "cosmopedia/auto_math_text/epoch": 0, "cosmopedia/khanacademy/loss": 1.413199782371521, "cosmopedia/khanacademy/ce_loss": 1.0476577281951904, "cosmopedia/khanacademy/kl_loss": 0.5750735998153687, "cosmopedia/khanacademy/perplexity": 2.85096555518061, "cosmopedia/khanacademy/time": 13.071500062942505, "cosmopedia/khanacademy/epoch": 0, "cosmopedia/openstax/loss": 1.6419086456298828, "cosmopedia/openstax/ce_loss": 1.3129570484161377, "cosmopedia/openstax/kl_loss": 0.5915430188179016, "cosmopedia/openstax/perplexity": 3.717149266941545, "cosmopedia/openstax/time": 12.288958072662354, "cosmopedia/openstax/epoch": 0, "cosmopedia/stanford/loss": 1.461927890777588, "cosmopedia/stanford/ce_loss": 1.1311124563217163, "cosmopedia/stanford/kl_loss": 0.5570380091667175, "cosmopedia/stanford/perplexity": 3.099102199007535, "cosmopedia/stanford/time": 12.182331085205078, "cosmopedia/stanford/epoch": 0, "cosmopedia/stories/loss": 1.6099693775177002, "cosmopedia/stories/ce_loss": 1.308800458908081, "cosmopedia/stories/kl_loss": 0.5629290342330933, "cosmopedia/stories/perplexity": 3.70173066988729, "cosmopedia/stories/time": 13.002483367919922, "cosmopedia/stories/epoch": 0, "cosmopedia/web_samples_v1/loss": 1.58097243309021, "cosmopedia/web_samples_v1/ce_loss": 1.3564168214797974, "cosmopedia/web_samples_v1/kl_loss": 0.49583905935287476, "cosmopedia/web_samples_v1/perplexity": 3.882257527739104, "cosmopedia/web_samples_v1/time": 12.979966402053833, "cosmopedia/web_samples_v1/epoch": 0, "cosmopedia/web_samples_v2/loss": 1.638546109199524, "cosmopedia/web_samples_v2/ce_loss": 1.3901900053024292, "cosmopedia/web_samples_v2/kl_loss": 0.5263941287994385, "cosmopedia/web_samples_v2/perplexity": 4.015612968269408, "cosmopedia/web_samples_v2/time": 13.090406656265259, "cosmopedia/web_samples_v2/epoch": 0, "cosmopedia/wikihow/loss": 1.490721344947815, "cosmopedia/wikihow/ce_loss": 1.2553372383117676, "cosmopedia/wikihow/kl_loss": 0.48645156621932983, "cosmopedia/wikihow/perplexity": 3.5090215513289906, "cosmopedia/wikihow/time": 13.000000238418579, "cosmopedia/wikihow/epoch": 0}
wandb/run-20240416_205309-xdytsc71/logs/debug-internal.log ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9d5f155229d3837aab3fecb49a8e8b0dd1b1363e98b714e4bcb36ca9245b0e5
3
+ size 11245310
wandb/run-20240416_205309-xdytsc71/logs/debug.log ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2024-04-16 20:53:09,244 INFO MainThread:965482 [wandb_setup.py:_flush():76] Current SDK version is 0.16.1
2
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Configure stats pid to 965482
3
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from /admin/home/sanchit/.config/wandb/settings
4
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from /fsx/sanchit/mistral-debug-4bit/wandb/settings
5
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Loading settings from environment variables: {}
6
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Applying setup settings: {'_disable_service': False}
7
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_setup.py:_flush():76] Inferring run settings from compute environment: {'program_relpath': 'run_distillation.py', 'program_abspath': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py', 'program': '/fsx/sanchit/mistral-debug-4bit/run_distillation.py'}
8
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:_log_setup():524] Logging user logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_205309-xdytsc71/logs/debug.log
9
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:_log_setup():525] Logging internal logs to /fsx/sanchit/mistral-debug-4bit/wandb/run-20240416_205309-xdytsc71/logs/debug-internal.log
10
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():564] calling init triggers
11
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():571] wandb.init called with sweep_config: {}
12
+ config: {}
13
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():614] starting backend
14
+ 2024-04-16 20:53:09,245 INFO MainThread:965482 [wandb_init.py:init():618] setting up manager
15
+ 2024-04-16 20:53:09,248 INFO MainThread:965482 [backend.py:_multiprocessing_setup():105] multiprocessing start_methods=fork,spawn,forkserver, using: spawn
16
+ 2024-04-16 20:53:09,254 INFO MainThread:965482 [wandb_init.py:init():624] backend started and connected
17
+ 2024-04-16 20:53:09,257 INFO MainThread:965482 [wandb_init.py:init():716] updated telemetry
18
+ 2024-04-16 20:53:09,257 INFO MainThread:965482 [wandb_init.py:init():749] communicating run to backend with 90.0 second timeout
19
+ 2024-04-16 20:53:09,461 INFO MainThread:965482 [wandb_run.py:_on_init():2254] communicating current version
20
+ 2024-04-16 20:53:09,520 INFO MainThread:965482 [wandb_run.py:_on_init():2263] got version response upgrade_message: "wandb version 0.16.6 is available! To upgrade, please run:\n $ pip install wandb --upgrade"
21
+
22
+ 2024-04-16 20:53:09,520 INFO MainThread:965482 [wandb_init.py:init():800] starting run threads in backend
23
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_console_start():2233] atexit reg
24
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2088] redirect: wrap_raw
25
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2153] Wrapping output streams.
26
+ 2024-04-16 20:53:15,732 INFO MainThread:965482 [wandb_run.py:_redirect():2178] Redirects installed.
27
+ 2024-04-16 20:53:15,733 INFO MainThread:965482 [wandb_init.py:init():841] run started, returning control to user process
28
+ 2024-04-17 15:43:17,904 INFO MainThread:965482 [wandb_run.py:_finish():1962] finishing run sanchit-gandhi/distil-mixtral/xdytsc71
29
+ 2024-04-17 15:43:17,906 INFO MainThread:965482 [wandb_run.py:_atexit_cleanup():2202] got exitcode: 0
30
+ 2024-04-17 15:43:17,906 INFO MainThread:965482 [wandb_run.py:_restore():2185] restore
31
+ 2024-04-17 15:43:17,907 INFO MainThread:965482 [wandb_run.py:_restore():2191] restore done
32
+ 2024-04-17 15:43:24,105 INFO MainThread:965482 [wandb_run.py:_footer_history_summary_info():3837] rendering history
33
+ 2024-04-17 15:43:24,106 INFO MainThread:965482 [wandb_run.py:_footer_history_summary_info():3869] rendering summary
34
+ 2024-04-17 15:43:24,118 INFO MainThread:965482 [wandb_run.py:_footer_sync_info():3796] logging synced files
wandb/run-20240416_205309-xdytsc71/run-xdytsc71.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4cec0ae8a1202accebb26f3be48ab20552867b6b02ecd7ec9bb685c2b6131603
3
+ size 26549109