Apple révolutionne l’IA en programmation : son modèle UICoder maîtrise autonomement SwiftUI grâce à une boucle d’apprentissage automatique
Une équipe de recherche d’Apple a franchi une étape majeure dans le domaine du développement logiciel assisté par l’intelligence artificielle, en surmontant un obstacle persistant : la capacité des modèles linguistiques massifs à produire des interfaces utilisateur (UI) bien conçues et fonctionnelles. Dans une étude publiée sous le titre « UICoder : Fine-tuning de grands modèles linguistiques pour générer du code d’interface utilisateur grâce à un retour automatique », les chercheurs démontrent qu’ils ont réussi à entraîner un modèle open-source pour apprendre de manière autonome la création de code SwiftUI, le framework d’interface utilisateur de Apple. Malgré leurs performances impressionnantes dans des domaines comme l’écriture créative ou la génération de code fonctionnel, les modèles d’intelligence artificielle peinent encore à produire des interfaces utilisateur esthétiquement et structurellement solides. Une des raisons principales réside dans la rareté extrême des exemples de code SwiftUI dans les jeux de données utilisés pour l’entraînement. Dans certains ensembles de données, les fragments de code Swift ne représentent pas plus de 1 % du total, et dans certains cas, le SwiftUI est presque absent. Partant d’un modèle open-source, StarChat-Beta, l’équipe a mis au point une méthode innovante basée sur un cycle itératif de retour automatique. Ce processus s’est déroulé en trois étapes clés : 1. Génération de données : le modèle recevait des descriptions textuelles d’interfaces (par exemple, « un écran de connexion avec un bouton bleu et un champ de mot de passe ») et produisait des programmes SwiftUI. 2. Filtrage qualité : chaque sortie était vérifiée par le compilateur Swift pour s’assurer qu’elle était exécutable. Les résultats étaient ensuite analysés par GPT-4V, un modèle multimodal, qui comparait visuellement l’interface générée à la description initiale afin d’évaluer la fidélité. 3. Optimisation itérative : les codes échouant au test de compilation, les résultats non pertinents ou redondants étaient éliminés. Seules les meilleures générations étaient conservées pour enrichir le jeu de données et servir à un nouveau cycle d’entraînement. Après cinq itérations, l’équipe a construit un jeu de données massif de 996 000 programmes SwiftUI de haute qualité. En l’utilisant pour fine-tuner StarChat-Beta, ils ont obtenu UICoder, un modèle qui, selon les tests, surpassait significativement le modèle de base dans les évaluations automatisées et humaines. Ses performances s’approchent de celles de GPT-4, notamment en termes de taux de compilation, où UICoder dépasse même GPT-4. Une découverte clé de l’étude réside dans l’analyse des données d’entraînement initiales : le modèle StarChat-Beta n’avait pratiquement aucune connaissance de SwiftUI. Le dataset TheStack, par exemple, excluait volontairement les projets Swift, tandis que dans OpenAssistant-Guanaco, moins de 0,01 % des exemples étaient en Swift. Cela prouve que les progrès d’UICoder ne proviennent pas d’un simple réagencement de données existantes, mais bien d’un apprentissage réel grâce à un processus de génération et de sélection automatisée. Les chercheurs soulignent que cette approche peut être étendue à d’autres langages de programmation et frameworks d’interface, ouvrant la voie à des outils d’aide au développement plus puissants et accessibles. Ce travail représente une avancée fondamentale dans l’intégration de l’IA dans le cycle de développement logiciel, en particulier pour les environnements mobiles et macOS.