Πριν από λίγες εβδομάδες, ο Διευθύνων Σύμβουλος της Meta Ο Μαρκ Ζάκερμπεργκ ανακοίνωσε μέσω Facebook ότι η εταιρεία του χρησιμοποιεί ανοιχτού κώδικα το μοντέλο της μεγάλης γλώσσας (LLM) Code Llama, το οποίο είναι μια μηχανή τεχνητής νοημοσύνης (AI) παρόμοια με GPT-3.5 και GPT-4 σε ChatGPT.
Ο Zuck ανακοίνωσε τρία ενδιαφέροντα πράγματα σχετικά με αυτό το LLM: είναι ανοιχτού κώδικα, έχει σχεδιαστεί για να βοηθά στη σύνταξη και επεξεργασία κώδικα και το μοντέλο του έχει παραμέτρους 70B. Η ελπίδα είναι ότι οι προγραμματιστές μπορούν να τροφοδοτήσουν το μοντέλο πιο δύσκολα προβλήματα και ο κινητήρας θα είναι πιο ακριβής όταν απαντήσει.
Επίσης: Γιατί τα μοντέλα τεχνητής νοημοσύνης ανοιχτού κώδικα είναι ακόμα ένα βήμα πίσω από το GPT-4
Το θέμα του ανοιχτού κώδικα είναι ενδιαφέρον. Είναι μια προσέγγιση που υπονοεί ότι μπορείτε να κατεβάσετε ολόκληρο το πράγμα, να το εγκαταστήσετε στον δικό σας διακομιστή και να χρησιμοποιήσετε το μοντέλο για να λάβετε βοήθεια προγραμματισμού, χωρίς να διακινδυνεύσετε ποτέ οι Overlords του Facebook να ανεβάσουν τον κώδικά σας για εκπαίδευση ή άλλους κακόβουλους σκοπούς.
Η εκτέλεση αυτής της εργασίας περιλαμβάνει τη δημιουργία ενός διακομιστή Linux και την πραγματοποίηση όλων των ειδών άλματα στεφάνης. Ωστόσο, αποδεικνύεται ότι οι ειδικοί στο Hugging Face έχουν ήδη εφαρμόσει τον Code Llama 70B LLM στη διεπαφή HuggingChat. Λοιπόν, αυτό θα δοκιμάσω στη συνέχεια.
Ξεκινώντας με το Code Llama
Για να ξεκινήσετε, θα πρέπει να δημιουργήσετε έναν δωρεάν λογαριασμό στο Hugging Face. Εάν έχετε ήδη ένα (όπως έχω εγώ), μπορείτε να χρησιμοποιήσετε το 70B Code Llama LLM με αυτόν τον λογαριασμό.
Ένα πράγμα που είναι σημαντικό να σημειωθεί είναι ότι, ενώ θα μπορούσατε να εγκαταστήσετε το Code Llama στον δικό σας διακομιστή και έτσι να μην μοιραστείτε κανέναν από τον κώδικά σας, η ιστορία είναι πολύ διαφορετική στο Hugging Face. Αυτή η υπηρεσία λέει ότι οτιδήποτε πληκτρολογείτε μπορεί να κοινοποιηθεί στους συντάκτες του μοντέλου, εκτός εάν απενεργοποιήσετε αυτήν την επιλογή στις ρυθμίσεις:
Οταν εσύ συνδεθείτε στο HuggingChat, θα εμφανιστεί μια κενή οθόνη συνομιλίας. Όπως μπορείτε να δείτε παρακάτω, το τρέχον LLM μου είναι openchat/openchat-3.5-0106, αλλά θα το αλλάξω σε Code Llama — και θα σας δείξω πώς.
Αλλάζετε το τρέχον μοντέλο σας στις ρυθμίσεις, στις οποίες μπορείτε να μεταβείτε πατώντας το εικονίδιο με το γρανάζι:
Μόλις μεταβείτε στις ρυθμίσεις, κάντε κλικ (στο 1) στο codellama/CodeLlama-70b-Instruct-hf στα αριστερά, επαληθεύστε (στο 2) ότι έχει επιλεγεί το Code Llama LLM και, στη συνέχεια, κάντε κλικ στο Activate (στο 3):
Τώρα, όταν μιλάτε στη διεπαφή συνομιλίας, θα χρησιμοποιείτε το μοντέλο Code Llama, όπως επαληθεύεται στο επάνω μέρος της διεπαφής συνομιλίας:
Για να δοκιμάσω, αποφάσισα να αντλήσω προτροπές από το α προηγούμενη δοκιμαστική εκτέλεση κωδικοποίησης Διευθύνθηκα με τον Μπαρντ (τώρα Δίδυμοι) και έκανα τα ίδια τεστ στο HuggingChat.
Δοκιμή 1: Σύνταξη προσθήκης WordPress
Η πρώτη μου δοκιμή ήταν η δημιουργία ενός πρόσθετου WordPress. Το ChatGPT απέδωσε αρκετά καλά σε αυτήν την εργασία. Ο Μπαρντ ήταν αδύναμος, αλλά προσπάθησε για το καλύτερο. Τι θα λέγατε όμως για τον Code Llama; Λοιπόν ας δούμε. Εδώ είναι η προτροπή:
QUO Γράψτε μια προσθήκη WordPress συμβατή με PHP 8 που παρέχει ένα πεδίο εισαγωγής κειμένου όπου μπορεί να επικολληθεί μια λίστα γραμμών σε αυτό και ένα κουμπί, το οποίο όταν πατηθεί, τυχαιοποιεί τις γραμμές στη λίστα και παρουσιάζει τα αποτελέσματα σε ένα δεύτερο πεδίο εισαγωγής κειμένου χωρίς κενές γραμμές και βεβαιωθείτε ότι δεν υπάρχουν δύο ίδιες εγγραφές η μία δίπλα στην άλλη (εκτός αν δεν υπάρχει άλλη επιλογή)…με τον αριθμό των γραμμών που υποβλήθηκαν και τον αριθμό των γραμμών στο αποτέλεσμα να είναι πανομοιότυποι μεταξύ τους. Κάτω από το πρώτο πεδίο, εμφανίστε κείμενο που δηλώνει “Γραμμή για τυχαιοποίηση: ” με τον αριθμό των μη κενών γραμμών στο πεδίο προέλευσης. Κάτω από το δεύτερο πεδίο, εμφανίστε κείμενο που δηλώνει “Γραμμές που έχουν τυχαιοποιηθεί: ” με τον αριθμό των μη κενών γραμμών στο πεδίο προορισμού.
Και ιδού τα αποτελέσματα, όπως είναι:
Δεν είναι σωστό σε τόσα πολλά επίπεδα. Πρώτον, ο Code Llama δεν δημιούργησε την κεφαλίδα της προσθήκης, ένα πολύ απλό σύνολο πεδίων που απαιτούνται από όλα τα πρόσθετα. Στη συνέχεια, δημιούργησε κώδικα που ο μορφοποιητής κώδικα του προγράμματος επεξεργασίας προγραμματισμού μου δεν μπορούσε να ερμηνεύσει, υποδεικνύοντας ότι λείπουν στοιχεία στον κώδικα.
Επιπλέον, ο κωδικός δεν μπορεί να δοκιμαστεί. Αυτό είναι αποτυχία.
Δοκιμή 2: Επανεγγραφή μιας συνάρτησης συμβολοσειράς
Για αυτό το τεστ, χρησιμοποίησα μια συμβολοσειρά αίτημα επανεγγραφής Έδωσα κάποτε στο ChatGPT. Ήθελα να διορθώσω ένα σφάλμα στον κώδικά μου που επέτρεπε μόνο ακέραιους αριθμούς ενώ θα έπρεπε να επιτρέπονται δολάρια και σεντ (με άλλα λόγια, κάποιο αριθμό ψηφίων, πιθανώς ακολουθούμενο από τελεία, και στη συνέχεια, αν υπάρχει τελεία, δύο περισσότερα ψηφία).
Ταΐσα με την ίδια προτροπή που χρησιμοποίησα στο προηγούμενο άρθρο μου και έλαβα αυτήν την απάντηση:
Αυτός ο κωδικός λειτουργεί και είμαι ικανοποιημένος με αυτόν.
Δοκιμή 3: Εύρεση σφάλματος που δεν μπορούσα να βρω
Και πάλι, χρησιμοποίησα ξανά μια δοκιμή για την οποία έγραψα σε προηγούμενο άρθρο. Θα σας υποδείξω το αρχικό άρθρο αν θέλετε τις λεπτομέρειες του προβλήματος δοκίμασα στο Code Llama. Το πρόβλημα κωδικοποίησης είναι μακρύ και αρκετά περίπλοκο, γι’ αυτό δεν μπόρεσα να μάθω τι ήταν λάθος.
Το ChatGPT έλυσε το πρόβλημα αμέσως. Ο Μπαρντ δεν το έκανε. Ο Bard απέτυχε επειδή εξέτασε την επιφάνεια του προβλήματος, όχι τον τρόπο με τον οποίο κατασκευάστηκε ο συνολικός κώδικας και έπρεπε να εκτελεστεί. Μια αναλογία είναι η μετάβαση στο γιατρό με πονοκέφαλο. Ένας γιατρός μπορεί να σας πει να πάρετε δύο ασπιρίνες και να μην του τηλεφωνήσετε το πρωί. Ο άλλος γιατρός μπορεί να προσπαθήσει να ανακαλύψει τη βασική αιτία του πονοκεφάλου και να βοηθήσει στην επίλυσή του.
Επίσης: Πώς να χρησιμοποιήσετε το ChatGPT για να γράψετε κώδικα
Το ChatGPT μέτρησε τη βασική αιτία και μπόρεσα να διορθώσω το σφάλμα. Ο Μπαρντ απλώς κοίταξε τα συμπτώματα και δεν βρήκε λύση.
Δυστυχώς, ο Code Llama έκανε ακριβώς το ίδιο πράγμα με τον Bard, κοιτάζοντας μόνο την επιφάνεια του προβλήματος. Το AI έκανε συστάσεις, αλλά αυτές οι συστάσεις δεν βελτίωσαν την κατάσταση.
Και ο νικητής είναι…
Η σουίτα δοκιμών μου απέχει πολύ από το να είναι ολοκληρωμένη. Αλλά αν το Code Llama αποτύχει σε δύο από τις τρεις δοκιμές που δεν επιβράδυναν καν το ChatGPT, φαίνεται ότι η τεχνητή νοημοσύνη δεν είναι έτοιμη για την πρώτη στιγμή.
Ο μόνος λόγος για τον οποίο μπορεί να θέλετε να χρησιμοποιήσετε το Code Llama μέσω του ChatGPT είναι εάν το εγκαταστήσετε στον δικό σας διακομιστή, επειδή τότε ο κώδικάς σας δεν θα κοινοποιηθεί στο Meta. Αλλά τι ωφελεί η ιδιωτικότητα αν το πράγμα δεν δίνει σωστές απαντήσεις;
Αν το ChatGPT δεν ήταν τόσο καλό, πιθανότατα θα έδινα μερικούς βαθμούς στον Code Llama. Αλλά ξέρουμε τι είναι δυνατό με το ChatGPT — και το Code Llama απέχει πολύ από αυτό το επίπεδο. Εν ολίγοις, φαίνεται ότι το Facebook πρέπει να το ξεπεράσει και να κάνει κάποιες βελτιώσεις.
Επίσης: Εφαρμογή της τεχνητής νοημοσύνης στη μηχανική λογισμικού; Εδώ είναι όλα όσα πρέπει να γνωρίζετε
Για να είμαι ειλικρινής, περίμενα καλύτερα και είμαι λίγο απογοητευμένος. Αλλά αν υπάρχει κάτι στο οποίο συνηθίζουν οι αρθρογράφοι της τεχνολογίας, είναι να είμαστε λίγο απογοητευμένοι από πολλά από τα προϊόντα και τα έργα που εξετάζουμε. Νομίζω ότι αυτός είναι ο λόγος που ενθουσιαζόμαστε τόσο πολύ όταν κάτι ξεχωρίζει και ταράζει τον κόσμο μας. Και ο Code Llama, δυστυχώς, δεν είναι ένα από αυτά.
Έχετε δοκιμάσει κάποιο από τα AI για βοήθεια κωδικοποίησης; Ποιες έχετε χρησιμοποιήσει; Πώς έχουν λειτουργήσει; Ενημερώστε μας στα σχόλια παρακάτω.
Μπορείτε να παρακολουθείτε τις καθημερινές ενημερώσεις του έργου μου στα μέσα κοινωνικής δικτύωσης. Φροντίστε να εγγραφείτε στο εβδομαδιαίο ενημερωτικό δελτίο μου στο Substackκαι ακολουθήστε με στο Twitter στο @DavidGewirtzστο Facebook στη διεύθυνση Facebook.com/DavidGewirtzστο Instagram στο Instagram.com/DavidGewirtzκαι στο YouTube στη διεύθυνση YouTube.com/DavidGewirtzTV.