{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/how-can-i-publish-my-llm-benchmark-without","title":"How Can I Publish My LLM Benchmark Without Giving the True Answers Away?","arxiv_id":"2505.18102","date":"2025-05-23","proceeding":null,"authors":["Takashi Ishida","Thanawat Lodkaew","Ikko Yamane"],"abstract":"Publishing a large language model (LLM) benchmark on the Internet risks contaminating future LLMs: the benchmark may be unintentionally (or intentionally) used to train or select a model. A common mitigation is to keep the benchmark private and let participants submit their models or predictions to the organizers. However, this strategy will require trust in a single organization and still permits test-set overfitting through repeated queries. To overcome this issue, we propose a way to publish benchmarks without completely disclosing the ground-truth answers to the questions, while still maintaining the ability to openly evaluate LLMs. Our main idea is to inject randomness to the answers by preparing several logically correct answers, and only include one of them as the solution in the benchmark. This reduces the best possible accuracy, i.e., Bayes accuracy, of the benchmark. Not only is this helpful to keep us from disclosing the ground truth, but this approach also offers a test for detecting data contamination. In principle, even fully capable models should not surpass the Bayes accuracy. If a model surpasses this ceiling despite this expectation, this is a strong signal of data contamination. We present experimental evidence that our method can detect data contamination accurately on a wide range of benchmarks, models, and training methodologies.","url_abs":"https://arxiv.org/abs/2505.18102v1","url_pdf":"https://arxiv.org/pdf/2505.18102v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[],"tasks":[{"task_slug":"large-language-model","task_name":"Large Language Model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2505.18102","atlas_url":"https://app.syntology.ai/?focus=2505.18102","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2505.18102"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/ishida-lab/capbencher","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/google/BIG-bench","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":9,"ran_draft_wrong":2},"by_repo_kind":{"found_in_text":{"samples":11,"ran":11,"repositories":2}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"400317ac04a14592","entry":"defaultEnco","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/evaluate_task.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/evaluate_task.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"400317ac04a14592"}},{"code_sha256_prefix":"fd4602d76e434e20","entry":"default_format_fn","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/api/json_task.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/api/json_task.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fd4602d76e434e20"}},{"code_sha256_prefix":"74b5cfb996a14d7f","entry":"escape_markdown_chars","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/dummy_model.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/dummy_model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"74b5cfb996a14d7f"}},{"code_sha256_prefix":"068de30a70e23c02","entry":"format_quote","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/dummy_model.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/dummy_model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"068de30a70e23c02"}},{"code_sha256_prefix":"bddbb97d5a56e92d","entry":"get_capped_answer","repo":"ishida-lab/capbencher","repo_kind":"found_in_text","path":"evaluate_qa.py","file_url":"https://github.com/ishida-lab/capbencher/blob/HEAD/evaluate_qa.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bddbb97d5a56e92d"}},{"code_sha256_prefix":"814bb53e690c85e8","entry":"gpt2_non_embedding_params","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/huggingface_models.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/huggingface_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"814bb53e690c85e8"}},{"code_sha256_prefix":"121bc81a5612fa6f","entry":"gpt_embedding_params","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/huggingface_models.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/huggingface_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"121bc81a5612fa6f"}},{"code_sha256_prefix":"4fda836877d6e520","entry":"gpt_non_embedding_params","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/huggingface_models.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/huggingface_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4fda836877d6e520"}},{"code_sha256_prefix":"2cc8cb27bd3e5662","entry":"make_nshot_dataset","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/api/json_task.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/api/json_task.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2cc8cb27bd3e5662"}},{"code_sha256_prefix":"f1b0ac1568f939bd","entry":"parse_judge_output","repo":"ishida-lab/capbencher","repo_kind":"found_in_text","path":"evaluate_qa.py","file_url":"https://github.com/ishida-lab/capbencher/blob/HEAD/evaluate_qa.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f1b0ac1568f939bd"}},{"code_sha256_prefix":"fb48e1bc0bb1a69e","entry":"postprocess_output","repo":"google/BIG-bench","repo_kind":"found_in_text","path":"bigbench/models/model_utils.py","file_url":"https://github.com/google/BIG-bench/blob/HEAD/bigbench/models/model_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fb48e1bc0bb1a69e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}