ChatPaper.aiChatPaper

KodCode: Разнообразный, сложный и проверяемый синтетический набор данных для программирования

KodCode: A Diverse, Challenging, and Verifiable Synthetic Dataset for Coding

March 4, 2025
Авторы: Zhangchen Xu, Yang Liu, Yueqin Yin, Mingyuan Zhou, Radha Poovendran
cs.AI

Аннотация

Мы представляем KodCode, синтетический набор данных, который решает постоянную проблему получения высококачественных, проверяемых обучающих данных для обучения больших языковых моделей в области программирования, охватывая различные уровни сложности и домены. Существующие ресурсы, ориентированные на код, обычно не обеспечивают ни широты охвата (например, от простых задач до сложных алгоритмических проблем), ни проверяемой корректности (например, модульных тестов). В отличие от них, KodCode состоит из триплетов "вопрос-решение-тест", которые систематически проверяются с помощью процедуры самопроверки. Наш процесс начинается с синтеза широкого спектра задач по программированию, затем генерируются решения и тестовые случаи, с дополнительными попытками для сложных задач. Наконец, посттренировочный синтез данных выполняется путем переформулирования вопросов в различные форматы и генерации ответов с использованием процедуры отбора на основе тестов из модели рассуждений (DeepSeek R1). Этот процесс создает масштабный, надежный и разнообразный набор данных по программированию. KodCode подходит для тонкой настройки с учителем, а парные модульные тесты также предоставляют большой потенциал для настройки с подкреплением. Эксперименты по тонкой настройке на бенчмарках программирования (HumanEval(+), MBPP(+), BigCodeBench и LiveCodeBench) демонстрируют, что модели, настроенные на KodCode, достигают наилучших результатов, превосходя модели, такие как Qwen2.5-Coder-32B-Instruct и 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

PDF254March 6, 2025