LiveCodeBench, rejection-sampling skyline & Z

Acceptance rate (Z) and accuracy ceiling (skyline) of two potentials — the no-runtime-error potential (LCBRuntimeNoErrorPotential) and the public-test potential (LCBPublicTestPotential) — under exact posterior sampling, across 12 models and 6 temperatures (71 cells, ~4.2M rollouts).

On this page
  1. Definitions
  2. skyline against temperature
  3. skyline by model and temperature
  4. Z, the acceptance rate (normalizing constant)
  5. by difficulty, choose a model
  6. skyline against temperature
  7. skyline by model and temperature
  8. Z, the acceptance rate (normalizing constant)
  9. by difficulty, choose a model

Definitions

Two potentials, two constraints. Each rollout y for question x defines a validity indicator φ(y); rejection sampling targets π(·|x) ∝ p0(·|x)·φ(·) — sample from the model, keep the valid ones.

Z(x)=Pr(y valid|x)    skyline(x)=Pr(y correct|y valid,x)    Pr(y correct|x)=Z(x)·skyline(x)

Pooled over all rollouts, Z=(∑valid)/(∑N), skyline=(∑correct)/(∑valid)=pass@1/Z, so pass@1 = Z × skyline holds on the plotted numbers. Correct = the LCB evaluator’s verdict over all tests (public + private).

No-error potential (LCBRuntimeNoErrorPotential): φ = the code runs on the public inputs with no runtime error / timeout. A program that runs but answers wrongly is still valid.

Public-test potential (LCBPublicTestPotential): the strict constraint is “passes all public example tests”. Because the potential is soft (finite penalty per failed public test), every public-test section is indexed by k = the max number of failing public tests allowed: φk=1[n_failed≤k]. k=0 is the strict potential; raising k relaxes it, and at k=max#public-tests every rollout is accepted (Z=1, skyline=pass@1). A correct solution passes every public test, so correct ⇒ φk and pass@1 = Zk × skylinek at every k.

Nesting: correct ⇒ passes-all-public (k=0) ⇒ runs-no-error, hence pass@1 ≤ Zpublic ≤ Zno-error.

Why “skyline”? It is the accuracy of ideal constrained generation: if you could sample exactly from π (enforce the constraint and nothing else), this is how often the result would be correct — a reference for judging approximate inference methods (importance sampling, SMC, fine-tuning) that target the same π. Reported pooled over problems so pass@1 = Z × skyline holds; shaded bands are 95% bootstrap CIs (2000 resamples of the problem set).

LiveCodeBench, 12 models × 6 temperatures (71 cells, ~4.2M rollouts); both potentials run literally (forkserver, 6 s per-test timeout). Instances with no public tests excluded from the public-test analysis.

Part 1 — no-error potential

skyline against temperature

skyline = (correct)/(runs-without-error), pooled. Wrong-but-running answers dilute it.

skyline by model and temperature

modelt=0t=0.2t=0.4t=0.6t=0.8t=1.0
Llama-3 8B0.1380.1310.1190.1060.0850.063
Llama-3 8B Instruct0.2020.1990.1950.1890.1830.180
Llama-3.1 8B0.1320.1270.1190.1060.0880.068
Llama-3.1 8B Instruct0.2290.2240.2220.2160.2060.203
Llama-3.2 1B0.0270.0220.0180.0130.0090.005
Llama-3.2 1B Instruct0.0980.0950.0880.0670.054
Qwen2.5-Coder 3B0.2730.2730.2690.2570.2270.190
Qwen2.5-Coder 3B Instruct0.2970.3000.2980.2890.2820.273
Qwen2.5-Coder 7B0.3210.3190.3150.2990.2710.240
Qwen2.5-Coder 7B Instruct0.3990.3940.3900.3870.3810.377
DeepSeek-Coder 6.7B0.1850.1870.1820.1730.1590.139
DeepSeek-Coder 6.7B Instruct0.2420.2340.2270.2270.2240.220

Z, the acceptance rate (normalizing constant)

Z = pooled proportion of rollouts that run without error; falls toward t=1.0.

by difficulty, choose a model

No-error skyline and Z split by problem difficulty for a single model. Shaded bands are 95% bootstrap CIs over that difficulty’s problems.

skyline & Z by difficulty and temperature (selected model):

difficultymetrict=0t=0.2t=0.4t=0.6t=0.8t=1.0
easyskyline0.3400.3230.2940.2600.1990.136
Z0.8780.8750.8630.8110.7210.494
mediumskyline0.0280.0290.0220.0180.0120.007
Z0.7730.7860.7700.7180.6120.372
hardskyline0.0000.0000.0010.0000.0010.000
Z0.6820.6810.6510.5710.4400.232

Part 2 — public-test potential

Pick the acceptance threshold k (max public-test failures allowed); every plot and table in this part updates to that k. k=0 is the strict “pass all public tests” potential.

skyline against temperature

skyline = (correct)/(accepted at threshold k), pooled. At k=0 this is the strict public-test skyline — much higher than the no-error skyline, and it tends to rise with temperature.

skyline by model and temperature

modelt=0t=0.2t=0.4t=0.6t=0.8t=1.0
Llama-3 8B0.7060.6940.6760.6940.6860.723
Llama-3 8B Instruct0.6840.6620.6700.6750.6850.697
Llama-3.1 8B0.6700.6620.6730.6860.7070.734
Llama-3.1 8B Instruct0.7160.7290.7420.7580.7700.789
Llama-3.2 1B0.5790.5900.5630.5010.4810.412
Llama-3.2 1B Instruct0.7460.6680.6690.6820.692
Qwen2.5-Coder 3B0.7660.7720.7770.7890.7930.825
Qwen2.5-Coder 3B Instruct0.7830.7750.7840.7880.7950.805
Qwen2.5-Coder 7B0.7830.7990.8080.8160.8250.844
Qwen2.5-Coder 7B Instruct0.8140.8050.8050.8080.8090.815
DeepSeek-Coder 6.7B0.7580.7350.7340.7320.7430.754
DeepSeek-Coder 6.7B Instruct0.8120.7790.7750.7770.7840.796

Z, the acceptance rate (normalizing constant)

Z = pooled proportion of rollouts accepted at threshold k (k=0: pass all public tests). Rises toward 1 as k grows.

by difficulty, choose a model

Public-test skyline and Z split by difficulty for a single model, at the selected k. Use both selectors; the plots and table update together.

skyline & Z by difficulty and temperature (selected model & k):

difficultymetrict=0t=0.2t=0.4t=0.6t=0.8t=1.0
easyskyline0.9340.9050.8810.8890.8510.835
Z0.3190.3120.2880.2370.1690.081
mediumskyline0.2220.2560.2300.2310.2200.239
Z0.0980.0880.0730.0550.0340.012
hardskyline0.0000.0080.0130.0070.0150.024
Z0.0300.0370.0380.0290.0170.004