AlphaСode, μια τεχνητή νοημοσύνη παραγωγής κώδικα

Η DeepMind, γνωστή για τις εξελίξεις της στον τομέα της τεχνητής νοημοσύνης και κατασκευή νευρωνικών δικτύων ικανών να παίζουν ηλεκτρονικά και επιτραπέζια παιχνίδια σε ανθρώπινο επίπεδο, που αποκαλύφθηκε πρόσφατα το έργο AlphaCode που περιγράφει πώς ένα σύστημα μηχανικής εκμάθησης για παραγωγή κώδικα ότι μπορείτε να συμμετάσχετε σε διαγωνισμούς προγραμματισμού στην πλατφόρμα Codeforces και να επιδείξετε ένα μέσο αποτέλεσμα.

Αναφέρεται ότι το έργο χρησιμοποιεί την αρχιτεκτονική νευρωνικών δικτύων «Transformer». σε συνδυασμό με άλλες μεθόδους δειγματοληψίας και φιλτραρίσματος για τη δημιουργία διαφόρων απρόβλεπτων παραλλαγών κώδικα που αντιστοιχούν σε κείμενο φυσικής γλώσσας.

Η μέθοδος πώς λειτουργεί AlphaСode βασίζεται στο φιλτράρισμα, την ομαδοποίηση και την ταξινόμηση, οπότε προχωρά στην επιλογή του βέλτιστου κώδικα εργασίας από τη ροή επιλογών που δημιουργείται, ο οποίος στη συνέχεια ελέγχεται για να διασφαλιστεί ότι επιτυγχάνεται το σωστό αποτέλεσμα (σε κάθε εργασία του διαγωνισμού, ένα παράδειγμα δεδομένα εισόδου και ένα αντίστοιχο αποτέλεσμα) σε αυτό το παράδειγμα, το οποίο θα πρέπει να ληφθεί μετά την εκτέλεση του προγράμματος).

Αναφέρουμε λεπτομερώς το AlphaCode, το οποίο χρησιμοποιεί μοντέλα γλώσσας που βασίζονται σε μετασχηματιστές για τη δημιουργία κώδικα σε πρωτοφανή κλίμακα και, στη συνέχεια, φιλτράρει έξυπνα ένα μικρό σύνολο πολλά υποσχόμενων προγραμμάτων.

Επικυρώνουμε την απόδοσή μας χρησιμοποιώντας διαγωνισμούς που φιλοξενούνται στο Codeforces, μια δημοφιλή πλατφόρμα που φιλοξενεί τακτικούς διαγωνισμούς που προσελκύουν δεκάδες χιλιάδες συμμετέχοντες από όλο τον κόσμο που έρχονται για να δοκιμάσουν τις δεξιότητές τους κωδικοποίησης. Επιλέξαμε 10 πρόσφατους διαγωνισμούς για αξιολόγηση, ο καθένας νεότερος από τα δεδομένα της προπόνησής μας. Το AlphaCode ήταν περίπου στο ίδιο επίπεδο με τον μέσο ανταγωνιστή, σηματοδοτώντας την πρώτη φορά που ένα σύστημα παραγωγής κώδικα AI έφτασε σε ανταγωνιστικό επίπεδο απόδοσης σε διαγωνισμούς προγραμματισμού.

Για κατά προσέγγιση εκπαίδευση του συστήματος μηχανική μάθηση, επισημαίνεται ότι χρησιμοποιήθηκε ο βασικός κώδικας που είναι διαθέσιμος στα δημόσια αποθετήρια GitHub. Μετά την προετοιμασία του αρχικού μοντέλου, πραγματοποιήθηκε μια φάση βελτιστοποίησης με βάση μια συλλογή κώδικα με παραδείγματα προβλημάτων και λύσεων που προσφέρονται στους συμμετέχοντες στους διαγωνισμούς Codeforces, CodeChef, HackerEarth, AtCoder και Aizu.

Συνολικά, για το σχηματισμό AlphaCode Χρησιμοποιήθηκαν 715 GB κώδικα GitHub και περισσότερα από ένα εκατομμύριο παραδείγματα λύσεων σε τυπικά προβλήματα του ανταγωνισμού. Πριν προχωρήσουμε στη δημιουργία κώδικα, το κείμενο της εργασίας πέρασε από μια φάση κανονικοποίησης, στην οποία όλα τα περιττά αποκλείονταν και παρέμειναν μόνο τα σημαντικά μέρη.

Για τη δοκιμή του συστήματος, επιλέχθηκαν 10 νέοι διαγωνισμοί Codeforces με περισσότερους από 5.000 συμμετέχοντες, που πραγματοποιήθηκαν μετά την ολοκλήρωση της εκπαίδευσης του μοντέλου μηχανικής μάθησης.

Μπορώ να πω με ασφάλεια ότι τα αποτελέσματα του AlphaCode ξεπέρασαν τις προσδοκίες μου. Ήμουν δύσπιστος γιατί ακόμη και σε απλά ανταγωνιστικά προβλήματα, συχνά απαιτείται όχι μόνο η εφαρμογή του αλγόριθμου, αλλά και (και αυτό είναι το πιο δύσκολο μέρος) να τον εφεύρουμε. Η AlphaCode κατάφερε να αποδώσει στο επίπεδο ενός πολλά υποσχόμενου νέου ανταγωνιστή. Ανυπομονώ να δω τι θα ακολουθήσει!

MIKE MIRZAYANOV

ΙΔΡΥΤΗΣ ΤΗΣ CODEFORCES

Τα αποτελέσματα των εργασιών επέτρεψαν για να εισέλθει το σύστημα AlphaCode περίπου στο μέσο της πιστοποίησης αυτών των ικανοτήτων (54,3%). Η προβλεπόμενη συνολική βαθμολογία του AlphaCode ήταν 1238 βαθμοί, εγγυώντας την είσοδο στο Top 28% όλων των συμμετεχόντων του Codeforces που συμμετείχαν σε διαγωνισμούς τουλάχιστον μία φορά τους τελευταίους 6 μήνες.

Σημειώνεται ότι παρατηρείται ότι το έργο βρίσκεται ακόμη στο αρχικό στάδιο ανάπτυξης και ότι στο μέλλον σχεδιάζεται η βελτίωση της ποιότητας του παραγόμενου κώδικα, καθώς και η ανάπτυξη του AlphaСode προς συστήματα που βοηθούν στη σύνταξη κώδικα, ή εργαλεία ανάπτυξης εφαρμογών που μπορούν να χρησιμοποιήσουν άτομα χωρίς δεξιότητες προγραμματισμού.

Τελικά αν ενδιαφέρεστε να μάθετε περισσότερα γι 'αυτό, θα πρέπει να γνωρίζετε ότι ένα βασικό χαρακτηριστικό ανάπτυξης είναι η δυνατότητα δημιουργίας κώδικα σε Python ή C++, λαμβάνοντας ως εισαγωγή κειμένου μια δήλωση του προβλήματος στα Αγγλικά.

Μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.