Πώς λειτουργεί το ChatGPT στην πραγματικότητα;
Το ChatGPT είναι ένα chatbot που βασίζεται σε ένα μεγάλο γλωσσικό μοντέλο (είτε GPT-3.5 είτε GPT-4). Κάτω από την κουκούλα, το ChatGPT είναι ένα προεκπαιδευμένο νευρωνικό δίκτυο που έχει εκπαιδευτεί σε έναν εντυπωσιακό όγκο δημοσίως διαθέσιμων δεδομένων κειμένου από το διαδίκτυο.
Αυτός ο τεράστιος όγκος δεδομένων επιτρέπει στο μοντέλο να μαθαίνει μοτίβα, γραμματική, συμφραζόμενα και ακόμη και κάποια γνώση κοινής λογικής, επιτρέποντάς του να παράγει ουσιαστικές και συνεκτικές απαντήσεις σε ερωτήματα χρηστών. Το ChatGPT έχει τη μοναδική ικανότητα να συμμετέχει σε διαδραστικές και δυναμικές συζητήσεις με τους χρήστες, καθιστώντας το ένα πολλά υποσχόμενο εργαλείο για ένα ευρύ φάσμα εφαρμογών.
Τι είναι ένα μεγάλο γλωσσικό μοντέλο
Τα μεγάλα γλωσσικά μοντέλα είναι αλγόριθμοι τεχνητής νοημοσύνης που χρησιμοποιούν τεχνικές βαθιάς μάθησης, γνωστές ως επεξεργασία φυσικής γλώσσας, προκειμένου να διαβάζουν, να κατανοούν, να παράγουν και να προβλέπουν κείμενα.
Όταν πληκτρολογείτε μια ερώτηση, το μοντέλο δεν αναζητά την απάντηση στο Διαδίκτυο, αλλά σας δίνει την απάντηση από το κεφάλι του (αν και δεν έχει κεφάλι). Παράγει μια απάντηση μία λέξη τη φορά, καθορίζοντας κάθε επόμενη λέξη με βάση τις πιθανότητες που προκύπτουν από τα δεδομένα κειμένου στα οποία εκπαιδεύτηκε και το κείμενο που έχει δημιουργήσει μέχρι στιγμής.
11 δισεκατομμύρια παράμετροι: απάντηση ερωτήσεων, αριθμητική, γλωσσική κατανόηση
Πώς είναι αυτό δυνατόν; Λοιπόν, το ChatGPT δεν χρειάζεται να ψάξει στο Διαδίκτυο για πληροφορίες, επειδή γνωρίζει ήδη τα πάντα (καλά, σχεδόν). Όλες οι γνώσεις που είναι διαθέσιμες στο Διαδίκτυο ενσωματώνονται στο ChatGPT μέσω των 175 δισεκατομμυρίων παραμέτρων του.
62 δισεκατομμύρια παράμετροι: μετάφραση, συλλογισμός κοινής λογικής, συμπλήρωση κώδικα
Καθώς αυξάνεται ο αριθμός των παραμέτρων του μοντέλου, αναδύονται νέες ικανότητες στο μοντέλο που δεν σχεδιάστηκαν σκόπιμα από κανέναν.
540 δισεκατομμύρια παράμετροι: λογικές αλυσίδες συμπερασμάτων, αναγνώριση προτύπων, κατανόηση ανάγνωσης
Πώς εκπαιδεύτηκε το ChatGPT
Το ChatGPT εκπαιδεύτηκε σε εκατοντάδες χιλιάδες βιβλία, άρθρα, διαλόγους, συμπεριλαμβανομένων:
- WebText2 (μια μεγάλη βιβλιοθήκη με πάνω από 45 terabytes δεδομένων κειμένου)
- Cornell Movie Dialogs Corpus (ένα σύνολο δεδομένων που περιέχει πάνω από 200.000 συνομιλίες μεταξύ 10.000 κινηματογραφικών χαρακτήρων σε σενάρια ταινιών)
- Ubuntu Dialogue Corpus (μια συλλογή από 1.000.000 διαλόγους πολλαπλών στροφών μεταξύ χρηστών του Ubuntu και της ομάδας υποστήριξης της κοινότητας)
- δισεκατομμύρια γραμμές κώδικα από το GitHub
Αρχικά, το GPT αφέθηκε να επεξεργαστεί όλα τα δεδομένα στα οποία είχε πρόσβαση χωρίς καμία ανθρώπινη καθοδήγηση, επιτρέποντάς του να αντιληφθεί ανεξάρτητα τους κανονισμούς και τις συνδέσεις που υπαγορεύουν το πεδίο του κειμένου (αυτό είναι που ονομάζεται "μάθηση χωρίς επίβλεψη").
Στη συνέχεια, για την τελειοποίηση του γλωσσικού μοντέλου εφαρμόστηκε μια τεχνική που ονομάζεται ενισχυτική μάθηση με ανθρώπινη ανατροφοδότηση (RLHF):
- Ανθρώπινοι εκπαιδευτές διεξήγαγαν συνομιλίες όπου έπαιζαν και τις δύο πλευρές - τον χρήστη και έναν βοηθό ΤΝ. Είχαν πρόσβαση σε προτάσεις γραμμένες από μοντέλα για να βοηθήσουν στη σύνταξη των απαντήσεων. Το μοντέλο εκπαιδεύτηκε με τη χρήση επιτηρούμενης τελειοποίησης για να προβλέψει το επόμενο μήνυμα του βοηθού με βάση το ιστορικό του διαλόγου.
- Για τη δημιουργία ενός μοντέλου ανταμοιβής για την ενισχυτική μάθηση, συλλέχθηκαν δεδομένα σύγκρισης. Οι εκπαιδευτές τεχνητής νοημοσύνης κατέταξαν πολλαπλές απαντήσεις του μοντέλου με βάση την ποιότητα, λαμβάνοντας υπόψη πράγματα όπως το αν η απάντηση είχε νόημα και αν ήταν χρήσιμη. Οι επιλεγμένες απαντήσεις έγιναν ένα σύνολο δεδομένων διαλόγου με νέα μηνύματα γραμμένα από το μοντέλο.
- Δημιουργήθηκε ένα μοντέλο ανταμοιβής χρησιμοποιώντας μια τεχνική που ονομάζεται μοντελοποίηση ανταμοιβής, όπου ένα μοντέλο εκπαιδεύτηκε για να προβλέπει την ποιότητα μιας απάντησης με βάση τα δεδομένα σύγκρισης που συλλέχθηκαν στο προηγούμενο βήμα.
Στο τέλος, το ChatGPT έμαθε πώς να ανταποκρίνεται σε κάθε δεδομένη κατάσταση, να δίνει ακριβείς και σχετικές απαντήσεις και να αποφεύγει δυνητικά επιβλαβή θέματα.
Αρχιτεκτονική Transformer
Η διαδικασία εκπαίδευσης του ChatGPT περιλαμβάνει την πρόβλεψη της επόμενης λέξης σε μια πρόταση δεδομένων των προηγούμενων λέξεων. Για να επιτευχθεί αυτό, χρησιμοποιείται μια αρχιτεκτονική Transformer (παρεμπιπτόντως, το Τ στο ChatGPT σημαίνει Transformer), η οποία αποτελείται από στρώματα μηχανισμών αυτοπροσοχής. Η αυτοπροσοχή επιτρέπει στο μοντέλο να σταθμίζει τις διάφορες λέξεις σε μια πρόταση με βάση τη σημασία και τη συνάφεια τους, ώστε να προβλέπει με ακρίβεια την επόμενη λέξη.
Τα παλαιότερα επαναλαμβανόμενα νευρωνικά δίκτυα (RNN) διαβάζουν το κείμενο από αριστερά προς τα δεξιά. Ενώ αυτό λειτουργεί καλά όταν οι σχετικές λέξεις βρίσκονται δίπλα-δίπλα, αποτελεί πρόκληση όταν βρίσκονται στα αντίθετα άκρα μιας πρότασης.
Επομένως, όταν ένα RNN εργαζόταν με ένα μονοσέλιδο κείμενο, στη μέση της τρίτης παραγράφου, θα είχε ήδη "ξεχάσει" αυτό που βρισκόταν στην αρχή.
Αντίθετα, οι μετασχηματιστές είναι σε θέση να επεξεργάζονται ταυτόχρονα κάθε λέξη σε μια πρόταση και να συγκρίνουν κάθε λέξη με όλες τις άλλες. Αυτό τους επιτρέπει να εστιάζουν την "προσοχή" τους στις πιο σχετικές λέξεις, ανεξάρτητα από τη θέση τους στην ακολουθία εισόδου.
Σχετικά με τα tokens
Είναι σημαντικό να σημειωθεί ότι οι μετασχηματιστές δεν λειτουργούν σε μεμονωμένες λέξεις (δεν μπορούν να διαβάσουν όπως οι άνθρωποι). Αντ' αυτού, το κείμενο εισόδου χωρίζεται σε μεμονωμένα tokens, συμπεριλαμβανομένων των λέξεων, των σημείων στίξης και των ειδικών tokens. Τα σημεία στο ChatGPT είναι τα οποία είναι κομμάτια κειμένου που αναπαρίστανται ως διανύσματα (αριθμοί με κατεύθυνση και θέση).
Η εγγύτητα των διανυσμάτων-σημείων στο χώρο καθορίζει το επίπεδο συσχέτισής τους: όσο πιο κοντά είναι, τόσο πιο συνδεδεμένα είναι. Επιπλέον, η προσοχή κωδικοποιείται ως διάνυσμα, επιτρέποντας στα νευρωνικά δίκτυα που βασίζονται σε μετασχηματιστές να διατηρούν κρίσιμες πληροφορίες από τα προηγούμενα μέρη μιας παραγράφου.
Όταν ένας χρήστης αλληλεπιδρά με το ChatGPT, το μοντέλο λαμβάνει το ιστορικό της συνομιλίας ως είσοδο, συμπεριλαμβανομένων τόσο των προτροπών του χρήστη όσο και των απαντήσεων που δημιουργούνται από το μοντέλο. Η είσοδος συμβολίζεται και στη συνέχεια τροφοδοτείται στο νευρωνικό δίκτυο. Κάθε συμβολισμός συνδέεται με μια ενσωμάτωση που αντιπροσωπεύει το νόημά του στο πλαίσιο της συνομιλίας.
Το GPT-3 εκπαιδεύτηκε σε περίπου 500 δισεκατομμύρια tokens, γεγονός που επιτρέπει στα γλωσσικά μοντέλα του να αποδίδουν ευκολότερα νόημα και να προβλέπουν πιθανό επόμενο κείμενο, αντιστοιχίζοντάς τα στο διανυσματικό χώρο. Πολλές λέξεις αντιστοιχίζονται σε μεμονωμένα tokens, αν και οι μεγαλύτερες ή πιο σύνθετες λέξεις συχνά αναλύονται σε πολλαπλά tokens. Κατά μέσο όρο, οι μάρκες έχουν μήκος περίπου τεσσάρων χαρακτήρων.
Κατά τη διάρκεια του σταδίου εξαγωγής συμπερασμάτων, όπου το μοντέλο παράγει απαντήσεις, χρησιμοποιείται μια διαδικασία γνωστή ως αυτοπαλινδρόμηση. Αυτό σημαίνει ότι το μοντέλο προβλέπει μία λέξη κάθε φορά, ενώ εξαρτάται από το ιστορικό της συνομιλίας και τις λέξεις που έχουν παραχθεί προηγουμένως. Για να διασφαλιστεί ότι η παραγόμενη απάντηση είναι συνεκτική και σχετική, χρησιμοποιούνται τεχνικές όπως η δειγματοληψία top-p και η κλιμάκωση θερμοκρασίας.
Εν ολίγοις, η παράμετρος top-p δίνει στο μοντέλο μια δεξαμενή επιλογών (tokens) για να επιλέξει, ενώ η θερμοκρασία καθορίζει την πιθανότητα επιλογής ενός συγκεκριμένου token. Όταν η θερμοκρασία έχει οριστεί στο 0, το μοντέλο πρόκειται να επιλέξει μόνο τα πιο "δημοφιλή" tokens (λέξεις που συναντώνται πιο συχνά μαζί στα δεδομένα κειμένου που εκπαιδεύτηκε το ChatGPT):
Αυτό δεν είναι πάντα καλό. Οι υψηλότερες θερμοκρασίες κάνουν τα αποτελέσματα πιο διαφορετικά:
Περισσότερα για τις παραμέτρους του ChatGPT: