Apple araştırmacıları, yapay zeka (AI) modellerinin kullanıcı arayüzü (UI) kodları oluşturmadaki eksikliklerini gidermek amacıyla önemli bir çalışma gerçekleştirdi. “UICoder: Finetuning Large Language Models to Generate User Interface Code through Automated Feedback” başlıklı yeni bir araştırmada, açık kaynaklı bir dil modelinin (LLM) SwiftUI’da kaliteli UI kodları üretmeyi kendi kendine öğrenmesi için ilginç bir yaklaşım kullandılar.
Araştırmacılar, LLM’lerin yaratıcı yazarlık ve genel kodlama gibi alanlarda gelişmiş olsalar da, “sentaktik olarak doğru, iyi tasarlanmış UI kodlarını güvenilir bir şekilde üretmekte” hala zorlandıklarını belirtiyor. Bu durumun temel nedeninin, eğitim veri setlerinde UI kod örneklerinin son derece nadir olması olduğunu düşünüyorlar. Hatta bazı durumlarda bu örneklerin, genel kod veri setlerinin %1’inden daha azını oluşturduğunu vurguluyorlar.
Bu sorunu çözmek için araştırmacılar, açık kaynaklı ve kodlama konusunda uzmanlaşmış StarChat-Beta adlı LLM’yi başlangıç noktası olarak seçti. Modele UI açıklamaları listesi verildi ve bu açıklamalardan büyük bir sentetik SwiftUI program veri seti oluşturması istendi. Ardından, oluşturulan her kod parçası bir Swift derleyicisinden geçirilerek çalıştığından emin olundu. Daha sonra GPT-4V, derlenen arayüzü orijinal açıklamayla karşılaştırarak bir analiz yaptı.
Derlenmeyen, alakasız görünen veya mükerrer olan tüm çıktılar elendi. Kalan yüksek kaliteli çıktılar, modeli ince ayar yapmak için kullanıldı. Bu süreç birden fazla kez tekrarlandı ve her yinelemede, geliştirilmiş modelin daha iyi SwiftUI kodu ürettiği gözlemlendi. Bu da, daha temiz bir veri setinin oluşmasına katkı sağladı.
Beş turun sonunda, yaklaşık 1 milyon (tam olarak 996.000) SwiftUI programı ve UICoder adını verdikleri bir model elde edildi. Bu model, başlangıçtaki modele göre istemlere çok daha yakın arayüzler üretti ve tutarlı şekilde derlendi. Testlere göre UICoder, hem otomatik metriklerde hem de insan değerlendirmelerinde temel StarChat-Beta modelinden önemli ölçüde daha iyi performans gösterdi.
Daha da dikkat çekici olan, UICoder’ın genel kalitede GPT-4’e yaklaşması ve derleme başarı oranında ise onu geçmesiydi. Çalışmanın ilginç bir bulgusu, orijinal StarChat-Beta modelinin eğitim veri setinde SwiftUI kodunun kazara eksik olmasıydı. StarChat-Beta, öncelikli olarak TheStack (250 milyar token boyutunda izinli lisanslı kod deposu), taranmış web sayfaları ve OpenAssistant-Guanaco (küçük bir talimat ayarlama veri seti) olmak üzere üç ana veri kümesi üzerinde eğitilmişti.
Apple araştırmacıları, StarChat-Beta’nın eğitim verilerinin çok az SwiftUI verisi içerdiğini veya hiç içermediğini açıkladılar. TheStack veri seti oluşturulurken Swift kod depolarının kazara dışarıda bırakıldığı ve manuel incelemede OpenAssistant-Guanaco veri setinin on bin örnekten yalnızca birinde Swift kodu içerdiği tespit edildi. Bu durum, UICoder’ın başarılarının, daha önce gördüğü SwiftUI örneklerini yeniden işlemesinden değil (çünkü orijinal eğitim verisinde neredeyse hiç yoktu), Apple’ın otomatik geri bildirim döngüsü aracılığıyla oluşturduğu, kendi kendine üretilen ve küratörlüğü yapılmış veri setlerinden kaynaklandığını gösteriyor.
Araştırmacılar, bu yöntemin SwiftUI kullanarak UI’ları uygulamada etkili olduğunu kanıtlamış olsa da, “büyük olasılıkla diğer dillere ve UI araç kitlerine genellenebileceğini” varsayıyorlar. Bu çalışma, AI’ın kendini geliştirme potansiyelini ve sentetik veri setlerinin model eğitimi için ne kadar kritik olabileceğini bir kez daha ortaya koyuyor. Çalışmanın tamamına arXiv üzerinden erişilebilir.




