Neue Code-Modelle sollen mit „Constrained Decoding“ von Expertenwissen profitieren.
Über Daniel Maninger
Daniel Maninger studierte Informatik und ist seit Oktober 2022 Doktorand an der TU Darmstadt, Mitglied der dortigen Software Technology Group (STG) unter der Leitung von Prof. Mira Mezini und Research Assistant im hessian.AI 3AI-Projekt.
In seiner Forschung befasst er sich mit der Generierung von Programmcode durch Künstliche Intelligenz, mit besonderem Fokus auf die Code-Fähigkeiten großer Sprachmodelle.
Menschliches Know-how plus KI-Modell
Große Sprachmodelle wie GPT-4 haben in den letzten Jahren enorme Fortschritte bei der Verarbeitung natürlicher Sprache und auch der Code-Generierung gemacht. Maninger sieht allerdings, dass ein einfaches Skalieren der Modelle nicht ausreicht, um bestehende Probleme wie Bugs im generierten Code, Halluzinationen von Funktionen und generell unsicherer oder qualitativ minderwertiger Code zu meistern.
In der Software Technology Group, die traditionell Themen wie Programmiersprachen und Programmanalyse bearbeitet, plant man daher existierendes Expertenwissen mit einzubringen. Sprachmodelle sollen so nicht als Allheilmittel dastehen, sondern mit etablierten Ansätzen kombiniert werden, um „das Beste aus beiden Welten zu nutzen“, wie Maninger sag
Constrained Decoding soll KI-Code besser machen
Konkret arbeitet Maninger am sogenannten Constrained Decoding. Dabei wird ein bestehendes Code-Modell genommen und sein Output, also die Code-Generierung, durch bestimmte Beschränkungen – sogenannte „Constraints“ – gelenkt.
Während der schrittweisen Generierung des Codes kann so bereits analysiert werden, ob die nächsten Bausteine zu einem sicheren und qualitativ hochwertigen Programm führen. Bausteine, die nicht erwünscht sind, werden von der Generierung ausgeschlossen.
Hier kommt nun das Expertenwissen zum Tragen: Laut Maninger können Methoden der Programmanalyse und Code-Vervollständigung aus der Software Technology Group eingesetzt werden, um partiell generierten Code zu überprüfen und in die gewünschte Richtung zu lenken.
In Zukunft will Maninger die Code-Modelle zusätzlich mit Reinforcement Learning trainieren. Dabei soll geprüft werden, ob der fertig generierte Code korrekt ist, und zusätzliche Software-Analyse-Werkzeuge bewerten zudem die Qualität und Sicherheit. So könnte das System lernen, wirklich guten Code zu erzeugen.
Code-Modelle könnten beim Fachkräftemangel helfen
Maninger sieht hessian.AI als sehr hilfreich für seine Forschung an Das Netzwerk ermögliche den Austausch mit Expertinnen und Experten aus verschiedenen Bereichen der KI. Gemeinsam könne so etwa an der Verknüpfung von Methoden wie dem maschinellen Lernen mit etablierten Ansätzen des Software-Engineering oder auch an neurosymbolischer KI gearbeitet werden.
Eine große Herausforderung sieht Maninger darin, mit der rasanten Entwicklung im Bereich der Sprachmodelle Schritt zu halten und die verschiedenen Ansätze zu integrieren, was oft mit technischen Schwierigkeiten verbunden sei.
Gelingt dies, so Maninger, könnten effizientere, robustere und zuverlässigere Modelle zur Codegenerierung dazu beitragen, zwei drängende Probleme zu lösen: den Mangel an Programmierern und die oft unzureichende Qualität von Software. Indem die Modelle die Entwickler unterstützen und potenzielle Fehler im Code aufdecken, könnten Produktivität und Sicherheit erhöht werden.