Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού της Amazon

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού της Amazon

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Μπορούμε να αντιμετωπίσουμε αυτό το κενό και να ελαχιστοποιήσουμε την πρόσθετη μη αυτόματη επεξεργασία ενσωματώνοντας γνώσεις κώδικα από ιδιωτικά αποθετήρια πάνω από ένα μοντέλο γλώσσας εκπαιδευμένο σε δημόσιο κώδικα. Αυτός είναι ο λόγος για τον οποίο αναπτύξαμε μια δυνατότητα προσαρμογής για Amazon Code Whisperer. Σε αυτήν την ανάρτηση, σας δείχνουμε δύο πιθανούς τρόπους προσαρμογής των συνοδών κωδικοποίησης χρησιμοποιώντας την ανάκτηση επαυξημένης παραγωγής και τη λεπτομέρεια.

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

  1. Αραιή τεκμηρίωση ή πληροφορίες για εσωτερικές βιβλιοθήκες και API που αναγκάζουν τους προγραμματιστές να αφιερώσουν χρόνο στην εξέταση προηγουμένως γραμμένου κώδικα για την αναπαραγωγή της χρήσης.
  2. Έλλειψη ευαισθητοποίησης και συνέπειας στην εφαρμογή πρακτικών, στυλ και μοτίβων κωδικοποίησης για συγκεκριμένες επιχειρήσεις.
  3. Η ακούσια χρήση καταργημένου κώδικα και API από προγραμματιστές.

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

Σχεδιαστικές προκλήσεις

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

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

Πώς να προσαρμόσετε

Σε υψηλό επίπεδο, υπάρχουν δύο τύποι δυνατών τεχνικών προσαρμογής: η επαυξημένη παραγωγή ανάκτησης (RAG) και η λεπτομέρεια (FT).

  • Επαυξημένη γενιά ανάκτησης: Το RAG βρίσκει ταιριαστά κομμάτια κώδικα μέσα σε ένα αποθετήριο που είναι παρόμοιο με ένα δεδομένο τμήμα κώδικα (για παράδειγμα, κώδικας που προηγείται αμέσως του δρομέα στο IDE) και αυξάνει την προτροπή που χρησιμοποιείται για την υποβολή ερωτήματος στο LLM με αυτά τα αντίστοιχα αποσπάσματα κώδικα. Αυτό εμπλουτίζει την προτροπή για να βοηθήσει το μοντέλο να δημιουργήσει πιο σχετικό κώδικα. Υπάρχουν μερικές τεχνικές που έχουν διερευνηθεί στη βιβλιογραφία προς αυτή την κατεύθυνση. Βλέπω Ανάκτηση-αυξημένη γενιά για εργασίες NLP με ένταση γνώσης, ΒΑΣΙΛΕΙΟ, kNN-LM και ΡΕΤΡΟ.

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

  • Βελτιστοποίηση: Η FT παίρνει ένα προεκπαιδευμένο LLM και το εκπαιδεύει περαιτέρω σε μια συγκεκριμένη, μικρότερη βάση κωδικών (σε σύγκριση με το σύνολο δεδομένων προεκπαίδευσης) για να το προσαρμόσει στο κατάλληλο αποθετήριο. Η τελειοποίηση προσαρμόζει τα βάρη του LLM με βάση αυτή την εκπαίδευση, καθιστώντας το πιο προσαρμοσμένο στις μοναδικές ανάγκες του οργανισμού.

