Apple научила большую языковую модель самостоятельно создавать качественный UI-код на SwiftUI

SwiftUI

Группа исследователей Apple провела уникальное исследование, в котором они научили большую языковую модель (LLM) самостоятельно создавать качественный пользовательский интерфейс на SwiftUI — фирменном фреймворке Apple для разработки UI. Основная сложность заключалась в том, что даже самые современные языковые модели плохо справляются с генерацией синтаксически корректного и хорошо структурированного кода для интерфейсов из-за отсутствия в обучающих датасетах достаточного количества примеров UI-кода.

Исследователи взяли открытое LLM под названием StarChat-Beta, специализировавшееся на программировании. Модель получила описание интерфейса и была поставлена задача сгенерировать на базе этих описаний огромный синтетический датасет программ на SwiftUI. Затем сгенерированный код автоматически компилировали, проверяли с помощью модели GPT-4V (которая сопоставляет визуальный результат интерфейса с описанием) и отбрасывали неработающие или не соответствующие запросам варианты. Итоговая отфильтрованная коллекция качественных программ служила новым обучающим набором для дообучения модели. Процесс повторялся несколько раз, постепенно улучшая качество кода и набор данных.

После пяти итераций в распоряжении исследователей оказалось почти миллион (996 000) программ на SwiftUI, а новая модель, получившая название UICoder, стабильно генерировала код, который успешно компилировался и соответствовал исходным запросам гораздо лучше исходной StarChat-Beta. По результатам автоматизированных и человеческих оценок, UICoder не только превзошел базовую модель, но и приблизился по качеству к GPT-4, при этом даже превзойдя ее по успешности компиляции.

Особый интерес вызывает факт, что исходный датасет, на котором была обучена StarChat-Beta, практически не содержал примеров кода на SwiftUI. Это связано с тем, что Swift-репозитории по ошибке были исключены из основного корпуса данных TheStack, а остальные источники содержали лишь единичные примеры. Следовательно, успех UICoder обусловлен не переиспользованием изученного кода, а именно методом автоматического самосовершенствования на синтетических данных с циклом обратной связи.

Исследователи Apple считают, что описанный подход можно масштабировать и для других языков и UI-фреймворков, что открывает перспективу широкого применения искусственного интеллекта в автоматизированной разработке интерфейсов.

Этот прорыв актуален для разработчиков экосистемы Apple, так как качество и скорость создания интерфейсов на SwiftUI напрямую влияют на удобство и красоту приложений для iPhone, iPad и macOS. Такой инструмент способен значительно упростить жизнь как начинающим, так и опытным инженерам, повысив уровень автоматизации и улучшив пользовательский опыт конечных продуктов.

Таким образом, Apple делает еще один шаг в интеграции ИИ в процесс разработки, подчеркивая свое стремление не только создавать новые устройства и сервисы, но и активно внедрять передовые технологии в инструменты программистов. Такой прогресс поможет сохранять лидерство Apple в разработке интуитивных и качественных интерфейсов, которыми славятся их устройства. Это важное достижение для всей индустрии IT.

Подписывайтесь на наш Telegram, VK.
MacNoob - живая помощь с iPhone и MAC
Добавить комментарий

Вы можете подписаться на новые комментарии к статье без комментирования.