Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Apple gestaltete ein KI-Modell, welches sich selbst beibrachte, guten SwiftUI-Code zu erzeugen

Viele Programmierer setzen auf KI-Unterstützung – ChatGPT, Anthropic und Mistral erzeugen Codestrukturen, suchen Fehler und ergänzen Bestands-Code mit erläuternden Kommentaren. Dies funktioniert am verlässlichsten mit etablierten Programmiersprachen, bei denen viele Code-Beispiele und Frage-Antwort-Kombinationen für Trainingszwecke bereitstehen. Ein Team von Apple-Entwicklern hat nun eine Methode entwickelt, um ein großes Sprachmodell (LLM) für eine Sprache zu trainieren, für die wenig Code-Beispiele existieren – namentlich SwiftUI.


Das Ziel war ein KI-Chat, dem man eine Aufgabe in natürlicher Sprache übergibt – ähnlich der gewohnten Eingabemaske von ChatGPT. Das LLM sollte SwiftUI-Code liefern, der sowohl zu kompilieren war als auch eine brauchbare Bedienoberfläche (UI) erzeugte. Für möglichst hohe Effizienz nutzten die Forscher weitgehend automatisierte Bewertungsalgorithmen. War der ausgegebene Code funktionsfähig, entstand ein Bildschirmfoto des Resultats. Dieses wurde wiederum an ein auf visuelle Aufgaben optimiertes LLM übergeben, zusammen mit dem ursprünglichen Prompt. Diese KI bewertete mittels eines sogenannten CLIP-Score, wie gut UICoder die Aufgabe erfüllt hat.

Fünf Trainingsdurchläufe
Erwies sich eine Antwort als erfolgreich, wurde sie in eine Datensammlung aufgenommen, welche als Basis für eine Feinabstimmung von UICoder diente. Insgesamt fünf Durchgänge führten die Forscher durch; am Ende umfasste der Datensatz knapp eine Million synthetischer SwiftUI-Projekte. Mit jedem Durchgang erhöhte sich die Zuverlässigkeit, sodass UICoder schlussendlich in vier von fünf Fällen funktionsfähigen Code erzeugte. Der CLIP-Score, mit welchem die erfolgreiche Umsetzung automatisch bewertet wurde, stieg zunächst an und hielt sich dann auf hohem Niveau.

Die Erfolgsrate des UICoders stieg mit jedem automatisierten Feinabstimmungsdurchlauf. (Quelle: ArXiv)

Universeller Ansatz
Ein Detail macht diesen Erfolg besonders beeindruckend: Als Basis für das Forschungsprojekt verwendeten die Entwickler ein frei verfügbares LLM namens StarCoder. In dessen Trainingsdaten waren aufgrund eines Konfigurationsfehlers so gut wie keine Swift-Beispiele vorhanden. Erst durch die nachträglichen Feinabstimmungsläufe lernte UICoder die Eigenheiten von Apples Programmiersprache kennen. In der Ergebnisdiskussion weisen die Autoren auf zukünftige Lücken hin: Die Bewertung der Resultate basierte ausschließlich auf Bildschirmfotos; ob die integrierten Bedienelemente die richtigen Aufgaben ausführten, wurde weder von einer KI noch von den Forschern beurteilt. Außerdem stellten sie Probleme beim Zählen und beim Reasoning fest. Wer beispielsweise drei Buttons fordert, bekommt derzeit eventuell nur zwei oder sogar vier Bedienelemente.

Kommentare

Keine Kommentare vorhanden.

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.