REFUTE
收藏github2025-03-02 更新2025-03-03 收录
下载链接:
https://github.com/falsifiers/REFUTE
下载链接
链接失效反馈官方服务:
资源简介:
REFUTE数据集用于评估语言模型是否能够推理出代码可能在何时失败。具体来说,给定一个问题描述和一个错误的代码,任务是找到一个有效的输入,使得这段代码不能产生期望的输出。
The REFUTE dataset is designed to evaluate whether language models can reason about when code might fail. Specifically, given a problem description and a buggy code snippet, the task is to find a valid input such that the code fails to produce the desired output.
创建时间:
2025-02-27
原始信息汇总
REFUTE 数据集概述
数据集简介
REFUTE是一个用于评估语言模型是否能够推理代码可能失败情况的数据集。具体而言,给定一个问题描述和一个错误的代码,任务是在该代码未能产生期望输出的有效输入上找到反例。
数据集构成
- 数据集包含评估环境以及从论文中简化的代码,用于查询模型的解决方案。
安装
- 使用Git克隆和pip安装的方式进行安装。
bash git clone https://github.com/falsifiers/REFUTE.git cd REFUTE pip install -e .
环境变量
- 使用模型时需要设置
OPENROUTER_KEY和GOOGLE_API_KEY环境变量。
评估
- 评估需要准备特定格式的JSON文件,包含问题ID、方法和尝试列表。
- 方法可以是
standard、randsearch或randsearch_oracle。 - 评估结果存储在JSON文件中,包含每个尝试的
success状态和info反馈。
json [ { "problem_id": "1975F", "verdicts": [ { "success": true, "info": "" } ] } ]
查询模型
- 使用命令行工具查询模型,并将尝试写入
preds.json。
bash python -m refute.generate_preds --model MODEL_NAME --method few_shot
杂项
- 评估时编译的代码在第一次运行后会缓存。
- 需要确保防病毒软件不会干扰执行。
- 数据集包含Codeforces的精确语言版本。
引用
bibtex @article{sinha2025falsify, title={Can Language Models Falsify? Evaluating Algorithmic Reasoning with Counterexample Creation}, author={Sinha, Shiven and Goel, Shashwat and Kumaraguru, Ponnurangam and Geiping, Jonas and Bethge, Matthias and Prabhu, Ameya}, journal={arXiv preprint arXiv:2502.19414}, year={2025} }
搜集汇总
数据集介绍

构建方式
REFUTE数据集的构建旨在评估语言模型对于代码失败情况下的推理能力。该数据集通过收集包含问题陈述和错误代码的实例,要求模型找出能够使该代码失效的有效输入,从而构建而成。
特点
REFUTE数据集的特点在于,它不仅提供了评估环境,还包括了论文中简化的代码,以便对模型进行查询以获取解决方案。该数据集涵盖了特定的问题和代码对,旨在检验模型生成反例的能力,以此来评估算法推理的准确性。
使用方法
使用REFUTE数据集时,用户需要准备一个JSON格式的文件,其中包含问题ID、方法以及尝试的输入代码。通过执行评估脚本,用户可以获得每个尝试的判决结果,并据此计算模型的成功率。此外,用户还可以通过设置环境变量来查询模型,并使用现有提示来生成预测结果。
背景与挑战
背景概述
REFUTE数据集的研究背景源于对语言模型算法推理能力的评估需求。该数据集由Sinha, Shiven等研究人员于2025年创建,旨在探究语言模型是否能够推理出代码可能失败的情况。具体而言,该数据集的任务是给定一个问题描述和一个错误的代码,找到有效的输入使得该代码无法产生预期的输出。REFUTE数据集的构建,对算法推理领域的研究产生了显著影响,为评估语言模型在代码理解和调试方面的能力提供了重要的基准。
当前挑战
该数据集在构建和应用过程中面临的挑战主要包括:1) 如何精确地构建问题陈述和错误代码,以有效评估语言模型的推理能力;2) 数据集的多样性和复杂性对于保证模型评估的全面性和准确性提出了挑战;3) 在评估过程中,确保评估环境稳定性和模型查询的安全性;4) 针对不同的语言模型,如OpenRouter和Gemini模型,需要配置相应的环境变量和接口调用,增加了数据集使用的复杂性。
常用场景
经典使用场景
REFUTE数据集主要被用于评估语言模型对于代码错误推理的能力。具体而言,其经典使用场景是给定一个问题陈述和一个不正确的代码,任务是在该代码上找到一个有效的输入,使得代码无法产生期望的输出。
实际应用
REFUTE数据集的实际应用场景广泛,可用于教育领域,帮助学习者理解代码中的逻辑错误;在软件开发中,有助于自动检测代码缺陷,提高软件质量;同时,它也为语言模型在代码生成与优化领域的应用提供了基础。
衍生相关工作
基于REFUTE数据集,研究者们已经衍生出一系列相关工作,包括但不限于改进语言模型对代码错误的检测能力,开发新的算法推理方法,以及将这一评价标准应用于更多类型的编程问题和代码场景中。
以上内容由遇见数据集搜集并总结生成