Τόσο το RAG όσο και το fine-tuning είναι ισχυρά εργαλεία για τη βελτίωση της απόδοσης της προσαρμογής βάσει LLM. Το RAG μπορεί γρήγορα να προσαρμοστεί σε ιδιωτικές βιβλιοθήκες ή API με χαμηλότερη πολυπλοκότητα και κόστος εκπαίδευσης. Ωστόσο, η αναζήτηση και η αύξηση των ανακτημένων αποσπασμάτων κώδικα στη γραμμή εντολών αυξάνει την καθυστέρηση κατά το χρόνο εκτέλεσης. Αντίθετα, η λεπτομέρεια δεν απαιτεί καμία αύξηση του περιβάλλοντος, επειδή το μοντέλο έχει ήδη εκπαιδευτεί σε ιδιωτικές βιβλιοθήκες και API. Ωστόσο, οδηγεί σε υψηλότερο κόστος εκπαίδευσης και πολυπλοκότητα στην εξυπηρέτηση του μοντέλου, όταν πρέπει να υποστηρίζονται πολλαπλά προσαρμοσμένα μοντέλα σε πολλούς εταιρικούς πελάτες. Όπως θα συζητήσουμε αργότερα, αυτές οι ανησυχίες μπορούν να διορθωθούν βελτιστοποιώντας περαιτέρω την προσέγγιση.

Ανάκτηση επαυξημένης γενιάς

Υπάρχουν μερικά βήματα που εμπλέκονται στο RAG:

Ευρετηρίαση

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

Ροή εργασιών διαχειριστή

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
Συμφραζόμενη αναζήτηση

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

  • τσάντα με λέξεις (BM25) - Μια συνάρτηση ανάκτησης τσάντας λέξεων που κατατάσσει ένα σύνολο αποσπασμάτων κώδικα με βάση τις συχνότητες του όρου του ερωτήματος και τα μήκη των αποσπασμάτων κώδικα.

Ανάκτηση με βάση το BM25

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Σημασιολογική ανάκτηση

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Το BM25 εστιάζει στη λεξιλογική αντιστοίχιση. Επομένως, η αντικατάσταση του "add" με το "delete" ενδέχεται να μην αλλάξει τη βαθμολογία BM25 με βάση τους όρους στο ερώτημα, αλλά η ανακτημένη λειτουργικότητα μπορεί να είναι το αντίθετο από αυτό που απαιτείται. Αντίθετα, η σημασιολογική ανάκτηση εστιάζει στη λειτουργικότητα του αποσπάσματος κώδικα, παρόλο που τα ονόματα μεταβλητών και API μπορεί να διαφέρουν. Συνήθως, ένας συνδυασμός BM25 και σημασιολογικών ανακτήσεων μπορεί να λειτουργήσει καλά μαζί για να προσφέρει καλύτερα αποτελέσματα.

Επαυξημένη συναγωγή

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

Ροή εργασιών προγραμματιστή

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Λεπτή ρύθμιση:

Βελτιστοποίηση γίνεται ένα γλωσσικό μοντέλο για μεταφορά της μάθησης στο οποίο τα βάρη ενός προεκπαιδευμένου μοντέλου εκπαιδεύονται σε νέα δεδομένα. Ο στόχος είναι να διατηρήσουμε την κατάλληλη γνώση από ένα μοντέλο που έχει ήδη εκπαιδευτεί σε ένα μεγάλο σώμα και να τελειοποιήσουμε, να αντικαταστήσουμε ή να προσθέσουμε νέα γνώση από το νέο σώμα — στην περίπτωσή μας, μια νέα βάση κωδικών. Απλά η εκπαίδευση σε μια νέα βάση κωδικών οδηγεί σε καταστροφική ξεχνώντας. Για παράδειγμα, το μοντέλο γλώσσας μπορεί «ξεχάστε» τη γνώση της ασφάλειας ή τα API που χρησιμοποιούνται αραιά στη βάση κωδικών της επιχείρησης μέχρι σήμερα. Υπάρχει μια ποικιλία τεχνικών όπως εμπειρία επανάληψης, GEM, να PP-TF που χρησιμοποιούνται για την αντιμετώπιση αυτής της πρόκλησης.

λεπτή ρύθμιση

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

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

