Το CodeNet είναι ένα project που έρχεται σε συνέχεια του ImageNet, δηλαδή ενός μεγάλης κλίμακας σετ δεδομένων εικόνων και των περιγραφών τους. Το πρόγραμμα ImageNet παίζει κεντρικό ρόλο στην εξέλιξη αυτού που αποκαλούμε βαθιά μάθηση (deep learning) και υπολογιστική όραση (computer vision).
Η βαθιά μάθηση είναι μέρος μιας ευρύτερης οικογένειας μεθόδων μηχανικής μάθησης που βασίζονται σε τεχνητά νευρωνικά δίκτυα με μάθηση αναπαράστασης, ενώ η υπολογιστική όραση είναι πρακτικά μια τεχνητή νοημοσύνη που επιχειρεί να αναπαράγει αλγοριθμικά την αίσθηση της όρασης.
Το CodeNet είναι μια προσπάθεια να γίνει για τον προγραμματισμό Τεχνητής Νοημοσύνης ό,τι έκανε το ImageNet για την υπολογιστική όραση: πρόκειται για ένα σετ δεδομένων που αποτελείται από 14 εκατομμύρια δείγματα κώδικα, που καλύπτουν 50 γλώσσες προγραμματισμού, με σκοπό την επίλυση 4.000 προβλημάτων προγραμματισμού.
Επιτάχυνση της Μηχανικής Μάθησης
Σύμφωνα με την ιστοσελίδα The Conversation, η λογική πίσω από το CodeNet της IBM είναι ότι έχει σχεδιαστεί με τέτοιο τρόπο ώστε να μπορεί να αναβαθμίζει συστήματα με ξεπερασμένο κώδικα, μία απαίτηση που ουσιαστικά γεννήθηκε με το περιβόητο ιό της χιλιετίας, τον Y2K, πριν από πάνω από 20 χρόνια όταν αρκετοί πίστευαν ότι συστήματα με ξεπερασμένο κώδικα θα μπορούσαν να καταρρεύσουν με καταστροφικές συνέπειες.
Μία από τις παραμέτρους του CodeNet είναι η προοπτική δημιουργίας αυτού που αποκαλείται Natural Language Coding (NLC). Αρκετές εταιρείες βελτιώνουν τις τεχνολογίες NLP (Natural Language Processing), δηλαδή προγράμματα μηχανικής μάθησης που έχουν σχεδιαστεί για καλύτερη κατανόηση αλλά και μίμηση της ανθρώπινης γλώσσας και την μετάφρασή της σε άλλες γλώσσες.
Η δημιουργία τέτοιου είδους συστημάτων μάθησης απαιτεί πρόσβαση σε μεγάλο σετ δεδομένων με γραπτό κείμενο να είναι γραμμένο στις επιθυμητές ανθρώπινες γλώσσες. Η τεχνολογία NLC εφαρμόζει όλα αυτά σε επίπεδο προγραμματισμού.
Ουσιαστικά, η τεχνολογία NLC αξιοποιεί τις τεχνολογίες NLP και σε συνδυασμό με την τεράστια βάση δεδομένων του CodeNet δίνει στον καθένα να χρησιμοποιήσει οποιαδήποτε ανθρώπινη γλώσσα για να κάνει προγραμματισμό. Ουσιαστικά, δίνεται η δυνατότητα αυτόματης μετάφρασης μίας γλώσσας σε γλώσσα προγραμματισμού.
Οι εναλλακτικές προτάσεις
Όπως αναφέρει το The Conversation, η IBM δεν ήταν η μόνη που σκέφτηκε μία τέτοια προοπτική. Η OpenAI έχει αναπτύξει το βιομηχανικό μοντέλο NLP με την ονομασία GPT-3, το οποίο έχει χρησιμοποιηθεί για το γράψιμο κώδικα μίας ιστοσελίδας ή μία εφαρμογής γράφοντας απλά την περιγραφή αυτού που θέλεις να κάνεις. Η Microsoft έχει εξασφαλίσει αποκλειστικά δικαιώματα του GPT-3.
Η Microsoft είναι επίσης ιδιοκτήτρια από το 2018 του GitHub, της μεγαλύτερης συλλογής κώδικα ανοικτού λογισμικού. Η εταιρεία έχει προσθέσει σε αυτή τη συλλογή και έναν βοηθό Τεχνητής Νοημοσύνης, το GitHub Copilot. Όταν ο προγραμματιστής εισάγει την δράση που θέλει στον κώδικα, ο Copilot παράγει ένα δείγμα κώδικα που θα μπορούσε να ταιριάζει. Ο προγραμματιστής μπορεί να αποδεχθεί το δείγμα που έφτιαξε η Τεχνητή Νοημοσύνη, να το τροποποιήσει ή να το απορρίψει.
Οι κίνδυνοι
Η αλήθεια είναι ότι μία τεχνολογία του τύπου της NLC δεν είναι φθηνή ούτε σε επίπεδο ανάπτυξης ούτε σε επίπεδο εφαρμογής και είναι πολύ πιθανό να αποτελέσει μονοπώλιο από τους μεγάλους παίκτες της αγοράς, όπως οι Microsoft, Google και IBM. Τότε, η υπηρεσία ενδέχεται να προσφέρεται έναντι αμοιβής ή, όπως οι περισσότερες υπηρεσίες κοινωνικής δικτύωσης, δωρεάν αλλά με δυσμενείς ή υπό όρους εκμετάλλευσης.
Επιπλέον, προγράμματα όπως ο Copilot βελτιώνονται όταν εισάγονται νέα δεδομένα, όσο περισσότερα δεδομένα χρησιμοποιούνται τόσο καλύτερα γίνονται. Αυτό και μόνο το γεγονός κάνει δύσκολο στον όποιο ανταγωνισμό να μπει με αξιώσεις στο «παιχνίδι», ακόμα και αν έχει δημιουργήσει κάτι δυνατότερο ή με περισσότερη κατανόηση της δεοντολογίας.