# returncode: 0

### 0
"mkdir"
"-p"
"<SANDBOX>/workdir"

### 1
"ray"
"job"
"submit"
"--address=http://127.0.0.1:8265"
"--submission-id"
"qwen3.5-opd-pure"
"--no-wait"
"--runtime-env-json={\"env_vars\": {\"PYTHONPATH\": \"<REPO_ROOT>:/root/Megatron-LM/\", \"CUDA_DEVICE_MAX_CONNECTIONS\": \"1\", \"WANDB_API_KEY\": \"frozen-wandb-api-key\"}}"
"--"
"python3"
"<REPO_ROOT>/train.py"
"--actor-num-nodes"
"1"
"--actor-num-gpus-per-node"
"8"
"--num-gpus-per-node"
"8"
"--colocate"
"--spec"
"miles_plugins.models.qwen3_5"
"get_qwen3_5_spec"
"--disable-bias-linear"
"--qk-layernorm"
"--group-query-attention"
"--num-attention-heads"
"16"
"--num-query-groups"
"2"
"--kv-channels"
"256"
"--num-layers"
"40"
"--hidden-size"
"2048"
"--ffn-hidden-size"
"512"
"--normalization"
"RMSNorm"
"--apply-layernorm-1p"
"--position-embedding-type"
"rope"
"--norm-epsilon"
"1e-6"
"--rotary-percent"
"0.25"
"--swiglu"
"--untie-embeddings-and-output-weights"
"--vocab-size"
"248320"
"--rotary-base"
"10000000"
"--moe-ffn-hidden-size"
"512"
"--moe-shared-expert-intermediate-size"
"512"
"--moe-router-score-function"
"softmax"
"--moe-token-dispatcher-type"
"alltoall"
"--moe-router-topk"
"8"
"--moe-layer-freq"
"[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]"
"--num-experts"
"256"
"--moe-grouped-gemm"
"--moe-token-drop-policy"
"probs"
"--moe-router-dtype"
"fp32"
"--moe-permute-fusion"
"--moe-aux-loss-coeff"
"0"
"--attention-output-gate"
"--moe-shared-expert-gate"
"--mtp-num-layers"
"1"
"--hf-checkpoint"
"/cluster_public/miles_data/models/Qwen3.5-35B-A3B"
"--ref-load"
"/cluster_public/miles_data/models/Qwen3.5-35B-A3B_torch_dist"
"--load"
"<SANDBOX>/workdir"
"--save"
"<SANDBOX>/workdir"
"--save-interval"
"5"
"--use-opd"
"--opd-type"
"megatron"
"--opd-teacher-load"
"/node_public/maocheng-qwen35/ckpt-teacher"
"--opd-kl-coef"
"0.2"
"--prompt-data"
"/node_public/maocheng-qwen35/data/dapo_train.jsonl"
"--input-key"
"prompt"
"--label-key"
"label"
"--apply-chat-template"
"--rollout-shuffle"
"--num-rollout"
"12"
"--rollout-batch-size"
"32"
"--n-samples-per-prompt"
"8"
"--rollout-max-response-len"
"24576"
"--rollout-temperature"
"1"
"--num-steps-per-rollout"
"1"
"--over-sampling-batch-size"
"32"
"--global-batch-size"
"256"
"--balance-data"
"--optimizer"
"adam"
"--lr"
"1e-5"
"--lr-decay-style"
"constant"
"--weight-decay"
"0.1"
"--adam-beta1"
"0.9"
"--adam-beta2"
"0.98"
"--optimizer-cpu-offload"
"--overlap-cpu-optimizer-d2h-h2d"
"--use-precision-aware-optimizer"
"--advantage-estimator"
"grpo"
"--kl-loss-type"
"low_var_kl"
"--entropy-coef"
"0.00"
"--eps-clip"
"0.2"
"--eps-clip-high"
"0.28"
"--use-tis"
"--use-wandb"
"--wandb-project"
"miles-opd"
"--wandb-group"
"qwen3.5-35b-opd-pure"
"--tensor-model-parallel-size"
"2"
"--sequence-parallel"
"--pipeline-model-parallel-size"
"1"
"--context-parallel-size"
"2"
"--expert-model-parallel-size"
"8"
"--expert-tensor-parallel-size"
"1"
"--recompute-granularity"
"full"
"--recompute-method"
"uniform"
"--recompute-num-layers"
"1"
"--use-dynamic-batch-size"
"--max-tokens-per-gpu"
"16384"
"--log-probs-chunk-size"
"4096"
"--eval-interval"
"5"
"--eval-config"
"<SANDBOX>/workdir/eval_dapo_heldout.yaml"
"--rollout-num-gpus-per-engine"
"8"
"--sglang-mem-fraction-static"
"0.8"
"--sglang-ep-size"
"8"
"--sglang-watchdog-timeout"
"1800"
"--sglang-enable-metrics"
"--sglang-attention-backend"
"fa3"
"--sglang-cuda-graph-bs-decode"
"1"
"2"
"4"
"8"
"16"
"32"
"--use-rollout-routing-replay"
"--sglang-mamba-radix-cache-strategy"
"extra_buffer"
"--attention-dropout"
"0.0"
"--hidden-dropout"
"0.0"
"--accumulate-allreduce-grads-in-fp32"
"--attention-softmax-in-fp32"
"--attention-backend"
"flash"
"--custom-rm-path"
"examples.on_policy_distillation.qwen3_5_35b_selfdistill.rm.reward_func_pure_opd"
