Σε μια μελέτη , οι ερευνητές της Apple αποκάλυψαν μια προσέγγιση στη διδασκαλία γλωσσικών μοντέλων (LLM) για τη δημιουργία διεπαφών χρήστη στο SwiftUI . Αυτή η μέθοδος βασίζεται στην αυτοδιδασκαλία και θα μπορούσε να μεταμορφώσει τον τρόπο με τον οποίο οι προγραμματιστές προσεγγίζουν τον προγραμματισμό διεπαφών.
Η πρόκληση των διεπαφών χρήστη για την Τεχνητή Νοημοσύνη
Προς το παρόν, τα κύρια γλωσσικά μοντέλα διαπρέπουν σε πολλές εργασίες γραφής, συμπεριλαμβανομένης της δημιουργικής γραφής και του γενικού προγραμματισμού. Ωστόσο, εξακολουθούν να δυσκολεύονται να δημιουργήσουν αξιόπιστα συντακτικά σωστό και καλοσχεδιασμένο κώδικα διεπαφής χρήστη.
Η ομάδα της Apple εντόπισε την πηγή του προβλήματος: ακόμη και στα προσεκτικά επιμελημένα δεδομένα, τα παραδείγματα κώδικα διεπαφής αντιπροσωπεύουν λιγότερο από το 1% όλων των διαθέσιμων παραδειγμάτων προγραμματισμού.
Για να ξεπεράσουν αυτόν τον περιορισμό, οι ερευνητές υιοθέτησαν μια ιδιαίτερα έξυπνη στρατηγική. Αρχικά επέλεξαν το StarChat-Beta, ένα μοντέλο ανοιχτού κώδικα που ειδικεύεται στον προγραμματισμό, και στη συνέχεια του παρείχαν μια σειρά από περιγραφές διεπαφής χρήστη. Στη συνέχεια, το μοντέλο δημιούργησε συνθετικά δεδομένα προγράμματος SwiftUI με βάση αυτές τις περιγραφές. Αυτό το πρώτο βήμα ήταν το σημείο εκκίνησης για μια επαναληπτική διαδικασία βελτίωσης.
Ένα αυστηρό σύστημα επικύρωσης
Κάθε τμήμα κώδικα που δημιουργήθηκε υποβλήθηκε στη συνέχεια σε μια διαδικασία επικύρωσης δύο βημάτων. Αρχικά, ένας μεταγλωττιστής Swift επαλήθευσε ότι ο κώδικας λειτουργούσε σωστά. Στη συνέχεια, το GPT-4V, ένα μοντέλο γλώσσας όρασης, συνέκρινε τη μεταγλωττισμένη διεπαφή με την αρχική περιγραφή.
Τα ελαττωματικά, άσχετα ή διπλότυπα αποτελέσματα εξαλείφθηκαν συστηματικά. Μόνο κώδικες υψηλής ποιότητας σχημάτισαν το νέο σύνολο δεδομένων εκπαίδευσης για την τελειοποίηση του μοντέλου.
Οι ερευνητές επανέλαβαν αυτήν τη διαδικασία πέντε φορές. Με κάθε κύκλο, το βελτιωμένο μοντέλο παρήγαγε κώδικα SwiftUI υψηλότερης ποιότητας, δημιουργώντας ένα ακόμη πιο καθαρό σύνολο δεδομένων για την επόμενη επανάληψη.
Στο τέλος αυτής της διαδικασίας, η ομάδα είχε σχεδόν ένα εκατομμύριο προγράμματα SwiftUI (996.000 για την ακρίβεια) και ένα μοντέλο που ονομάζεται UICoder. Το τελευταίο μεταγλωττίζεται με συνέπεια και παράγει διεπαφές που είναι πολύ πιο πιστές στις αρχικές περιγραφές από το αρχικό μοντέλο.
Το UICoder ξεπερνά τους ανταγωνιστές του
Οι δοκιμές αποκαλύπτουν ότι το UICoder ξεπερνά σημαντικά το βασικό μοντέλο StarChat-Beta τόσο σε αυτοματοποιημένα στοιχεία όσο και σε ανθρώπινες αξιολογήσεις. Ακόμα πιο εντυπωσιακό είναι ότι το UICoder ανταγωνίζεται το GPT-4 σε συνολική ποιότητα και μάλιστα το ξεπερνά στο ποσοστό επιτυχίας μεταγλώττισης.
Επιπλέον, η μελέτη αποκαλύπτει ένα ιδιαίτερα ενδιαφέρον εύρημα μετά από ένα αρχικό σφάλμα. Το StarChat-Beta εκπαιδεύτηκε σε τρία κύρια σώματα κειμένων: το TheStack (250 δισεκατομμύρια διακριτικά αποθετηρίων κώδικα με άδεια χρήσης), συλλεγμένες ιστοσελίδες και το OpenAssistant-Guanaco, ένα μικρό σύνολο δεδομένων ρύθμισης εντολών.
Ωστόσο, όπως εξηγούν οι ερευνητές της Apple, τα δεδομένα εκπαίδευσης του StarChat-Beta δεν περιείχαν ουσιαστικά καθόλου δεδομένα SwiftUI. Τα αποθετήρια κώδικα Swift είχαν εξαιρεθεί κατά λάθος κατά τη δημιουργία του συνόλου δεδομένων TheStack. Μετά από χειροκίνητο έλεγχο, ανακάλυψαν ότι το OpenAssistant-Guanaco περιείχε μόνο ένα παράδειγμα Swift από τα 10.000.
Πραγματικά δημιουργική μάθηση
Αυτή η απουσία δεδομένων SwiftUI στην αρχική εκπαίδευση καταδεικνύει ότι τα οφέλη του UICoder δεν προέρχονται απλώς από την ανακύκλωση προηγούμενων παραδειγμάτων. Αντίθετα, προκύπτουν εξ ολοκλήρου από τα αυτοδημιουργούμενα και επιμελημένα σύνολα δεδομένων που αναπτύσσει η Apple μέσω του αυτοματοποιημένου βρόχου ανατροφοδότησης.
Αυτή η ανακάλυψη οδηγεί τους ερευνητές στη διατύπωση μιας πολλά υποσχόμενης υπόθεσης: αν και η μέθοδός τους έχει αποδειχθεί αποτελεσματική για την υλοποίηση διεπαφών στο SwiftUI, πιθανότατα θα γενικευτεί και σε άλλες γλώσσες διεπαφής χρήστη και σετ εργαλείων.
Αυτή η προσέγγιση ανοίγει έτσι το δρόμο για μια νέα γενιά εργαλείων ανάπτυξης διεπαφών, όπου η τεχνητή νοημοσύνη θα μπορούσε να γίνει ένας δημιουργικός συνεργάτης για προγραμματιστές σε όλο τον κόσμο.



