Team Ai
Datasetpublic

tokenintelligence/LiveCodeBench-SnapShot-0406

LiveCodeBench Official repository for the paper "LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code" 🏠 Home Page • 💻 Data • 🏆 Leaderboard • 🔍 Explorer Introduction LiveCodeBench provides holistic and contamination-free evaluation of coding capabilities of LLMs. Particularly, LiveCodeBench continuously collects new problems over time from contests across three competition platforms -- LeetCode… See the full description on the dataset page: https://huggingface.co/datasets/tokenintelligence/LiveCodeBench-SnapShot-0406.

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes106downloads
plot_pass_at_k.py59 linesDownload Raw Back to root
1import json2import numpy as np3import matplotlib.pyplot as plt4 5def load_graded(path):6    with open(path) as f:7        data = json.load(f)8    return [item["graded_list"] for item in data]9 10datasets = [11    ("Qwen3-4B-Base", "output/Qwen3-4B-Base/Scenario.codegeneration_16_0.6_eval_all.json"),12    ("ftajwar (MaxRL 1000)", "output/ftajwar/qwen3_4B_Base_MaxRL_Polaris_1000_steps/Scenario.codegeneration_16_0.6_eval_all.json"),13    ("ftajwar (GRPO 1000)", "output/ftajwar/qwen3_4B_Base_GRPO_Polaris_1000_steps/Scenario.codegeneration_16_0.6_eval_all.json"),14]15 16def bootstrap_pass_at_k(graded_lists, k, n_bootstrap=10000, rng=None):17    """Bootstrapping estimator for pass@k averaged over problems."""18    if rng is None:19        rng = np.random.default_rng(42)20    problem_scores = []21    for outcomes in graded_lists:22        outcomes_arr = np.array(outcomes, dtype=bool)23        n = len(outcomes_arr)24        # Sample k indices with replacement, check if any pass25        samples = rng.integers(0, n, size=(n_bootstrap, k))26        any_pass = outcomes_arr[samples].any(axis=1)27        problem_scores.append(any_pass.mean())28    return np.mean(problem_scores)29 30k_values = [1, 2, 4, 8, 16]31fig, ax = plt.subplots(figsize=(8, 5))32 33all_values = []34for label, path in datasets:35    graded = load_graded(path)36    rng = np.random.default_rng(42)37    pass_at_k = [bootstrap_pass_at_k(graded, k, rng=rng) for k in k_values]38    all_values.extend(pass_at_k)39    print(f"\n{label}:")40    for k, v in zip(k_values, pass_at_k):41        print(f"  pass@{k}: {v:.4f}")42    line, = ax.plot(k_values, pass_at_k, marker="o", linewidth=2, markersize=8, label=label)43    for k, v in zip(k_values, pass_at_k):44        ax.annotate(f"{v:.3f}", (k, v), textcoords="offset points", xytext=(5, 6),45                    fontsize=8, color=line.get_color())46 47ax.set_xscale("log", base=2)48ax.set_xticks(k_values)49ax.set_xticklabels([str(k) for k in k_values])50ax.set_xlabel("k", fontsize=12)51ax.set_ylabel("pass@k", fontsize=12)52ax.set_title("pass@k (bootstrapping estimator)", fontsize=13)53ax.set_ylim(0, max(all_values) * 1.3)54ax.legend(fontsize=10)55ax.grid(True, alpha=0.3)56plt.tight_layout()57plt.savefig("instruct.png", dpi=150)58print("\nSaved instruct.png")59