Добавить в корзинуПозвонить
Найти в Дзене

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

Исследователи Apple разработали метод обучения искусственного интеллекта созданию пользовательских интерфейсов на языке программирования SwiftUI. Об этом рассказывается в новой научной работе, опубликованной на arXiv. Главная особенность подхода — модель фактически учит сама себя, создавая и проверяя собственный код. Проблема, которую решали инженеры, довольно банальна: большие языковые модели неплохо справляются с написанием текстов и даже кода, но когда дело доходит до создания пользовательских интерфейсов, результат часто получается кривым. Причина проста — в обучающих данных примеры UI-кода встречаются крайне редко, иногда составляя менее одного процента от всех примеров программирования. Получается замкнутый круг: мало примеров — плохое качество, плохое качество — нежелание добавлять в датасеты. Решение оказалось элегантным в своей простоте. Исследователи взяли открытую модель StarChat-Beta, специализирующуюся на написании кода, и дали ей список описаний интерфейсов. Модель созд

Исследователи Apple разработали метод обучения искусственного интеллекта созданию пользовательских интерфейсов на языке программирования SwiftUI. Об этом рассказывается в новой научной работе, опубликованной на arXiv. Главная особенность подхода — модель фактически учит сама себя, создавая и проверяя собственный код.

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

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

Этот процесс повторили пять раз, каждый раз улучшая модель и получая более качественные данные для следующей итерации. В итоге получился датасет почти из миллиона программ SwiftUI и модель UICoder, которая значительно превосходит исходную по всем метрикам. Это означает, что успехи UICoder не связаны с простым воспроизведением уже виденных примеров, а действительно представляют новые знания, полученные через автоматическую обратную связь.

@fixed