AR to diffusion conversion
- Score
- 27.9
- Wallet spend
- $167.52 of $200
- Model cost
- $122.44
- Agent time
- 5h 28m
- Steps
- 215
- Tokens in / out
- 78.5M / 438k
- Self-checks
- 1 passed of 3 used
- Rank at $200 wallet
- 5th of 14
Score
27.9raw metric 0.2881
The raw metric (accuracy on GPQA Diamond, MATH-500, LiveCodeBench v6 and MMLU-Pro) is rescaled so that chance on each benchmark scores 0 and the original autoregressive MiniCPM5-2B scores 100, clamped to that range; each of the 4 benchmarks is rescaled on its own and the score is their mean.
Benchmarks
| Benchmark | Raw | Floor | Ceiling | Normalized |
|---|---|---|---|---|
| gpqa_diamond | 0.131 | 0.250 | 0.672 | 0.0 |
| math_500 | 0.630 | 0 | 0.980 | 64.3 |
| livecodebench_v6 | 0.0540 | 0 | 0.648 | 8.3 |
| mmlu_pro | 0.337 | 0.111 | 0.691 | 38.9 |
Verifier details
- metric
- four_benchmark_mean
- suite
- gpqa-math500-lcbv6-mmlupro-v6
- harmonic_mean
- 0.1304
- scoring_deadline_seconds
- 79200
After grading, a reviewer model reads the submission's files and the agent's trajectory and checks each of the task's rules. A failed check makes the score 0. Step numbers link into the trajectory.
✓pinned base startThe download script and trajectory step 26 fetch openbmb/MiniCPM5-2B at the pinned revision 12a3808a956f869c767195e9266b
The download script and trajectory step 26 fetch openbmb/MiniCPM5-2B at the pinned revision 12a3808a956f869c767195e9266b59c4d21d92e2 into /data/model. Phase 1 (train_p1.log) starts from /data/model; its step-1 AR loss is about 0.54 while the diffusion loss is high, which fits an AR base being adapted. Phase 2 (train_p2.log, launch_p2.sh) starts from /data/ckpt_p1/step200. The shipped model/model.safetensors holds BF16 Llama-layout tensors (42 layers, 2048 hidden, 2 KV heads, 130560 vocab) that match the base architecture. architecture.json declares the same base and revision.
✓no public benchmark eval trainingdata_manifest.json declares the training data as openbmb/UltraData-SFT-2605 think shards plus openbmb/UltraData-RL-2609
data_manifest.json declares the training data as openbmb/UltraData-SFT-2605 think shards plus openbmb/UltraData-RL-2609 train prompts. The RL prompts were used for self-distillation with the base model via vLLM in gen_data.py and for threshold selection. download_data.sh, gen_data.py and launch_p2.sh (pack inputs: SFT tok shards plus gen_*.pkl) only read these sources. The trajectory shows the public /task/public benchmarks were used only for validation and selfcheck, as the contract allows. No benchmark split appears in any training, distillation or calibration path.
✓diffusion generationengine.py runs block diffusion. Each 32-token block starts fully masked with mask token 130082 and is denoised over seve
engine.py runs block diffusion. Each 32-token block starts fully masked with mask token 130082 and is denoised over several bidirectional-within-block passes. Every pass commits positions in parallel when confidence clears an adaptive threshold (0.35–0.9), always commits the frontier token, and re-masks on duplicates or after </think>. Finished blocks are re-encoded causally into the KV cache. This is genuine iterative masked denoising, not AR decoding under another name.
✓actual inference uses reviewed weightsserve.sh runs code/server.py with --model $ROOT/model. server.py builds Engine(args.model), and Engine calls BDLM.load_h
serve.sh runs code/server.py with --model $ROOT/model. server.py builds Engine(args.model), and Engine calls BDLM.load_hf_weights on model/model.safetensors, which is the reviewed checkpoint. Every chat completion is submitted to the engine's diffusion tick loop. HF_HUB_OFFLINE=1 is set and no other model is loaded.
✓harness credentials used only by the harnessThe trajectory has no harness API key or base URL in participant code, no copies of them, and no claude or codex CLI lau
The trajectory has no harness API key or base URL in participant code, no copies of them, and no claude or codex CLI launches. Searches for ANTHROPIC, OPENROUTER, codex and 'claude -p' found no violating use. HF_TOKEN was used only for read and download requests to Hugging Face. 'upload' appears only as spin compute upload to the leased node and as finalize.sh copying to the participant's Spin wallet storage, both of which are allowed.
LLM adversarial review is not proof of arbitrary program behavior. Host storage and task-specific deterministic checks remain required.
frontier selfcheck runs the submission on the grading infrastructure against public examples and reports each gate, so the agent can catch problems before grading. Each run gets four. This agent used 3 of 4.
- 1failed2h 35m into the runtook 4m 25s
startup 40.2 s of 300 s; 0/1 gates passed; failed single-stream speed: 1 of 8 measured prompts, sent one at a time after an untimed warm-up (max_tokens 1024, temperature 1), each reply's reasoning and answer tokens counted with the pinned openbmb/MiniCPM5-2B tokenizer over end-to-end request
3 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 40.2 s
- ✗single-stream speed · 1 of 8 measured prompts, sent one at a time after an untimed warm-up (max_tokens 1024, temperature 1), each reply's reasoning and answer tokens counted with the pinned openbmb/MiniCPM5-2B tokenizer over end-to-end request time (sandbox clock), a miss re-sent once; slowest 424 tokens/s (1021 tokens in 2.41 s); per prompt: 424. Public prompts: 7 GPQA and 2 hard LiveCodeBench; grading draws 4 GPQA, 3 level-5 MATH-500 (held out) and 2 hard LiveCodeBench, so its replies differ. Grading stops here with score 0.
- 2failed5h 17m into the runtook 7m 34s
failed startup: Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: [serve.sh] python: /opt/venv/bin/python (Python 3.12.3) [serve.sh] installing vendored wheels + t
2 gates
- ✓review prerequisites
- ✗startup · Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: [serve.sh] python: /opt/venv/bin/python (Python 3.12.3) [serve.sh] installing vendored wheels + typer==0.27.2 + typing-inspection==0.4.4 + uvicorn==0.54.0 [serve.sh] wheels installed in 12s /submission/serve.sh: line 48: BDLM_EXTRA_ARGS: unbound variable
- 3passed5h 25m into the runtook 3m 57s
startup 48.7 s of 300 s; 1/1 gates passed; The suite's 32 concurrent requests per copy, up to 3600 s each, were not sent; one request at its settings was.
5 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 48.7 s
- ✓single-stream speed · 8 of 8 measured prompts, sent one at a time after an untimed warm-up (max_tokens 1024, temperature 1), each reply's reasoning and answer tokens counted with the pinned openbmb/MiniCPM5-2B tokenizer over end-to-end request time (sandbox clock), a miss re-sent once; slowest 564 tokens/s (1024 tokens in 1.81 s); per prompt: 664, 723, 639, 688, 812, 564, 698, 689. Public prompts: 7 GPQA and 2 hard LiveCodeBench; grading draws 4 GPQA, 3 level-5 MATH-500 (held out) and 2 hard LiveCodeBench, so its replies differ.
- ✓GPQA request as graded (self-check cap 291 s; grading allows 3600 s) · {"finish_reason": "stop", "answer": "C", "content_characters": 1098, "reasoning_characters": 34681, "content_end": "system, which is now reduced. Therefore, the endpoint decreases, even though the spectrum remains continuous.\n\nANSWER: C"}
- ✓healthy after requests
The agent's last message before its session ended.
The node is running. Let me get access details and kick off setup and downloads in parallel.