MoTCoder: Steigerung von Large Language Models durch Modulare des Denkens für anspruchsvolle Programmieraufgaben

Große Sprachmodelle (Large Language Models, LLMs) haben beeindruckende Fähigkeiten bei der Bewältigung einfacher Programmieraufgaben gezeigt. Ihre Leistung neigt jedoch dazu, bei anspruchsvolleren Programmierproblemen zu schwächeln. Wir beobachten, dass herkömmliche Modelle Lösungen oft als monolithische Codeblöcke generieren, was ihre Effektivität bei der Lösung komplexer Fragen einschränkt. Um diese Einschränkung zu überwinden, präsentieren wir den Module-of-Thought Coder (MoTCoder). Wir stellen einen Rahmen für die Instruction-Tuning-Methodik des Moduls des Denkens (Module-of-Thought, MoT) vor, der darauf abzielt, Aufgaben in logische Teil-Aufgaben und Sub-Module zu zerlegen. Unsere Untersuchungen zeigen, dass durch die Pflege und Nutzung von Sub-Modulen die Modularität und Korrektheit der generierten Lösungen erheblich verbessert werden, was zu einer signifikanten Steigerung der Pass@1-Rate um 5,9 % bei APPS und 5,8 % bei CodeContests führt. MoTCoder erreicht zudem erhebliche Fortschritte in der Fähigkeit zur Selbstkorrektur und übertrifft damit die aktuelle State-of-the-Art (SOTA)-Leistung um 3,3 %. Zudem analysieren wir den Zusammenhang zwischen der Problemkomplexität und der optimalen Modul-Zerlegung und bewerten den Wartbarkeitsindex, wodurch bestätigt wird, dass der von MoTCoder generierte Code leichter verständlich und modifizierbar ist – ein Vorteil, der langfristig für die Pflege und Weiterentwicklung von Software von Bedeutung ist. Unsere Quellcodes sind unter https://github.com/dvlab-research/MoTCoder verfügbar.