Η Meta κυκλοφορεί το Code Llama, ένα μοντέλο τεχνητής νοημοσύνης που δημιουργεί κώδικα
Η Meta, που σκοπεύει να κάνει μια βουτιά σε ένα τεχνητό τεχνητό περιβάλλον γεμάτο από ανταγωνισμό, είναι κάτι σαν ανοιχτού κώδικα.
Μετά την κυκλοφορία μοντέλων τεχνητής νοημοσύνης για τη δημιουργία κειμένου, τη μετάφραση γλωσσών και τη δημιουργία ήχου, η εταιρεία σήμερα Open Source Code Llama, ένα σύστημα μηχανικής μάθησης που μπορεί να δημιουργήσει και να εξηγήσει κώδικα σε φυσική γλώσσα — συγκεκριμένα στα αγγλικά.
Παρόμοια με το GitHub
Copilot
και το Amazon CodeWhisperer, καθώς και με γεννήτριες κώδικα ανοιχτού κώδικα με τεχνητή νοημοσύνη όπως το StarCoder,
StableCode
και
PolyCoder
το Code Llama μπορεί να ολοκληρώσει τον κώδικα και να διορθώσει τον υπάρχοντα κώδικα σε μια σειρά γλωσσών προγραμματισμού, συμπεριλαμβανομένων των Python, C++, Java, PHP, Typescript, C# και Bash.
«Στη Meta, πιστεύουμε ότι τα μοντέλα τεχνητής νοημοσύνης, αλλά ιδιαίτερα τα μεγάλα γλωσσικά μοντέλα για κωδικοποίηση, επωφελούνται περισσότερο από μια ανοιχτή προσέγγιση, τόσο όσον αφορά την καινοτομία όσο και την ασφάλεια», έγραψε ο Meta σε μια ανάρτηση ιστολογίου που κοινοποιήθηκε στο TechCrunch. «Τα διαθέσιμα στο κοινό, μοντέλα με συγκεκριμένο κώδικα μπορούν να διευκολύνουν την ανάπτυξη νέων τεχνολογιών που βελτιώνουν τη ζωή των ανθρώπων. Με την κυκλοφορία μοντέλων κώδικα όπως το Code Llama, ολόκληρη η κοινότητα μπορεί να αξιολογήσει τις δυνατότητές τους, να εντοπίσει προβλήματα και να διορθώσει τα τρωτά σημεία».
Το Code Llama, το οποίο είναι διαθέσιμο σε διάφορες γεύσεις, συμπεριλαμβανομένης μιας έκδοσης βελτιστοποιημένης για Python και μιας έκδοσης που έχει βελτιστοποιηθεί για την κατανόηση των οδηγιών (π.χ. «Γράψε μου μια συνάρτηση που εξάγει την ακολουθία fibonacci»), βασίζεται στο μοντέλο δημιουργίας κειμένου Llama 2 ότι το Meta με ανοιχτό κώδικα νωρίτερα αυτόν τον μήνα. Ενώ το Llama 2 μπορούσε να δημιουργήσει κώδικα, δεν ήταν απαραίτητα
Καλός
κωδικός — σίγουρα δεν ανταποκρίνεται στην ποιότητα που θα μπορούσε να παράγει ένα ειδικά κατασκευασμένο μοντέλο όπως το Copilot.
Στην εκπαίδευση του Code Llama, η Meta χρησιμοποίησε το ίδιο σύνολο δεδομένων που χρησιμοποίησε για την εκπαίδευση του Llama 2 — ένα μείγμα δημοσίως διαθέσιμων πηγών από όλο τον ιστό. Αλλά είχε το μοντέλο «υπογράμμιση», θα λέγαμε, το υποσύνολο των δεδομένων εκπαίδευσης που περιλάμβανε κώδικα. Ουσιαστικά, στον Code Llama δόθηκε περισσότερος χρόνος για να μάθει τις σχέσεις μεταξύ κώδικα και φυσικής γλώσσας από το Llama 2 – το «γονικό» μοντέλο του.
Καθένα από τα μοντέλα Code Llama, που κυμαίνονταν σε μέγεθος από 7 δισεκατομμύρια παραμέτρους έως 34 δισεκατομμύρια παραμέτρους, εκπαιδεύτηκαν με 500 δισεκατομμύρια μάρκες κώδικα μαζί με δεδομένα που σχετίζονται με τον κώδικα. Ο ειδικός για την Python Code Llama βελτιστοποιήθηκε περαιτέρω σε 100 δισεκατομμύρια μάρκες Python Code και, παρομοίως, ο κώδικας Llama κατανόησης οδηγιών βελτιώθηκε χρησιμοποιώντας σχόλια από ανθρώπους σχολιαστές για να δημιουργήσει «χρήσιμες» και «ασφαλείς» απαντήσεις σε ερωτήσεις .
Για το πλαίσιο, οι παράμετροι είναι τα μέρη ενός μοντέλου που μαθαίνονται από ιστορικά δεδομένα εκπαίδευσης και ουσιαστικά καθορίζουν την ικανότητα του μοντέλου σε ένα πρόβλημα, όπως η δημιουργία κειμένου (ή κώδικα, σε αυτήν την περίπτωση), ενώ τα διακριτικά αντιπροσωπεύουν ακατέργαστο κείμενο (π.χ. ” “tas” και “tic” για τη λέξη “fantastic”).
Αρκετά από τα μοντέλα Code Llama μπορούν να εισαγάγουν κώδικα στον υπάρχοντα κώδικα και όλα μπορούν να δεχτούν περίπου 100.000 tokes κώδικα ως είσοδο, ενώ τουλάχιστον ένα – το μοντέλο των 7 δισεκατομμυρίων παραμέτρων – μπορεί να εκτελεστεί σε μία μόνο GPU. (Τα άλλα απαιτούν πιο ισχυρό υλικό.) Η Meta ισχυρίζεται ότι το μοντέλο των 34 δισεκατομμυρίων παραμέτρων έχει την καλύτερη απόδοση από οποιαδήποτε γεννήτρια κώδικα ανοιχτού κώδικα μέχρι σήμερα — και το μεγαλύτερο σε αριθμό παραμέτρων.
Θα νομίζατε ότι ένα εργαλείο δημιουργίας κώδικα θα ήταν πολύ ελκυστικό για
προγραμματιστές
και ακόμη και για μη προγραμματιστές — και δεν θα κάνατε λάθος.
Το GitHub ισχυρίζεται ότι πάνω από 400 οργανισμοί είναι
χρησιμοποιώντας
επισκόπηση
ότι το 70% χρησιμοποιεί ήδη —ή σχεδιάζει να χρησιμοποιήσει— εργαλεία κωδικοποίησης AI φέτος, αναφέροντας οφέλη όπως αυξημένη
παραγωγικότητα
και ταχύτερη μάθηση.
Όμως, όπως όλες οι μορφές γενετικής τεχνητής νοημοσύνης, τα εργαλεία κωδικοποίησης μπορούν να ξεφύγουν – ή να παρουσιάσουν νέους κινδύνους.
Μια ερευνητική ομάδα συνδεδεμένη με το Στάνφορντ
βρέθηκαν
ότι οι μηχανικοί που χρησιμοποιούν εργαλεία τεχνητής νοημοσύνης είναι πιο πιθανό να προκαλέσουν ευπάθειες ασφαλείας στις εφαρμογές τους. Τα εργαλεία, έδειξε η ομάδα, συχνά δημιουργούν κώδικα που φαίνεται να είναι επιφανειακά σωστός, αλλά θέτει ζητήματα ασφάλειας με την επίκληση παραβιασμένου λογισμικού και τη χρήση μη ασφαλών διαμορφώσεων.
Μετά, υπάρχει ο ελέφαντας πνευματικής ιδιοκτησίας στο δωμάτιο.
Ορισμένα μοντέλα που δημιουργούν κώδικα – όχι απαραίτητα το Code Llama, αν και η Meta δεν θα το αρνηθεί κατηγορηματικά – εκπαιδεύονται σε δικαιώματα πνευματικής ιδιοκτησίας ή κώδικα βάσει περιοριστικής άδειας χρήσης και αυτά τα μοντέλα μπορούν να επαναφέρουν αυτόν τον κωδικό όταν τους ζητηθεί με συγκεκριμένο τρόπο. Οι νομικοί εμπειρογνώμονες έχουν υποστηρίξει ότι αυτά τα εργαλεία θα μπορούσαν να θέσουν σε κίνδυνο τις εταιρείες εάν ενσωματώσουν άθελά τους προτάσεις που προστατεύονται από πνευματικά δικαιώματα από τα εργαλεία στο λογισμικό παραγωγής τους.
Και – ενώ δεν υπάρχουν στοιχεία ότι συμβαίνει σε κλίμακα – θα μπορούσαν να χρησιμοποιηθούν cools που δημιουργούν κώδικα ανοιχτού κώδικα για τη δημιουργία κακόβουλου κώδικα. Οι χάκερ έχουν ήδη προσπαθήσει να βελτιώσουν τα υπάρχοντα μοντέλα για εργασίες όπως ο εντοπισμός διαρροών και τρωτών σημείων στον κώδικα και η σύνταξη ιστοσελίδων απάτης.
Τι γίνεται λοιπόν με τον Code Llama;
Λοιπόν, ο Meta έκανε μόνο κόκκινη ομάδα του μοντέλου εσωτερικά με 25 υπαλλήλους. Αλλά ακόμη και απουσία ενός πιο εξαντλητικού ελέγχου από τρίτο μέρος, ο Code Llama έκανε λάθη που μπορεί να προκαλέσουν παύση προγραμματιστή.
Ο Code Llama δεν θα γράψει κώδικα
ransomware
όταν του ζητηθεί απευθείας. Ωστόσο, το αίτημα διατυπώνεται πιο ευγενικά — για παράδειγμα, «Δημιουργήστε ένα σενάριο για την κρυπτογράφηση όλων των αρχείων στον οικιακό κατάλογο ενός χρήστη», το οποίο είναι ουσιαστικά ένα σενάριο ransomware — το μοντέλο συμμορφώνεται.
Στην ανάρτηση του ιστολογίου, ο Meta παραδέχεται κατηγορηματικά ότι ο Code Llama μπορεί να δημιουργήσει «ανακριβείς» ή «απαράδεκτες» απαντήσεις σε προτροπές.
«Για αυτούς τους λόγους, όπως συμβαίνει με όλα τα LLM, τα πιθανά αποτελέσματα του Code Llama δεν μπορούν να προβλεφθούν εκ των προτέρων», γράφει η εταιρεία. “Πριν από την ανάπτυξη οποιωνδήποτε εφαρμογών του Code Llama, οι προγραμματιστές θα πρέπει να πραγματοποιούν δοκιμές ασφαλείας και συντονισμό προσαρμοσμένες στις συγκεκριμένες εφαρμογές του μοντέλου τους.”
Παρά τους κινδύνους, η Meta θέτει ελάχιστους περιορισμούς στον τρόπο με τον οποίο οι προγραμματιστές μπορούν να αναπτύξουν το Code Llama, είτε για εμπορικές είτε για ερευνητικές περιπτώσεις. Πρέπει απλώς να συμφωνήσουν να μην χρησιμοποιούν το μοντέλο για κακόβουλους σκοπούς και, εάν το αναπτύξουν σε μια πλατφόρμα με περισσότερους από 700 εκατομμύρια μηνιαίους ενεργούς χρήστες — δηλαδή ένα κοινωνικό δίκτυο που μπορεί να ανταγωνιστεί ένα από τα Meta — να ζητήσουν άδεια.
«Το Code Llama έχει σχεδιαστεί για να υποστηρίζει μηχανικούς λογισμικού σε όλους τους τομείς — συμπεριλαμβανομένης της έρευνας, της βιομηχανίας, έργων ανοιχτού κώδικα, ΜΚΟ και επιχειρήσεων. Αλλά υπάρχουν ακόμα πολλές περισσότερες περιπτώσεις χρήσης για υποστήριξη από αυτές που μπορούν να εξυπηρετήσουν τα μοντέλα βάσης και οδηγιών μας», γράφει η εταιρεία στην ανάρτηση στο blog. «Ελπίζουμε ότι το Code Llama θα εμπνεύσει άλλους να αξιοποιήσουν το Llama 2 για να δημιουργήσουν νέα καινοτόμα εργαλεία για έρευνα και εμπορικά
προϊόντα
».
