text/pretraining/smollm1/config_smollm1_1B.yaml (126 lines of code) (raw):
# SmolLM1 1.7B trained on 1T tokens
checkpoints:
checkpoint_interval: 2000
checkpoints_path: checkpoints
checkpoints_path_is_shared_file_system: false
resume_checkpoint_path: null
save_final_state: false
save_initial_state: false
data_stages:
- data:
dataset:
dataset_folder: # paths to tokenized datasets
- datasets/fineweb-edu-dedup
- datasets/cosmopedia-v2
- datasets/open-web-math
- datasets/starcoderdata-python
- datasets/stackoverflow
dataset_weights:
- 0.7
- 0.15
- 0.06
- 0.08
- 0.01
num_loading_workers: 1
seed: 42
name: training stage
start_training_step: 1
- data:
dataset: # we change data mixture to use python-edu
dataset_folder:
- datasets/fineweb-edu-dedup
- datasets/cosmopedia-v2
- datasets/open-web-math
- datasets/python-edu
- datasets/stackoverflow
- datasets/deepmind_mathematics
dataset_weights:
- 0.7
- 0.15
- 0.055
- 0.08
- 0.01
- 0.005
num_loading_workers: 1
seed: 42
name: training stage 2
start_training_step: 300000
general:
benchmark_csv_path: null
consumed_train_samples: null
ignore_sanity_checks: true
project: smollm
run: smollm-1700M
seed: 8
step: null
logging:
iteration_step_info_interval: 1
log_level: info
log_level_replica: info
model:
ddp_bucket_cap_mb: 25
dtype: bfloat16
init_method:
std: 0.022097086912079608
make_vocab_size_divisible_by: 1
model_config:
bos_token_id: 0
eos_token_id: 0
hidden_act: silu
hidden_size: 2048
initializer_range: 0.02
intermediate_size: 8192
is_llama_config: true
max_position_embeddings: 2048
num_attention_heads: 32
num_hidden_layers: 24
num_key_value_heads: 32
pad_token_id: null
pretraining_tp: 1
rms_norm_eps: 1.0e-05
rope_scaling: null
rope_theta: 10000.0
tie_word_embeddings: true
use_cache: true
vocab_size: 49152
optimizer:
accumulate_grad_in_fp32: true
clip_grad: 1.0
learning_rate_scheduler:
learning_rate: 0.0005
lr_decay_starting_step: 400000
lr_decay_steps: 100000
lr_decay_style: 1-sqrt
lr_warmup_steps: 2000
lr_warmup_style: linear
min_decay_lr: 0
optimizer_factory:
adam_beta1: 0.9
adam_beta2: 0.95
adam_eps: 1.0e-08
name: adamW
torch_adam_is_fused: true
weight_decay: 0.01
zero_stage: 0
parallelism:
dp: 64 # 8 nodes
expert_parallel_size: 1
pp: 1
pp_engine: 1f1b
recompute_layer: false
tp: 1
tp_linear_async_communication: true
tp_mode: REDUCE_SCATTER
tp_recompute_allgather: true
profiler: null
tokenizer:
tokenizer_max_length: null
tokenizer_name_or_path: HuggingFaceTB/cosmo2-tokenizer
tokenizer_revision: null
tokens:
batch_accumulation_per_replica: 4
limit_test_batches: 0
limit_val_batches: 0
micro_batch_size: 4 # GBS = 4*4*64*sequence_length = 1024*sequence_length = 2.1M tokens
sequence_length: 2048
train_steps: 500000
val_check_interval: -1