allegro-lab's picture
upload_1b_neox.py
716828b verified
Raw
History Blame Contribute Delete
3.7 kB
# Hubble 1.1B - Copied from TinyLlama https://github.com/Lightning-AI/litgpt/blob/a5021be4bb48e27779586b56b062a1749ecb232f/litgpt/config.py#L1809
# Modified from https://github.com/aflah02/gpt-neox/blob/olmo-support/configs/hubble/Speed_Exps/1_1B_Baseline_BS_8_GAS_8_No_Activation_Checkpointing_GQA_Llama_3_2_Fusions_All_4_FA_Swiglu.yml
{
# parallelism settings ( you will want to change these based on your cluster setup, ideally scheduling pipeline stages
# across the node boundaries )
"pipe_parallel_size": 1,
"model_parallel_size": 1,
"make_vocab_size_divisible_by": 128, # Need to set as 64 because code makes it divisible by MP*makes_vocab_size_divisible_by
# model settings
"num_layers": 16,
"hidden_size": 2048,
"num_attention_heads": 32,
"num_kv_heads": 8,
"intermediate_size": 24576, # 8192*3
"seq_length": 2048,
"max_position_embeddings": 2048,
"pos_emb": "rotary",
"no_weight_tying": true,
"gpt_j_residual": false,
"output_layer_parallelism": "column",
"norm": "rmsnorm",
"rms_norm_epsilon": 1.0e-5,
"rmsnorm_fusion": true,
# these should provide some speedup but takes a while to build, set to true if desired
"scaled_upper_triang_masked_softmax_fusion": true,
"scaled_masked_softmax_fusion": true,
"bias_gelu_fusion": false,
"rope_fusion": true,
# "layernorm_fusion": false,
"use_bias_in_norms": false,
"use_bias_in_attn_linear": false,
"activation": "swiglu",
"use_flashattn_swiglu": true,
"mlp_multiple_of": 256,
# init methods (Copied from OLMo 2)
"init_method": "normal",
"output_layer_init_method": "normal",
"init_method_std": 0.02,
# optimizer settings
"optimizer": {
"type": "Adam",
"params": {
"lr": 0.0004,
"betas": [0.9, 0.95],
"eps": 1.0e-8,
}
},
# for all zero_optimization options, see https://www.deepspeed.ai/docs/config-json/#zero-optimizations-for-fp16-training
"zero_optimization": {
"stage": 1,
"allgather_partitions": true,
"allgather_bucket_size": 1260000000,
"overlap_comm": true,
"reduce_scatter": true,
"reduce_bucket_size": 1260000000,
"contiguous_gradients": true,
"cpu_offload": false
},
"min_lr": 0.00004,
# batch / data settings
# "n_gpus": 32,
"train_micro_batch_size_per_gpu": 16,
"gradient_accumulation_steps": 2,
"train_batch_size": 1024,
"data_impl": "mmap",
# activation checkpointing
"checkpoint_activations": false,
"checkpoint_num_layers": 1,
"partition_activations": false,
"synchronize_each_layer": false,
# regularization
"gradient_clipping": 1.0,
"weight_decay": 0.1,
"hidden_dropout": 0,
"attention_dropout": 0,
# Flash Attention
"attention_config": [[["flash"], 16]],
# precision settings
"precision": "bfloat16",
"fp32_allreduce": true,
"bf16": {
"enabled": true
},
"data_types": {
"grad_accum_dtype": "fp32"
},
# misc. training settings
"train_iters": 48000,
"lr_decay_iters": 48000,
"distributed_backend": "nccl",
"lr_decay_style": "cosine",
"warmup": 0.05,
"checkpoint_factor": 1000,
"eval_interval": 2000,
"eval_iters": 10,
"extra_save_iters": [0, 1, 4, 16, 64, 256, 512],
# "keep_last_n_checkpoints": 2,
# logging
"log_interval": 10,
"steps_per_print": 50,
"wall_clock_breakdown": true,
# "memory_profiling": true,
# "memory_profiling_path": "/NS/llm-pretraining/work/afkhan/USC_Colab/gpt-neox/Artifacts/Profiles/Hubble-1.1B-Baseline_BS_8_GAS_8_No_Activation_Checkpointing_GQA_Llama_3_2_Fusions_All_4_FA_Swiglu",
# "profile_step_start": 0,
# "profile_step_stop": 100,
# "launcher": "slurm",
# "deepspeed_mpi": true,
# "deepspeed_slurm": true,
"no_ssh_check": true,
}