model:
  target_model_path: Qwen/Qwen3-8B
  draft_model_config: configs/qwen3-8b-peagle.json
  target_backend: sglang
  vocab_mapping_path: cache/vocab_mapping/qwen3-8b.pt
  embedding_key: model.embed_tokens.weight
  torch_dtype: bfloat16

data:
  train_data_path: ./cache/dataset/sharegpt_train.jsonl
  max_length: 4096
  chat_template: qwen
  build_dataset_num_proc: 32
  cache_dir: cache

training:
  strategy: peagle
  num_epochs: 20
  max_steps: 10000
  batch_size: 1
  learning_rate: 1.0e-4
  warmup_ratio: 0.0025
  max_grad_norm: 1.0
  attention_backend: flex_attention
  num_depths: 5
  down_sample_ratio: 0.8
  down_sample_ratio_min: 0.2
  norm_before_residual: false
  save_interval: 50000
  log_interval: 50
  dist_timeout: 120
  seed: 0

tracking:
  report_to: wandb

run_id: qwen3-8b-peagle-disaggregated
output_dir: outputs/qwen3-8b-peagle-disaggregated

deployment:
  mode: disaggregated
  trainer:
    nnodes: 1
    nproc_per_node: 1
  disaggregated:
    control_dir: outputs/qwen3-8b-peagle-disaggregated/control
    consumer_state_dir: outputs/qwen3-8b-peagle-disaggregated/consumer-state
    backend: mooncake
    server_urls:
      - http://127.0.0.1:30000
    mooncake_metadata_server: http://127.0.0.1:35880/metadata
    mooncake_master_server_addr: 127.0.0.1:35551
    mooncake_protocol: tcp