Παρά τα πλεονεκτήματα της χρήσης αποκλειστικών LLM για τη δημιουργία κώδικα σε ιδιωτικά αποθετήρια, το κόστος μπορεί να είναι απαγορευτικό για τους μικρούς και μεσαίους οργανισμούς. Αυτό οφείλεται στο γεγονός ότι οι αποκλειστικοί υπολογιστικοί πόροι είναι απαραίτητοι, παρόλο που ενδέχεται να υποχρησιμοποιούνται λόγω του μεγέθους των ομάδων. Ένας τρόπος για να επιτευχθεί αποδοτικότητα κόστους είναι η εξυπηρέτηση πολλών μοντέλων στον ίδιο υπολογισμό (για παράδειγμα, SageMaker πολλαπλών μισθώσεων). Ωστόσο, τα μοντέλα γλώσσας απαιτούν μία ή περισσότερες αποκλειστικές GPU σε πολλές ζώνες για να χειρίζονται περιορισμούς καθυστέρησης και διεκπεραιότητας. Ως εκ τούτου, η πολλαπλή μίσθωση της φιλοξενίας πλήρους μοντέλου σε κάθε GPU είναι ανέφικτη.

Μπορούμε να ξεπεράσουμε αυτό το πρόβλημα εξυπηρετώντας πολλούς πελάτες στον ίδιο υπολογισμό χρησιμοποιώντας μικρά προσαρμογείς στο LLM. Τεχνικές μικρορύθμισης αποδοτικής παραμέτρου (PEFT) όπως άμεσο συντονισμό, συντονισμός προθέματοςκαι Προσαρμογή χαμηλής κατάταξης (LoRA) χρησιμοποιούνται για τη μείωση του κόστους εκπαίδευσης χωρίς απώλεια ακρίβειας. Η LoRA, ειδικά, έχει σημειώσει μεγάλη επιτυχία στην επίτευξη παρόμοιας (ή καλύτερης) ακρίβειας από τη λεπτομέρεια πλήρους μοντέλου. Η βασική ιδέα είναι να σχεδιάσουμε μια μήτρα χαμηλής κατάταξης που στη συνέχεια προστίθεται στους πίνακες με το αρχικό βάρος μήτρας των στοχευμένων στρωμάτων του μοντέλου. Συνήθως, αυτοί οι προσαρμογείς στη συνέχεια συγχωνεύονται με τα βάρη του αρχικού μοντέλου για σερβίρισμα. Αυτό οδηγεί στο ίδιο μέγεθος και αρχιτεκτονική με το αρχικό νευρωνικό δίκτυο. Διατηρώντας τους προσαρμογείς ξεχωριστούς, μπορούμε να εξυπηρετήσουμε το ίδιο βασικό μοντέλο με πολλούς προσαρμογείς μοντέλων. Αυτό επαναφέρει τις οικονομίες κλίμακας στους μικρούς και μεσαίους πελάτες μας.

Προσαρμογή χαμηλής κατάταξης (LoRA)

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Μέτρηση της αποτελεσματικότητας της προσαρμογής

Χρειαζόμαστε μετρήσεις αξιολόγησης για να αξιολογήσουμε την αποτελεσματικότητα της προσαρμοσμένης λύσης. Οι μετρήσεις αξιολόγησης εκτός σύνδεσης λειτουργούν ως προστατευτικά κιγκλιδώματα έναντι προσαρμογών αποστολής που είναι κατώτερες σε σύγκριση με το προεπιλεγμένο μοντέλο. Με τη δημιουργία συνόλων δεδομένων από ένα συγκρατημένο σύνολο δεδομένων μέσα από το παρεχόμενο αποθετήριο, η προσέγγιση προσαρμογής μπορεί να εφαρμοστεί σε αυτό το σύνολο δεδομένων για τη μέτρηση της αποτελεσματικότητας. Η σύγκριση του υπάρχοντος πηγαίου κώδικα με την πρόταση προσαρμοσμένου κώδικα ποσοτικοποιεί τη χρησιμότητα της προσαρμογής. Τα κοινά μέτρα που χρησιμοποιούνται για αυτήν την ποσοτικοποίηση περιλαμβάνουν μετρήσεις όπως επεξεργασία ομοιότητα, ακριβής αντιστοίχιση και CodeBLEU.

