Το GitHub κυκλοφόρησε το σύστημα μηχανικής εκμάθησης Copilot που παράγει κώδικα

Το GitHub ανακοίνωσε την ολοκλήρωση της δοκιμής του ευφυούς βοηθού GitHub Copilot, ικανού να δημιουργεί τυπικές κατασκευές κατά τη σύνταξη κώδικα. Το σύστημα αναπτύχθηκε από κοινού με το έργο OpenAI και χρησιμοποιεί την πλατφόρμα μηχανικής εκμάθησης OpenAI Codex, εκπαιδευμένη σε μια μεγάλη σειρά πηγαίων κωδίκων που φιλοξενούνται σε δημόσια αποθετήρια GitHub. Η υπηρεσία είναι δωρεάν για συντηρητές δημοφιλών έργων ανοιχτού κώδικα και φοιτητές. Για άλλες κατηγορίες χρηστών, η πρόσβαση στο GitHub Copilot πληρώνεται (10$ το μήνα ή 100$ το χρόνο), αλλά παρέχεται δωρεάν δοκιμαστική πρόσβαση για 60 ημέρες.

Η δημιουργία κώδικα υποστηρίζεται στις γλώσσες προγραμματισμού Python, JavaScript, TypeScript, Ruby, Go, C# και C++ χρησιμοποιώντας διάφορα πλαίσια. Διατίθενται λειτουργικές μονάδες για την ενσωμάτωση του GitHub Copilot με περιβάλλοντα ανάπτυξης Neovim, JetBrains IDE, Visual Studio και Visual Studio Code. Κρίνοντας από την τηλεμετρία που συλλέγεται κατά τη διάρκεια της δοκιμής, η υπηρεσία σάς επιτρέπει να δημιουργείτε κώδικα αρκετά υψηλής ποιότητας - για παράδειγμα, το 26% των προτάσεων που προτείνονται στο GitHub Copilot έγιναν δεκτές από τους προγραμματιστές ως έχουν.

Το GitHub Copilot διαφέρει από τα παραδοσιακά συστήματα συμπλήρωσης κώδικα ως προς την ικανότητά του να δημιουργεί αρκετά πολύπλοκα μπλοκ κώδικα, έως έτοιμες λειτουργίες που συντίθενται λαμβάνοντας υπόψη το τρέχον πλαίσιο. Το GitHub Copilot προσαρμόζεται στον τρόπο με τον οποίο ο προγραμματιστής γράφει κώδικα και λαμβάνει υπόψη τα API και τα πλαίσια που χρησιμοποιούνται στο πρόγραμμα. Για παράδειγμα, εάν υπάρχει ένα παράδειγμα δομής JSON σε ένα σχόλιο, όταν ξεκινάτε να γράφετε μια συνάρτηση για την ανάλυση αυτής της δομής, το GitHub Copilot θα προσφέρει έτοιμο κώδικα και κατά τη σύνταξη λιστών ρουτίνας επαναλαμβανόμενων περιγραφών, θα δημιουργήσει το υπόλοιπο θέσεις.

Το GitHub κυκλοφόρησε το σύστημα μηχανικής εκμάθησης Copilot που παράγει κώδικα

Η ικανότητα του GitHub Copilot να δημιουργεί έτοιμα μπλοκ κώδικα έχει οδηγήσει σε διαμάχες που σχετίζονται με πιθανές παραβιάσεις των αδειών copyleft. Κατά τη διαμόρφωση του μοντέλου μηχανικής μάθησης, χρησιμοποιήθηκαν κείμενα πραγματικού κώδικα από αποθετήρια έργων ανοιχτού κώδικα που βρίσκονται στο GitHub. Πολλά από αυτά τα έργα παρέχονται με άδειες copyleft, όπως η GPL, που απαιτούν τη διανομή του κώδικα των παράγωγων έργων με συμβατή άδεια χρήσης. Με την εισαγωγή υπάρχοντος κώδικα όπως προτείνεται από το Copilot, οι προγραμματιστές ενδέχεται να παραβιάσουν άθελά τους την άδεια του έργου από το οποίο δανείστηκε ο κωδικός.

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

Από τη μία πλευρά, τα μπλοκ που δημιουργούνται μπορούν να επαναλάβουν αποσπάσματα κειμένου από υπάρχοντα έργα, αλλά από την άλλη πλευρά, το σύστημα αναδημιουργεί τη δομή του κώδικα αντί να αντιγράφει τον ίδιο τον κώδικα. Σύμφωνα με μια μελέτη GitHub, μόνο το 1% των φορών που μια πρόταση Copilot μπορεί να περιλαμβάνει αποσπάσματα κώδικα από υπάρχοντα έργα που ξεπερνούν τους 150 χαρακτήρες. Στις περισσότερες περιπτώσεις, οι επαναλήψεις συμβαίνουν όταν το Copilot δεν μπορεί να προσδιορίσει σωστά το πλαίσιο ή προσφέρει τυπικές λύσεις σε ένα πρόβλημα.

Για να αποφευχθεί η αντικατάσταση του υπάρχοντος κώδικα, έχει προστεθεί ένα ειδικό φίλτρο στο Copilot που δεν επιτρέπει διασταυρώσεις με υπάρχοντα έργα. Κατά τη ρύθμιση, ο προγραμματιστής μπορεί να ενεργοποιήσει ή να απενεργοποιήσει αυτό το φίλτρο κατά την κρίση του. Μεταξύ άλλων προβλημάτων, υπάρχει η πιθανότητα ο συνθετικός κώδικας να επαναλαμβάνει σφάλματα και ευπάθειες που υπάρχουν στον κώδικα που χρησιμοποιείται για την εκπαίδευση του μοντέλου.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο