|
| 1 | +# PARENT: "scripts/models_fullextend/emo_1b14b_130b_ghost_uniform_always_detachF.sh" |
| 2 | +# DESCRIPTION: |
| 3 | +# - models_fullextend ghost-expert SWEEP run, config #3. |
| 4 | +# Ghost knobs: coeff_mode=random, route=always, detach_coeff=false, num=1, random_k=8. |
| 5 | +# Completes the coeff_mode sweep (usage / uniform / random). Each ghost is the |
| 6 | +# uniform average over a random sample of random_k=8 document-pool experts |
| 7 | +# (re-sampled per forward). detach_coeff is a no-op for random (alpha is constant). |
| 8 | +# - 16 nodes, max_duration=130B, hard_stop=50B. 2-deep rolling checkpoints + final; |
| 9 | +# pre_train_checkpoint disabled (skip the useless random-init step0). |
| 10 | +############################################################## |
| 11 | +source "$(dirname "${BASH_SOURCE[0]}")/../launch_common.sh" |
| 12 | + |
| 13 | +EXPERIMENT_NAME="models_fullextend" |
| 14 | +MODELS_DIR="/weka/oe-training-default/ryanwang/EMO/${EXPERIMENT_NAME}" |
| 15 | +DATA_ROOT="s3://ai2-llm" |
| 16 | + |
| 17 | +BEAKER_NODES=16 |
| 18 | +BEAKER_GPUS=8 |
| 19 | + |
| 20 | +min_document_expert_pool=8 |
| 21 | +max_document_expert_pool=128 |
| 22 | +eval_document_expert_pool=32 |
| 23 | +lr=4e-3 |
| 24 | +lb=1e-1 |
| 25 | + |
| 26 | +num_shared_experts=1 # 1 out of 8 will be shared experts |
| 27 | + |
| 28 | +# --- ghost-expert knobs (this run) --- |
| 29 | +ghost_extend_num=1 # fixed across the sweep |
| 30 | +ghost_extend_random_k=8 # fixed across the sweep |
| 31 | +ghost_extend_coeff_mode="random" # swept: usage | uniform | random |
| 32 | +ghost_extend_route="always" # swept: always (topk not implemented) |
| 33 | +ghost_extend_detach_coeff=false # swept: false | true (no-op for random) |
| 34 | + |
| 35 | +runname="emo_1b14b_130b_ghost_random_always_detachF" |
| 36 | + |
| 37 | +launch src/scripts/train/olmoe-1B-7B_fsl.py $runname \ |
| 38 | + --save-folder="${MODELS_DIR}/$runname" \ |
| 39 | + --dataset.mix=OLMoE-mix-0824 \ |
| 40 | + --work-dir="${DATASET_CACHE}" \ |
| 41 | + --trainer.max_duration='{value: 130_000_000_000, unit: tokens}' \ |
| 42 | + --trainer.hard_stop='{value: 50_000_000_000, unit: tokens}' \ |
| 43 | + --trainer.callbacks.checkpointer.save_interval=1000000 \ |
| 44 | + --trainer.callbacks.checkpointer.ephemeral_save_interval=500 \ |
| 45 | + --trainer.callbacks.checkpointer.keep_ephemeral=2 \ |
| 46 | + --trainer.callbacks.checkpointer.pre_train_checkpoint=false \ |
| 47 | + --trainer.callbacks.wandb.enabled=true \ |
| 48 | + --trainer.callbacks.wandb.entity=ryanyxw \ |
| 49 | + --trainer.callbacks.wandb.project=emo-extension \ |
| 50 | + --trainer.callbacks.wandb.name="${runname}" \ |
| 51 | + --trainer.callbacks.wandb.tags="[pretraining, ${EXPERIMENT_NAME}]" \ |
| 52 | + --model.block.feed_forward_moe.num_experts=128 \ |
| 53 | + --dataset.generate_doc_lengths=true \ |
| 54 | + --model.block.sequence_mixer.backend=flash_2 \ |
| 55 | + --model-type="two-level_lb-batch_reduce-dp_sharedexp_randpool" \ |
| 56 | + --min_document_expert_pool=${min_document_expert_pool} \ |
| 57 | + --max_document_expert_pool=${max_document_expert_pool} \ |
| 58 | + --eval_document_expert_pool=${eval_document_expert_pool} \ |
| 59 | + --num_shared_experts=$num_shared_experts \ |
| 60 | + --dataset.instance_filter_config='{repetition_max_period: 13, repetition_min_period: 1, repetition_max_count: 32}' \ |
| 61 | + --model.block.name="moe" \ |
| 62 | + --model.block.sequence_mixer.qk_norm=null \ |
| 63 | + --lr=${lr} \ |
| 64 | + --model.block.feed_forward_moe.lb_loss_weight=${lb} \ |
| 65 | + --model.block.feed_forward_moe.router.ghost_extend_mode=true \ |
| 66 | + --model.block.feed_forward_moe.router.ghost_extend_num=${ghost_extend_num} \ |
| 67 | + --model.block.feed_forward_moe.router.ghost_extend_coeff_mode=${ghost_extend_coeff_mode} \ |
| 68 | + --model.block.feed_forward_moe.router.ghost_extend_random_k=${ghost_extend_random_k} \ |
| 69 | + --model.block.feed_forward_moe.router.ghost_extend_route=${ghost_extend_route} \ |
| 70 | + --model.block.feed_forward_moe.router.ghost_extend_detach_coeff=${ghost_extend_detach_coeff} |
0 commit comments