narySt commited on
Commit
e95012d
·
verified ·
1 Parent(s): 6b2577f

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/config.yaml +50 -0
  3. pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/hydra.yaml +160 -0
  4. pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/overrides.yaml +1 -0
  5. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/eval_config.yaml +31 -0
  6. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_latest.txt +17 -0
  7. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_108000.txt +17 -0
  8. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_118647.txt +17 -0
  9. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_12000.txt +17 -0
  10. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_24000.txt +17 -0
  11. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_36000.txt +17 -0
  12. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_39549.txt +17 -0
  13. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_48000.txt +17 -0
  14. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_60000.txt +17 -0
  15. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_72000.txt +17 -0
  16. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_79098.txt +17 -0
  17. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_84000.txt +17 -0
  18. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_96000.txt +17 -0
  19. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_initial_checkpoint.txt +17 -0
  20. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_model_best.txt +17 -0
  21. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_model_final.txt +17 -0
  22. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_latest.txt +0 -0
  23. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_108000.txt +0 -0
  24. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_118647.txt +0 -0
  25. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_12000.txt +0 -0
  26. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_24000.txt +0 -0
  27. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_36000.txt +0 -0
  28. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_39549.txt +0 -0
  29. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_48000.txt +0 -0
  30. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_60000.txt +0 -0
  31. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_72000.txt +0 -0
  32. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_79098.txt +0 -0
  33. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_84000.txt +0 -0
  34. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_96000.txt +0 -0
  35. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_initial_checkpoint.txt +0 -0
  36. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_model_best.txt +0 -0
  37. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_model_final.txt +0 -0
  38. pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/summary.txt +11 -0
  39. pythia_1b_rerun/pythia_1b_lr_2e-5/train.log +0 -0
  40. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/debug-internal.log +13 -0
  41. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/debug.log +24 -0
  42. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/code/code_completion_exp/train_pythia/train.py +615 -0
  43. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/config.yaml +124 -0
  44. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/output.log +0 -0
  45. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/requirements.txt +245 -0
  46. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/wandb-metadata.json +40 -0
  47. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/wandb-summary.json +1 -0
  48. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-core.log +16 -0
  49. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-internal.log +13 -0
  50. pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug.log +24 -0
.gitattributes CHANGED
@@ -49,3 +49,4 @@ lr_sweep/hnet_xl_code_lr_2e-4/wandb/run-20260425_222011-khn25dwv/run-khn25dwv.wa
49
  pythia_1_4b_rerun/pythia_1_4b_lr_2e-5/wandb/run-20260425_215604-jhqe4qjw/run-jhqe4qjw.wandb filter=lfs diff=lfs merge=lfs -text
50
  generation_bench_results/runs.partial.jsonl filter=lfs diff=lfs merge=lfs -text
51
  generation_bench_results/results.json filter=lfs diff=lfs merge=lfs -text
 
 
49
  pythia_1_4b_rerun/pythia_1_4b_lr_2e-5/wandb/run-20260425_215604-jhqe4qjw/run-jhqe4qjw.wandb filter=lfs diff=lfs merge=lfs -text
50
  generation_bench_results/runs.partial.jsonl filter=lfs diff=lfs merge=lfs -text
51
  generation_bench_results/results.json filter=lfs diff=lfs merge=lfs -text
