ChatPaper.aiChatPaper

KodCode: Ein vielfältiger, herausfordernder und verifizierbarer synthetischer Datensatz für Programmierung

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

March 4, 2025
Autoren: Zhangchen Xu, Yang Liu, Yueqin Yin, Mingyuan Zhou, Radha Poovendran
cs.AI

Zusammenfassung

Wir stellen KodCode vor, einen synthetischen Datensatz, der die anhaltende Herausforderung der Beschaffung von hochwertigen, verifizierbaren Trainingsdaten über verschiedene Schwierigkeitsgrade und Domänen hinweg für das Training von Large Language Models für das Programmieren adressiert. Bestehende, auf Code fokussierte Ressourcen gewährleisten typischerweise entweder nicht die Breite der Abdeckung (z. B. von einfachen Codierungsaufgaben bis hin zu fortgeschrittenen algorithmischen Problemen) oder die verifizierbare Korrektheit (z. B. Unit-Tests). Im Gegensatz dazu besteht KodCode aus Frage-Lösung-Test-Tripeln, die systematisch über ein Selbstverifizierungsverfahren validiert werden. Unsere Pipeline beginnt mit der Synthese einer breiten Palette von Codierungsfragen, gefolgt von der Generierung von Lösungen und Testfällen, wobei zusätzliche Versuche für herausfordernde Probleme vorgesehen sind. Schließlich wird die Post-Training-Datensynthese durchgeführt, indem Fragen in verschiedene Formate umgeschrieben und Antworten unter einem testbasierten Ablehnungsverfahren aus einem Reasoning-Modell (DeepSeek R1) generiert werden. Diese Pipeline liefert einen groß angelegten, robusten und vielfältigen Codierungsdatensatz. KodCode eignet sich für überwachtes Feinabstimmen, und die gepaarten Unit-Tests bieten auch großes Potenzial für RL-Feinabstimmung. Feinabstimmungsexperimente auf Codierungs-Benchmarks (HumanEval(+), MBPP(+), BigCodeBench und LiveCodeBench) zeigen, dass mit KodCode abgestimmte Modelle state-of-the-art Leistung erzielen und Modelle wie Qwen2.5-Coder-32B-Instruct und DeepSeek-R1-Distill-Llama-70B übertreffen.
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

PDF304March 6, 2025