在这里插入图片描述

📖标题:CodeContests+: High-Quality Test Case Generation for Competitive Programming
🌐来源:arXiv, 2506.05817

🌟摘要

🔸竞争编程由于其高推理难度和精确的正确性反馈,已成为训练和评估大型语言模型 (LLM) 推理能力的关键任务。然而,虽然有大量公共问题数据,例如问题陈述和解决方案,但这些问题的测试用例往往很难获得。因此,测试用例生成是构建大规模数据集的必要任务,测试用例的质量直接决定了评估的准确性。
🔸在本文中,我们介绍了一种基于 LLM 的代理系统,该系统为竞争编程问题创建高质量的测试用例。我们将此系统应用于 CodeContest 数据集,并提出了一个具有改进测试用例的新版本,名为 CodeContest+。我们评估了 CodeContestPlus 中测试用例的质量。首先,我们使用 170200 万份提交和 pass/fail 标签来检查这些测试用例在评估的准确性。
🔸结果表明,CodeContests+ 的准确率明显高于 CodeContest,尤其是在真阳性率 (TPR) 明显更高的情况下。随后,我们在 LLM 强化学习 (RL) 中的实验进一步证实了测试用例质量的改进为 RL 产生了相当大的优势。项目在https://huggingface.co/datasets/ByteDance-Seed/Code-Contests-Plus

🛎️文章简介

🔸研究问题:如何生成高质量的测试用例以提升竞争编程问题的数据集质量?
🔸主要贡献:论文提出了一种基于LLM的生成-验证(G-V)代理系统来构建和验证高质量的测试用例,以改进竞争编程数据集的有效性和可靠性。

📝重点思路

🔸设计了生成器代理(Generator Agent),自动生成符合问题描述的测试用例生成程序,以构造多样化的测试用例,包括随机数据、边界情况和复杂情况。
🔸构建了验证器代理(Validator Agent),用于检查生成的测试用例是否满足问题的约束条件,从而提高测试用例的正确性。
🔸实施了数据清理过程,去除了不适合的、低质量的竞争编程问题,以确保数据集的质量。
🔸应用评估方法,对生成的测试用例质量进行验证,确保它们能够有效区分正确和错误的解决方案。
🔸利用多个真实参赛者的提交记录进行反馈循环,不断优化生成器和验证器的性能。

🔎分析总结

🔸通过实验发现,CodeContests+的测试用例比原有的CodeContests具有更高的正确性和覆盖率,明显提高了错误解决方案的检测能力。
🔸使用CodeContests+进行强化学习训练比使用原数据集带来了显著的性能提升,验证了高质量测试用例在模型训练中的重要性。
🔸量化分析显示,随着测试用例数量的增加,整体评估准确性显著提高,尤其是高质量测试用例的比例明显高于原始数据集。

💡个人观点

论文的核心在于LLM代理系统结合生成与验证机制,提升了测试用例的生成质量和准确性,为竞争编程问题提供了更为可靠的数据基础,是字节近期第二篇编程数据合成文章。

🧩附录

在这里插入图片描述

Logo

更多推荐