52
+ pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/run-l9w4bbvz.wandb filter=lfs diff=lfs merge=lfs -text
pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/config.yaml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model:
2
+ name: EleutherAI/pythia-1b
3
+ checkpoint_path: null
4
+ from_scratch: false
5
+ training:
6
+ epochs: 3
7
+ batch_size: 1
8
+ eval_batch_size: 1
9
+ gradient_accumulation_steps: 8
10
+ lr: 2.0e-05
11
+ weight_decay: 0.1
12
+ betas:
13
+ - 0.9
14
+ - 0.95
15
+ eps: 1.0e-08
16
+ lr_scheduler: wsd
17
+ warmup_ratio: 0.1
18
+ decay_ratio: 0.2
19
+ warmup_steps: 100
20
+ min_lr_ratio: 0.1
21
+ max_grad_norm: 1.0
22
+ use_amp: true
23
+ gradient_checkpointing: true
24
+ resume: false
25
+ resume_checkpoint: null
26
+ data:
27
+ path: ${oc.env:PROJECT_ROOT}/code_completion_exp/datasets/data_V4_full
28
+ max_context_len: 4096
29
+ max_target_len: 256
30
+ num_workers: 4
31
+ pin_memory: true
32
+ max_train_samples: null
33
+ max_val_samples: 2000
34
+ logging:
35
+ log_interval: 10
36
+ save_interval: 12000
37
+ eval_interval: 12000
38
+ save_every_epoch: true
39
+ tracking:
40
+ enabled: true
41
+ backend: wandb
42
+ project: code-completion_pythia-1b-rerun
43
+ run_name: pythia_1b_lr_2e-5
44
+ entity: null
45
+ base_url: https://wandb.platun0v.ru
46
+ local_dir: ${paths.output_dir}
47
+ paths:
48
+ output_dir: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
49
+ seed: 42
50
+ device: cuda
pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/hydra.yaml ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ hydra:
2
+ run:
3
+ dir: ${paths.output_dir}
4
+ sweep:
5
+ dir: outputs/multirun/${now:%Y-%m-%d}/${now:%H-%M-%S}
6
+ subdir: ${hydra.job.num}
7
+ launcher:
8
+ _target_: hydra._internal.core_plugins.basic_launcher.BasicLauncher
9
+ sweeper:
10
+ _target_: hydra._internal.core_plugins.basic_sweeper.BasicSweeper
11
+ max_batch_size: null
12
+ params: null
13
+ help:
14
+ app_name: ${hydra.job.name}
15
+ header: '${hydra.help.app_name} is powered by Hydra.
16
+
17
+ '
18
+ footer: 'Powered by Hydra (https://hydra.cc)
19
+
20
+ Use --hydra-help to view Hydra specific help
21
+
22
+ '
23
+ template: '${hydra.help.header}
24
+
25
+ == Configuration groups ==
26
+
27
+ Compose your configuration from those groups (group=option)
28
+
29
+
30
+ $APP_CONFIG_GROUPS
31
+
32
+
33
+ == Config ==
34
+
35
+ Override anything in the config (foo.bar=value)
36
+
37
+
38
+ $CONFIG
39
+
40
+
41
+ ${hydra.help.footer}
42
+
43
+ '
44
+ hydra_help:
45
+ template: 'Hydra (${hydra.runtime.version})
46
+
47
+ See https://hydra.cc for more info.
48
+
49
+
50
+ == Flags ==
51
+
52
+ $FLAGS_HELP
53
+
54
+
55
+ == Configuration groups ==
56
+
57
+ Compose your configuration from those groups (For example, append hydra/job_logging=disabled
58
+ to command line)
59
+
60
+
61
+ $HYDRA_CONFIG_GROUPS
62
+
63
+
64
+ Use ''--cfg hydra'' to Show the Hydra config.
65
+
66
+ '
67
+ hydra_help: ???
68
+ hydra_logging:
69
+ version: 1
70
+ formatters:
71
+ simple:
72
+ format: '[%(asctime)s][HYDRA] %(message)s'
73
+ handlers:
74
+ console:
75
+ class: logging.StreamHandler
76
+ formatter: simple
77
+ stream: ext://sys.stdout
78
+ root:
79
+ level: INFO
80
+ handlers:
81
+ - console
82
+ loggers:
83
+ logging_example:
84
+ level: DEBUG
85
+ disable_existing_loggers: false
86
+ job_logging:
87
+ version: 1
88
+ formatters:
89
+ simple:
90
+ format: '[%(asctime)s][%(name)s][%(levelname)s] - %(message)s'
91
+ handlers:
92
+ console:
93
+ class: logging.StreamHandler
94
+ formatter: simple
95
+ stream: ext://sys.stdout
96
+ file:
97
+ class: logging.FileHandler
98
+ formatter: simple
99
+ filename: ${hydra.runtime.output_dir}/${hydra.job.name}.log
100
+ root:
101
+ level: INFO
102
+ handlers:
103
+ - console
104
+ - file
105
+ disable_existing_loggers: false
106
+ env: {}
107
+ mode: RUN
108
+ searchpath: []
109
+ callbacks: {}
110
+ output_subdir: .hydra
111
+ overrides:
112
+ hydra:
113
+ - hydra.mode=RUN
114
+ task: []
115
+ job:
116
+ name: train
117
+ chdir: false
118
+ override_dirname: ''
119
+ id: ???
120
+ num: ???
121
+ config_name: config
122
+ env_set: {}
123
+ env_copy: []
124
+ config:
125
+ override_dirname:
126
+ kv_sep: '='
127
+ item_sep: ','
128
+ exclude_keys: []
129
+ runtime:
130
+ version: 1.3.2
131
+ version_base: '1.3'
132
+ cwd: /workspace/byte-llms-code/code_completion_exp/train_pythia
133
+ config_sources:
134
+ - path: hydra.conf
135
+ schema: pkg
136
+ provider: hydra
137
+ - path: /workspace/byte-llms-code/code_completion_exp/train_pythia/configs
138
+ schema: file
139
+ provider: main
140
+ - path: ''
141
+ schema: structured
142
+ provider: schema
143
+ output_dir: /workspace/byte-llms-code/code_completion_exp/train_pythia/outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
144
+ choices:
145
+ paths: default
146
+ tracking: wandb
147
+ logging: default
148
+ data: default
149
+ training: default
150
+ model: pythia_1b
151
+ hydra/env: default
152
+ hydra/callbacks: null
153
+ hydra/job_logging: default
154
+ hydra/hydra_logging: default
155
+ hydra/hydra_help: default
156
+ hydra/help: default
157
+ hydra/sweeper: basic
158
+ hydra/launcher: basic
159
+ hydra/output: default
160
+ verbose: false
pythia_1b_rerun/pythia_1b_lr_2e-5/.hydra/overrides.yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ []
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/eval_config.yaml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ data:
2
+ path: /workspace/byte-llms-code/code_completion_exp/datasets/data_V4_full
3
+ max_context_len: 4096
4
+ max_target_len: 256
5
+ num_workers: 4
6
+ pin_memory: true
7
+ max_train_samples: null
8
+ max_val_samples: 2000
9
+ model:
10
+ name: EleutherAI/pythia-1b
11
+ checkpoint_path: null
12
+ from_scratch: false
13
+ paths:
14
+ checkpoints_dir: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
15
+ initial_checkpoint: auto
16
+ output_dir: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results
17
+ evaluation:
18
+ batch_size: 2
19
+ max_samples: 5000
20
+ compute_perplexity: true
21
+ bleu_tokenize: none
22
+ save_predictions: true
23
+ use_amp: true
24
+ generation:
25
+ max_new_tokens: 64
26
+ temperature: 0.1
27
+ top_k: 0
28
+ top_p: 1.0
29
+ do_sample: true
30
+ seed: 42
31
+ device: cuda
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_latest.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_latest.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3482
5
+ token_accuracy: 0.33828347830186456
6
+ bleu: 17.8853044827809
7
+ perplexity: 2.905595600384796
8
+ num_samples: 5000
9
+ gen_wall_time_s: 159.0116421286948
10
+ gen_samples_per_s: 31.444238503953628
11
+ gen_time_per_sample_ms: 31.802328425738963
12
+ gen_chars_per_s: 728.7831158061332
13
+ gen_batch_mean_ms: 254.41862740591168
14
+ gen_batch_p50_ms: 229.27742509637028
15
+ gen_batch_p95_ms: 445.24853378534294
16
+ gen_batch_max_ms: 1709.8218339961022
17
+ gen_num_batches: 625
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_108000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_108000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3402
5
+ token_accuracy: 0.33731702142705605
6
+ bleu: 17.930937581273497
7
+ perplexity: 2.9304769575371843
8
+ num_samples: 5000
9
+ gen_wall_time_s: 157.80592869932298
10
+ gen_samples_per_s: 31.684487656523967
11
+ gen_time_per_sample_ms: 31.561185739864598
12
+ gen_chars_per_s: 734.1929479769733
13
+ gen_batch_mean_ms: 252.48948591891676
14
+ gen_batch_p50_ms: 224.54757196828723
15
+ gen_batch_p95_ms: 453.54253498371685
16
+ gen_batch_max_ms: 1574.9100289540365
17
+ gen_num_batches: 625
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_118647.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_118647.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3464
5
+ token_accuracy: 0.33543125191523465
6
+ bleu: 18.058935206080903
7
+ perplexity: 2.905685361730921
8
+ num_samples: 5000
9
+ gen_wall_time_s: 214.4719856326701
10
+ gen_samples_per_s: 23.313068069242323
11
+ gen_time_per_sample_ms: 42.89439712653402
12
+ gen_chars_per_s: 537.5900244495003
13
+ gen_batch_mean_ms: 171.5775885061361
14
+ gen_batch_p50_ms: 150.72167199105024
15
+ gen_batch_p95_ms: 329.12455603945995
16
+ gen_batch_max_ms: 835.7596239075065
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_12000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_12000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3108
5
+ token_accuracy: 0.3025010018150531
6
+ bleu: 16.718847641807816
7
+ perplexity: 3.0961581194720997
8
+ num_samples: 5000
9
+ gen_wall_time_s: 202.44847195665352
10
+ gen_samples_per_s: 24.697642573812836
11
+ gen_time_per_sample_ms: 40.4896943913307
12
+ gen_chars_per_s: 532.871396644071
13
+ gen_batch_mean_ms: 161.9587775653228
14
+ gen_batch_p50_ms: 137.1968500316143
15
+ gen_batch_p95_ms: 327.32310149585817
16
+ gen_batch_max_ms: 806.8903230596334
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_24000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_24000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3166
5
+ token_accuracy: 0.3113876906395116
6
+ bleu: 16.67419761557939
7
+ perplexity: 3.0413994225389254
8
+ num_samples: 5000
9
+ gen_wall_time_s: 208.3465970712714
10
+ gen_samples_per_s: 23.998472114663794
11
+ gen_time_per_sample_ms: 41.66931941425428
12
+ gen_chars_per_s: 534.5371681875985
13
+ gen_batch_mean_ms: 166.6772776570171
14
+ gen_batch_p50_ms: 142.52355351345614
15
+ gen_batch_p95_ms: 330.15160368522623
16
+ gen_batch_max_ms: 825.7469990057871
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_36000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_36000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3252
5
+ token_accuracy: 0.321900855667916
6
+ bleu: 18.101021072851456
7
+ perplexity: 2.9839677869713896
8
+ num_samples: 5000
9
+ gen_wall_time_s: 222.01054317341186
10
+ gen_samples_per_s: 22.521452938811617
11
+ gen_time_per_sample_ms: 44.40210863468237
12
+ gen_chars_per_s: 509.86767737234396
13
+ gen_batch_mean_ms: 177.60843453872948
14
+ gen_batch_p50_ms: 151.81013598339632
15
+ gen_batch_p95_ms: 359.47523709037335
16
+ gen_batch_max_ms: 1223.8604919984937
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_39549.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_39549.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3276
5
+ token_accuracy: 0.32032152370176553
6
+ bleu: 17.54822744008585
7
+ perplexity: 2.965576807077662
8
+ num_samples: 5000
9
+ gen_wall_time_s: 214.7674574032426
10
+ gen_samples_per_s: 23.280994525218556
11
+ gen_time_per_sample_ms: 42.953491480648516
12
+ gen_chars_per_s: 541.0456565671742
13
+ gen_batch_mean_ms: 171.81396592259406
14
+ gen_batch_p50_ms: 147.50543044647202
15
+ gen_batch_p95_ms: 333.53986238944344
16
+ gen_batch_max_ms: 1203.0604279134423
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_48000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_48000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3274
5
+ token_accuracy: 0.32296160101831556
6
+ bleu: 16.73652513019122
7
+ perplexity: 2.9918445958286943
8
+ num_samples: 5000
9
+ gen_wall_time_s: 219.35748579574283
10
+ gen_samples_per_s: 22.793842580124235
11
+ gen_time_per_sample_ms: 43.87149715914857
12
+ gen_chars_per_s: 532.0174033571317
13
+ gen_batch_mean_ms: 175.48598863659427
14
+ gen_batch_p50_ms: 153.4417055081576
15
+ gen_batch_p95_ms: 343.1636362220159
16
+ gen_batch_max_ms: 1041.408182005398
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_60000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_60000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3282
5
+ token_accuracy: 0.31928435047026377
6
+ bleu: 18.72282952157622
7
+ perplexity: 2.993910315820002
8
+ num_samples: 5000
9
+ gen_wall_time_s: 203.61096290219575
10
+ gen_samples_per_s: 24.55663451875007
11
+ gen_time_per_sample_ms: 40.72219258043915
12
+ gen_chars_per_s: 549.4939879722629
13
+ gen_batch_mean_ms: 162.8887703217566
14
+ gen_batch_p50_ms: 143.41317699290812
15
+ gen_batch_p95_ms: 310.04469925537705
16
+ gen_batch_max_ms: 1205.2420629188418
17
+ gen_num_batches: 1250
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_72000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_72000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.322
5
+ token_accuracy: 0.32331518280178206
6
+ bleu: 16.71863598766819
7
+ perplexity: 2.9653935325591534
8
+ num_samples: 5000
9
+ gen_wall_time_s: 309.09055828885175
10
+ gen_samples_per_s: 16.176488947706364
11
+ gen_time_per_sample_ms: 61.818111657770345
12
+ gen_chars_per_s: 375.99983850490764
13
+ gen_batch_mean_ms: 123.6362233155407
14
+ gen_batch_p50_ms: 106.99726996244863
15
+ gen_batch_p95_ms: 258.04170356132084
16
+ gen_batch_max_ms: 788.3197760675102
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_79098.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_79098.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3298
5
+ token_accuracy: 0.320887254555312
6
+ bleu: 17.71138353050089
7
+ perplexity: 2.942476525271376
8
+ num_samples: 5000
9
+ gen_wall_time_s: 309.0561787857441
10
+ gen_samples_per_s: 16.178288425245473
11
+ gen_time_per_sample_ms: 61.81123575714882
12
+ gen_chars_per_s: 372.56980414497804
13
+ gen_batch_mean_ms: 123.62247151429764
14
+ gen_batch_p50_ms: 107.23386402241886
15
+ gen_batch_p95_ms: 263.92296123667614
16
+ gen_batch_max_ms: 876.8716310150921
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_84000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_84000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.329
5
+ token_accuracy: 0.3245880772222615
6
+ bleu: 16.9617629224614
7
+ perplexity: 3.0389716528850443
8
+ num_samples: 5000
9
+ gen_wall_time_s: 314.8586326778168
10
+ gen_samples_per_s: 15.880142645211558
11
+ gen_time_per_sample_ms: 62.97172653556336
12
+ gen_chars_per_s: 370.6679375674701
13
+ gen_batch_mean_ms: 125.94345307112671
14
+ gen_batch_p50_ms: 107.21351049141958
15
+ gen_batch_p95_ms: 267.4172037630342
16
+ gen_batch_max_ms: 861.1630159430206
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_checkpoint_step_96000.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: checkpoint_step_96000.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3256
5
+ token_accuracy: 0.3261202649506164
6
+ bleu: 17.503664376154067
7
+ perplexity: 3.005788407729942
8
+ num_samples: 5000
9
+ gen_wall_time_s: 315.26597137225326
10
+ gen_samples_per_s: 15.859624742361436
11
+ gen_time_per_sample_ms: 63.05319427445065
12
+ gen_chars_per_s: 372.6789779708544
13
+ gen_batch_mean_ms: 126.10638854890131
14
+ gen_batch_p50_ms: 107.08245052956045
15
+ gen_batch_p95_ms: 268.73391066328605
16
+ gen_batch_max_ms: 873.0702099855989
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_initial_checkpoint.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: initial_checkpoint
2
+ ================================================================================
3
+
4
+ exact_match: 0.0
5
+ token_accuracy: 0.2584211394762275
6
+ bleu: 0.9735244963491229
7
+ perplexity: 12.08306519007595
8
+ num_samples: 5000
9
+ gen_wall_time_s: 505.01385805231985
10
+ gen_samples_per_s: 9.900718406586767
11
+ gen_time_per_sample_ms: 101.00277161046398
12
+ gen_chars_per_s: 2175.0591245878272
13
+ gen_batch_mean_ms: 808.0221728837117
14
+ gen_batch_p50_ms: 783.4902260219678
15
+ gen_batch_p95_ms: 907.4296850711106
16
+ gen_batch_max_ms: 1885.9824809478596
17
+ gen_num_batches: 625
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_model_best.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: model_best.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.342
5
+ token_accuracy: 0.33460622775381277
6
+ bleu: 18.229909693407816
7
+ perplexity: 2.930694069292247
8
+ num_samples: 5000
9
+ gen_wall_time_s: 315.6722708721645
10
+ gen_samples_per_s: 15.839211933900945
11
+ gen_time_per_sample_ms: 63.1344541744329
12
+ gen_chars_per_s: 366.76645585663675
13
+ gen_batch_mean_ms: 126.2689083488658
14
+ gen_batch_p50_ms: 108.94419148098677
15
+ gen_batch_p95_ms: 268.3883103250988
16
+ gen_batch_max_ms: 867.4433380365372
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/metrics_model_final.txt ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Checkpoint: model_final.pt
2
+ ================================================================================
3
+
4
+ exact_match: 0.3458
5
+ token_accuracy: 0.3345119392782217
6
+ bleu: 17.63206076668849
7
+ perplexity: 2.9054952795351836
8
+ num_samples: 5000
9
+ gen_wall_time_s: 315.89769689075183
10
+ gen_samples_per_s: 15.82790900096106
11
+ gen_time_per_sample_ms: 63.179539378150366
12
+ gen_chars_per_s: 365.5075713955934
13
+ gen_batch_mean_ms: 126.35907875630073
14
+ gen_batch_p50_ms: 108.14683401258662
15
+ gen_batch_p95_ms: 269.0969737188425
16
+ gen_batch_max_ms: 891.0078270127997
17
+ gen_num_batches: 2500
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_latest.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_108000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_118647.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_12000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_24000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_36000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_39549.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_48000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_60000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_72000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_79098.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_84000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_checkpoint_step_96000.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_initial_checkpoint.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_model_best.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/predictions_model_final.txt ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/eval_results/summary.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ EVALUATION SUMMARY
2
+ ==================================================================================================
3
+
4
+ Checkpoint Exact Match Token Acc BLEU PERPLEXITY ms/sample samp/s
5
+ --------------------------------------------------------------------------------------------------
6
+ checkpoint_step_72000 32.20% 32.33% 16.72 2.97 61.8 16.18
7
+ checkpoint_step_79098 32.98% 32.09% 17.71 2.94 61.8 16.18
8
+ checkpoint_step_84000 32.90% 32.46% 16.96 3.04 63.0 15.88
9
+ checkpoint_step_96000 32.56% 32.61% 17.50 3.01 63.1 15.86
10
+ model_best 34.20% 33.46% 18.23 2.93 63.1 15.84
11
+ model_final 34.58% 33.45% 17.63 2.91 63.2 15.83
pythia_1b_rerun/pythia_1b_lr_2e-5/train.log ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/debug-internal.log ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2026-05-23T22:47:42.958656706Z","level":"INFO","msg":"stream: starting","core version":"0.24.0"}
2
+ {"time":"2026-05-23T22:47:43.340677291Z","level":"INFO","msg":"stream: created new stream","id":"l9w4bbvz"}
3
+ {"time":"2026-05-23T22:47:43.340753386Z","level":"INFO","msg":"handler: started","stream_id":"l9w4bbvz"}
4
+ {"time":"2026-05-23T22:47:43.340906156Z","level":"INFO","msg":"stream: started","id":"l9w4bbvz"}
5
+ {"time":"2026-05-23T22:47:43.340930302Z","level":"INFO","msg":"writer: started","stream_id":"l9w4bbvz"}
6
+ {"time":"2026-05-23T22:47:43.340957002Z","level":"INFO","msg":"sender: started","stream_id":"l9w4bbvz"}
7
+ {"time":"2026-05-23T22:47:43.525566664Z","level":"ERROR","msg":"git repo not found","error":"repository does not exist"}
8
+ {"time":"2026-05-24T15:56:08.713224566Z","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
9
+ {"time":"2026-05-24T15:56:08.816433414Z","level":"INFO","msg":"handler: operation stats","stats":{}}
10
+ {"time":"2026-05-24T15:56:08.820223515Z","level":"INFO","msg":"stream: closing","id":"l9w4bbvz"}
11
+ {"time":"2026-05-24T15:56:08.820246589Z","level":"INFO","msg":"handler: closed","stream_id":"l9w4bbvz"}
12
+ {"time":"2026-05-24T15:56:08.820433113Z","level":"INFO","msg":"sender: closed","stream_id":"l9w4bbvz"}
13
+ {"time":"2026-05-24T15:56:08.820445777Z","level":"INFO","msg":"stream: closed","id":"l9w4bbvz"}
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/debug.log ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2026-05-23 22:47:42,622 INFO MainThread:31611 [wandb_setup.py:_flush():81] Current SDK version is 0.24.0
2
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_setup.py:_flush():81] Configure stats pid to 31611
3
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_setup.py:_flush():81] Loading settings from environment variables
4
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:setup_run_log_directory():717] Logging user logs to outputs/pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug.log
5
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:setup_run_log_directory():718] Logging internal logs to outputs/pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-internal.log
6
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():844] calling init triggers
7
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():849] wandb.init called with sweep_config: {}
8
+ config: {'model': {'name': 'EleutherAI/pythia-1b', 'checkpoint_path': None, 'from_scratch': False}, 'training': {'epochs': 3, 'batch_size': 1, 'eval_batch_size': 1, 'gradient_accumulation_steps': 8, 'lr': 2e-05, 'weight_decay': 0.1, 'betas': [0.9, 0.95], 'eps': 1e-08, 'lr_scheduler': 'wsd', 'warmup_ratio': 0.1, 'decay_ratio': 0.2, 'warmup_steps': 100, 'min_lr_ratio': 0.1, 'max_grad_norm': 1.0, 'use_amp': True, 'gradient_checkpointing': True, 'resume': False, 'resume_checkpoint': None}, 'data': {'path': '/workspace/byte-llms-code/code_completion_exp/datasets/data_V4_full', 'max_context_len': 4096, 'max_target_len': 256, 'num_workers': 4, 'pin_memory': True, 'max_train_samples': None, 'max_val_samples': 2000}, 'logging': {'log_interval': 10, 'save_interval': 12000, 'eval_interval': 12000, 'save_every_epoch': True}, 'tracking': {'enabled': True, 'backend': 'wandb', 'project': 'code-completion_pythia-1b-rerun', 'run_name': 'pythia_1b_lr_2e-5', 'entity': None, 'base_url': 'https://wandb.platun0v.ru', 'local_dir': 'outputs/pythia_1b_rerun/pythia_1b_lr_2e-5'}, 'paths': {'output_dir': 'outputs/pythia_1b_rerun/pythia_1b_lr_2e-5'}, 'seed': 42, 'device': 'cuda', '_wandb': {'code_path': 'code/code_completion_exp/train_pythia/train.py'}}
9
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():892] starting backend
10
+ 2026-05-23 22:47:42,921 INFO MainThread:31611 [wandb_init.py:init():895] sending inform_init request
11
+ 2026-05-23 22:47:42,957 INFO MainThread:31611 [wandb_init.py:init():903] backend started and connected
12
+ 2026-05-23 22:47:42,960 INFO MainThread:31611 [wandb_init.py:init():973] updated telemetry
13
+ 2026-05-23 22:47:42,996 INFO MainThread:31611 [wandb_init.py:init():997] communicating run to backend with 90.0 second timeout
14
+ 2026-05-23 22:47:43,524 INFO MainThread:31611 [wandb_init.py:init():1044] starting run threads in backend
15
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_console_start():2529] atexit reg
16
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2377] redirect: wrap_raw
17
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2446] Wrapping output streams.
18
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2469] Redirects installed.
19
+ 2026-05-23 22:47:43,681 INFO MainThread:31611 [wandb_init.py:init():1084] run started, returning control to user process
20
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_finish():2295] finishing run nikita/code-completion_pythia-1b-rerun/l9w4bbvz
21
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_atexit_cleanup():2494] got exitcode: 0
22
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_restore():2476] restore
23
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_restore():2482] restore done
24
+ 2026-05-24 15:56:08,819 INFO MainThread:31611 [wandb_run.py:_footer_sync_info():3870] logging synced files
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/code/code_completion_exp/train_pythia/train.py ADDED
@@ -0,0 +1,615 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Training Pipeline для Pythia (decoder-only transformer) на задаче Code Completion.
3
+
4
+ Конфигурация через Hydra + OmegaConf, логирование в Trackio.
5
+ Поддержка DDP через Accelerate для multi-GPU тренировки.
6
+
7
+ Использование:
8
+ # Базовый запуск (single GPU)
9
+ python train.py
10
+
11
+ # Multi-GPU с Accelerate
12
+ accelerate launch train.py
13
+
14
+ # Multi-GPU с указанием количества GPU
15
+ accelerate launch --num_processes=4 train.py
16
+
17
+ # Переопределение параметров через CLI
18
+ python train.py training.lr=1e-4 training.epochs=5
19
+
20
+ # Выбор другого конфига модели
21
+ python train.py model=pythia_160m
22
+
23
+ # Multirun (sweep)
24
+ python train.py --multirun training.lr=1e-4,3e-4,1e-3
25
+
26
+ # Без логирования
27
+ python train.py tracking.enabled=false
28
+ """
29
+
30
+ import os
31
+ import math
32
+ import time
33
+ from pathlib import Path
34
+
35
+ import torch
36
+ import torch.nn as nn
37
+ import torch.nn.functional as F
38
+ from torch.utils.data import DataLoader
39
+ from datasets import load_from_disk
40
+
41
+ import hydra
42
+ from hydra.core.hydra_config import HydraConfig
43
+ from omegaconf import DictConfig, OmegaConf
44
+ from transformers import (
45
+ AutoTokenizer,
46
+ AutoModelForCausalLM,
47
+ AutoConfig,
48
+ PreTrainedTokenizerBase,
49
+ )
50
+ from accelerate import Accelerator
51
+ from accelerate.utils import set_seed as accelerate_set_seed
52
+
53
+ # Ensure repo root is on sys.path (needed when running from subdirectory)
54
+ import sys
55
+ sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
56
+
57
+ # Shared training library
58
+ from training_lib.utils import AverageMeter, log_message
59
+ from training_lib.checkpointing import save_checkpoint, load_checkpoint
60
+ from training_lib.schedulers import get_lr_scheduler
61
+ from training_lib.tracking import init_tracking, log_metrics, finish_tracking
62
+ from training_lib.validation import run_validation
63
+
64
+
65
+ # ============================================================================
66
+ # ДАННЫЕ
67
+ # ============================================================================
68
+
69
+
70
+ class CodeCompletionCollator:
71
+ """Collate function для батчирования примеров code completion."""
72
+
73
+ def __init__(
74
+ self,
75
+ tokenizer: PreTrainedTokenizerBase,
76
+ max_context_len: int = 1024,
77
+ max_target_len: int = 256,
78
+ ):
79
+ self.tokenizer = tokenizer
80
+ self.max_context_len = max_context_len
81
+ self.max_target_len = max_target_len
82
+ self.pad_token_id = tokenizer.pad_token_id
83
+
84
+ def __call__(self, batch: list[dict]) -> dict:
85
+ contexts = [item["context"] for item in batch]
86
+ targets = [item["target"] for item in batch]
87
+
88
+ encoded_contexts = self.tokenizer(
89
+ contexts,
90
+ add_special_tokens=True,
91
+ truncation=True,
92
+ max_length=self.max_context_len,
93
+ return_tensors=None,
94
+ )
95
+ encoded_targets = self.tokenizer(
96
+ targets,
97
+ add_special_tokens=False,
98
+ truncation=True,
99
+ max_length=self.max_target_len,
100
+ return_tensors=None,
101
+ )
102
+
103
+ input_ids_list = []
104
+ context_lengths = []
105
+
106
+ for ctx_ids, tgt_ids in zip(
107
+ encoded_contexts["input_ids"], encoded_targets["input_ids"]
108
+ ):
109
+ tgt_ids = tgt_ids + [self.tokenizer.eos_token_id]
110
+ context_lengths.append(len(ctx_ids))
111
+ input_ids_list.append(ctx_ids + tgt_ids)
112
+
113
+ max_len = max(len(ids) for ids in input_ids_list)
114
+
115
+ padded_input_ids = []
116
+ attention_mask = []
117
+
118
+ for ids in input_ids_list:
119
+ padding_len = max_len - len(ids)
120
+ padded_input_ids.append(ids + [self.pad_token_id] * padding_len)
121
+ attention_mask.append([1] * len(ids) + [0] * padding_len)
122
+
123
+ return {
124
+ "input_ids": torch.tensor(padded_input_ids, dtype=torch.long),
125
+ "attention_mask": torch.tensor(attention_mask, dtype=torch.long),
126
+ "context_lengths": torch.tensor(context_lengths, dtype=torch.long),
127
+ }
128
+
129
+
130
+ def create_dataloaders(
131
+ cfg: DictConfig, tokenizer: PreTrainedTokenizerBase
132
+ ) -> dict[str, DataLoader]:
133
+ """Создание DataLoader'ов для train и validation."""
134
+ dataset_dict = load_from_disk(cfg.data.path)
135
+
136
+ collator = CodeCompletionCollator(
137
+ tokenizer=tokenizer,
138
+ max_context_len=cfg.data.max_context_len,
139
+ max_target_len=cfg.data.max_target_len,
140
+ )
141
+
142
+ dataloaders = {}
143
+
144
+ if "train" in dataset_dict:
145
+ train_dataset = dataset_dict["train"]
146
+ max_train = cfg.data.get("max_train_samples", None)
147
+ if max_train is not None:
148
+ train_dataset = train_dataset.select(range(min(max_train, len(train_dataset))))
149
+ dataloaders["train"] = DataLoader(
150
+ train_dataset,
151
+ batch_size=cfg.training.batch_size,
152
+ shuffle=True,
153
+ collate_fn=collator,
154
+ num_workers=cfg.data.num_workers,
155
+ pin_memory=cfg.data.pin_memory,
156
+ )
157
+
158
+ if "validation" in dataset_dict:
159
+ val_dataset = dataset_dict["validation"]
160
+ max_val = cfg.data.get("max_val_samples", None)
161
+ if max_val is not None:
162
+ val_dataset = val_dataset.select(range(min(max_val, len(val_dataset))))
163
+ eval_batch_size = cfg.training.get("eval_batch_size", cfg.training.batch_size)
164
+ dataloaders["validation"] = DataLoader(
165
+ val_dataset,
166
+ batch_size=eval_batch_size,
167
+ shuffle=False,
168
+ collate_fn=collator,
169
+ num_workers=cfg.data.num_workers,
170
+ pin_memory=cfg.data.pin_memory,
171
+ )
172
+
173
+ return dataloaders
174
+
175
+
176
+
177
+
178
+ # ============================================================================
179
+ # LOSS ФУНКЦИИ
180
+ # ============================================================================
181
+
182
+
183
+ def compute_loss(
184
+ logits: torch.Tensor,
185
+ input_ids: torch.Tensor,
186
+ context_lengths: torch.Tensor,
187
+ attention_mask: torch.Tensor,
188
+ ) -> dict:
189
+ """Вычисление loss для авторегрессионной модели."""
190
+ batch_size, seq_len, vocab_size = logits.shape
191
+
192
+ shift_logits = logits[:, :-1, :].contiguous()
193
+ shift_labels = input_ids[:, 1:].contiguous()
194
+ shift_mask = attention_mask[:, 1:].contiguous()
195
+
196
+ target_mask = torch.zeros_like(shift_labels, dtype=torch.bool)
197
+ for i in range(batch_size):
198
+ ctx_len = context_lengths[i].item()
199
+ target_mask[i, ctx_len - 1 :] = True
200
+
201
+ final_mask = target_mask & shift_mask.bool()
202
+
203
+ if final_mask.sum() > 0:
204
+ loss = F.cross_entropy(
205
+ shift_logits[final_mask], shift_labels[final_mask], reduction="mean"
206
+ )
207
+ else:
208
+ loss = torch.tensor(0.0, device=logits.device)
209
+
210
+ return {"loss": loss}
211
+
212
+
213
+ def _pythia_forward_loss(
214
+ model: nn.Module,
215
+ batch: dict,
216
+ cfg: DictConfig,
217
+ accelerator: Accelerator,
218
+ ) -> dict:
219
+ """Forward + loss for a plain HF causal LM (attention_mask= kwarg, .logits)."""
220
+ input_ids = batch["input_ids"]
221
+ attention_mask = batch["attention_mask"]
222
+ context_lengths = batch["context_lengths"]
223
+ output = model(input_ids, attention_mask=attention_mask)
224
+ return compute_loss(output.logits, input_ids, context_lengths, attention_mask)
225
+
226
+
227
+ # ============================================================================
228
+ # PARAMETER GROUPING
229
+ # ============================================================================
230
+
231
+
232
+ def group_params(model: nn.Module, weight_decay: float) -> list[dict]:
233
+ """Группировка параметров для optimizer."""
234
+ decay_params = []
235
+ no_decay_params = []
236
+
237
+ for name, param in model.named_parameters():
238
+ if not param.requires_grad:
239
+ continue
240
+
241
+ if "bias" in name or "LayerNorm" in name or "layernorm" in name:
242
+ no_decay_params.append(param)
243
+ else:
244
+ decay_params.append(param)
245
+
246
+ return [
247
+ {"params": decay_params, "weight_decay": weight_decay},
248
+ {"params": no_decay_params, "weight_decay": 0.0},
249
+ ]
250
+
251
+
252
+
253
+
254
+ # ============================================================================
255
+ # TRAINING LOOP
256
+ # ============================================================================
257
+
258
+
259
+ def train_epoch(
260
+ model: nn.Module,
261
+ dataloader: DataLoader,
262
+ optimizer: torch.optim.Optimizer,
263
+ scheduler,
264
+ cfg: DictConfig,
265
+ epoch: int,
266
+ global_step: int,
267
+ accelerator: Accelerator,
268
+ val_dataloader: DataLoader | None = None,
269
+ best_val_loss: float = float("inf"),
270
+ ) -> tuple[int, float]:
271
+ """Один epoch тренировки. Возвращает (global_step, best_val_loss)."""
272
+ model.train()
273
+
274
+ loss_meter = AverageMeter()
275
+
276
+ optimizer.zero_grad()
277
+ accumulated_loss = 0.0
278
+ accumulated_steps = 0
279
+
280
+ epoch_start_time = time.time()
281
+ step_start_time = time.time()
282
+
283
+ for batch_idx, batch in enumerate(dataloader):
284
+ input_ids = batch["input_ids"]
285
+ attention_mask = batch["attention_mask"]
286
+ context_lengths = batch["context_lengths"]
287
+
288
+ with accelerator.autocast():
289
+ output = model(input_ids, attention_mask=attention_mask)
290
+ logits = output.logits
291
+ loss_dict = compute_loss(
292
+ logits, input_ids, context_lengths, attention_mask
293
+ )
294
+
295
+ loss = loss_dict["loss"] / cfg.training.gradient_accumulation_steps
296
+ accelerator.backward(loss)
297
+
298
+ accumulated_loss += loss_dict["loss"].item()
299
+ accumulated_steps += 1
300
+
301
+ if accumulated_steps == cfg.training.gradient_accumulation_steps:
302
+ if cfg.training.max_grad_norm > 0:
303
+ accelerator.clip_grad_norm_(
304
+ model.parameters(), cfg.training.max_grad_norm
305
+ )
306
+
307
+ optimizer.step()
308
+ scheduler.step()
309
+ optimizer.zero_grad()
310
+
311
+ avg_loss = accumulated_loss / cfg.training.gradient_accumulation_steps
312
+ loss_meter.update(avg_loss)
313
+
314
+ global_step += 1
315
+
316
+ if global_step % cfg.logging.log_interval == 0:
317
+ step_time = time.time() - step_start_time
318
+ current_lr = scheduler.get_last_lr()[0]
319
+
320
+ metrics = {
321
+ "train/loss": loss_meter.val,
322
+ "train/loss_avg": loss_meter.avg,
323
+ "train/lr": current_lr,
324
+ "train/epoch": epoch,
325
+ "train/step_time": step_time / cfg.logging.log_interval,
326
+ }
327
+
328
+ log_metrics(metrics, step=global_step)
329
+
330
+ log_message(
331
+ f"Epoch {epoch} | Step {global_step} | "
332
+ f"Loss: {loss_meter.avg:.4f} | "
333
+ f"LR: {current_lr:.2e}",
334
+ cfg,
335
+ accelerator,
336
+ )
337
+
338
+ step_start_time = time.time()
339
+
340
+ if (
341
+ cfg.logging.save_interval > 0
342
+ and global_step % cfg.logging.save_interval == 0
343
+ ):
344
+ save_checkpoint(
345
+ model, optimizer, scheduler, global_step, epoch, cfg, accelerator
346
+ )
347
+
348
+ eval_interval = cfg.logging.get("eval_interval", 0)
349
+ if (
350
+ eval_interval > 0
351
+ and val_dataloader is not None
352
+ and global_step % eval_interval == 0
353
+ ):
354
+ val_metrics = run_validation(
355
+ model=model,
356
+ dataloader=val_dataloader,
357
+ cfg=cfg,
358
+ global_step=global_step,
359
+ accelerator=accelerator,
360
+ forward_loss_fn=_pythia_forward_loss,
361
+ )
362
+
363
+ if val_metrics["val/loss"] < best_val_loss:
364
+ best_val_loss = val_metrics["val/loss"]
365
+ if accelerator.is_main_process:
366
+ best_model_path = Path(cfg.paths.output_dir) / "model_best.pt"
367
+ unwrapped_model = accelerator.unwrap_model(model)
368
+ torch.save(unwrapped_model.state_dict(), best_model_path)
369
+ log_message(
370
+ f"New best model saved! Val loss: {best_val_loss:.4f}",
371
+ cfg,
372
+ accelerator
373
+ )
374
+
375
+ log_metrics(
376
+ {
377
+ "best/val_loss": best_val_loss,
378
+ "best/val_perplexity": val_metrics["val/perplexity"],
379
+ "best/step": global_step,
380
+ },
381
+ step=global_step,
382
+ )
383
+
384
+ model.train()
385
+
386
+ accumulated_loss = 0.0
387
+ accumulated_steps = 0
388
+
389
+ epoch_time = time.time() - epoch_start_time
390
+
391
+ log_message(
392
+ f"Epoch {epoch} completed in {epoch_time:.2f}s | "
393
+ f"Loss: {loss_meter.avg:.4f}",
394
+ cfg,
395
+ accelerator,
396
+ )
397
+
398
+ log_metrics({
399
+ "epoch/loss": loss_meter.avg,
400
+ "epoch/time": epoch_time,
401
+ })
402
+
403
+ return global_step, best_val_loss
404
+
405
+
406
+ # ============================================================================
407
+ # MAIN
408
+ # ============================================================================
409
+
410
+
411
+ @hydra.main(version_base=None, config_path="configs", config_name="config")
412
+ def main(cfg: DictConfig):
413
+ """Главная функция тренировки с поддержкой DDP через Accelerate."""
414
+
415
+ # === Performance: Enable TF32 for faster matmuls on Ampere+ GPUs ===
416
+ torch.set_float32_matmul_precision('high')
417
+
418
+ # === Accelerator Setup ===
419
+ mixed_precision = "bf16" if cfg.training.use_amp else "no"
420
+
421
+ accelerator = Accelerator(
422
+ mixed_precision=mixed_precision,
423
+ gradient_accumulation_steps=cfg.training.gradient_accumulation_steps,
424
+ )
425
+
426
+ # === Setup ===
427
+ accelerate_set_seed(cfg.seed)
428
+
429
+ if cfg.paths.output_dir is None:
430
+ cfg.paths.output_dir = HydraConfig.get().runtime.output_dir
431
+
432
+ OmegaConf.resolve(cfg)
433
+
434
+ log_message(f"CUDA_VISIBLE_DEVICES: {os.environ.get('CUDA_VISIBLE_DEVICES', 'not set')}", cfg, accelerator)
435
+ log_message(f"Number of processes: {accelerator.num_processes}", cfg, accelerator)
436
+ log_message(f"Process index: {accelerator.process_index}", cfg, accelerator)
437
+ log_message(f"Mixed precision: {mixed_precision}", cfg, accelerator)
438
+
439
+ log_message("=" * 60, cfg, accelerator)
440
+ log_message("Pythia Training Pipeline (Hydra + Trackio + Accelerate)", cfg, accelerator)
441
+ log_message("=" * 60, cfg, accelerator)
442
+ log_message(f"Config:\n{OmegaConf.to_yaml(cfg)}", cfg, accelerator)
443
+
444
+ # === Trackio Init ===
445
+ init_tracking(cfg, accelerator)
446
+
447
+ # === Tokenizer ===
448
+ log_message("Initializing tokenizer...", cfg, accelerator)
449
+ tokenizer = AutoTokenizer.from_pretrained(cfg.model.name)
450
+
451
+ if tokenizer.pad_token is None:
452
+ tokenizer.pad_token = tokenizer.eos_token
453
+ tokenizer.pad_token_id = tokenizer.eos_token_id
454
+
455
+ # === Model ===
456
+ log_message("Loading model...", cfg, accelerator)
457
+
458
+ # Flash Attention 2
459
+ torch_dtype = torch.bfloat16 if cfg.training.use_amp else torch.float32
460
+
461
+ if cfg.model.checkpoint_path:
462
+ model = AutoModelForCausalLM.from_pretrained(
463
+ cfg.model.name,
464
+ attn_implementation="flash_attention_2",
465
+ torch_dtype=torch_dtype,
466
+ )
467
+ checkpoint = torch.load(cfg.model.checkpoint_path, map_location="cpu")
468
+ model.load_state_dict(checkpoint["model_state_dict"] if "model_state_dict" in checkpoint else checkpoint)
469
+ log_message(f"Loaded checkpoint: {cfg.model.checkpoint_path}", cfg, accelerator)
470
+ elif cfg.model.from_scratch:
471
+ config = AutoConfig.from_pretrained(cfg.model.name)
472
+ config._attn_implementation = "flash_attention_2"
473
+ model = AutoModelForCausalLM.from_config(config, torch_dtype=torch_dtype)
474
+ log_message(f"Initialized from scratch: {cfg.model.name}", cfg, accelerator)
475
+ else:
476
+ model = AutoModelForCausalLM.from_pretrained(
477
+ cfg.model.name,
478
+ attn_implementation="flash_attention_2",
479
+ torch_dtype=torch_dtype,
480
+ )
481
+ log_message(f"Loaded pretrained: {cfg.model.name}", cfg, accelerator)
482
+
483
+ if cfg.training.get("gradient_checkpointing", False):
484
+ if hasattr(model, "gradient_checkpointing_enable"):
485
+ model.gradient_checkpointing_enable()
486
+ if hasattr(model.config, "use_cache"):
487
+ model.config.use_cache = False
488
+ log_message("Gradient checkpointing enabled", cfg, accelerator)
489
+ else:
490
+ log_message("Gradient checkpointing requested but not supported by this model", cfg, accelerator)
491
+
492
+ model.train()
493
+
494
+ # Log model info
495
+ total_params = sum(p.numel() for p in model.parameters())
496
+ trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
497
+ log_message(f"Total params: {total_params:,}", cfg, accelerator)
498
+ log_message(f"Trainable params: {trainable_params:,}", cfg, accelerator)
499
+
500
+ # === Data ===
501
+ log_message("Creating dataloaders...", cfg, accelerator)
502
+ dataloaders = create_dataloaders(cfg, tokenizer)
503
+
504
+ train_dataloader = dataloaders["train"]
505
+ val_dataloader = dataloaders.get("validation", None)
506
+
507
+ log_message(f"Train dataset size: {len(train_dataloader.dataset)}", cfg, accelerator)
508
+ log_message(f"Train batches per epoch (before DDP split): {len(train_dataloader)}", cfg, accelerator)
509
+
510
+ if val_dataloader:
511
+ log_message(f"Validation dataset size: {len(val_dataloader.dataset)}", cfg, accelerator)
512
+ log_message(f"Validation batches: {len(val_dataloader)}", cfg, accelerator)
513
+ else:
514
+ log_message("No validation dataset found", cfg, accelerator)
515
+
516
+ # === Optimizer ===
517
+ log_message("Creating optimizer...", cfg, accelerator)
518
+ param_groups = group_params(model, cfg.training.weight_decay)
519
+
520
+ optimizer = torch.optim.AdamW(
521
+ param_groups,
522
+ lr=cfg.training.lr,
523
+ betas=tuple(cfg.training.betas),
524
+ eps=cfg.training.eps,
525
+ )
526
+
527
+ # === Scheduler ===
528
+ steps_per_epoch = math.ceil(
529
+ len(train_dataloader) / accelerator.num_processes
530
+ )
531
+ total_steps = (
532
+ cfg.training.epochs
533
+ * steps_per_epoch
534
+ // cfg.training.gradient_accumulation_steps
535
+ )
536
+ scheduler = get_lr_scheduler(optimizer, cfg, total_steps)
537
+
538
+ log_message(
539
+ f"Total steps: {total_steps}, Steps per epoch: {steps_per_epoch}",
540
+ cfg,
541
+ accelerator
542
+ )
543
+
544
+ # === Accelerate Prepare ===
545
+ log_message("Preparing model, optimizer, and dataloaders with Accelerate...", cfg, accelerator)
546
+
547
+ if val_dataloader is not None:
548
+ model, optimizer, train_dataloader, val_dataloader, scheduler = accelerator.prepare(
549
+ model, optimizer, train_dataloader, val_dataloader, scheduler
550
+ )
551
+ else:
552
+ model, optimizer, train_dataloader, scheduler = accelerator.prepare(
553
+ model, optimizer, train_dataloader, scheduler
554
+ )
555
+
556
+ log_message(f"Train batches per epoch (after DDP split): {len(train_dataloader)}", cfg, accelerator)
557
+
558
+ # === Resume ===
559
+ global_step = 0
560
+ start_epoch = 1
561
+
562
+ if cfg.training.resume and cfg.training.resume_checkpoint:
563
+ global_step, start_epoch = load_checkpoint(
564
+ model, optimizer, scheduler, cfg.training.resume_checkpoint, cfg, accelerator
565
+ )
566
+ start_epoch += 1
567
+
568
+ # === Training Loop ===
569
+ log_message("Starting training...", cfg, accelerator)
570
+
571
+ best_val_loss = float("inf")
572
+
573
+ try:
574
+ for epoch in range(start_epoch, cfg.training.epochs + 1):
575
+ log_message(f"\n{'=' * 60}", cfg, accelerator)
576
+ log_message(f"EPOCH {epoch}/{cfg.training.epochs}", cfg, accelerator)
577
+ log_message(f"{'=' * 60}", cfg, accelerator)
578
+
579
+ global_step, best_val_loss = train_epoch(
580
+ model=model,
581
+ dataloader=train_dataloader,
582
+ optimizer=optimizer,
583
+ scheduler=scheduler,
584
+ cfg=cfg,
585
+ epoch=epoch,
586
+ global_step=global_step,
587
+ accelerator=accelerator,
588
+ val_dataloader=val_dataloader,
589
+ best_val_loss=best_val_loss,
590
+ )
591
+
592
+ if cfg.logging.save_every_epoch:
593
+ save_checkpoint(
594
+ model, optimizer, scheduler, global_step, epoch, cfg, accelerator
595
+ )
596
+
597
+ except KeyboardInterrupt:
598
+ log_message("Training interrupted by user", cfg, accelerator)
599
+ save_checkpoint(model, optimizer, scheduler, global_step, epoch, cfg, accelerator)
600
+
601
+ # === Final Save ===
602
+ log_message("\nTraining completed!", cfg, accelerator)
603
+
604
+ if accelerator.is_main_process:
605
+ final_model_path = Path(cfg.paths.output_dir) / "model_final.pt"
606
+ unwrapped_model = accelerator.unwrap_model(model)
607
+ torch.save(unwrapped_model.state_dict(), final_model_path)
608
+ log_message(f"Final model: {final_model_path}", cfg, accelerator)
609
+
610
+ accelerator.wait_for_everyone()
611
+ finish_tracking()
612
+
613
+
614
+ if __name__ == "__main__":
615
+ main()
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/config.yaml ADDED
@@ -0,0 +1,124 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _wandb:
2
+ value:
3
+ cli_version: 0.24.0
4
+ code_path: code/code_completion_exp/train_pythia/train.py
5
+ e:
6
+ j28hszir4t4f3z6gdnpmywfj4lyk0mju:
7
+ codePath: code_completion_exp/train_pythia/train.py
8
+ codePathLocal: train.py
9
+ cpu_count: 32
10
+ cpu_count_logical: 64
11
+ cudaVersion: "12.7"
12
+ disk:
13
+ /:
14
+ total: "207232172032"
15
+ used: "44856893440"
16
+ email: nikita@local.ru
17
+ executable: /venv/bytellm/bin/python
18
+ git:
19
+ commit: 71d0b08221a685157b26484b9c9ef2e9ced3e783
20
+ remote: https://github.com/naryst/byte-llms-code.git
21
+ gpu: NVIDIA GeForce RTX 4090
22
+ gpu_count: 1
23
+ gpu_nvidia:
24
+ - architecture: Ada
25
+ cudaCores: 16384
26
+ memoryTotal: "25757220864"
27
+ name: NVIDIA GeForce RTX 4090
28
+ uuid: GPU-f251e903-dbf7-df97-a438-a37f8506d6f9
29
+ host: c46590d05c20
30
+ memory:
31
+ total: "270057459712"
32
+ os: Linux-5.15.0-177-generic-x86_64-with-glibc2.39
33
+ program: /workspace/byte-llms-code/code_completion_exp/train_pythia/train.py
34
+ python: CPython 3.12.0
35
+ root: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
36
+ startedAt: "2026-05-23T22:47:42.621546Z"
37
+ writerId: j28hszir4t4f3z6gdnpmywfj4lyk0mju
38
+ m: []
39
+ python_version: 3.12.0
40
+ t:
41
+ "1":
42
+ - 1
43
+ - 11
44
+ - 49
45
+ - 50
46
+ - 51
47
+ - 71
48
+ - 105
49
+ "2":
50
+ - 1
51
+ - 11
52
+ - 49
53
+ - 50
54
+ - 51
55
+ - 71
56
+ - 105
57
+ "3":
58
+ - 2
59
+ - 13
60
+ - 16
61
+ - 61
62
+ "4": 3.12.0
63
+ "5": 0.24.0
64
+ "6": 4.57.6
65
+ "12": 0.24.0
66
+ "13": linux-x86_64
67
+ data:
68
+ value:
69
+ max_context_len: 4096
70
+ max_target_len: 256
71
+ max_train_samples: null
72
+ max_val_samples: 2000
73
+ num_workers: 4
74
+ path: /workspace/byte-llms-code/code_completion_exp/datasets/data_V4_full
75
+ pin_memory: true
76
+ device:
77
+ value: cuda
78
+ logging:
79
+ value:
80
+ eval_interval: 12000
81
+ log_interval: 10
82
+ save_every_epoch: true
83
+ save_interval: 12000
84
+ model:
85
+ value:
86
+ checkpoint_path: null
87
+ from_scratch: false
88
+ name: EleutherAI/pythia-1b
89
+ paths:
90
+ value:
91
+ output_dir: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
92
+ seed:
93
+ value: 42
94
+ tracking:
95
+ value:
96
+ backend: wandb
97
+ base_url: https://wandb.platun0v.ru
98
+ enabled: true
99
+ entity: null
100
+ local_dir: outputs/pythia_1b_rerun/pythia_1b_lr_2e-5
101
+ project: code-completion_pythia-1b-rerun
102
+ run_name: pythia_1b_lr_2e-5
103
+ training:
104
+ value:
105
+ batch_size: 1
106
+ betas:
107
+ - 0.9
108
+ - 0.95
109
+ decay_ratio: 0.2
110
+ epochs: 3
111
+ eps: 1e-08
112
+ eval_batch_size: 1
113
+ gradient_accumulation_steps: 8
114
+ gradient_checkpointing: true
115
+ lr: 2e-05
116
+ lr_scheduler: wsd
117
+ max_grad_norm: 1
118
+ min_lr_ratio: 0.1
119
+ resume: false
120
+ resume_checkpoint: null
121
+ use_amp: true
122
+ warmup_ratio: 0.1
123
+ warmup_steps: 100
124
+ weight_decay: 0.1
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/output.log ADDED
The diff for this file is too large to render. See raw diff
 
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/requirements.txt ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ setuptools==78.1.1
2
+ wheel==0.45.1
3
+ pip==25.2
4
+ webencodings==0.5.1
5
+ triton==3.2.0
6
+ pytz==2025.2
7
+ pydub==0.25.1
8
+ pure_eval==0.2.3
9
+ ptyprocess==0.7.0
10
+ nvidia-ml-py==13.590.48
11
+ nvidia-cusparselt-cu12==0.6.2
12
+ mpmath==1.3.0
13
+ ipython-genutils==0.2.0
14
+ fastjsonschema==2.21.2
15
+ brotli==1.2.0
16
+ antlr4-python3-runtime==4.9.3
17
+ xxhash==3.6.0
18
+ widgetsnbextension==4.0.14
19
+ websocket-client==1.9.0
20
+ webcolors==24.11.1
21
+ wcwidth==0.2.14
22
+ urllib3==2.5.0
23
+ uri-template==1.3.0
24
+ tzdata==2025.2
25
+ typing_extensions==4.15.0
26
+ types-python-dateutil==2.9.0.20251008
27
+ traitlets==5.14.3
28
+ tqdm==4.67.1
29
+ tornado==6.5.2
30
+ tomlkit==0.13.3
31
+ tinycss2==1.4.0
32
+ tabulate==0.9.0
33
+ sympy==1.13.1
34
+ soupsieve==2.8
35
+ sniffio==1.3.1
36
+ smmap==5.0.2
37
+ six==1.17.0
38
+ shellingham==1.5.4
39
+ Send2Trash==1.8.3
40
+ semantic-version==2.10.0
41
+ safetensors==0.6.2
42
+ rpds-py==0.27.1
43
+ rfc3986-validator==0.1.1
44
+ regex==2025.9.18
45
+ pyzmq==27.1.0
46
+ PyYAML==6.0.3
47
+ python-multipart==0.0.22
48
+ python-json-logger==4.0.0
49
+ python-dotenv==1.2.1
50
+ pyparsing==3.2.5
51
+ PyJWT==2.8.0
52
+ Pygments==2.19.2
53
+ pycparser==2.23
54
+ pyarrow==22.0.0
55
+ psutil==7.1.0
56
+ protobuf==6.33.4
57
+ propcache==0.4.1
58
+ prometheus_client==0.23.1
59
+ portalocker==3.2.0
60
+ platformdirs==4.5.0
61
+ pillow==11.3.0
62
+ pexpect==4.9.0
63
+ pathspec==1.0.4
64
+ parso==0.8.5
65
+ pandocfilters==1.5.1
66
+ packaging==25.0
67
+ orjson==3.11.6
68
+ opt_einsum==3.4.0
69
+ nvidia-nvtx-cu12==12.4.127
70
+ nvidia-nvjitlink-cu12==12.4.127
71
+ nvidia-nccl-cu12==2.21.5
72
+ nvidia-curand-cu12==10.3.5.147
73
+ nvidia-cufile-cu12==1.13.1.3
74
+ nvidia-cufft-cu12==11.2.1.3
75
+ nvidia-cuda-runtime-cu12==12.4.127
76
+ nvidia-cuda-nvrtc-cu12==12.4.127
77
+ nvidia-cuda-cupti-cu12==12.4.127
78
+ nvidia-cublas-cu12==12.4.5.8
79
+ numpy==2.3.3
80
+ ninja==1.13.0
81
+ networkx==3.5
82
+ nest-asyncio==1.6.0
83
+ narwhals==2.15.0
84
+ mypy_extensions==1.1.0
85
+ multidict==6.7.0
86
+ mistune==3.1.4
87
+ mdurl==0.1.2
88
+ MarkupSafe==3.0.3
89
+ lxml==6.0.2
90
+ librt==0.8.0
91
+ lark==1.3.0
92
+ kiwisolver==1.4.9
93
+ jupyterlab_widgets==3.0.15
94
+ jupyterlab_pygments==0.3.0
95
+ jsonpointer==3.0.0
96
+ json5==0.12.1
97
+ itsdangerous==2.2.0
98
+ idna==3.10
99
+ hf-xet==1.1.10
100
+ h11==0.16.0
101
+ groovy==0.1.2
102
+ fsspec==2025.9.0
103
+ frozenlist==1.8.0
104
+ fqdn==1.5.1
105
+ fonttools==4.60.1
106
+ filelock==3.19.1
107
+ ffmpy==1.0.0
108
+ executing==2.2.1
109
+ einops==0.8.1
110
+ dill==0.4.0
111
+ defusedxml==0.7.1
112
+ decorator==5.2.1
113
+ debugpy==1.8.17
114
+ dacite==1.9.2
115
+ cycler==0.12.1
116
+ comm==0.2.3
117
+ colorama==0.4.6
118
+ click==8.3.1
119
+ charset-normalizer==3.4.3
120
+ certifi==2025.10.5
121
+ bleach==6.2.0
122
+ babel==2.17.0
123
+ attrs==25.4.0
124
+ async-lru==2.0.5
125
+ asttokens==3.0.0
126
+ annotated-types==0.7.0
127
+ annotated-doc==0.0.4
128
+ aiohappyeyeballs==2.6.1
129
+ aiofiles==24.1.0
130
+ yarl==1.22.0
131
+ uvicorn==0.40.0
132
+ typing-inspection==0.4.2
133
+ terminado==0.18.1
134
+ stack-data==0.6.3
135
+ sentry-sdk==2.50.0
136
+ scipy==1.17.0
137
+ sacrebleu==2.6.0
138
+ rfc3987-syntax==1.1.0
139
+ rfc3339-validator==0.1.4
140
+ requests==2.32.5
141
+ reportlab==4.4.9
142
+ referencing==0.36.2
143
+ python-dateutil==2.9.0.post0
144
+ pydantic_core==2.41.5
145
+ prompt_toolkit==3.0.52
146
+ plotly==6.5.2
147
+ pathlib2==2.3.7.post1
148
+ orderedmultidict==1.0.2
149
+ optree==0.17.0
150
+ omegaconf==2.3.0
151
+ nvidia-cusparse-cu12==12.3.1.170
152
+ nvidia-cudnn-cu12==9.1.0.70
153
+ mypy==1.19.1
154
+ multiprocess==0.70.16
155
+ matplotlib-inline==0.1.7
156
+ markdown-it-py==4.0.0
157
+ jupyter_core==5.8.1
158
+ Jinja2==3.1.6
159
+ jedi==0.19.2
160
+ ipython_pygments_lexers==1.1.1
161
+ httpcore==1.0.9
162
+ gitdb==4.0.12
163
+ ftfy==6.3.1
164
+ contourpy==1.3.3
165
+ cffi==2.0.0
166
+ beautifulsoup4==4.14.2
167
+ anyio==4.11.0
168
+ aiosignal==1.4.0
169
+ starlette==0.50.0
170
+ rich==14.2.0
171
+ pydantic==2.12.5
172
+ pandas==2.3.3
173
+ nvidia-cusolver-cu12==11.6.1.9
174
+ matplotlib==3.10.7
175
+ jupyter_server_terminals==0.5.3
176
+ jupyter_client==8.6.3
177
+ jsonschema-specifications==2025.9.1
178
+ ipython==9.6.0
179
+ hydra-core==1.3.2
180
+ huggingface-hub==0.35.3
181
+ httpx==0.28.1
182
+ GitPython==3.1.46
183
+ furl==2.1.4
184
+ cryptography==46.0.4
185
+ arrow==1.3.0
186
+ argon2-cffi-bindings==25.1.0
187
+ aiohttp==3.13.1
188
+ wandb==0.24.0
189
+ typer==0.21.1
190
+ torch==2.6.0
191
+ tokenizers==0.22.1
192
+ seaborn==0.13.2
193
+ safehttpx==0.1.7
194
+ jsonschema==4.25.1
195
+ joypy==0.2.6
196
+ isoduration==20.11.0
197
+ ipywidgets==8.1.7
198
+ ipykernel==6.30.1
199
+ gradio_client==2.0.3
200
+ fastapi==0.128.0
201
+ Authlib==1.6.6
202
+ argon2-cffi==25.1.0
203
+ transformers==4.57.6
204
+ nbformat==5.10.4
205
+ mlstm_kernels==2.0.2
206
+ jupyter-console==6.6.3
207
+ gradio==6.5.1
208
+ datasets==4.3.0
209
+ clearml==1.16.4
210
+ accelerate==1.10.1
211
+ xlstm==2.0.4
212
+ nbclient==0.10.2
213
+ jupyter-events==0.12.0
214
+ trackio==0.15.0
215
+ nbconvert==7.16.6
216
+ jupyter_server==2.17.0
217
+ notebook_shim==0.2.4
218
+ jupyterlab_server==2.27.3
219
+ jupyter-lsp==2.3.0
220
+ nbclassic==1.3.3
221
+ jupyterlab==4.4.9
222
+ notebook==7.4.7
223
+ jupyter_contrib_core==0.4.2
224
+ jupyter==1.1.1
225
+ jupyter_nbextensions_configurator==0.6.4
226
+ causal-conv1d==1.5.0.post8
227
+ flash_attn==2.7.4.post1
228
+ mamba-ssm==2.2.4
229
+ hnet==0.0.1
230
+ autocommand==2.2.2
231
+ backports.tarfile==1.2.0
232
+ importlib_metadata==8.0.0
233
+ inflect==7.3.1
234
+ jaraco.collections==5.1.0
235
+ jaraco.context==5.3.0
236
+ jaraco.functools==4.0.1
237
+ jaraco.text==3.12.1
238
+ more-itertools==10.3.0
239
+ packaging==24.2
240
+ platformdirs==4.2.2
241
+ tomli==2.0.1
242
+ typeguard==4.3.0
243
+ typing_extensions==4.12.2
244
+ wheel==0.45.1
245
+ zipp==3.19.2
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/wandb-metadata.json ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Linux-5.15.0-177-generic-x86_64-with-glibc2.39",
3
+ "python": "CPython 3.12.0",
4
+ "startedAt": "2026-05-23T22:47:42.621546Z",
5
+ "program": "/workspace/byte-llms-code/code_completion_exp/train_pythia/train.py",
6
+ "codePath": "code_completion_exp/train_pythia/train.py",
7
+ "codePathLocal": "train.py",
8
+ "git": {
9
+ "remote": "https://github.com/naryst/byte-llms-code.git",
10
+ "commit": "71d0b08221a685157b26484b9c9ef2e9ced3e783"
11
+ },
12
+ "email": "nikita@local.ru",
13
+ "root": "outputs/pythia_1b_rerun/pythia_1b_lr_2e-5",
14
+ "host": "c46590d05c20",
15
+ "executable": "/venv/bytellm/bin/python",
16
+ "cpu_count": 32,
17
+ "cpu_count_logical": 64,
18
+ "gpu": "NVIDIA GeForce RTX 4090",
19
+ "gpu_count": 1,
20
+ "disk": {
21
+ "/": {
22
+ "total": "207232172032",
23
+ "used": "44856893440"
24
+ }
25
+ },
26
+ "memory": {
27
+ "total": "270057459712"
28
+ },
29
+ "gpu_nvidia": [
30
+ {
31
+ "name": "NVIDIA GeForce RTX 4090",
32
+ "memoryTotal": "25757220864",
33
+ "cudaCores": 16384,
34
+ "architecture": "Ada",
35
+ "uuid": "GPU-f251e903-dbf7-df97-a438-a37f8506d6f9"
36
+ }
37
+ ],
38
+ "cudaVersion": "12.7",
39
+ "writerId": "j28hszir4t4f3z6gdnpmywfj4lyk0mju"
40
+ }
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"val/perplexity":2.8824910168870903,"train/loss_avg":0.6821086985113158,"_wandb":{"runtime":61704},"_timestamp":1.779638148791434e+09,"best/step":108000,"train/loss":0.5170634409005288,"epoch/time":20568.791637182236,"epoch/loss":0.6821001285673051,"best/val_loss":0.8750952611892899,"val/loss":0.8750952611892899,"_step":118640,"train/epoch":3,"val/time":28.614930391311646,"best/val_perplexity":2.8824910168870903,"train/lr":2.0000050481624245e-06,"_runtime":61704,"train/step_time":0.5215320110321044}
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-core.log ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2026-05-23T22:47:42.731172754Z","level":"INFO","msg":"main: starting server","port-filename":"/tmp/tmpiuyjhrfs/port-31611.txt","pid":31611,"log-level":0,"disable-analytics":false,"shutdown-on-parent-exit":false,"enable-dcgm-profiling":false}
2
+ {"time":"2026-05-23T22:47:42.731757846Z","level":"INFO","msg":"server: will exit if parent process dies","ppid":31611}
3
+ {"time":"2026-05-23T22:47:42.731721366Z","level":"INFO","msg":"server: accepting connections","addr":{"Name":"/tmp/wandb-31611-31693-3034466127/socket","Net":"unix"}}
4
+ {"time":"2026-05-23T22:47:42.921220648Z","level":"INFO","msg":"connection: ManageConnectionData: new connection created","id":"1(@)"}
5
+ {"time":"2026-05-23T22:47:42.958524815Z","level":"INFO","msg":"handleInformInit: received","streamId":"l9w4bbvz","id":"1(@)"}
6
+ {"time":"2026-05-23T22:47:43.340918058Z","level":"INFO","msg":"handleInformInit: stream started","streamId":"l9w4bbvz","id":"1(@)"}
7
+ {"time":"2026-05-24T15:56:08.820034115Z","level":"INFO","msg":"handleInformFinish: finish message received","streamId":"l9w4bbvz","id":"1(@)"}
8
+ {"time":"2026-05-24T15:56:08.821855385Z","level":"INFO","msg":"handleInformFinish: stream closed","streamId":"l9w4bbvz","id":"1(@)"}
9
+ {"time":"2026-05-24T15:56:08.834671333Z","level":"INFO","msg":"handleInformTeardown: server teardown initiated","id":"1(@)"}
10
+ {"time":"2026-05-24T15:56:08.8347118Z","level":"INFO","msg":"handleInformTeardown: server shutdown complete","id":"1(@)"}
11
+ {"time":"2026-05-24T15:56:08.834725556Z","level":"INFO","msg":"server is shutting down"}
12
+ {"time":"2026-05-24T15:56:08.834725947Z","level":"INFO","msg":"connection: closing","id":"1(@)"}
13
+ {"time":"2026-05-24T15:56:08.834781312Z","level":"INFO","msg":"connection: closed successfully","id":"1(@)"}
14
+ {"time":"2026-05-24T15:56:08.834788536Z","level":"INFO","msg":"connection: ManageConnectionData: connection closed","id":"1(@)"}
15
+ {"time":"2026-05-24T15:56:08.834828702Z","level":"INFO","msg":"server: listener closed","addr":{"Name":"/tmp/wandb-31611-31693-3034466127/socket","Net":"unix"}}
16
+ {"time":"2026-05-24T15:56:08.834858609Z","level":"INFO","msg":"server is closed"}
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-internal.log ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2026-05-23T22:47:42.958656706Z","level":"INFO","msg":"stream: starting","core version":"0.24.0"}
2
+ {"time":"2026-05-23T22:47:43.340677291Z","level":"INFO","msg":"stream: created new stream","id":"l9w4bbvz"}
3
+ {"time":"2026-05-23T22:47:43.340753386Z","level":"INFO","msg":"handler: started","stream_id":"l9w4bbvz"}
4
+ {"time":"2026-05-23T22:47:43.340906156Z","level":"INFO","msg":"stream: started","id":"l9w4bbvz"}
5
+ {"time":"2026-05-23T22:47:43.340930302Z","level":"INFO","msg":"writer: started","stream_id":"l9w4bbvz"}
6
+ {"time":"2026-05-23T22:47:43.340957002Z","level":"INFO","msg":"sender: started","stream_id":"l9w4bbvz"}
7
+ {"time":"2026-05-23T22:47:43.525566664Z","level":"ERROR","msg":"git repo not found","error":"repository does not exist"}
8
+ {"time":"2026-05-24T15:56:08.713224566Z","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
9
+ {"time":"2026-05-24T15:56:08.816433414Z","level":"INFO","msg":"handler: operation stats","stats":{}}
10
+ {"time":"2026-05-24T15:56:08.820223515Z","level":"INFO","msg":"stream: closing","id":"l9w4bbvz"}
11
+ {"time":"2026-05-24T15:56:08.820246589Z","level":"INFO","msg":"handler: closed","stream_id":"l9w4bbvz"}
12
+ {"time":"2026-05-24T15:56:08.820433113Z","level":"INFO","msg":"sender: closed","stream_id":"l9w4bbvz"}
13
+ {"time":"2026-05-24T15:56:08.820445777Z","level":"INFO","msg":"stream: closed","id":"l9w4bbvz"}
pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug.log ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2026-05-23 22:47:42,622 INFO MainThread:31611 [wandb_setup.py:_flush():81] Current SDK version is 0.24.0
2
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_setup.py:_flush():81] Configure stats pid to 31611
3
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_setup.py:_flush():81] Loading settings from environment variables
4
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:setup_run_log_directory():717] Logging user logs to outputs/pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug.log
5
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:setup_run_log_directory():718] Logging internal logs to outputs/pythia_1b_rerun/pythia_1b_lr_2e-5/wandb/run-20260523_224742-l9w4bbvz/logs/debug-internal.log
6
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():844] calling init triggers
7
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():849] wandb.init called with sweep_config: {}
8
+ config: {'model': {'name': 'EleutherAI/pythia-1b', 'checkpoint_path': None, 'from_scratch': False}, 'training': {'epochs': 3, 'batch_size': 1, 'eval_batch_size': 1, 'gradient_accumulation_steps': 8, 'lr': 2e-05, 'weight_decay': 0.1, 'betas': [0.9, 0.95], 'eps': 1e-08, 'lr_scheduler': 'wsd', 'warmup_ratio': 0.1, 'decay_ratio': 0.2, 'warmup_steps': 100, 'min_lr_ratio': 0.1, 'max_grad_norm': 1.0, 'use_amp': True, 'gradient_checkpointing': True, 'resume': False, 'resume_checkpoint': None}, 'data': {'path': '/workspace/byte-llms-code/code_completion_exp/datasets/data_V4_full', 'max_context_len': 4096, 'max_target_len': 256, 'num_workers': 4, 'pin_memory': True, 'max_train_samples': None, 'max_val_samples': 2000}, 'logging': {'log_interval': 10, 'save_interval': 12000, 'eval_interval': 12000, 'save_every_epoch': True}, 'tracking': {'enabled': True, 'backend': 'wandb', 'project': 'code-completion_pythia-1b-rerun', 'run_name': 'pythia_1b_lr_2e-5', 'entity': None, 'base_url': 'https://wandb.platun0v.ru', 'local_dir': 'outputs/pythia_1b_rerun/pythia_1b_lr_2e-5'}, 'paths': {'output_dir': 'outputs/pythia_1b_rerun/pythia_1b_lr_2e-5'}, 'seed': 42, 'device': 'cuda', '_wandb': {'code_path': 'code/code_completion_exp/train_pythia/train.py'}}
9
+ 2026-05-23 22:47:42,623 INFO MainThread:31611 [wandb_init.py:init():892] starting backend
10
+ 2026-05-23 22:47:42,921 INFO MainThread:31611 [wandb_init.py:init():895] sending inform_init request
11
+ 2026-05-23 22:47:42,957 INFO MainThread:31611 [wandb_init.py:init():903] backend started and connected
12
+ 2026-05-23 22:47:42,960 INFO MainThread:31611 [wandb_init.py:init():973] updated telemetry
13
+ 2026-05-23 22:47:42,996 INFO MainThread:31611 [wandb_init.py:init():997] communicating run to backend with 90.0 second timeout
14
+ 2026-05-23 22:47:43,524 INFO MainThread:31611 [wandb_init.py:init():1044] starting run threads in backend
15
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_console_start():2529] atexit reg
16
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2377] redirect: wrap_raw
17
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2446] Wrapping output streams.
18
+ 2026-05-23 22:47:43,678 INFO MainThread:31611 [wandb_run.py:_redirect():2469] Redirects installed.
19
+ 2026-05-23 22:47:43,681 INFO MainThread:31611 [wandb_init.py:init():1084] run started, returning control to user process
20
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_finish():2295] finishing run nikita/code-completion_pythia-1b-rerun/l9w4bbvz
21
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_atexit_cleanup():2494] got exitcode: 0
22
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_restore():2476] restore
23
+ 2026-05-24 15:56:07,662 INFO MainThread:31611 [wandb_run.py:_restore():2482] restore done
24
+ 2026-05-24 15:56:08,819 INFO MainThread:31611 [wandb_run.py:_footer_sync_info():3870] logging synced files