Upload Main_200024
Browse files- Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_005000.pt +3 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_010000.pt +3 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_best_val_loss.pt +3 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/cfg.txt +55 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/tensorboard/events.out.tfevents.1769416276.brev-5x9knwe1p.1731692.0 +3 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/timemoe_base.py +126 -0
- Main_200024/ac18139a247064d67b6c0f94e201f2ac/training_log_20260126083104.log +44 -0
Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_005000.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:50982da1d3b1ca0ab78ace98ed0125bb192b4e9a824b8ecf28a898b8fb99c147
|
| 3 |
+
size 151982040
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_010000.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7a7f0fd27c4a91675781c7607e729b0b863460b67d3836972bfcc8e4d9b06425
|
| 3 |
+
size 151982040
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_best_val_loss.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c08065e8ff25d8945e65fe0680c2b9289bbe5cd60a08653df7696f38d8c3634a
|
| 3 |
+
size 151985051
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/cfg.txt
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
DESCRIPTION: TimeMoE Base
|
| 2 |
+
DEVICE: gpu
|
| 3 |
+
DEVICE_NUM: 3
|
| 4 |
+
RUNNER: <class 'baselines.TimeMoE4.runner.runner.TimeMoERunner'>
|
| 5 |
+
MODEL:
|
| 6 |
+
NAME: TimeMoE4
|
| 7 |
+
ARCH: <class 'baselines.TimeMoE4.arch.timemoe.TimeMoE4'>
|
| 8 |
+
PARAM:
|
| 9 |
+
model_id: baselines/TimeMoE/ckpt/TimeMoE-50M
|
| 10 |
+
from_pretrained: False
|
| 11 |
+
context_length: 4079
|
| 12 |
+
trust_remote_code: True
|
| 13 |
+
DTYPE: bfloat16
|
| 14 |
+
METRICS:
|
| 15 |
+
FUNCS:
|
| 16 |
+
TRAIN:
|
| 17 |
+
COMPILE_MODEL: True
|
| 18 |
+
NUM_ITERATIONS: 200024
|
| 19 |
+
CKPT_SAVE_DIR: checkpoints/TimeMoE4/Main_200024
|
| 20 |
+
CKPT_SAVE_STRATEGY: 5000
|
| 21 |
+
LOSS: fake_loss
|
| 22 |
+
OPTIM:
|
| 23 |
+
TYPE: AdamW
|
| 24 |
+
PARAM:
|
| 25 |
+
lr: 0.001
|
| 26 |
+
betas: (0.9, 0.95)
|
| 27 |
+
fused: True
|
| 28 |
+
LR_SCHEDULER:
|
| 29 |
+
TYPE: CosineWarmup
|
| 30 |
+
PARAM:
|
| 31 |
+
num_warmup_steps: 10000
|
| 32 |
+
num_training_steps: 200024
|
| 33 |
+
CLIP_GRAD_PARAM:
|
| 34 |
+
max_norm: 1.0
|
| 35 |
+
DATA:
|
| 36 |
+
BATCH_SIZE: 85
|
| 37 |
+
SHUFFLE: True
|
| 38 |
+
PIN_MEMORY: True
|
| 39 |
+
PREFETCH: True
|
| 40 |
+
GRAD_ACCUMULATION_STEPS: 1
|
| 41 |
+
VAL:
|
| 42 |
+
INTERVAL: 5000
|
| 43 |
+
DATA:
|
| 44 |
+
BATCH_SIZE: 170
|
| 45 |
+
EVAL:
|
| 46 |
+
USE_GPU: True
|
| 47 |
+
DATASET:
|
| 48 |
+
NAME: Main
|
| 49 |
+
TYPE: <class 'baselines.TimeMoE4.data.mix_dataset_v2.MixedSourceDataset_v2'>
|
| 50 |
+
PARAM:
|
| 51 |
+
num_valid_samples: 1000
|
| 52 |
+
INFERENCE:
|
| 53 |
+
GENERATION_PARAMS:
|
| 54 |
+
normalize: True
|
| 55 |
+
MD5: ac18139a247064d67b6c0f94e201f2ac
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/tensorboard/events.out.tfevents.1769416276.brev-5x9knwe1p.1731692.0
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:72c5bde2a05d31d638a9c7cc5d3535177629410a5c938959866bddcdc182ecb9
|
| 3 |
+
size 2626580
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/timemoe_base.py
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 采样概率变化
|
| 2 |
+
|
| 3 |
+
import os
|
| 4 |
+
import sys
|
| 5 |
+
from easydict import EasyDict
|
| 6 |
+
sys.path.append(os.path.abspath(__file__ + '/../../..'))
|
| 7 |
+
|
| 8 |
+
from ..arch import TimeMoE4
|
| 9 |
+
from ..data import MixedSourceDataset_v2
|
| 10 |
+
from ..runner import TimeMoERunner
|
| 11 |
+
from ..loss import fake_loss
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
############################## Hot Parameters ##############################
|
| 15 |
+
# Dataset & Metrics configuration
|
| 16 |
+
# Model architecture and parameters
|
| 17 |
+
|
| 18 |
+
pretrained = False # Whether to use a pretrained model
|
| 19 |
+
|
| 20 |
+
MODEL_ARCH = TimeMoE4
|
| 21 |
+
|
| 22 |
+
MODEL_PARAM = {
|
| 23 |
+
'model_id': "baselines/TimeMoE/ckpt/TimeMoE-50M",
|
| 24 |
+
'from_pretrained': pretrained,
|
| 25 |
+
'context_length': 4079,
|
| 26 |
+
'trust_remote_code': True,
|
| 27 |
+
}
|
| 28 |
+
DATA_NAME = "Main"
|
| 29 |
+
|
| 30 |
+
# N = 20_000_000
|
| 31 |
+
# batch size = 16*8
|
| 32 |
+
# 20_000_000 / 16 / 8 = 156250 iterations
|
| 33 |
+
# 20_000_000 * 4096 / 16 / 8 / 4096 = 156_250
|
| 34 |
+
|
| 35 |
+
NUM_ITERATIONS = 200_024 # 总轮数 20_000_000 * 4096 / 16 / 4 / 4096 = 312,500
|
| 36 |
+
VAL_ITERATION_INTERVAL = 5_000 # 每VAL_ITERATION_INTERVAL执行一次验证
|
| 37 |
+
|
| 38 |
+
############################## General Configuration ##############################
|
| 39 |
+
CFG = EasyDict()
|
| 40 |
+
# General settings
|
| 41 |
+
CFG.DESCRIPTION = 'TimeMoE Base'
|
| 42 |
+
CFG.DEVICE = 'gpu'
|
| 43 |
+
CFG.DEVICE_NUM = 3
|
| 44 |
+
# Runner
|
| 45 |
+
CFG.RUNNER = TimeMoERunner
|
| 46 |
+
|
| 47 |
+
############################## Model Configuration ################################
|
| 48 |
+
CFG.MODEL = EasyDict()
|
| 49 |
+
CFG.MODEL.NAME = MODEL_ARCH.__name__
|
| 50 |
+
CFG.MODEL.ARCH = MODEL_ARCH
|
| 51 |
+
CFG.MODEL.PARAM = MODEL_PARAM
|
| 52 |
+
CFG.MODEL.DTYPE= 'bfloat16'
|
| 53 |
+
# CFG.MODEL.DTYPE= 'float32'
|
| 54 |
+
|
| 55 |
+
############################## Metrics Configuration ##############################
|
| 56 |
+
CFG.METRICS = EasyDict()
|
| 57 |
+
# Metrics settings
|
| 58 |
+
CFG.METRICS.FUNCS = EasyDict({})
|
| 59 |
+
|
| 60 |
+
############################## Training Configuration ##############################
|
| 61 |
+
CFG.TRAIN = EasyDict()
|
| 62 |
+
CFG.TRAIN.COMPILE_MODEL = True
|
| 63 |
+
CFG.TRAIN.NUM_ITERATIONS = NUM_ITERATIONS
|
| 64 |
+
CFG.TRAIN.CKPT_SAVE_DIR = os.path.join(
|
| 65 |
+
'checkpoints',
|
| 66 |
+
MODEL_ARCH.__name__,
|
| 67 |
+
'_'.join([DATA_NAME, str(CFG.TRAIN.NUM_ITERATIONS)])
|
| 68 |
+
)
|
| 69 |
+
CFG.TRAIN.CKPT_SAVE_STRATEGY = VAL_ITERATION_INTERVAL * 1 # 保存策略,每VAL_ITERATION_INTERVAL * 5保存一次模型
|
| 70 |
+
CFG.TRAIN.LOSS = fake_loss
|
| 71 |
+
# Optimizer settings
|
| 72 |
+
CFG.TRAIN.OPTIM = EasyDict()
|
| 73 |
+
CFG.TRAIN.OPTIM.TYPE = "AdamW"
|
| 74 |
+
CFG.TRAIN.OPTIM.PARAM = {
|
| 75 |
+
"lr": 1e-3,
|
| 76 |
+
"betas": (0.9, 0.95),
|
| 77 |
+
# "betas": (0.9, 0.98),
|
| 78 |
+
"fused": True,
|
| 79 |
+
# "weight_decay": 1e-1,
|
| 80 |
+
}
|
| 81 |
+
# Learning rate scheduler settings
|
| 82 |
+
CFG.TRAIN.LR_SCHEDULER = EasyDict()
|
| 83 |
+
CFG.TRAIN.LR_SCHEDULER.TYPE = "CosineWarmup"
|
| 84 |
+
CFG.TRAIN.LR_SCHEDULER.PARAM = {
|
| 85 |
+
'num_warmup_steps': 10_000, # 10k
|
| 86 |
+
'num_training_steps': NUM_ITERATIONS,
|
| 87 |
+
}
|
| 88 |
+
CFG.TRAIN.CLIP_GRAD_PARAM = {
|
| 89 |
+
'max_norm': 1.0
|
| 90 |
+
}
|
| 91 |
+
# Train data loader settings
|
| 92 |
+
CFG.TRAIN.DATA = EasyDict()
|
| 93 |
+
CFG.TRAIN.DATA.BATCH_SIZE = 85 # 16 / 4
|
| 94 |
+
CFG.TRAIN.DATA.SHUFFLE = True # has to be False
|
| 95 |
+
CFG.TRAIN.DATA.PIN_MEMORY = True
|
| 96 |
+
CFG.TRAIN.DATA.PREFETCH = True
|
| 97 |
+
CFG.TRAIN.GRAD_ACCUMULATION_STEPS = 1
|
| 98 |
+
# CFG.TRAIN.DATA.NUM_WORKERS = 4
|
| 99 |
+
|
| 100 |
+
############################## Validation Configuration ##############################
|
| 101 |
+
CFG.VAL = EasyDict()
|
| 102 |
+
CFG.VAL.INTERVAL = VAL_ITERATION_INTERVAL
|
| 103 |
+
CFG.VAL.DATA = EasyDict()
|
| 104 |
+
CFG.VAL.DATA.BATCH_SIZE = 170 # 32 / 8
|
| 105 |
+
|
| 106 |
+
############################## Evaluation Configuration ##############################
|
| 107 |
+
|
| 108 |
+
CFG.EVAL = EasyDict()
|
| 109 |
+
# Evaluation parameters
|
| 110 |
+
CFG.EVAL.USE_GPU = True # Whether to use GPU for evaluation. Default: True
|
| 111 |
+
|
| 112 |
+
############################## Dataset Configuration ##############################
|
| 113 |
+
CFG.DATASET = EasyDict()
|
| 114 |
+
# Dataset settings
|
| 115 |
+
CFG.DATASET.NAME = DATA_NAME
|
| 116 |
+
CFG.DATASET.TYPE = MixedSourceDataset_v2
|
| 117 |
+
CFG.DATASET.PARAM = EasyDict({
|
| 118 |
+
'num_valid_samples': 1000
|
| 119 |
+
})
|
| 120 |
+
|
| 121 |
+
############################## Inference Configuration ##############################
|
| 122 |
+
CFG.INFERENCE = EasyDict()
|
| 123 |
+
CFG.INFERENCE.GENERATION_PARAMS = EasyDict({
|
| 124 |
+
'normalize': not pretrained
|
| 125 |
+
})
|
| 126 |
+
|
Main_200024/ac18139a247064d67b6c0f94e201f2ac/training_log_20260126083104.log
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
2026-01-26 08:31:04,758 - easytorch-training - INFO - Initializing training.
|
| 2 |
+
2026-01-26 08:31:04,758 - easytorch-training - INFO - Set clip grad, param: {'max_norm': 1.0}
|
| 3 |
+
2026-01-26 08:31:04,759 - easytorch-training - INFO - Building training data loader.
|
| 4 |
+
2026-01-26 08:31:16,361 - easytorch-training - INFO - MixedSourceDataset initialized for 'train' mode.
|
| 5 |
+
2026-01-26 08:31:16,362 - easytorch-training - INFO - - real: 3201174 samples
|
| 6 |
+
2026-01-26 08:31:16,362 - easytorch-training - INFO - - synth: 2000000 samples
|
| 7 |
+
2026-01-26 08:31:16,362 - easytorch-training - INFO - Train dataset length: 3201174
|
| 8 |
+
2026-01-26 08:31:16,364 - easytorch-training - INFO - Set optim: AdamW (
|
| 9 |
+
Parameter Group 0
|
| 10 |
+
amsgrad: False
|
| 11 |
+
betas: (0.9, 0.95)
|
| 12 |
+
capturable: False
|
| 13 |
+
differentiable: False
|
| 14 |
+
eps: 1e-08
|
| 15 |
+
foreach: None
|
| 16 |
+
fused: True
|
| 17 |
+
lr: 0.001
|
| 18 |
+
maximize: False
|
| 19 |
+
weight_decay: 0.01
|
| 20 |
+
)
|
| 21 |
+
2026-01-26 08:31:16,365 - easytorch-training - INFO - Set lr_scheduler: <basicts.runners.optim.lr_schedulers.CosineWarmup object at 0x73f84b49a210>
|
| 22 |
+
2026-01-26 08:31:16,366 - easytorch-training - INFO - Initializing validation.
|
| 23 |
+
2026-01-26 08:31:16,367 - easytorch-training - INFO - Building val data loader.
|
| 24 |
+
2026-01-26 08:31:16,665 - easytorch-training - INFO - Worker 0 initialized for cauker_univariate.
|
| 25 |
+
2026-01-26 08:31:42,629 - easytorch-training - INFO - MixedSourceDataset initialized for 'valid' mode.
|
| 26 |
+
2026-01-26 08:31:42,629 - easytorch-training - INFO - - real: 1000 samples
|
| 27 |
+
2026-01-26 08:31:42,629 - easytorch-training - INFO - Valid dataset length: 1000
|
| 28 |
+
2026-01-26 08:31:42,630 - easytorch-training - INFO - Number of parameters: 12653568
|
| 29 |
+
2026-01-26 08:31:42,631 - easytorch-training - INFO - Training with 3 GPUs, batch size per GPUs: 85, grad_accumulation_steps: 1
|
| 30 |
+
2026-01-26 08:31:42,631 - easytorch-training - INFO - Effective batch size: 255
|
| 31 |
+
2026-01-26 09:27:50,579 - easytorch-training - INFO - Iteration 5000 / 200024
|
| 32 |
+
2026-01-26 09:27:51,075 - easytorch-training - INFO - Result <train>: [train/iter_time: 0.67 (s), train/lr: 2.50e-04, train/loss: 3.4470, train/grad_norm: 7.4594, train/amp_scale: 1.0000]
|
| 33 |
+
2026-01-26 09:27:51,076 - easytorch-training - INFO - Start validation.
|
| 34 |
+
2026-01-26 09:28:03,753 - easytorch-training - INFO - Result <val>: [val/time: 12.50 (s), val/loss: 3.3114]
|
| 35 |
+
2026-01-26 09:28:03,874 - easytorch-training - INFO - Checkpoint checkpoints/TimeMoE4/Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_best_val_loss.pt saved
|
| 36 |
+
2026-01-26 09:28:03,994 - easytorch-training - INFO - Checkpoint checkpoints/TimeMoE4/Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_005000.pt saved
|
| 37 |
+
2026-01-26 09:28:03,995 - easytorch-training - INFO - The estimated training finish time is 2026-01-27 22:06:13
|
| 38 |
+
2026-01-26 10:24:35,419 - easytorch-training - INFO - Iteration 10000 / 200024
|
| 39 |
+
2026-01-26 10:24:35,917 - easytorch-training - INFO - Result <train>: [train/iter_time: 0.68 (s), train/lr: 7.50e-04, train/loss: 2.6932, train/grad_norm: 3.3237, train/amp_scale: 1.0000]
|
| 40 |
+
2026-01-26 10:24:35,917 - easytorch-training - INFO - Start validation.
|
| 41 |
+
2026-01-26 10:24:42,648 - easytorch-training - INFO - Result <val>: [val/time: 6.55 (s), val/loss: 3.2474]
|
| 42 |
+
2026-01-26 10:24:42,781 - easytorch-training - INFO - Checkpoint checkpoints/TimeMoE4/Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_best_val_loss.pt saved
|
| 43 |
+
2026-01-26 10:24:42,900 - easytorch-training - INFO - Checkpoint checkpoints/TimeMoE4/Main_200024/ac18139a247064d67b6c0f94e201f2ac/TimeMoE4_010000.pt saved
|
| 44 |
+
2026-01-26 10:24:42,902 - easytorch-training - INFO - The estimated training finish time is 2026-01-27 22:12:04
|