En un nuevo estudio, un grupo de investigadores de Apple describe un enfoque muy interesante al que adoptaron, básicamente, obtener un modelo de código abierto para enseñar a sí misma cómo construir buenas interfaces en Swiftui. Así es como lo hicieron. En el documento de UICoder: Fineting Language Models para generar el código de interfaz de usuario a través de la retroalimentación automatizada, los investigadores explican que si bien los LLM han mejorado en múltiples tareas de escritura, incluida la escritura creativa y la codificación, todavía luchan por «generar de manera confiable el código sintácticamente correcto y bien diseñado para UI». También tienen una buena idea de por qué: incluso en conjuntos de datos de Finetuning curados o escritos manualmente, los ejemplos de código de interfaz de usuario son extremadamente raros, en algunos casos representa menos del uno por ciento de los ejemplos generales en conjuntos de datos de código. Para abordar esto, comenzaron con Starchat-Beta, un LLM de código abierto especializado en codificación. Le dieron una lista de descripciones de IU y le indicaron que generara un conjunto de datos sintético masivo de programas Swiftui a partir de esas descripciones. Luego, ejecutaron cada pieza de código a través de un compilador Swift para asegurarse de que realmente se ejecute, seguido de un análisis de GPT-4V, un modelo en idioma de visión que comparó la interfaz compilada con la descripción original. Cualquier salida que no pudo compilar, pareciera irrelevante o fue duplicada, fue arrojada. Las salidas restantes formaron un conjunto de entrenamiento de alta calidad, que luego se usó para ajustar el modelo. Repitieron este proceso varias veces y señalaron que con cada iteración, el modelo mejorado generó un mejor código Swiftui que antes. Eso, a su vez, se alimentó en un conjunto de datos aún más limpio. Después de cinco rondas, tenían casi un millón de programas Swiftui (996,000 para ser precisos) y un modelo que llaman Uicoder, que constantemente compiló y produjo interfaces mucho más cerca de las indicaciones que el modelo inicial. De hecho, de acuerdo con sus pruebas, Uicoder superó significativamente al modelo Base Starchat-beta en métricas automatizadas y evaluaciones humanas. Uicoder también estuvo cerca de coincidir con GPT-4 en la calidad general, y en realidad lo superó en la tasa de éxito de la compilación. Aquí está el pateador: el conjunto de datos original excluyó accidentalmente el código de Swiftui, uno de los hechos más interesantes del estudio provino de un ligero tornillo. El modelo original de Starchat-beta se capacitó principalmente en tres pórticos de datos: TheStack, un gran conjunto de datos (tokens 250b) de repositorios de código con licencia permisiva; Páginas web rastreadas; OpenAssistant-Guanaco, un pequeño conjunto de datos de ajuste de instrucciones. El problema, como explicaron los investigadores de Apple: en particular, los datos de entrenamiento de Starchat-Beta contienen pocos o ningún datos de Swiftui. Los repositorios de código Swift se excluyeron por accidente al crear el conjunto de datos del hábito, y al inspección manual, descubrimos que el conjunto de datos de Guanaco OpenSistant solo contiene un ejemplo (de diez mil) con cualquier código SWIFT en el campo de respuesta. Presumimos que los ejemplos rápidos vistos por Starchat-beta durante el entrenamiento probablemente fueron de páginas web rastreadas, que posiblemente son de menor calidad y menos estructuradas que el código de repositorio. Esto significa que las ganancias de Uicoder no provenían de simplemente rehacer ejemplos de Swiftui que ya había visto (porque no había casi ninguno en sus datos de entrenamiento originales), sino de los conjuntos de datos autogenerados y curados que Apple construyó a través de su ciclo de retroalimentación automatizado. Del estudio: «Capturas de pantalla provocadas del código Swiftui generado por nuestros modelos. Para fines de ilustración, incluimos manualmente las fotos e íconos de archivo. El código generado por el modelo no se modificó de ninguna manera, excepto para actualizar los nombres de los conjuntos de imágenes». En realidad, esto llevó a los investigadores a plantear la hipótesis de que, aunque su método resultó efectivo para implementar UI utilizando Swiftui, «probablemente se generalizaría a otros idiomas y kits de herramientas de UI», lo cual también es bastante bueno. El estudio, Uicoder: Fineting Language Models para generar código de interfaz de usuario a través de comentarios automatizados, está disponible en ARXIV. Limited Time Apple Watch Ofers en Amazon FTC: utilizamos ingresos que ganan enlaces de afiliados para automóviles. Más.
Deja una respuesta