Dans une étude récente, une équipe de chercheurs d’Apple présente une approche novatrice pour enseigner à un modèle de langage open-source comment créer des interfaces de qualité en SwiftUI. Leur méthode repose sur un processus d’automatisation et de rétroaction qui permet au modèle de s’améliorer progressivement.

Un LLM pour résoudre les défis du design d’interface

Dans le document UICoder : Finetuning Large Language Models to Generate User Interface Code through Automated Feedback, les chercheurs expliquent que bien que les modèles de langage (LLM) aient fait des progrès dans diverses tâches d’écriture, y compris le codage, ils peinent toujours à générer un code d’interface utilisateur à la fois syntaxiquement correct et bien conçu. Ce manque réside principalement dans la rareté des exemples de code d’interface, qui représentent souvent moins d’un pour cent des ensembles de données de code.

Une nouvelle approche : StarChat-Beta

Pour surmonter cette limitation, les chercheurs ont utilisé StarChat-Beta, un LLM open-source spécialisé dans le codage, et lui ont fourni une liste de descriptions d’interfaces utilisateur. Il a ensuite généré un vaste ensemble de données synthétiques de programmes SwiftUI à partir de ces descriptions.

Chaque morceau de code a été passé au crible d’un compilateur Swift pour s’assurer de son exécution correcte, suivi d’une analyse réalisée par GPT-4V, un modèle de vision et de langage. Les produits non compilables, jugés non pertinents ou des doublons ont été écartés, ne conservant que les sorties de haute qualité pour affiner le modèle.

Des résultats probants

Après plusieurs itérations, le modèle amélioré a produit un code SwiftUI de meilleure qualité à chaque fois. Au terme de cinq cycles, près d’un million de programmes SwiftUI (996 000 pour être précis) avaient été générés, donnant naissance à UICoder, qui compilait et produisait des interfaces nettement plus conformes aux descriptions initiales que le modèle de départ.

Les tests ont révélé qu’UICoder surpassait de manière significative le modèle de base StarChat-Beta, tant sur des métriques automatisées qu’à travers des évaluations humaines, atteignant des performances proches de celles de GPT-4, notamment en termes de taux de réussite de compilation.

Une exclusivité inattendue

Fait intéressant issu de l’étude, le jeu de données original avait accidentellement omis le code SwiftUI. Comme l’expliquent les chercheurs d’Apple, la formation de StarChat-Beta reposait sur trois corpus : TheStack, des pages web crawlées et OpenAssistant-Guanaco. Malheureusement, le code Swift avait été exclu de manière involontaire lors de la création de l’ensemble de données TheStack, avec seulement un exemple de Swift dans OpenAssistant-Guanaco sur dix mille.

Cela implique que les améliorations d’UICoder ne proviennent pas d’une simple régurgitation d’exemples existants, mais d’un ensemble de données auto-générées et soigneusement curées à travers un processus de rétroaction automatisée.

Cette méthode pourrait également bien s’appliquer à d’autres langages de programmation et à d’autres outils d’interface, ouvrant la voie à des outils et des approches similaires dans le futur.

Source : arXiv

Partager un commentaire