project-llm-trainer 0.7.1__py3-none-any.whl → 0.7.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of project-llm-trainer might be problematic. Click here for more details.
- llm_trainer/checkpoint.py +6 -3
- llm_trainer/ds_checkpoint.py +3 -1
- {project_llm_trainer-0.7.1.dist-info → project_llm_trainer-0.7.3.dist-info}/METADATA +1 -1
- {project_llm_trainer-0.7.1.dist-info → project_llm_trainer-0.7.3.dist-info}/RECORD +13 -13
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/calc_intermediate_size +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/ddp_train +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/ds_train +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/plot_loss +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/plot_lr +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/py_train +0 -0
- {project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/smart_train +0 -0
- {project_llm_trainer-0.7.1.dist-info → project_llm_trainer-0.7.3.dist-info}/WHEEL +0 -0
- {project_llm_trainer-0.7.1.dist-info → project_llm_trainer-0.7.3.dist-info}/top_level.txt +0 -0
llm_trainer/checkpoint.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from typing import Optional, Union
|
|
2
|
+
from typing import Optional, Union
|
|
3
3
|
import shutil
|
|
4
4
|
import torch
|
|
5
5
|
from torch import nn
|
|
@@ -36,6 +36,10 @@ def save_best_checkpoint(
|
|
|
36
36
|
current_loss: float,
|
|
37
37
|
last_best_checkpoint_loss: Optional[float] = None
|
|
38
38
|
) -> bool:
|
|
39
|
+
# 指定不保存最佳checkpoint
|
|
40
|
+
if os.environ.get('SAVE_BEST_CHECKPOINT', '1') != '1':
|
|
41
|
+
return False
|
|
42
|
+
|
|
39
43
|
need_replace = not last_best_checkpoint_loss or current_loss <= last_best_checkpoint_loss
|
|
40
44
|
if need_replace and TrainerTools().parallel.is_main_process:
|
|
41
45
|
try:
|
|
@@ -62,8 +66,7 @@ def save_best_checkpoint(
|
|
|
62
66
|
os.remove(best_checkpoint_name)
|
|
63
67
|
|
|
64
68
|
shutil.copy2(checkpoint_name, best_checkpoint_name)
|
|
65
|
-
except:
|
|
66
|
-
pass
|
|
69
|
+
except: pass
|
|
67
70
|
|
|
68
71
|
TrainerTools().parallel.wait('save best checkpoint')
|
|
69
72
|
return need_replace
|
llm_trainer/ds_checkpoint.py
CHANGED
|
@@ -28,9 +28,11 @@ def save_ds_checkpoint(model: nn.Module):
|
|
|
28
28
|
|
|
29
29
|
# 只在main rank上执行
|
|
30
30
|
if TrainerTools().parallel.is_main_process:
|
|
31
|
+
# 最多保存多少checkpoint,默认为2
|
|
32
|
+
max_to_keep = int(os.environ.get('CKPT_MAX_TO_KEEP', '2'))
|
|
31
33
|
# 删除历史checkpoint
|
|
32
34
|
ckpt_paths = glob(os.path.join(ckpt_dir, "global_*"))
|
|
33
|
-
if len(ckpt_paths) >
|
|
35
|
+
if len(ckpt_paths) > max_to_keep:
|
|
34
36
|
# 按修改时间排序,找到最旧的目录
|
|
35
37
|
oldest_ckpt = sorted(ckpt_paths, key=os.path.getmtime)[0]
|
|
36
38
|
try:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
llm_trainer/__init__.py,sha256=HWgtTEVeQSnZmEyYQm2K6eFEG4X2QAoigMlB5Z2tcXE,260
|
|
2
|
-
llm_trainer/checkpoint.py,sha256=
|
|
2
|
+
llm_trainer/checkpoint.py,sha256=X5ZeUtJlxVz7pnWQLaS-y7UIZOaOAnZTt2L8rSAPzUs,4428
|
|
3
3
|
llm_trainer/dataset.py,sha256=4QlOo0SFB5816BUYegQjgobUqTUMQvdmZMM_OEAMSjE,4347
|
|
4
4
|
llm_trainer/dpo_trainer.py,sha256=RMfbTsl3eav4yTJ2PK59mi6a0ECVOg8WwYVsHvMbNUE,12353
|
|
5
|
-
llm_trainer/ds_checkpoint.py,sha256=
|
|
5
|
+
llm_trainer/ds_checkpoint.py,sha256=X2IWgpgi0yOtogph7n6DEwvK_0Ceb7juu1WMutv3HSk,2270
|
|
6
6
|
llm_trainer/eval.py,sha256=ZyUfSo2Q8P-lrCdPEnGkoo5pGubd0AabREK5eMISRII,1109
|
|
7
7
|
llm_trainer/generate_utils.py,sha256=8K3YFbp7IF_lCkmkzjHhqTW26EBFb2AilQmarVcfMvs,15001
|
|
8
8
|
llm_trainer/grpo_trainer.py,sha256=zxbLIzk34cHFw5yfRH8EBr0wrFTS7qFa5DepcC0WXwk,16435
|
|
@@ -20,14 +20,14 @@ llm_trainer/tools.py,sha256=5op5qrjjkK-Lr9oes5VxIVnOVYOYGoAdlIJq9mPUf64,2637
|
|
|
20
20
|
llm_trainer/train_configs.py,sha256=U4hwXWKI6svDqiDOu6RPTitCzpxEYyjZUN6gwh_co8c,7510
|
|
21
21
|
llm_trainer/trainer.py,sha256=jS31zEXIIj9BoPTPlmaGYq61x72HGCjKfS2u3_gOkDk,27924
|
|
22
22
|
llm_trainer/utils.py,sha256=xcdzpvPvXRKqsOK2yB7PZ9GmOvZMDFcglDPUZY2hJTY,11484
|
|
23
|
-
project_llm_trainer-0.7.
|
|
24
|
-
project_llm_trainer-0.7.
|
|
25
|
-
project_llm_trainer-0.7.
|
|
26
|
-
project_llm_trainer-0.7.
|
|
27
|
-
project_llm_trainer-0.7.
|
|
28
|
-
project_llm_trainer-0.7.
|
|
29
|
-
project_llm_trainer-0.7.
|
|
30
|
-
project_llm_trainer-0.7.
|
|
31
|
-
project_llm_trainer-0.7.
|
|
32
|
-
project_llm_trainer-0.7.
|
|
33
|
-
project_llm_trainer-0.7.
|
|
23
|
+
project_llm_trainer-0.7.3.data/scripts/calc_intermediate_size,sha256=AggpgNHokJiJMbEtVdOnolqr_4bH3i1UYuZNEAzC2Gc,460
|
|
24
|
+
project_llm_trainer-0.7.3.data/scripts/ddp_train,sha256=x81AasaN2-9TwARFFF1l7iV1LmfMQ0bLw0i_CGbOwSw,299
|
|
25
|
+
project_llm_trainer-0.7.3.data/scripts/ds_train,sha256=qL3qc3TcedBCw98UZUjW07ONcErRawLE1HymW2AmscA,265
|
|
26
|
+
project_llm_trainer-0.7.3.data/scripts/plot_loss,sha256=MzFcdJESlVr1srj4Td6-AxPGUKkfB_QEcJwm0Bd-5fU,910
|
|
27
|
+
project_llm_trainer-0.7.3.data/scripts/plot_lr,sha256=w_7XR_x3KYYyboeOVAeu_I4fveLFI-C0wBmRrNlmWUI,894
|
|
28
|
+
project_llm_trainer-0.7.3.data/scripts/py_train,sha256=tOp9TquORQeU8XN5H7OVIk5O0Ypwi34p_GENxTwgwdk,265
|
|
29
|
+
project_llm_trainer-0.7.3.data/scripts/smart_train,sha256=Pmt4Q0to4Hoz82iB9uFPZuz7uahNUbfE7FR1940EBy8,716
|
|
30
|
+
project_llm_trainer-0.7.3.dist-info/METADATA,sha256=XKcqKQBKp_R-mC47iLnAUOF_L0n6IO-FD6vqmuqrqq4,195
|
|
31
|
+
project_llm_trainer-0.7.3.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
32
|
+
project_llm_trainer-0.7.3.dist-info/top_level.txt,sha256=LtRFg28i0QIG7iBCD2t095oSco99LCtkijibS9cMGik,12
|
|
33
|
+
project_llm_trainer-0.7.3.dist-info/RECORD,,
|
{project_llm_trainer-0.7.1.data → project_llm_trainer-0.7.3.data}/scripts/calc_intermediate_size
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|