Είναι επίσης δυνατό να μετρηθεί η χρησιμότητα ποσοτικοποιώντας πόσο συχνά επικαλούνται εσωτερικά API από την προσαρμογή και συγκρίνοντάς τα με τις επικλήσεις στην προϋπάρχουσα πηγή. Φυσικά, η σωστή λήψη και των δύο πτυχών είναι σημαντική για μια επιτυχημένη ολοκλήρωση. Για την προσέγγισή μας προσαρμογής, έχουμε σχεδιάσει μια εξατομικευμένη μέτρηση γνωστή ως Δείκτης Ποιότητας Προσαρμογής (CQI), μια ενιαία μέτρηση φιλική προς το χρήστη που κυμαίνεται μεταξύ 1 και 10. Η μέτρηση CQI δείχνει τη χρησιμότητα των προτάσεων από το προσαρμοσμένο μοντέλο σε σύγκριση με τον κώδικα προτάσεις με ένα γενικό δημόσιο μοντέλο.

Χαρακτηριστικά

Δημιουργήσαμε τη δυνατότητα προσαρμογής του Amazon CodeWhisperer με βάση ένα μείγμα από τις κορυφαίες τεχνικές τεχνικές που συζητούνται σε αυτήν την ανάρτηση ιστολογίου και το αξιολογήσαμε με μελέτες χρηστών σχετικά με την παραγωγικότητα προγραμματιστών, που διεξήχθησαν από την Persistent Systems. Σε αυτές τις δύο μελέτες, που ανατέθηκαν από την AWS, ζητήθηκε από τους προγραμματιστές να δημιουργήσουν μια εφαρμογή ιατρικού λογισμικού σε Java που απαιτούσε τη χρήση των εσωτερικών τους βιβλιοθηκών. Στην πρώτη μελέτη, οι προγραμματιστές χωρίς πρόσβαση στο CodeWhisperer χρειάστηκαν (κατά μέσο όρο) ~8.2 ώρες για να ολοκληρώσουν την εργασία, ενώ εκείνοι που χρησιμοποίησαν το CodeWhisperer (χωρίς προσαρμογή) ολοκλήρωσαν την εργασία 62 τοις εκατό γρηγορότερα σε (κατά μέσο όρο) ~3.1 ώρες.

Στη δεύτερη μελέτη με διαφορετικό σύνολο κοόρτων προγραμματιστών, οι προγραμματιστές που χρησιμοποιούσαν CodeWhisperer που είχαν προσαρμοστεί χρησιμοποιώντας την ιδιωτική τους βάση κωδικών ολοκλήρωσαν την εργασία σε 2.5 ώρες κατά μέσο όρο, 28 τοις εκατό γρηγορότερα από εκείνους που χρησιμοποιούσαν CodeWhisperer χωρίς προσαρμογή και ολοκλήρωσαν την εργασία σε ~3.5 ώρες κατά μέσο όρο. Πιστεύουμε ακράδαντα ότι εργαλεία όπως το CodeWhisperer που είναι προσαρμοσμένα στη βάση κωδίκων σας έχουν βασικό ρόλο να διαδραματίσουν στην περαιτέρω ενίσχυση της παραγωγικότητας των προγραμματιστών και συνιστούμε να το χρησιμοποιήσετε. Για περισσότερες πληροφορίες και για να ξεκινήσετε, επισκεφθείτε το Σελίδα Amazon CodeWhisperer.


