Zavřít reklamu

Apple zveřejnil studii, ve které popisuje unikátní postup, jak naučil velký jazykový model (LLM) vytvářet vysoce kvalitní uživatelské rozhraní v SwiftUI – a to prakticky bez lidské pomoci. Výsledkem je nový model UICoder, jenž se dokázal sám zlepšovat díky automatické zpětné vazbě a iterativnímu tréninku.

Od nedostatku dat k vlastnímu datasetu

Problém, který Apple řešil, byl jasný – v běžných tréninkových datech je UI kód extrémně vzácný, často tvoří méně než 1 % z celku. Apple začal s open-source modelem StarChat-Beta specializovaným na programování a zadal mu úkol: z popisů uživatelského rozhraní vygenerovat velký syntetický dataset SwiftUI kódu.

Každý výstup prošel kompilátorem Swiftu pro ověření, zda funguje, a následně ho analyzoval multimodální model GPT-4V, který porovnal vizuální podobu aplikace s původním zadáním. Nevyhovující nebo duplicitní příklady byly odstraněny a zbytek posloužil pro doladění modelu.

Iterativní zlepšování a milion příkladů

Celý proces se opakoval v několika kolech, přičemž každý vylepšený model generoval ještě kvalitnější kód. Po pěti iteracích vzniklo 996 000 SwiftUI programů, které posloužily k finálnímu tréninku UICoderu. Ten v testech překonal původní model a v mnoha ohledech se přiblížil kvalitě GPT-4 – dokonce ho předčil v úspěšnosti kompilace.

Zajímavostí je, že původní StarChat-Beta téměř žádný SwiftUI kód nikdy neviděl. Kvůli chybě při tvorbě datasetu TheStack byly Swift repozitáře omylem vynechány a v instruktážní sadě OpenAssistant-Guanaco byl pouze jeden jediný příklad Swiftu z deseti tisíc odpovědí. To znamená, že úspěch UICoderu nestál na zapamatovaných ukázkách, ale na zcela nově vytvořených a pečlivě filtrovaných datech.

Možnost širšího využití

Apple věří, že tato metoda – generování kódu, jeho automatická kontrola a iterativní vylepšování – by mohla fungovat i pro jiné programovací jazyky a UI frameworky. Studie UICoder: Finetuning Large Language Models to Generate User Interface Code through Automated Feedback je již dostupná na arXiv a ukazuje, že AI může efektivně učit samu sebe, pokud má správně nastavenou zpětnou vazbu.

Tento přístup by mohl znamenat revoluci ve vývoji aplikací – od rychlejší tvorby prototypů až po plně automatizované generování uživatelských rozhraní na míru.

Dnes nejčtenější

.