Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 159 additions & 0 deletions examples/advanced/laguna-xs-2.1/swe.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# Laguna XS-2.1 on ScaleSWE with the standard bash harness and pass@1
# evaluation on SWE-Bench Verified.

max_steps = 1000
seq_len = 131072

[env_vars]
TRITON_CACHE_DIR = "/tmp/.triton-cache"

[slurm]
job_name = "laguna-xs21-swe"
partition = "all"
pre_run_command = 'timeout 120 prime sandbox delete --label "laguna-xs21-swe" -y || true'

[deployment]
type = "multi_node"
num_train_nodes = 2
num_infer_nodes = 1
num_infer_replicas = 4

[wandb]
project = "laguna-xs21-swe"
name = "laguna-xs21-scaleswe-dep8"

[weight_broadcast]
type = "nccl"
timeout = 3600

[ckpt]
interval = 25
keep_last = 1
resume_step = -1

[model]
name = "poolside/Laguna-XS-2.1"

[trainer]
dist_timeout_seconds = 3600
enable_router_replay = true

[trainer.model]
impl = "custom"
attn = "flash_attention_3"
cp = 4
cp_style = "ulysses"
fused_lm_head_token_chunk_size = 1024
optim_cpu_offload = true

[trainer.model.compile]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trainer compile left enabled

High Severity

The empty [trainer.model.compile] table keeps torch.compile on (CompileConfig is the default). Disabling it requires compile = "None". This run already hit a compiled-trainer MoE collective mismatch and NCCL timeout, so leaving compile enabled is likely to reproduce that failure.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1886ecb. Configure here.


[trainer.model.ac]

[trainer.model.ac_offloading]
max_inflight_activations = 1

[trainer.ckpt]
skip_gather_master_weights = true
skip_optimizer = true

[trainer.optim]
type = "muon"
lr = 1e-6

[orchestrator]
batch_size = 256
group_size = 16
max_off_policy_steps = 32
max_inflight_episodes = 768

[orchestrator.algo]
type = "grpo"

[orchestrator.algo.length_penalty]
type = "linear"
num_output_tokens_weight = 0.0
num_input_tokens_weight = 0.1
num_turns_weight = 0.1

[orchestrator.renderer]
name = "laguna-xs-2.1"
enable_thinking = true
thinking_retention = "all"

[orchestrator.train.sampling]
temperature = 1.0
max_completion_tokens = 32768

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want this?

extra_body = { top_k = 20, min_p = 0.0 }

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

top k is not supported yet, see #2979 for pr to enable replay on trainer. should acc prob block if this is extra body to prevent corrupt training

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Train top_k can corrupt ratios

High Severity

orchestrator.train.sampling.extra_body sets top_k = 20, which overrides the policy-rollout default of top_k = -1. Truncated train sampling without trainer kept-set / acceptance-prob replay support makes inference and trainer logprobs disagree and can silently corrupt GRPO importance ratios.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1886ecb. Configure here.


[[orchestrator.train.source]]
name = "scaleswe"

[orchestrator.train.source.env.taskset]
id = "scaleswe-v1"

[orchestrator.train.source.env.agent.harness]
id = "bash"

[orchestrator.train.source.env.agent.runtime]
type = "prime"
vm = true
cpu = 1.0
memory = 2.0
disk = 5.0
idle_timeout = "None"
labels = ["laguna-xs21-swe"]

[orchestrator.prime_monitor]

[orchestrator.eval]
interval = 20
group_size = 1

[orchestrator.eval.sampling]
temperature = 1.0
top_p = 1.0
top_k = 20
min_p = 0.0
max_completion_tokens = 32768

[[orchestrator.eval.source]]
name = "swebench-verified"

[orchestrator.eval.source.env.taskset]
id = "swebench-verified-v1"

[orchestrator.eval.source.env.agent.harness]
id = "bash"

[orchestrator.eval.source.env.agent.runtime]
type = "prime"
vm = true
cpu = 1.0
memory = 2.0
disk = 5.0
idle_timeout = "None"
labels = ["laguna-xs21-swe"]

[orchestrator.eval.source.env.agent.timeout]
rollout = 3600

[inference]
enable_expert_parallel = true
enable_return_routed_experts = true

[inference.env_vars]
VLLM_CACHE_ROOT = "/tmp/.vllm-cache"
FLASHINFER_WORKSPACE_BASE = "/tmp/.flashinfer-cache"

[inference.model]
max_model_len = 131072
tool_call_parser = "poolside_v1"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should also add this into our auto-map if not there yet

reasoning_parser = "poolside_v1"

[inference.parallel]
tp = 1
dp = 8

[inference.vllm_extra]
default_chat_template_kwargs = { enable_thinking = true }