Im Zeitalter des digitalen Fortschritts nehmen die Anforderungen an die Entwicklung von Benutzeroberflächen (User Interfaces, UI) und deren Codes stetig zu. In einem innovativen Projekt wurde nun ein Verfahren erprobt, das darauf abzielt, visuelle Sprachmodelle zu verwenden, um einfache UI-Codes ausschließlich mit synthetischen Daten zu generieren. Ein solcher Ansatz könnte die Art und Weise, wie Entwickler und Designer arbeiten, grundlegend verändern, indem Zeit und Ressourcen eingespart werden, die ansonsten für die manuelle Codierung aufgewendet werden müssten.
Die Entwicklung begann mit der Erstellung einer Vielzahl von Website-Ideen durch ein Sprachmodell. In diesem ersten Schritt wurde das MistralAI 7B Instruct-Modell genutzt, um Beschreibungen für diverse Webseiten zu generieren. Die Themen reichten von Autounternehmen über Skiverleih bis hin zu Kochblogs. Aus diesem Prozess wurden 1,2 Millionen natürlichsprachliche Aufforderungen extrahiert.
Im darauffolgenden Schritt wurde ein Code-Sprachmodell von DeepSeek AI eingesetzt, um aus diesen Aufforderungen HTML- und CSS-Codes für Webseiten zu erstellen. Dieses Modell neigte dazu, Platzhaltertexte wie 'Lorem ipsum' zu verwenden. Es stellte sich heraus, dass eine explizite Anweisung an das Modell, aussagekräftigeren Text zu generieren, ausreichte, um diesem Problem entgegenzuwirken.
Nachdem der Code generiert war, wurden die Webseiten gerendert und von den gerenderten Seiten Screenshots erstellt. Dies lieferte synthetische Paare aus Bildern (Webseiten-Screenshots) und den zugehörigen HTML/CSS-Codes. Ein geringer Anteil der Codes ließ sich nicht korrekt kompilieren. Die Seiten waren vergleichsweise einfach gestaltet und entsprachen etwas, das man innerhalb der ersten drei Tage des Erlernens von HTML realisieren könnte.
Diese synthetischen Paare dienten anschließend als Grundlage für das Training eines visuellen Sprachmodells. Obwohl es sich um ein sehr schnell und einfach zusammengestelltes Proof-of-Concept handelte, zeigte das trainierte Modell bereits eine relativ gute Generalisierbarkeit auf modernere oder visuell ansprechendere CSS-Designs. Schwierigkeiten traten jedoch bei komplexeren Seiten auf, beispielsweise bei ungewöhnlichen Layouts, einem hohen Textanteil oder exotischen Schriftarten.
Eine weitere Einschränkung zeigte sich im Umgang mit echten Bildern. Häufig enthielten die Daten Verweise auf "logo.png", aber die Screenshots waren nicht anhand von echten Bildern erstellt worden. Infolgedessen versagte das trainierte Modell oft, wenn ein echtes Bild durchgeführt wurde.
Trotz dieser Herausforderungen und Limitationen ist die Bedeutung von synthetischen Daten für die Ausbildung zukünftiger KI-Systeme nicht zu unterschätzen. Mit einer weiteren Verfeinerung des synthetischen Ansatzes und zusätzlicher Rechenkapazität könnten sich die Leistungsfähigkeit und die Anwendungsbereiche erheblich erweitern.
Die frühe Version dieser Sammlung synthetischer Paare, genannt Websight, wurde veröffentlicht, um anderen die Möglichkeit zu geben, mit dieser Version zu experimentieren. Interessierte können das Dataset auf Huggingface erkunden und mit dem trainierten Modell auf der Plattform experimentieren.
Um die Generierung von synthetischen Daten weiter zu vertiefen, lohnt es sich, einen Blick auf die Arbeit mit Large Language Models (LLMs) zu werfen. Ein Beispiel ist das Falcon-Modell, das speziell dazu dient, synthetische Daten zu generieren, die denen existierender Daten ähnlich sind. Die Herausforderung bei der Feinabstimmung von LLMs liegt häufig darin, dass nicht genügend Daten vorhanden sind. Falcon 40b und die Falcon Instruct-Version sind leistungsstarke Open-Source-Modelle, die dafür verwendet werden können. Wichtig sind eine ausreichend große Eingabekapazität des Modells, passende Lizenzbedingungen, die die Erstellung von synthetischen Daten erlauben, präzise Anweisungen zur Generierung ähnlicher Daten und eine ausreichende Menge an guten Beispielen.
An der Stanford-Universität wurde ein solches Modell verwendet, um aus manuell erstellten Anweisungen 52.000 Instruktionen für verschiedene Aufgaben zu generieren. Die Aufgaben waren vielfältig und umfassten offene Generierung, Klassifizierung, Bearbeitung und weitere. Ziel war es, die Diversität zu maximieren und gleichzeitig sicherzustellen, dass die generierten Daten realistisch und herausfordernd sind.
Neben der Generierung von Daten spielt auch deren Validierung eine entscheidende Rolle. Hier können große Sprachmodelle helfen, indem sie Ähnlichkeiten und Überschneidungen prüfen, um sicherzustellen, dass die Antworten die Fragen tatsächlich adressieren und auf den Dokumenten basieren.
Die Entwicklung von Methoden zur Generierung von synthetischen Daten und das Training von KI-Modellen auf dieser Basis ist ein entscheidender Schritt in Richtung einer effizienteren und ressourcenschonenderen Zukunft der UI-Entwicklung. Das Potential ist enorm, und es ist zu erwarten, dass weitere Innovationen auf diesem Gebiet die Landschaft der künstlichen Intelligenz und Softwareentwicklung weiter prägen werden.