Μονάδα IBM της έρευνας για την Τεχνητή Νοημοσύνη (AI) παρουσίασε ένα σύνολο δεδομένων 14 εκατομμυρίων δειγμάτων για την ανάπτυξη μοντέλων μηχανικής μάθησης που μπορούν να βοηθήσουν σε εργασίες προγραμματισμού. Ένα σύνολο δεδομένων με όνομα Έργο CodeNet, πήρε το όνομά του από το ImageNet, το διάσημο αποθετήριο εικόνων που έφερε επανάσταση στην όραση των υπολογιστών και τη βαθιά μάθηση.
Οι προγραμματιστές ανακαλύπτουν νέα προβλήματα και εξερευνούν διαφορετικές λύσεις, χρησιμοποιώντας πολλούς μηχανισμούς συνειδητής και υποσυνείδητης σκέψης. Οι περισσότεροι αλγόριθμοι μηχανικής μάθησης απαιτούν καλά καθορισμένες εργασίες και μεγάλες ποσότητες σχολιασμένων δεδομένων για την ανάπτυξη μοντέλων που μπορούν να λύσουν τα ίδια προβλήματα.
Έχει καταβληθεί μεγάλη προσπάθεια για τη δημιουργία συνόλων δεδομένων και σημείων αναφοράς για την ανάπτυξη και την αξιολόγηση συστημάτων AI-for-code από την κοινότητα των ειδικών. Όμως, δεδομένης της δημιουργικής και ανοιχτής φύσης της ανάπτυξης λογισμικού, είναι πολύ δύσκολο να δημιουργηθεί το τέλειο σύνολο δεδομένων για προγραμματισμό. Με το Project CodeNet, οι ερευνητές της IBM προσπάθησαν να δημιουργήσουν ένα σύνολο δεδομένων πολλαπλών χρήσεων που μπορεί να χρησιμοποιηθεί για την εκπαίδευση μοντέλων μηχανικής εκμάθησης σε μια ποικιλία εργασιών. Οι δημιουργοί του CodeNet το περιγράφουν ως «ένα πολύ μεγάλης κλίμακας, ποικίλο και υψηλής ποιότητας σύνολο δεδομένων για την επιτάχυνση των αλγοριθμικών προόδων στην τεχνητή νοημοσύνη για κώδικα».
Το σύνολο δεδομένων περιέχει 14 εκατομμύρια παραδείγματα 500 εκατομμυρίων γραμμών κώδικα γραμμένων σε 55 διαφορετικές γλώσσες προγραμματισμού. Δείγματα κώδικα ελήφθησαν από σχεδόν 4000 υποβληθείσες εργασίες που δημοσιεύτηκαν στις διαδικτυακές πλατφόρμες κωδικοποίησης AIZU και AtCoder. Τα παραδείγματα κώδικα περιλαμβάνουν σωστές και λανθασμένες απαντήσεις στις συγκεκριμένες εργασίες.
Επίσης ενδιαφέρον:
- Το Hubble εισήλθε σε ασφαλή λειτουργία λόγω σφάλματος λογισμικού στον ενσωματωμένο υπολογιστή
- Ένα άλλο πρόβλημα για την CD Projekt: Οι χάκερ απειλούν να διαρρεύσουν τους πηγαίους κώδικες των παιχνιδιών στο δίκτυο
Ένα από τα βασικά χαρακτηριστικά του CodeNet είναι ο αριθμός των σχολιασμών που προστίθενται στα παραδείγματα. Κάθε μια από τις εργασίες κωδικοποίησης που περιλαμβάνονται στο σύνολο δεδομένων έχει μια περιγραφή κειμένου, καθώς και όρια χρόνου CPU και μνήμης. Κάθε υποβολή κώδικα περιέχει μια ντουζίνα πληροφοριών, συμπεριλαμβανομένων της γλώσσας, της ημερομηνίας υποβολής, του μεγέθους, του χρόνου εκτέλεσης, της αποδοχής και των τύπων σφαλμάτων. Οι ερευνητές της IBM έκαναν επίσης μεγάλες προσπάθειες για να διασφαλίσουν ότι το σύνολο δεδομένων ήταν ισορροπημένο σε μια ποικιλία παραμέτρων, όπως η γλώσσα προγραμματισμού, η αποδοχή και οι τύποι σφαλμάτων.
Το CodeNet δεν είναι το μόνο σύνολο δεδομένων για την εκπαίδευση μοντέλων μηχανικής εκμάθησης σε εργασίες προγραμματισμού. Υπάρχουν όμως αρκετά χαρακτηριστικά που το ξεχωρίζουν. Το πρώτο είναι το τεράστιο μέγεθος του συνόλου δεδομένων, συμπεριλαμβανομένου του αριθμού των δειγμάτων και της ποικιλομορφίας των γλωσσών. Αλλά ίσως πιο σημαντικό είναι τα μεταδεδομένα που συνοδεύουν τα δείγματα κώδικα. Οι πλούσιοι σχολιασμοί που προστέθηκαν στο CodeNet το καθιστούν κατάλληλο για ένα ποικίλο σύνολο εργασιών, σε αντίθεση με άλλα σύνολα δεδομένων κωδικοποίησης που ειδικεύονται σε συγκεκριμένες εργασίες προγραμματισμού.
Αυτό είναι μυαλό.
Με το GPT-3, δημιούργησα μια γεννήτρια διάταξης όπου απλώς περιγράφετε όποια διάταξη θέλετε και δημιουργεί τον κώδικα JSX για εσάς.
- Σαρίφ Σαμέμ (@ sharifshameem) Ιούλιος 13, 2020
Υπάρχουν διάφοροι τρόποι χρήσης του CodeNet. Ένα από αυτά είναι η γλωσσική μετάφραση. Επειδή κάθε εργασία κωδικοποίησης στο σύνολο δεδομένων περιέχει αναπαραστάσεις διαφορετικών γλωσσών προγραμματισμού, οι επιστήμονες δεδομένων μπορούν να τη χρησιμοποιήσουν για να δημιουργήσουν μοντέλα μηχανικής εκμάθησης που μεταφράζουν κώδικα από τη μια γλώσσα στην άλλη. Αυτό μπορεί να είναι βολικό για οργανισμούς που θέλουν να μεταφέρουν τον παλιό κώδικα σε νέες γλώσσες και να τους καταστήσουν προσβάσιμους σε νέες γενιές προγραμματιστών.
Διαβάστε επίσης:
- Η IBM παρουσίασε την πρώτη στον κόσμο τεχνολογία κατασκευής chip 2nm
- Η IBM αναπτύσσει τεχνητή νοημοσύνη για να εφεύρει νέα αντιβιοτικά
Οι παραδόσεις και η κληρονομικότητα θα πρέπει να παίζουν μαζί με διαφορετική σκέψη, με τις νεότερες γενιές νευρωνικών αλγορίθμων και μεθόδων ML για την τοποθέτηση προβλημάτων, που βελτιώνουν αμοιβαία η μία την άλλη
Με τον καιρό, το επίπεδο των προγραμματιστών θα μειωθεί ακόμη περισσότερο (σε σύγκριση με τώρα). Δηλαδή, θα μπορεί να γραφτεί λοξός, στραβός κώδικας στη «γλώσσα σκατά». Και τότε το μηχάνημα θα βελτιστοποιηθεί και θα είναι δυνατό να ληφθεί ο βελτιστοποιημένος κώδικας ενός επαγγελματία προγραμματιστή συναρμολογητή (ή ακόμα καλύτερα).