Code Llama: Ein Llama lernt programmieren

Seite 4: Fazit

Inhaltsverzeichnis

Code Llama funktioniert in diesen Tests besonders gut mit dem mittelgroßen Modell. In vielen Fällen ist der Code wirklich vernünftig und muss nur noch wenig modifiziert werden. Auf einer CPU mit 4-Bit-Quantisierung erfolgt die Codegenerierung etwas behäbig, aber vermutlich viel schneller, als Entwicklerinnen und Entwickler den Code selbst schreiben könnten.

Es ist nicht klar, warum besonders das mittelgroße Modell nahezu fehlerfrei arbeitet. Kleinere Modelle können naturgemäß nicht auf einen solchen "Erfahrungsschatz" zurückgreifen, aber vom Modell mit den meisten Parametern erwartet man die besten Ergebnisse. Ein Effekt der verwendeten Quantisierung (vier Bit) ist sehr unwahrscheinlich, weil sich schon gezeigt hat, dass die Modelle auch bei reduzierter Genauigkeit stabil bleiben und fast keine Einbußen in Kauf genommen werden müssen. Viel wahrscheinlicher ist die Aufgabe, einen Quicksort-Algorithmus zu schreiben, dafür verantwortlich.

Um ein stärker differenziertes Bild zu erhalten, müsste man echte Anforderungen aus Use Cases verwenden und sehen, wie die Modelle das als Code umsetzen. Das ist nicht ganz einfach, da sie sehr präzise formulierte Anforderungen verlangen. Ein allgemein akzeptierter Benchmark fehlt hier noch. Das ist ein häufiges Problem bei generativen Modellen, weshalb es oft Diskussionen darüber gibt, welches Modell nun "besser" funktioniert. Einige Arbeitsgruppen versuchen, solche Benchmarks zu definieren, so dass zukünftig hier mit mehr Substanz argumentiert werden kann.

Werden Entwickler also bald arbeitslos, wenn Modelle selbst Anforderungen umsetzen können? Wahrscheinlich ist eher das Gegenteil der Fall: Man kann den Ergebnissen der Modelle nicht vertrauen, sondern muss sie überprüfen. Dazu sind weiterhin Expertinnen und Experten notwendig – vermutlich in Zukunft sogar mehr, weil durch die Modelle mehr Code erzeugt werden kann, für den auch Reviews notwendig sind. Allerdings ist es recht wahrscheinlich, dass sich die Arbeit von Entwicklern auf Dauer ändert und weniger repetitiv wird. Viele Routineaufgaben können dann von Sprachmodellen erledigt werden und Entwickler können sich mehr auf den kreativen Teil ihrer Arbeit konzentrieren. Das klingt nach einer schönen Zukunftsvorstellung!

Die Codebeispiele finden sich im GitHub-Repository des Autors.

Prof. Christian Winkler
beschäftigt sich speziell mit der automatisierten Analyse natürlichsprachiger Texte (NLP). Als Professor an der TH Nürnberg konzentriert sich seine Forschung auf die Optimierung der User Experience.

(mai)