# returncode: 0

### 0
"pkill"
"-9"
"sglang"

### 1
"sleep"
"3"

### 2
"ray"
"stop"
"--force"

### 3
"pkill"
"-9"
"ray"

### 4
"pkill"
"-9"
"python"

### 5
"sleep"
"3"

### 6
"pkill"
"-9"
"ray"

### 7
"pkill"
"-9"
"python"

### 8
"python3"
"<REPO_ROOT>/examples/lora/../../miles/utils/external_utils/model_args_utils.py"
"gpt-oss-20b"

### 9
"ray"
"start"
"--head"
"--node-ip-address"
"127.0.0.1"
"--num-gpus"
"4"
"--disable-usage-stats"
"--dashboard-host=0.0.0.0"
"--dashboard-port=8265"

### 10
"ray"
"job"
"submit"
"--address=http://127.0.0.1:8265"
"--runtime-env-json={\n  \"env_vars\": {\n    \"PYTHONPATH\": \"/root/Megatron-LM/\",\n    \"CUDA_DEVICE_MAX_CONNECTIONS\": \"1\",\n    \"NCCL_NVLS_ENABLE\": \"\"\n  }\n}"
"--"
"python3"
"train.py"
"--actor-num-nodes"
"1"
"--actor-num-gpus-per-node"
"4"
"--colocate"
"--num-layers"
"24"
"--hidden-size"
"2880"
"--ffn-hidden-size"
"2880"
"--num-attention-heads"
"64"
"--group-query-attention"
"--num-query-groups"
"8"
"--kv-channels"
"64"
"--use-rotary-position-embeddings"
"--rotary-percent"
"1.0"
"--rotary-base"
"150000"
"--max-position-embeddings"
"131072"
"--normalization"
"RMSNorm"
"--norm-epsilon"
"1e-5"
"--swiglu"
"--untie-embeddings-and-output-weights"
"--vocab-size"
"201088"
"--softmax-type"
"learnable"
"--window-size"
"128,0"
"--window-attn-skip-freq"
"2"
"--no-masked-softmax-fusion"
"--no-rope-fusion"
"--num-experts"
"32"
"--moe-router-topk"
"4"
"--moe-aux-loss-coeff"
"0.0"
"--moe-token-dispatcher-type"
"alltoall"
"--moe-router-dtype"
"fp32"
"--moe-grouped-gemm"
"--lora-rank"
"32"
"--lora-alpha"
"32"
"--lora-dropout"
"0.0"
"--target-modules"
"gate_up_proj,down_proj"
"--sglang-lora-backend"
"triton"
"--hf-checkpoint"
"/root/models/gpt-oss-20b"
"--megatron-to-hf-mode"
"bridge"
"--prompt-data"
"/root/dapo-math-17k/dapo-math-17k.jsonl"
"--input-key"
"prompt"
"--label-key"
"label"
"--apply-chat-template"
"--rollout-shuffle"
"--rm-type"
"math"
"--num-rollout"
"1"
"--rollout-batch-size"
"32"
"--n-samples-per-prompt"
"8"
"--rollout-max-response-len"
"4096"
"--rollout-temperature"
"1.0"
"--global-batch-size"
"8"
"--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"
"--entropy-coef"
"0.00"
"--eps-clip"
"0.2"
"--eps-clip-high"
"0.28"
"--use-wandb"
"--wandb-project"
"miles-gpt-oss"
"--wandb-group"
"gpt-oss-20b-moe-lora"
"--tensor-model-parallel-size"
"4"
"--sequence-parallel"
"--pipeline-model-parallel-size"
"1"
"--context-parallel-size"
"1"
"--expert-model-parallel-size"
"1"
"--expert-tensor-parallel-size"
"1"
"--recompute-granularity"
"full"
"--recompute-method"
"uniform"
"--recompute-num-layers"
"1"
"--micro-batch-size"
"1"
"--max-tokens-per-gpu"
"4096"
"--eval-interval"
"10"
"--eval-prompt-data"
"gsm8k"
"/root/gsm8k/test.parquet"
"--eval-input-key"
"messages"
"--n-samples-per-eval-prompt"
"1"
"--eval-max-response-len"
"4096"
"--eval-top-k"
"1"
"--rollout-num-gpus-per-engine"
"4"
"--sglang-dtype"
"bfloat16"
"--sglang-decode-log-interval"
"1000"
"--sglang-mem-fraction-static"
"0.2"
"--sglang-moe-runner-backend"
"triton"
"--attention-dropout"
"0.0"
"--hidden-dropout"
"0.0"
"--qkv-format"
"bshd"
"--attention-backend"
"fused"
"--update-weight-buffer-size"
"536870912"
