KodCode: A Diverse, Challenging, and Verifiable Synthetic Dataset for Coding
This addresses the problem of limited diverse and verifiable coding data for training large language models, though it appears incremental as it builds on existing synthetic data methods.
The authors tackled the challenge of acquiring high-quality, verifiable training data for coding by introducing KodCode, a synthetic dataset with question-solution-test triplets validated via self-verification, and fine-tuning experiments showed it achieves state-of-the-art performance on benchmarks like HumanEval(+) and MBPP(+), surpassing models such as Qwen2.5-Coder-32B-Instruct.
We introduce KodCode, a synthetic dataset that addresses the persistent challenge of acquiring high-quality, verifiable training data across diverse difficulties and domains for training Large Language Models for coding. Existing code-focused resources typically fail to ensure either the breadth of coverage (e.g., spanning simple coding tasks to advanced algorithmic problems) or verifiable correctness (e.g., unit tests). In contrast, KodCode comprises question-solution-test triplets that are systematically validated via a self-verification procedure. Our pipeline begins by synthesizing a broad range of coding questions, then generates solutions and test cases with additional attempts allocated to challenging problems. Finally, post-training data synthesis is done by rewriting questions into diverse formats and generating responses under a test-based reject sampling procedure from a reasoning model (DeepSeek R1). This pipeline yields a large-scale, robust and diverse coding dataset. KodCode is suitable for supervised fine-tuning and the paired unit tests also provide great potential for RL tuning. Fine-tuning experiments on coding benchmarks (HumanEval(+), MBPP(+), BigCodeBench, and LiveCodeBench) demonstrate that KodCode-tuned models achieve state-of-the-art performance, surpassing models like Qwen2.5-Coder-32B-Instruct and DeepSeek-R1-Distill-Llama-70B.