Σχετικά με τους συγγραφείς

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Qing Sun είναι Ανώτερος Εφαρμοσμένος Επιστήμονας στα AWS AI Labs και εργάζεται στο AWS CodeWhisperer, έναν βοηθό κωδικοποίησης που λειτουργεί με τεχνητή νοημοσύνη. Τα ερευνητικά της ενδιαφέροντα βρίσκονται στην Επεξεργασία Φυσικής Γλώσσας, τον Κώδικα AI4 και τη γενετική τεχνητή νοημοσύνη. Στο παρελθόν, είχε εργαστεί σε πολλές υπηρεσίες που βασίζονται στο NLP, όπως το Comprehend Medical, ένα σύστημα ιατρικής διάγνωσης στο Amazon Health AI και το σύστημα Machine Translation στο Meta AI. Έλαβε το διδακτορικό της από το Virginia Tech το 2017.

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Arash Farahani είναι Εφαρμοσμένος Επιστήμονας με το Amazon CodeWhisperer. Τα τρέχοντα ενδιαφέροντά του είναι η γενετική τεχνητή νοημοσύνη, η αναζήτηση και η εξατομίκευση. Ο Arash είναι παθιασμένος με την κατασκευή λύσεων που επιλύουν τα σημεία πόνου των προγραμματιστών. Έχει εργαστεί σε πολλαπλές λειτουργίες στο CodeWhisperer και εισήγαγε λύσεις NLP σε διάφορες εσωτερικές ροές εργασίας που αγγίζουν όλους τους προγραμματιστές της Amazon. Έλαβε το διδακτορικό του από το Πανεπιστήμιο του Ιλινόις στο Urbana-Champaign το 2017.

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Xiaofei Ma είναι Διευθυντής Εφαρμοσμένης Επιστήμης στο AWS AI Labs. Εντάχθηκε στην Amazon το 2016 ως Εφαρμοσμένος Επιστήμονας στον οργανισμό SCOT και στη συνέχεια αργότερα στην AWS AI Labs το 2018 εργαζόμενος στο Amazon Kendra. Ο Xiaofei υπηρετεί ως διευθυντής επιστήμης για πολλές υπηρεσίες, όπως Kendra, Contact Lens και πιο πρόσφατα CodeWhisperer και CodeGuru Security. Τα ερευνητικά του ενδιαφέροντα βρίσκονται στον τομέα του AI4Code και της Επεξεργασίας Φυσικής Γλώσσας. Έλαβε το διδακτορικό του από το University of Maryland, College Park το 2010.

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Murali Krishna Ramanathan είναι Κύριος Εφαρμοσμένος Επιστήμονας στα AWS AI Labs και συνεπικεφαλής του AWS CodeWhisperer, ενός παραγωγικού συνοδού κωδικοποίησης με τεχνητή νοημοσύνη. Είναι παθιασμένος με τη δημιουργία εργαλείων λογισμικού και ροών εργασίας που συμβάλλουν στη βελτίωση της παραγωγικότητας των προγραμματιστών. Στο παρελθόν, κατασκεύασε το Piranha, ένα αυτοματοποιημένο εργαλείο ανακατασκευής για τη διαγραφή κώδικα λόγω παλιών σημαιών χαρακτηριστικών και οδήγησε σε πρωτοβουλίες ποιότητας κώδικα στην Uber engineering. Είναι αποδέκτης του βραβείου Google faculty (2015), του βραβείου ACM SIGSOFT Distinguished paper (ISSTA 2016) και του βραβείου Maurice Halstead (Purdue 2006). Έλαβε το διδακτορικό του στην Επιστήμη Υπολογιστών από το Πανεπιστήμιο Purdue το 2008.

Προσαρμογή συνοδευτικών κωδικοποίησης για οργανισμούς | Υπηρεσίες Ιστού Amazon PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.Ramesh Nallapati είναι Ανώτερος Κύριος Εφαρμοσμένος Επιστήμονας στο AWS AI Labs και συνεπικεφαλής του CodeWhisperer, ενός παραγωγικού συνοδού κωδικοποίησης με τεχνητή νοημοσύνη, και των μοντέλων Titan Large Language στο AWS. Τα ενδιαφέροντά του είναι κυρίως στους τομείς της Επεξεργασίας Φυσικής Γλώσσας και της Γενετικής Τεχνητής Νοημοσύνης. Στο παρελθόν, η Ramesh έχει προσφέρει ηγετική θέση στην επιστήμη στην παροχή πολλών προϊόντων AWS που βασίζονται σε NLP, όπως το Kendra, το Quicksight Q και το Contact Lens. Κατείχε ερευνητικές θέσεις στα Stanford, CMU και IBM Research, και έλαβε το διδακτορικό του. στην Επιστήμη Υπολογιστών από το Πανεπιστήμιο της Μασαχουσέτης Amherst το 2006.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS