Kompetitives Programmieren, bei dem komplexe Aufgaben unter Zeitdruck gelöst werden müssen, ist zu einem wichtigen Bereich für die Entwicklung und Evaluierung von großen Sprachmodellen (LLMs) geworden. Die präzise Erfolgsmessung in diesem Bereich bietet wertvolles Feedback für die Verbesserung der KI-Systeme. Während eine Vielzahl öffentlicher Aufgabenstellungen und Lösungen verfügbar sind, stellt die Beschaffung umfassender Testdaten eine Herausforderung dar. Die Qualität dieser Testfälle ist entscheidend für die Genauigkeit der Bewertung und somit für den Fortschritt in der KI-Entwicklung.
CodeContests+ erweitert den bestehenden Datensatz CodeContests und bietet eine verbesserte Sammlung von Testfällen für das kompetitive Programmieren. Der Datensatz umfasst 11.690 Programmieraufgaben, dazugehörige, qualitativ hochwertige Testfälle, Generatoren für Testfälle, Validatoren, Output-Checker und über 13 Millionen korrekte und inkorrekte Lösungsansätze.
Ein Kernstück von CodeContests+ ist ein auf LLMs basierendes Agentensystem, das hochwertige Testfälle generiert. Dieses System erstellt nicht nur zufällige Testfälle, sondern auch speziell auf die jeweilige Problemstellung zugeschnittene Testfälle, die verschiedene Sonderfälle und potenzielle Fehlerquellen abdecken. Ein unabhängiger Validator überprüft die Korrektheit der generierten Testfälle und stellt sicher, dass sie den vorgegebenen Bedingungen entsprechen.
Um den unterschiedlichen Anforderungen an Rechenressourcen gerecht zu werden, bietet CodeContests+ verschiedene Versionen der Testfälle mit zunehmender Anzahl (1x, 2x, ..., 5x). Darüber hinaus stehen Testfallgeneratoren zur Verfügung, die es ermöglichen, beliebig viele zusätzliche Testfälle zu erstellen. Die Befehle zur Ausführung der Generatoren sind im Datensatz enthalten.
Die Einhaltung der spezifischen Bedingungen der Programmieraufgaben, wie Datenbereiche, Formatierungsvorschriften und Datenstrukturvorgaben, ist essentiell für die Gültigkeit der Testfälle. CodeContests+ stellt für jede Aufgabe einen Validator bereit, der die Konformität der Eingabedaten mit den vorgegebenen Einschränkungen überprüft. Für Aufgaben mit mehreren gültigen Lösungen stehen spezielle Output-Checker zur Verfügung, die die Korrektheit der Ausgabe anhand verschiedener Kriterien bewerten.
Die Qualität der Testfälle in CodeContests+ wurde anhand einer großen Anzahl von Lösungsansätzen evaluiert. Für jede Aufgabe wurden 100 korrekte und 100 inkorrekte Lösungen verwendet, um die Fähigkeit der Testfälle zur Unterscheidung zwischen korrekten und inkorrekten Eingaben zu prüfen. Die Ergebnisse dieser Evaluation, einschließlich der True Positive Rate (TPR) und True Negative Rate (TNR), sind im Datensatz dokumentiert. Die Ergebnisse zeigen, dass CodeContests+ im Vergleich zu CodeContests eine deutlich höhere Genauigkeit und insbesondere eine höhere TPR erreicht.
Experimente im Bereich des Reinforcement Learning (RL) mit LLMs bestätigen, dass die verbesserte Qualität der Testfälle in CodeContests+ zu erheblichen Vorteilen im Trainingsprozess führt. Die präzisere Bewertung der Modellleistung durch die hochwertigen Testfälle ermöglicht eine effektivere Anpassung der Modelle und somit eine schnellere Verbesserung ihrer Fähigkeiten im kompetitiven Programmieren.
Bibliographie: https://www.arxiv.org/abs/2506.05817 https://arxiv.org/html/2506.05817 http://paperreading.club/page?id=314397 https://huggingface.co/collections/ByteDance-Seed/codecontestsplus-68467fbdaeb3469bf90eace1 https://paperswithcode.com/dataset/codecontests https://www.chatpaper.ai/zh/dashboard/paper/8bcb5ed9-4bb7-4df2-a4c1-60ed9d892651 https://openreview.net/forum?id=PFdjJiZjPj https://github.com/codefuse-ai/Awesome-Code-LLM https://github.com/google-deepmind/code_contests https://www.researchgate.net/publication/391953831_LogiCase_Effective_Test_Case_Generation_from_Logical_Description_in_Competitive_Programming