KodCode: Un conjunto de datos sintético diverso, desafiante y verificable para codificación
KodCode: A Diverse, Challenging, and Verifiable Synthetic Dataset for Coding
March 4, 2025
Autores: Zhangchen Xu, Yang Liu, Yueqin Yin, Mingyuan Zhou, Radha Poovendran
cs.AI
Resumen
Presentamos KodCode, un conjunto de datos sintético que aborda el desafío persistente de adquirir datos de entrenamiento de alta calidad y verificables en diversos niveles de dificultad y dominios para entrenar modelos de lenguaje grandes (LLM) en programación. Los recursos existentes centrados en código generalmente no logran garantizar ni la amplitud de cobertura (por ejemplo, abarcando desde tareas de programación simples hasta problemas algorítmicos avanzados) ni la corrección verificable (por ejemplo, pruebas unitarias). En contraste, KodCode comprende tripletas de pregunta-solución-prueba que se validan sistemáticamente mediante un procedimiento de autoverificación. Nuestro pipeline comienza sintetizando una amplia gama de preguntas de programación, luego genera soluciones y casos de prueba con intentos adicionales asignados a problemas desafiantes. Finalmente, se realiza una síntesis de datos posentrenamiento reescribiendo las preguntas en diversos formatos y generando respuestas bajo un procedimiento de muestreo de rechazo basado en pruebas desde un modelo de razonamiento (DeepSeek R1). Este pipeline produce un conjunto de datos de programación a gran escala, robusto y diverso. KodCode es adecuado para el ajuste fino supervisado, y las pruebas unitarias emparejadas también ofrecen un gran potencial para el ajuste mediante aprendizaje por refuerzo (RL). Los experimentos de ajuste fino en benchmarks de programación (HumanEval(+), MBPP(+), BigCodeBench y LiveCodeBench) demuestran que los modelos ajustados con KodCode alcanzan un rendimiento de vanguardia, superando a modelos como Qwen2.5-Coder-32B-Instruct y DeepSeek-R1-Distill-Llama-70B.
English
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.Summary
AI-Generated Summary