Coder Reviewer Reranking für Code-Generierung

Die Stichproben verschiedener Programme aus einem Code-Sprachmodell und die Neurangierung mittels Modell-Wahrscheinlichkeit ist eine gängige Methode für die Codegenerierung, neigt jedoch dazu, degenerierte Lösungen vorzuziehen. Inspiriert durch kooperatives Programmieren schlagen wir eine Neurangierung mit Coder-Reviewer vor. Wir erweitern Sprachmodelle für Coder aus vorherigen Arbeiten, die Programme auf Basis sprachlicher Anweisungen generieren, um Reviewer-Modelle, die die Wahrscheinlichkeit der Anweisung gegeben das generierte Programm bewerten. Wir führen eine umfassende Studie an sechs Datensätzen mit acht Modellen aus drei Modellfamilien durch. Experimentelle Ergebnisse zeigen, dass die Coder-Reviewer-Neurangierung im Vergleich zur Neurangierung allein mit dem Coder-Modell konsistente und signifikante Verbesserungen erzielt (bis zu 17 Prozentpunkte absolute Genauigkeitssteigerung). In Kombination mit der Filterung nach Ausführbarkeit kann die Coder-Reviewer-Neurangierung oft die Methode des minimalen Bayes-Risikos übertrifft. Die Coder-Reviewer-Neurangierung ist einfach durch Prompting implementierbar, verallgemeinert sich auf verschiedene Programmiersprachen und funktioniert gut mit vorgefertigten Hyperparametern.